防近视视力保护器设计.docx

上传人:夺命阿水 文档编号:893975 上传时间:2024-01-08 格式:DOCX 页数:42 大小:440.84KB
返回 下载 相关 举报
防近视视力保护器设计.docx_第1页
第1页 / 共42页
防近视视力保护器设计.docx_第2页
第2页 / 共42页
防近视视力保护器设计.docx_第3页
第3页 / 共42页
防近视视力保护器设计.docx_第4页
第4页 / 共42页
防近视视力保护器设计.docx_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《防近视视力保护器设计.docx》由会员分享,可在线阅读,更多相关《防近视视力保护器设计.docx(42页珍藏版)》请在课桌文档上搜索。

1、防近视视力保护器摘要本文设计了一种基于89c52单片机的防近视视力保护器。这个视力保护器以89c52为主要核心,在软件方面运用C语言进行编程,在硬件方面运用了蜂鸣器报警模块、光线检测模块、LCD显示模块、超声波测距模块以及单片机自带的定时功能,还包括电源和按键模块。光线检测模块,则利用光敏电阻和AD采集模块来完成功能。LCD显示模块,则利用LCDI602液晶来显示各种参数,比如距离,光照强度以及时间等等。超声波测距模块,则利用超声波模具以及超声波反射的原理来完成功能。当学习者开始学习的时候,保护器就会进行计时、测距以及光线检测,如果出现超时、学习距离太近或者学习环境太暗或太亮,保护器就会发出报

2、警提醒,以致起到了视力保护的作用。关键词:单片机;超声波;视力保护;光线检测DesignofvisionprotectoragainstMyopiaAbstractInthispaper,aNewVisionProtectorbasedon89c52mcuisdesigned.Theeyeprotectoruses89c52asthemaincore,andusesClanguagetoprogramthesoftware,inthehardwareaspect,itusesthebuzzeralarmmodule,thelightdetectionmodule,theLCDdisplaymo

3、dule,theultrasonicrangingmoduleandthetimingfunctionofthesinglechipmicrocomputer,includingthepowersupplyandthekeymodule.Lightdetectionmodule,theuseofphotosensitiveresistorandADacquisitionmoduletocompletethefunction.LCDdisplaymodule,thenuseLCD1602LCDtodisplayvariousparameters,suchasdistance,lightinten

4、sityandtimeandsoon.Ultrasonicrangingmodule,thentheuseofultrasonicmoldandtheprincipleofultrasonicreflectiontocompletethefunction.Whenthelearnerbeginstolearn,theprotectorwilltime,measuredistanceanddetectIightJfthereisatime-out,learningtoocloseorlearningenvironmentistoodarkortoobright,theprotectorwills

5、endanalarm,somuchsothatitprotectsyoureyes.Keywords:Single-chipcomputer;UItrasonicwave;EyeProtectioniLightdetection1前言11.1 研究的现状与意义11.2 主要的研究内容12设计过程22.1 硬件方面的设计过程32.1.1 89C52单片机32.1.2 主控制模块42.1.3 电源电路52.1.4 蜂鸣器报警电路52.1.5 按键电路72.1.6 光照强度检测电路82.1.7 液晶显示电路92.1.8 超声波测距模块IO2.1.9 定时报警电路122.2 软件方面的设计过程132.

6、2.1 系统的总体流程图142.2.2 光照强度检测程序图152.2.3 计时程序图152.2.4 超声波测距程序图162.3 测试163总结17参考文献17谢辞18附录191前言防近视视力保护器由89C52单片机,超声波测距,蜂鸣器,发光二极管,光敏电阻,LCD显示器等元件组成,再运用硬件与软件技术相结合,设计出一个有测距提醒,定时,测光线强度报警功能的,并有LCD液晶显示模块进行实时显示的新型坐姿矫正器,而且学习者还可以根据自身的实际情况自行调节光照和距离的参数,不仅实用,还非常符合人性化。L1研究的现状与意义随着社会生产力和科学技术水平的不断发展,崭新的智能手机、笔记本电脑以及台式电脑层

7、出不穷,新的游戏也争先恐后的出现,导致众多学生视力低下。然而,对于还没有手机的中小学生,写作主要是近视的原因,姿势不对,看作品的时间太长也是原因之一。跟据数据的介绍,中国青年近视率高居世界第二位,发病率达到六成以上。其中,小学学生近视率达到两成,初中学生达到五成,高中学生更是高达七成,大学学生就更多了,达到八成以上。撇去大学生不说,单单就看中小学生,他们患近视竟然占了学生总数的68%,近七成的近视率,患者大概有6400多万人,患者人数高居世界首位!另外,在网上收集的调查中,“你认为造成近视的原因是什么”这个问题,其中选择了“写字看书的姿势是错误的”的占61.23%,选择“因看电子产品导致近视的

8、”的占35.97%。由此可知,学生视力低下的状况令人担忧,而写字看书姿势不正确和看书写作业的时间太长是导致近视的主要原因。对于防近视视力的研究,现有的产品有许多种。例如,调整坐姿的背背佳,对眼睛进行恢复矫正的护眼仪,还有就是测距式的有报警提示功能的坐姿矫正器,等等。不同的产品有着不同的优缺点。比如,背背佳虽然可以让你的腰挺直防止近距离看事物导致近视,可是,人体的脊椎与关节不可以一直维持一个姿势太久,不然肌肉会僵硬,限制了人们运动的时间;护眼仪虽然可能可以使轻度的近视有所恢复,不过如果是重度近视呢,或者学生用了护眼仪后还是继续因书写姿势不正确和书写时间过长导致近视呢,这并不能解决根本问题。然而,

9、有提醒功能的坐姿矫正器就不一样了,既不会让你维持同一个姿势,也可以让你从根本上改正坐姿,非常人性化。在设计之前,必须要有基本的理论知识和实验知识作为基础,然后就是选择合适的元件,不能太廉价,也不需要太昂贵,其次就是对整个电路进行设计、调试、仿真等等。对于元器件的选择,我用89C52单片机作为核心单片机,超声波传感器来作为坐姿传感器,光敏电阻来检测光照强度,蜂鸣器充当报警发声器。这次设计的防近视视力保护器的功能众多,它可完成以下这些作用:(1)测光和测距功能。在学习者学习前,视力保护器已经设置好了一定的学习距离和合适的光照强度以及学习时间,如果学习者与机器太近的话,或者此前的学习环境太亮或者太暗

10、,又或者学习太久了,保护器则会发生报警提醒。(2)超时会发出报警提示,提醒使用者注意休息,可以通过停止键停止学习,也可以按继续学习键学习。固定定时时间为45分钟,超时则会发出警报。(3)LCD1602液晶可显示当前环境检测的距离,光照强度以及学习时间。(4)具有距离和光照强度参数的设置功能(通过设置键进入设置的界面,按下参数加或者参数减可以设置上限参数和下限参数)。2设计过程对于这次的设计方案,在中央系统的选择上,我使用89C52单片机作为核心主控模块;在测距的选择上,我使用的超声测距模块就是利用了超声波的原理来测量机器与学习者之间的距离;在测光的选择上,我使用的光强检测模块就是利用了光敏电阻

11、的特性来测量当时学习环境的光照强弱大小;对于计时的话,就无需其他工具,因为它可以由单片机自己自身来实现;在发声装置的选择上,我使用的报警模块就用蜂鸣器来完成此功能。当学习者学习距离过短,光照强度太强或太弱,学习时间过长的时候,蜂鸣器就会发出声音报警,提醒学习者学习姿势不标准,学习坏境不合适,学习时间已到达了规定的时间,从而达到预防近视,保护视力的设计要求。总体的设计框架和场景模拟示意图如图2.1所示。(a)图2.1总体的设计框架和场景模拟示意图2.1硬件方面的设计过程2.1.189C52单片机单片机是一个完整的微型计算机,它把中央处理器、存储器、输入输出接口电路、定时器和计数器等部件集成在一个

12、半导体硅片上。控制领域是单片机主要的应用领域。它运用的时候,通常是控制系统的核心而且还会嵌入到里面,所以我们也会把单片机叫做嵌入式控制器(EMCU)或者微控制器(MCIJ)。它的芯片有着尺寸小、耗电少、价格便宜等特点,所以在智能电器、工业控制系统、分布式系统以及通信设备中都有着它的身影,备受欢迎。1STC系列单片机是中国公司研发的单片机,它的功能不仅强大,而且抗干扰的能力也很强大。而且,它系列众多,比如STC12C5410系列、STC12C2052系列等都是它的子系列的一种。STC89C52单片机是宏晶科技公司全新推出的单片机,功能有高速、功耗低、抗干扰性强等等。换了个单片机,那么它的代码指令

13、也会发生变换吗?答案是不会的,STC89C52单片机的指令代码和传统的8051单片机相比,是完全兼容的。它是一个6或12时钟/机器周期可任意设置的高性能CMOS8位微控制器,而且它的FlaSh存储器具有8k的内存。除此之外,它还有着灵活的八位CPU,所以它可以为许许多多的系统提供高效灵活的解决方案。STC89C52的引脚图如图2.2所示。T2P1.0T2EXP1.IPL 2PL 3PL 4Pl. 5Pl. 6Pl. 7 RSTRXDP3.0XD/P3.1JNTO/P3.2 1NTIP3.3TOP3.4T1P3.5WRP3.6RpP3.7XTAL2XTALIULlUUUIJULnJLJU 匚 U

14、UUU40393813736135M 皿32 1311蚁2928272625242322121PDIPl40I2 3I5678910H1213M151617181920PO.3/AD3P0.4/AD4lP0.5/AD5二P0.6/AD6二P0.7/AD7二EA一AlezerogPSEN二 三P2. 7/A15P2.6/A14P2. 5/A13P2.4/A12P2.3/A1IP2. 2/A10 VCCPO.O/ADO PD.I/ADIPO.2AD2P2. 19P2. 0A8图2.289C52引脚图89C52单片机的优点:(1)性能比传统的8051单片机强大,而且指令代码与其完全兼容,不用担心代码

15、问题。(2)它的工作频率的范围是0到40MHz,48MHz是它的实际工作频率。(3)5V单片机的话工作的电压为5.5V到3.3V,3V单片机则为3.8V到2.0V。(4)四路外部中断,下降沿中断或低电平触发中断,掉电模式可以由外部中断低电平触发中断的方式来唤醒。(5)8K片内FlaSh程序存储器可擦写很多次,十万次以上不成问题。(6)集成在芯片上的512BRAM内存的数据存储器。(7)具有LQFP-44、PDIP-40PLCC-44、PQFP-44四种封装形式。(8)ISP在系统可编程/IAP在应用可编程,3秒就可以完成一片8k程序。(9)芯片内置EEPRoM功能。(IO)WDTo(11)内部

16、集成MAX810专用复位电路。(12)16位定时器/计数器有3个,和普通MCS-51单片机的定时器兼容,其中定时器TO还可当成两个8位定时器来运用。(13)定时器软件实现多个UART。(14)它的工作温度是0度到75度,或-40度到85度。(15)通用1/0口(3539个),准双向口/弱上拉是复位之后的P1/P2/P3/P4口,与普通MCS-51单片机的I/O口功能相同;开漏输出口是PO,它有两种情况,如果作为总线扩展就得加上上拉电阻,如果作为I/O口就不用。能够让单片机工作的最小硬件电路就是我们称呼的单片机最小系统,它包括2.1.3电源电路电路如图2.4所示。W-及生电源接口电路图2.4电源

17、电路图中P2为电池盒接口或者为USB输入的接口,图中SWI为电源的开关,用于接通电源和断开电源。2.L4蜂鸣器报警电路蜂鸣器是构成一体化构造的电子通信机器。在很多应用工具上都有它的身影,毕竟能够发出声响在生活中非常必要,例如一些通信工具电话、各种地方都需要的报警器、学校学生经常用到的打印机复印机等等。它主要有两种类型,一种是电磁式的,而另一种则是压电式的。它也可以用符号来表示,通常我们会用到字母H”或者HA”来表示,然而在一些旧的标准里,也会用至FM、“ZZG“、“LB”、,JD”等等来表示。工作的时候,如果用普通的电路是无法驱动单片机的I/O口。这是为什么呢?因为蜂鸣器的工作电流比较大,要想

18、驱动电路,那就得利用放大电路。蜂鸣器、三极管、电源滤波电容和续流二极管就可以组成一个蜂鸣器的驱动电路。而我这个蜂鸣器的驱动电路则由蜂鸣器、三极管、发光二极管和两个电阻组成。电路如图2.5所示。蜂鸣器报警电路图中,蜂鸣器和发光二极管并联,位于三极管的集电极,三极管的基极则与单片机的引脚相连。当一切运行正常的时候,基极输出的是高电平,是三极管截止,因此不发声也不发光;不过,如果测距、测光或者定时出现异常的话,那么输出的就是低电平,三极管变为导通,然后就会发声报警并且发光提醒学习者。(1)蜂鸣器Bl是发声元件,在两端施加电流就可以发声。(2)发光二极管Dl,它和普通二极管没什么不同,也是由PN结组成

19、,也是一样的具有着单向导向性,唯一不同的就是,发光二极管在正向导通后才会发出各种特定颜色的光。在蜂鸣器发出声音的同时,还可以发出光照作为提醒。(3)三极管(BJT)Q1,是一种三端器件。在放大电路中,经常会有三极管的存在,它可以将非常微弱的电信号进行不失真地放大。在图中,很显然,它充当一个开关装置,利用三极管的原理,输出高电平会使三极管导通,有电流通过了蜂鸣器就可以发出声音了,可是如果输出的不是高电平而是低电平,那么三极管就会截止,最后没有电流通过,蜂鸣器也就不会发出声音。(4)电阻Rl、R4阻值都为2K。2L5按键电路实物图和电路如图2. 6所示。按键电路(C)(d)(b)图2.6实物图和按

20、键电路主要按键为图(a)中的1按键,2按键和3按键。按下1按键代表开始学习,视力保护器会自动进行计时、测距和测光。按下2按键可以暂停学习,如果想继续学习的话,那就再按下2按键,继续学习。按下3按键就会进入到设置参数的界面,通过1按键和2按键进行增加或减小学习距离范围或学习环境的光照强度范围。如图2.7所示。图(C)是设置光照强度范围的界面,图(d)是设置学习距离范围的界面以及设置的固定的学习时间。图2.7设置参数的界面2.L6光照强度检测电路电路如图2.8所示。图2.8光照强度检测电路这个电路由光敏电阻和A/D转换芯片ADCO832组成。光敏电阻用于测光,就是当有光线照射在它身上的时候,它可以

21、把光照强度转换成电阻值,连接在电路上之后,有电流通过那就可以根据公式得出电压的大小,巧妙的把很难才可测量的光转换成容易计算观察的电压,通过AD模块再次转换为数字信号输入到单片机中。在生活中有许多元器件可以检测光照强度,比如光照强度检测仪,光敏二极管,光敏三极管以及光敏电阻,等等。光照强度检测仪属于一个比较大的测量仪器,不适于我们本次的设计。而光敏二极管虽然也可以检测光照强度,不过它充当的是一个开关的功能,有光照射的时候,电路导通有电流通过,无光的时候就不会有电路输出,并不能计算光照强度的大小。而光敏电阻就不一样了,根据光敏电阻特有的性质和基本的工作原理,因为光敏电阻内部的光电效应,每当光照强度

22、不同的时候,光敏电阻的电阻值也会发生改变。与其他元器件相比较,光敏电阻的可靠性、灵敏度等等性质都较好,所以我们选择用光敏电阻来进行测光。但是,光敏电阻会受到温度的影响,所以使用的时候要确保当时环境下的温度是温度的。根据光敏电阻的工作原理,入射光的光照强度不同,光敏电阻的电阻值也会不一样,接入直流电路之后就可以测出此时的电压为X(V)。又根据A/D转换芯片ADC8032的模拟电压满量程为5V,分辨率为8位,当输入的电压为X(V)的时候,输入的模拟电压和输出的数字量对应的十进制成正比,根据计算公式:5(llllllll)0=X/(D)?(式2.1)即可计算出数字量D的大小,然后AD模块将数字信号输

23、入到单片机中。在图2.7中,光敏电阻的电路通过AD模块的CHO口(模拟输入通道0)进行相接,由AD模块将电压信号转换成数字信号。CS_口是低电平芯片使能,与单片机的PL3口相接,当ADC8032还没开始工作的时候CS端口是高电平,芯片禁止使用,当进行A/D转换的时候,必须要先把CS端口置于低电平。CLK口是芯片的时钟输入口,与单片机的PLO口相接。DI口是数据信号输入,选择通道控制,DO口是数据信号输出,转换数据输出,它们与单片机的PLl相接,利用输出信号DO进行数据的读取,每一个脉冲下降就输出一个数据,随后就可以输出8位数据了,代表着一次的A/D转换的结束。2.1.7液晶显示电路电路如图2.

24、9所示。采用LCDI602显示。LCDI602液晶接口LCDl寸OWml心R22KIN9/08 3Ag 980 皆 08a三 ZodSI 90d三godO ZOd olold图2.9液晶显不电路我采用LCDI602来显示学习者在学习的时候需要了解的一些内容,以便于调节坐姿,保护视力。它可以显示当前环境下的学习时间是多少,当前环境下的学习距离是多少,当前环境下的光照情况是多少,进入设置更改参数界面之后可以显示学习的时间、最小的学习距离、最小的光照强度以及最大的光照强度,学习者可以根据自身的实际情况做出调节修改,已达到最完美最合适的学习环境。在图2.9中,DBo-DB7是数据线,RS是数据和指令选

25、择控制线,RAV是读写控制线,E是数据读写操作控制位。其中,最关键也最重要的就是RS和R/W这俩个端口。因为它们俩决定LCDl602显示器的四种基本操作:写命令、读状态、写显示数据和读显示数据。在软件方面,利用C语言技术就可以令LCDI602显示器显示我们需要显示的内容了。LCD1602显示器的四种基本操作如表2.1所示:表2.1LCD1602显示器的四种基本操作RSR/W基本操作00写命令操作(初始化、光标定位等)01读状态操作(读忙标志)10写数据操作(要显示的内容)11读数据操作(可以把显示存储区中的数据反读出来)LCDl602显示器的主要技术参数如表2.2所示:表2.2LCD1602显

26、示器主要的技术参数显示的容量:16*2个字符芯片的工作电压:4.5V-5.5V工作电流:2.OmA(5.0V)模块的最佳工作电压:5.OV字符的尺寸:2.95*4.35(WXH)mm2.1.8超声波测距模块超声波模块原理图,超声波接口电路和超声波模块实物图如图2.10所示。图2.10超声波模块原理图,超声波接口电路和超声波模块实物图在这次的设计中,我采用的超声波模具是HC-SRo4超声波测距模块。在电路图(b)中,1口接电源,4口接地,2口是TRIG触发控制信号输入口,3口是ECHo回响信号输出口。TRIG端口和ECHo端口分别与单片机的P3.2(INTO)和P3.3(INTl)相接。超声波测

27、距模块其实就是利用了超声波遇到障碍物之后会进行反射的原理,当给TRIG端口一个高电平的时候,超声波模块就会发送超声波进行距离测量,并且超声波模块还会自动发送方波对回波信号进行检测,倘若检测到了有回波信号的存在,也就是说接收到了反射波,ECHO端口就会输出一个高电平信号。当学习距离太小的时候,保护器就会发出报警声:同时,如果学习距离太远的话(超出了超声波测距模块的测量范围),LCD1602显示器会显示3个888作出提示。所测量的时间就是从TRIG端口触发到ECHo端口输出之间的距离,计算公式如下:s=340*t2(式2.2)HC-SRO4超声波模块的电气参数如表2.3所示:表2.3HC-SRO4

28、超声波模块的电气参数电气参数HC-SR04超声波模块工作的电压DC5V工作的电流15mA工作的频率40KHz最远的射程4m最近的射程2cm测量的角度15o输入触发的信号IoUS的TTL脉冲输出回响的信号输出HL电平信号,和射程成比例规格尺寸45*20*15mm2L9定时报警电路这个模块主要靠单片机内部的计时功能来完成45分钟的定时功能,并且发出声音报警,用于提醒使用者已经学习了一段时间,现在应该进行休息。标准的80c51单片机有两个可编程的十六位的加1定时器/计数器TO和Tl,力口1的意思指的是它会自动地进行加1计数,而且它只有在收到触发脉冲信号的时候才会进行这样的操作。在运用的时候,要注意加

29、1计数和减1计数是不一样的。然而,stc89c52与此不同的地方在于,它拥有标准80c51的两个定时器/计数器之外,还拥有多一个十六位的定时器/计数器T2以及看门狗定时器。它有两个模式和四种工作方式,一个的计数器模式,另一个则是定时器模式,工作方式就是所谓的方式0、方式1、方式2、方式3。并且,它的To和TI和传统的80c51的完全兼容。TO和Tl由2个特殊功能寄存器TMOD和TCON来控制:(I)TMOD被叫做工作方式寄存器,它是用来确定TO、Tl的工作方式与功能。TMOD的工作方式格式如图2.11所示。图2.11TMOD的工作方式格式图中最关键的莫过于C/干,因为它是用来确定TO、Tl将作

30、为定时器来工作还是计数器来工作,置0的时候是定时器,置1的时候是计数器。MlMO则用来确定定时器/计数器将用哪四种之一的工作方式来进行工作,其中00,01,10,11分别代表方式0,1,2,3o(2)TCON被叫做控制寄存器,它是用来控制TO、Tl的启动、计数、停止以及设置溢出标志。TCoN控制寄存器各位的定义如图2.12所示。写和nDeDia理址esTTROEImB料图2.12TCoN控制寄存器各位的定义TFO/1指的是TO/1溢出中断请求标志位,计数溢出的时候,自动地置1,可以作为中断的申请位。TRO/1指的是T0/1运行控制位,置1的时候开始工作;置0的时候To停止工作。IE0/1指的是

31、外部中断0/1中断请求标志位,置1的时候表示其向CPU请求中断。ITO/1指的是外部中断0/1触发方式控制位,置O的时候是电平触发方式;置1的时候是边沿触发方式。作为定时器来使用的时候,力口1计数器是对内部的机器周期脉冲计数(1一机器周期就是12个振荡频率),就是说计数频率等于晶振频率的1/12。当每一个机器周期计数器加1,加到计数器溢出使得TCc)N的TFO或者TFl置1的时候,就时间停。定时时间(装入定时器/计数器的初值X)=M-N=M-t/T。其中,M是由工作方式来决定的,倘若工作方式在方式0的时候,为13位计数器,M=213=8192;工作方式在方式1的时候,为16位计数器,M=216

32、二65536;工作方式在方式2的时候,为8位计数器,M=2%=256;工作方式在方式3的时候,To定时器分为2个8位计数器,2个M均为256,TI停止计数。t为定时时间,T为机器周期。如果主频为12MHZ,那么T=1(12*10612)=1us;如果主频为6MHz,那么T=1(6*10612)=2us12.2软件方面的设计过程对于系统的软件设计,我们采用KeiI进行C语言编辑,先确定主程序,再确定子程序。2.2.1系统的总体流程图2.2.2光照强度检测程序图2.2.3计时程序图单片机初始化定时器开始定时45分钟倒计时开始蜂鸣器发声2.2.4超声波测距程序图蜂鸣器发声2.3测试虽然这次设计的防近

33、视视力保护器的参数(学习距离和光照强度)可以自行修改,非固定,但是为了让使用者第一次使用就可以在一个合适的学习环境中学习,我将亲自进行测试实验,调节出合适的参数。第一个设置的参数是学习时间,固定为45分钟,学习了45分钟之后,视力保护器就会发出报警声提醒学习者暂停学习,好好休息。然后,就是学习距离测试实验。我们小时候上学老师就教过我们读写的姿势有一个标准,要符合三个一:手指距离笔尖的距离是一寸;腹部距离桌子的距离是一拳;眼睛距离书本的距离是一尺。第一次测试的时候,我设置的参数值是30cm,这样的话,很显然跟我们的标准相差太远,读写起来感觉有距离感。第二次测试的时候,根据上次的经验,我设置的参数

34、值是20cm,虽然这样设置之后眼睛距离书本的距离是符合要求的,不过老是因为腹部与桌子之间的距离而发出报警声。于是,在第三次测试的时候,我设置的参数值是15cm,这次的学习就很舒适,而且保护器全程没有发出报警声。最后,就是光照强度测试实验。很显然,不可能在黑暗的环境下学习,所以最小范围不可能是0%。第一次测试的时候,我设置的参数范围是35%-70%,这时我测试的35%相当于房间没开灯,依靠着窗外的微光进行学习,而70%开着正常的三盏灯会发出报警声。根据上一次的经验,第二次的测试里,我设置的参数范围是45%-80%,结果仅仅比第一次测试时有些许好转,45%的光照强度还是很低,80%的光照强度开着正

35、常的三盏灯依旧会发出报警声。于是,在第三次测试的时候,我设置的参数范围是55290%,这时的学习环境就很舒适,55%的光照强度开着一盏灯不算太暗,90%的光照强度开着正常的三盏灯也不会发出报警声。根据实验,最终的确定的参数设定如表2.4所示:表2.4最终确定的参数设定要设置的参数参数值或参数范围学习时间45分钟学习距离小于15Cm光照强度55%-90%3总结这次的毕业设计是一种基于stc89c52单片机的多功能视力保护器,功能包括测距、测光、报警以及计时。在硬件方面,采用了超声波测距模块、光线检测模块、显示模块、报警模块、定时模块等等,在使用者学习的时候,保护器会对周围的学习环境进行不断的检测

36、,每当使用者的学习距离太近,每当使用者的学习环境太暗或太亮,保护器会发出报警声给予提醒,并且保护器会一直显示当前环境的学习距离和光照的参数供使用者及时调整。在软件方面,运用C语言进行编写代码。经过测试和演示,本次的设计基本满足设计的要求,可以完成测距、测光等功能,并且距离和光照参数可以修改。不过,设计还是有不足的地方,比如定时时间固定,不可修改。倘若还想开发其他功能的话,它是可以继续拓展的。在设计过程中,难免会遇到难题。例如,在选择元器件的时候,要选哪种型号的光敏电阻,要选哪种显示器,要选哪种测距模块等等;在测试实验的时候,因为保护器会受到温度的影响,所以测试的时候难免会有误差出现;等等。虽然

37、过程有所困难,可是其中还是有很多有益的地方。通过这一次的毕业设计,在指导老师的帮助之下,让我更加清晰的了解并理解单片机的结构、c语言的运用、超声波的特性和基本原理、光敏电阻的特性和基本原理以及显示器和蜂鸣器的内容等等知识,整个过程受益匪浅,不仅让我对此产生了更多的兴趣,还增加了我的基础知识,增强了我的基本能力,丰富了我的基本思想和基本活动经验。参考文献1 .盛倒华.单片机原理及应用M.武汉:华中科技大学出版社,2014.3.2 .刘琨.数字电子技术M.北京:人民邮电出版社,2017.8.3 .陈永强,魏金成,吴昌东.模拟电子技术M.北京:人民邮电出版社,2013.1(2017.12重印).4

38、.谭浩强.C程序设计教程(第2版)M.北京:清华大学出版社,2013.8(2015.5重印).5 .邢秀文,胡毅,邓建杰.基础物理学讲义M.武汉:武汉大学出版社,2015.1.6 .张苑农,唐晨光,官飞.电子工艺实习Dl.西安:西北工业大学出版社,2017.7.7 .李骁,王彬媛,王振中,刘炳言,李昱钊,张黔.基于STC89C52单片机的视力保护器设计J.电子世界,2015,(19):160-162.8 .张彦宇.基于单片机的超声波视力保护器设计与研究J自动化技术与应用,2019,(10):74-76.9 .赵颖,何英昊.基于STC89C52的多功能视力保护器设计J.电子技术与软件工程,201

39、9,(11):120-121.10 .梁东丽,刘颖.基于单片机的多功能视力保护器设计J.天津职业技术师范大学学报,2018,(01):21-26.11 .贡维,宗艳艳.单片机超声波测距报警系统研究J信息记录材料,2019,(12):179-180.12 .何冰,王菊霞,苏变玲.基于单片机的视力保护器设计J电子设计工程,2015,(03):89-92.13 .吴亮.一种超声波视力保护器的设计J.山西大同大小学报(自然科学版),2019,(01):14-16.14 .赵晖.基于单片机的多功能视力保护器设计J电子技术与软件工程,2018,(22):239.15 .吕晓颖.基于单片机的多功能视力保护器

40、设计J.科技与创新,2019,(10):52-53.谢辞为时一个学期的毕业设计即将结束了,这也意味者我在北京理工大学珠海学院的大学生涯也即将结束。在大学整整四年的时间里,我衷心地感谢学校每一位优秀老师对我的栽培,让我从一个懵懵懂懂的大一新生变成一个有一定知识体系作为基础的大四应届毕业生。在我遇到难题的时候,每一位老师都愿意帮助我克服困难,有问必答,有问必教,而且还是非常耐心的教导我们,即使我们有着十万个为什么,老师也愿意一一为我们解答问题。特别是毕业设计的这段时间里,虽然一场疫情让我们无法在学校进行交流解答,但是指导老师依然非常敬业,非常负责,非常耐心的对我进行教育,对我有了极大的自身提高,其

41、中包括对单片机系统的知识理解、对流程图的逻辑理解、对电路设计的认识、还有对有关这方面书籍的知识等等,这些都得益于老师和同学的大力帮助。老师不仅为我们解答问题,还时刻提醒着我进行学习和设计,督促我好好学习,让我的心依然在学习之中。本人往后必定铭记在心,感恩在心,十年树木,百年树人,感谢各位老师对我的教诲!附录1程序部分代码#include#defineucharunsignedchar无符号字符型宏定义变量范围0255#defineuintunsignedint无符号整型宏定义变量范围065535#include#includeeepom52.hnsbitSCL=P26;/SCL定义,连接ADC

42、O832SCL脚sbit=P25;/DO定义,连接ADeo832DO脚sbitCS=P24;/CS定义,连接ADCO832CS脚sbitbeep=P27;这三个引脚参考资料sbitrs=P32;/1602数据/命令选择引脚H:数据L:命令sbitrw=P33;1602读写引脚H:数据寄存器L:指令寄存器sbite=P3N;1602使能引脚下降沿触发sbitc_send=P37;sbitc_recive=P36;ucharflag_hc_value;longdistance;uintset_d;bitflag_csbjuli;uintflag_timeO;bitflag_200ms=1;超声波发

43、射超声波接收超声波中间变量距离距离超声波超出量程用来保存定时器O的时候的uchar guangxian;uchar set_gx;uchar value;uchar flag_alarm;光线的显示变量设置光线的强弱的变量报警变量ucharmiao=55,fen=44,shi;ucharxuexi-start;/开始学习标志位ucharmenu_1;/*丑*4*4c*4M*M*4*4*4c*杆*4* 名称:Main()* 功能:主函数* 输入:无* 输出:无* */voidMain()(init_1602();time_init();init_eepom();/beep=0;write_str

44、ing(1,0,csb:mgm:)write_string(2,0,n);while(l)key();if(key_can=guangxian)( 【value2 +;if(value2 =2)flag_alarm =2;elsevalue2 =0; if(xuexi_start =1) (if(distance=2)( flag_alarm =1; Jelsevaluel =0;time_value =fen +shi if(time_value %45 间报警 flag alarm =3;距离光线报警循环5次都是报警增强抗干扰距离报警/循环5次都是报警增强抗干扰*60;=0)&(miao6)value3=0;beep=1;/取消报警

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号