51单片机智能视力保护仪的设计(3)

2.3 传感器的选择 在电路中的测距模块是利用了超声波进行检测距离,测距的原理是根据超声波的信号,从发射端传送到接收端所用的时间,再根据时间来


2.3 传感器的选择

在电路中的测距模块是利用了超声波进行检测距离,测距的原理是根据超声波的信号,从发射端传送到接收端所用的时间,再根据时间来计算传播的距离。常用的测距方法有直接波测距和反射波测距两种方式,前者一般用于测量身高的仪器,后者则多用于测距仪器[4]。这次的设计要求所选用的测距仪器一定要能准确测量,故在选择的时候务必要选用得当。在翻阅过很多资料后发现很多的设计都用了超声波测距,可是也发现其稳定性较差,而对于光电式的红外测距传感器,它可以用于很多精密场合,并且稳定性也比超声波测距要高,所以最终决定使用红外线测距作为本次实验的传感器[5]。

感光部分的电路,它主要是以光敏电阻作为主要元件,另外还用到LM393的电压比较器。这一块电路主要是对电路的电压进行测试,判断当前的光线是否符合当前的设定值,最终实现人机智能化。

2.4 编程语言选择方案

在使用单片机作为核心部件的硬件系统时,一般最常用的编程语言为汇编语言和C语言。

C语言在软件设计中是使用最多的语言,它的编写方式简单而且执行效率非常高,另外它还具有丰富的编写使用功能,所以在很多情况下,人们在进行软件设计时都是普遍使用C语言进行设计的。在不同种类型的单片机上,把C语言进行移植的时候,基本上不需要修改程序,因为C语言和单片机硬件系统不是相互依赖的关系。C语言程序设计是一种模块化的设计,它在库中有着很多标准的子程序,它对数据的处理能力很强,可供在编写程序时直接调用,让C语言更加容易学习掌握以及熟练运用。也可以自行编写相应的函数然后对此函数进行调用,整个程序都有规范的编写结构组织,他的可读性也是非常强。可划分为不同函数,结构规范,可读性强。C语言是目前在单片机编程中使用较多的语言,因为它学起来更容易理解和掌握,使用起来也非常方便,所以它被广泛应用在很多的单片机软件程序设计中。

汇编语言是面向机器程序设计的一种低级语言,在使用汇编语言编写程序时,通常需要结合其他高级语言才能完成编写任务。汇编语言虽然可以更加直接、简洁、有效的控制硬件系统,但是汇编语言编写的代码却复杂难懂,依赖于硬件系统,而且极难维护。汇编语言在软件程序设计中虽然很常用,但它的开发效率却非常低,耗时也很长,此外它只能针对指定的处理器进行优化。  

经以上分析,该系统的软件设计选择使用C语言对程序进行编程,因为C语言相对来说更简单更容易掌握,用C语言编写的程序更容易调试。

3 系统硬件电路设计

3.1 系统硬件电路构成

在设计硬件电路时,要先把电路的各小模块做好,每一个小模块都必须选用合适的元器件。元器件要根据所用芯片的性价比和可靠性进行选择,而电阻电容等小器件则要根据参数进行选择。系统选择了51单片机作为中心电路,利用观点反射类型的红外测距器件,红外测距器件有携带可以调节感应距离的电位器[6]。当视距和光线不符合学习条件时,系统中的发光二极管会不停闪烁,电路中的蜂鸣器也发出警示声音。液晶屏上显示的是学习剩余时间和当前的视距范围[7]。如果预设的时间结束时,蜂鸣器将会发出声音,且小灯会闪光提示。此时按下复位键系统暂停工作,可稍作休息,以免学习过度劳累;回来继续学习时,重新按下按键使系统重新计时运行。红外测距更灵敏、可靠、准确[8]。

3.2 显示系统

1.LED提示电路

LED产业在国内近几十年的发展以来,就被广泛应用于各类普通照明场景,近些年来,由于人们对半导体材料研究的不断进步,使LED的开发的工艺得到很大的进步,其应用范围也更加广泛,每一种颜色的LED的亮度都有很大的提高,都获得非常显著的研究使用成果,每一种色度的可见光都可以被二极管发光使用,并且还具有很高的发光效率[9]。系统电路的LED显示灯是用到了平时使用到的普通发光二极管,这种二极管是一种固态半导体的电子元器件,它可以将通过它的电能转换为人眼看得见的光能,它的耗能非常低,是一种非常节能的元器件,而且他的转换效能也是非常高的,另外在使用过程中寿命长且基本上没有什么辐射性,对人体没有伤害。此种类型的发光二极管已成为使用最受欢迎、使用最广泛的发光二极管之一,是一种新型的绿色照明电器。LED有诸多优点,如小体积、高亮度、寿命长且坚固耐用等[10]。在本次设计的视力保护仪就使用了LED发光闪烁实现系统要求的提示