基于单片机的视力保护器电路的设计 下载本文

VD2VD3300KVD1KD-56028DIODEVSSLED1LEDR4OSCVT2PNPVT1NPNSBBGB6VSPEAKER图2-8 光线报警发声电路原理图

2.5 定时报警电路

当在定时器 /计数器定时器模式下,计数器在12分频信号振荡器于1的信号里产生的,即每个机器周期,加1计数,直到计满溢出。每个单片机的计数时间是与该单片机的计数系统振荡频率有关。众所周知,一个机器周期等于十二个振荡周期,

即 fcount=1/12osc

也即 如果晶振为12MHZ,则技术周期为: T=1/(12x106)HZx1/12=1us

此为最短的定时周期。若想在实际的设计应用中延长时间,则需改变定时器的初始值,也需根据设计的需要选择定时器的长度。 2.5.1单片机控制电路

单片机的控制电路是由单片机的P3.4口和P3.5口,也即是定时器/计数器通过汇编语言平台来加以实现的。在本次的视力保护器的设计中需要定

时时间为45分钟,有公式可以计算初值,得之如下: 45min×60=2700s=27000×100ms

由上可知计数初值需要分两次可获得,100ms设置为定时(T0),27000设置为计数(T1),其中定时的工作方式需为方式1,计数的工作方式需为11。

14

T0的定时初值为:216-100ms/2us=15536=C3B0H; T1的计数初值为:65536-27000=38536=96A3H。 2.5.2定时器报警发声电路

如图2-9所示,振荡脉冲的方波脉冲产生了单片机的定时功能,同时在该脉冲开启的高水平下也能IC2提供工作所需的电压。IC2采用语言电路且内存有“时间已到,注意休息”的语音信号。一旦电平触发,通过扬声器播出语音信号,同时,灯光闪烁。

VT6.R2VDDTG1HFC5219VSS1MOSCO/PVT59012VT39013SBR31K.BGB4.5VLED.图2-9 定时器报警发声原理图

15

第三章 开发系统软件设计

对于使用单片机系统而言,系统程序的主要任务是通过有限的硬件资源,供应管理系统内合理分布设计,设计出最直接,最有效的程序设计语言,实现了微控制器外围设备的控制,从而通过这些外围的设备实现设计者最初的设计目的。系统的软件设计通常是对于系统的可靠性和效率性在较大的部分在系统设计任务量极显著影响。

3.1 Keil C51软件简介

Keil C51软件内置了非常丰富的库函数,而且还允许使用者自定义函数。同时能够调用的开发调试工具也是非常实用和强大的,而且所有的界面都是以windows方式呈现。还有很重要的一点是,只要看看编译器生成的汇编代码,你可以知道用Keil C51生成的目标代码效率非常高,大部分生成的汇编代码的陈述是很紧凑,很容易理解。在开发大型软件系统更能反映其高级语言的优点。 Keil C51工具包的整体结构主要包括 uVision和 Ishell,它们分别是 C51 for Windows与 for Dos的集成开发环境( IDE),要完成编辑,编译,调试,仿真,连接整个开发过程。开发人员可以使用简易浏览装置或其他编辑器编辑C或汇编源文件,然后由C51和C51的编辑器编译的目标文件(. OBJ ) 。目标文件不仅可以生成库文件,也可以生成绝对目标文件(.ABS)。但需要通过LIB51和L51创建。同时绝对目标文件可以生成Hex需文件在OH51创建下,达到调试器进行源代码级调试的目的,同时也能通过仿真器使得目标板调试。

3.2程序的模块化划分

程序的模块化的中心理念就是化整为零,这种思想在程序设计中是十分常用的,也即是将一个能实现完整功能的程序,划分成若干个较小的程序,这些程序只能完成整个功能中的某一小部分的功能,但他们完整的组织起来就可以实现整个的程序功能。同时这些较小模块的程序自身也能进行设计、编译、调试,它们互不影响干扰对方。这样的做法优点很多,例如,能完成这个程序设计的优化、程序的可读性大大提高、同时也因为每个较小的程序模块的功能是独立的,这样十分便利于整个程序模块功能的扩充和升级、也能使得对于经常需要调用子程序的实际设计能够得到极大程度上的简化。

16

图3-1 系统软件设计总流程图

在本章节的系统硬件的设计中,根据最初设计视力保护器的最初目的——保护使用者的视力,以程序模块的设计思想,达到系统的实用性和可靠性的同时,也能极大改善简化本设计的设计步骤,减少设计的难度。本章节的软件设计的目的就是令单片机能够加载附录中的程序,使之运行,达到测距,定时,光检的三个能够保护视力的基础手段。

在整体设计中,当系统开始工作,首先初始化,然后再确定照度,如果周围环境光强度太弱,报警发声电路发出的提示音。如果对光照进行判定以达到国家标准给定值,则需要开始对定时部分开始计数。如定时时间到了最初给定的时间45分钟,报警发声电路发出提示音。若定时时间没有达到最初设定值,就直接进行距离的测定。若果测得的使用者眼睛距离书桌小于25cm,则报警发声电路发出提示音。反之,如果测得使用者眼睛距离书桌大于25cm,则返回对光照值的判定。有上述可知,感光、定时、测距这三个部分的检测是没有固定的顺序的,需要重复进行的。

17