基于单片机的视力保护器设计
接线图如图3所示。
2.4 电源接口电路模块设计
本设计采用3节1.5 V电池串联供电,电池盒和自锁开关串联可以方便电路的通断。电源接口电路接线图如图4所示。
2.5 按键电路模块设计
本设计用按键设置学习时间、光线强弱界限以及报警距离。按键电路接线图如图5所示。其中S4为设置键,S3为开始学习键和设定值的加键,S2为时间清零键和设定值的减键。当某键按下时,低电平有效。
2.6 超声波测距模块设计
2.6.1 超声波简介
超声波是高于20 kHz的机械波,它在不同的介质中传播速度不同,在通过两种不同介质时,在介质表面会发生反射、折射现象,超声波在传播过程中有一定的衰减。超声波在空气中衰减较快,频率越高,衰减越快,故在空气中传播时采用频率较低的超声波40 kHz。
2.6.2 超声波测距原理
本设计利用超声波遇到障碍物发生反射的特性,采用往返时间检测的方法进行测距,超声波测距原理图如图6所示。
测距时,超声波发射器向某一方向发射超声波,超声波在空气中传播遇到障碍物就立即反射回来,计算出超声波在空气中传播的往返时间t,超声波在空气中传播的速度为:340 m/s。利用如下公式(1)便可知超声波探头距障碍物的距离S。
S=vt/2 (1)
2.6.3 HC—SRO4超声波测距模块
本设计采用HC—SRO4超声波测距模块测量人的脸部离书籍的距离。该模块测距范围为2~400 cm,测距精度高达3 mm;模块由超声波发射器,超声波接收器,控制电路组成,其中发射器发射超声波信号用来作为距离的采样信号,接收器接收所发射的信号。
HC—SRO4超声波测距模块采用I/O口TIRG触发测距,给TIRG最少10 s的高电平,这时模块自动发送8个40 kHz的方波,自动检测是否有信号返回,如果有信号返回,则通过I/O口ECHO输出一个高电平,高电平持续的时间便是超声波从发射到返回的时间,测试距离=(高电平时间*340 m/s)/2。HC—SRO4超声波测距模块的引脚图如图7所示。其中VCC接电源,GND接地,TIRG为触发控制信号输入端接P3.3,ECHO为回响信号输出端接P3.2。
3 软件设计
本设计使用的编程语言为C语言,根据系统要实现的功能,先写出主程序,再利用硬件电路功能及各芯片、各模块的工作时序写出子程序,最后在主程序中进行调用,这种方法简单,主程序语句少,且易于软件设计和查错,还能很好的利用硬件电路,分模块进行调试。
3. 1 主程序流程图
系统主程序流程图如图8所示。
3.2 部分子程序流程图
T0用于测超声波的往返时间,工作于工作方式1,对单片机的机器周期进行计数。定时器的定时时间与系统的时钟频率有关,由于一个机器周期等于12个时钟周期,晶振为12 MHz,则计数周期为:T=12x1/(12x106)=1μs。当超声波ECHO端为高电平时开始计时。超声波测距子程序流程图如图9所示。
学习时间由定时器T1定时,其工作于工作方式1,初值为TH1=0X3C;TL1=0XB0;50 ms中断一次,value加1,当value值加到20时,即为1 s,秒钟加1;当秒加到60时,分钟加1;当分加到60时,时加1;当时加到24时,从新开始。报警子程序流程图如图10所示。
4 系统调试
软件测试:在Keil uvision4中编写程序,进行调试,修改语法错误。
硬件测试:焊接电路之前,先用万用表测得各元器件的好坏,分清极性电容蜂鸣器、发光二极管的正负以及PNP型三极管的三个级。在焊接电路板时,从单片机最小系统开始,分模块,逐个进行焊接并随时用万用表的“二极管”挡测试电路是否导通。焊接完成后,利用STC_ISP _V479下载软件将编好程序烧进单片机芯片中,并进行功能检测。
5 结论
经过软硬件的设计与调试,系统达到了设计要求,当学生开始学习时;若光线低于设定的弱光或光线高于设定的强光时,报警电路产生声光报警,提醒学生注意学习环境;若超声波测到的距离小于30 cm或设定值时,报警电路产生声光报警,提醒学生调节眼睛到书本的距离。当学习时间到达设定值时,产生10次报警,每次3下,提醒学生注意休息。由于超声波在空气中的传播速度与温度有关,本设计没有考虑温度对超声波传播速度的影响,测量距离还有一定的误差,但误差很小,还可通过温度传感器DS18B20进一步完善,使其测量更加精确。
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)