APP下载

预防近视提醒器的设计与实现

2020-12-31孙慧萍

关键词:子程序流程图测距

孙慧萍

(山西大同大学物理与电子科学学院,山西大同 037009)

在当下社会,近视已经趋向低龄化。本文主要设计了基于STC89C52 单片机的预防近视提醒器。本设计重心主要在超声波传感器电路监控用眼距离、光线强度检测电路检测光强、定时电路设定用眼时间三个方面,通过报警电路示意用户来起到预防近视的作用。

1 总体方案设计

预防近视提醒器的主控制器是STC89C52单片机。系统方案设定用户脸部到书本间的距离为30 cm,采用超声波测距模块进行检测。利用单片机内部定时功能设定时间为45 min。通过光敏电阻与AD 模块相结合来接收信号,并把光线强度精确化、等级化,然后由系统对光线强度进行判断,当光强不足时报警模块发出警报。系统总体的设计方框图如图1所示。

图1 系统总体方框图

2 硬件设计

2.1 主控制模块

在单片机XTAL1 和XTAL2 引脚上跨接一个晶振和两个稳频电容[1],这样能够实现与单片机内部电路的连接组成一个性能良好的自激晶振电路,从而给单片机输送信号;将按键与电容组成的电路与RST相连。单片机RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位[2]。主控制最小系统电路如图2所示。

图2 单片机主控电路

2.2 电源电路模块

系统电源电路模块总电压为4.5 V的三节南孚电池供电,由于本设计的系统标准工作电压为5 V,因此在电路中加入LM7805 稳压芯片来保证输出的电压为5 V。

2.3 报警电路模块

报警模块由PNP 型三极管S8550 和蜂鸣器组成[3]。由于超声波测距电路、光检测电路以及定时电路达到指定数据时,三极管基电极b从单片机得到一个微弱的信号,发射极e 与基电极b 的电压相差0.7 V,这时发光二极管和蜂鸣器被驱动,电路发出报警,提示用户规范其用眼行为。

2.4 光照强度检测模块

由光敏电阻接收光强,配合ADC0832双通道A/D转换芯片进行光电转换构成光照强度检测电路。电路如图3所示。

图3 光照强度检测电路

2.5 超声波测距模块

用户脸部到桌子的实际距离采用HC-RS04超声波模块来进行测量的,HC-RS04 模块内部包括圆锥型共振板和两个压电晶片。波发送器电路、波接收器电路、控制电路、以及电源电路组成了超声波传感器电路。

3 软件设计

本设计采用Keil4编程软件,它包括编译器、宏汇编、连接器、库管理以及仿真调试器等[4]。首先根据设计要求确定该系统的主程序,然后根据每个电路的特点设计子程序,最后将子程序嵌入到主程序中。本设计软件方框图如图4所示。

图4 系统软件设计方框图

3.1 系统主程序设计

图5为系统主程序流程图。

图5 系统主程序流程图

3.2 系统子程序设计

本系统包含了三个检测模块:光线强度检测模块、定时器模块、超声波测距模块。

(1)光照强度检测子程序

当光强发生变化时光敏电阻会根据对应的的规则进行相应的阻值调节,通过ADC0832 双通道A/D转换芯片转换为具体的数字信号。图6 为光照强度检测子程序流程图。

图6 光照强度检测子程序流程图

(2)超声波测距子程序

利用单片机编程产生40 kHz 的方波,经发射驱动电路放大,使超声波传感器发射端产生振荡,发射超声波[5]。图7为超声波测距子程序流程图。

图7 超声波测距子程序流程图

(3)定时电路子程序

定时功能用于对使用时间的定时(设置为45 min)。图8为定时电路子程序流程图。

图8 定时电路子程序流程图

4 系统仿真、PCB设计及安装调试

4.1 系统仿真

采用protues 软件仿真模拟出电路的各项性能,进行分析并改进。系统仿真电路图如图9所示。

图9 系统仿真电路图

4.2 PCB设计

采用单面板设计,根据PCB 设计的步骤,最终设计的PCB如图10所示。

图10 系统PCB设计图

4.3 安装调试

确定元件无误后,根据各元件在PCB 图中的位置进行焊接。焊接完成后,烧入仿真调试过的程序,然后给系统上电。

(1)系统参数设定

按下电源开关,按下参数设定按键,LCD1602 显示参数设定界面,通过参数的加、减按键进行用眼距离的设定(这里将其设定为30 cm);再按下参数设定按键进行光照强度的设定,最后按下参数设定按键,退出参数设定页面(在这里由于定时时间由软件控制,不对定时时间进行手动调整)。

(2)系统工作调试

按下系统工作键,此时系统进入定时状态。当超声波测距模块检测到与使用者之间的距离小于30 cm、光检测模块检测到光线不足或者定时达到45 min时报警器发出报警并且LED 灯闪烁。若按下暂停键,定时器会停止计时,并且系统不会发出报警;而后按下开始键,系统恢复正常工作;当复位键按下时,系统又恢复到初始的状态。系统测距报警图如图11所示。

5 总结

图11 系统测距报警图

基于STC89C52单片机的预防近视提醒器设计合理,能够有效的起到预防近视、防止驼背、提高学习效率的作用。

猜你喜欢

子程序流程图测距
基于RSSI测距的最大似然估计的节点定位算法
云的识别指南
数控加工中数控程序的简化
子程序在数控车编程中的创新应用
一种程序源代码的标准化流程图转化方法∗
基于单片机的超声波测距导盲杖设计
直流系统行波测距的误差分析
基于VMD和TEO的高压输电线路雷击故障测距研究
在数控车床上加工软轴零件