当前位置:文档之家› 本科论文-多功能视力保护器

本科论文-多功能视力保护器

本科论文-多功能视力保护器
本科论文-多功能视力保护器

本科论文-多功能视力保护器

安徽三联学院

本科学年论文

多功能视力保护器

Multi-function vision protector

系别 **************

专业 **************术

班级 10级(2)班

学号 ************ 姓名 ********

指导教师 ************

2012年1月11日

信息与通信技术系

[摘要]目前青少年视力降低视整个社会共同关注的问题,无论在国内还是国外,过度用眼是造成这一问题的根本原因,预防是保护视力的有效方法,因此本论文提出了多功能视力保护电路的设计,多功能保护器主要包括测距,感光以及定时的功能其中测距和感光模块由相应模块的传感器构成来实现对使用者距离与周围光线强弱的监测和报警功能,定时模块由单片机运行程序构成实现对学习时间进行定时并通过报警来提示已到时间总体来说这三个功能同时生效即提醒使用者注意用眼。

关键词:传感器;测距;定时。

[ABSTRACT]

At present teenagers vision of the whole society to reduce both at home and abroad, with the eye excessive is to blame for the causes of the problems, prevention is the effective method to protect vision, so this paper puts forward the multi -function vision protection circuit design, multi –function protector mainly includes ranging, sensitive and timing functions including rang and photosensitive module by corresponding module sensor constitute to realize user distance and ambient light of the strength of the monitoring and alarm function, timing module by singlechip microcomputer to realize operation produces for timing and through the alarm to hint already to time overall these three functions at the same time effect that remind users pay attention to use eye.

Keywords:sensor;ranging;timing

目录

第一章绪论 (1)

1.1课程研究的背

景 (1)

1.2视力保护器的现状及其背

景 (2)

1.3本文主要研究得内

容 (2)

第二章视力保护器系统硬件的分布设计 (3)

2.1单片机的选择,简介以及其构图 (3)

2.2AT89S51单片机的中

断 (6)

2.3报警电路模

块 (6)

2.3.1光敏电阻控制电

路 (7)

2.3.2光线发声报警电

路 (8)

2.4定时报警电

路 (9)

2.4.1单片机控制电

路 (10)

2.4.2定时报警发声电

路 (11)

第三章系统的软件开发 (12)

3.1关于本系统的开发软件的简

介 (12)

3.2系统软件设计和主要程序功能介

绍 (12)

结束语 (14)

参考文献 (15)

录 (16)

第一章绪论

目前青少年视力低下已成为国内外共同关心的问题。资料显示我国小学生视力低下率为26.96%初中生53.43%高中生72.8%大学生77.95%。特别是调查显示50%以上的学生及家长缺乏视力保健最基本的科普知识不懂得不提前预防和及时治疗近视的危害性因而有41.6%视力低下的学生并未采取任何矫正措施又缺乏专业机构的治疗。基于以上原因本论文提出了多功能视力保护器的设计思路。多功能视力保护器主要包含测距、感光和定时三大功能。其中测距和感光模块由相应功能的传感器构成能实现对使用者距离与周围光线强弱的检测和报警功能。定时模块由AT89S52单片机运行程序构成能实现对学习时间进行定时并通过报警来提示时间已到的功能。总体上讲本设计的这三个功能同时生效并通过报警灯闪烁和蜂鸣器报警的方式提醒使用者注意用眼卫生。

1.1课程研究的背景

随着社会竞争力的增大以及人们对教育的愈加重视,父母对子女的期望值也随之加大,对此我们进行了多功能视力保护器的研究设计。通过创造健康的读写环境和科学方式,避免因长期读写(现代意义的读写包括:看书、写字、用电脑、看电视等)而导致的近视、驼背、脊柱侧弯、斜视、颈椎病等疾病的发生和发展,用非医药的手段,防范和解除因不良读写习惯,避免给人们身体带来伤害。

这个时代在给了我们太多好处的同时,也给了我们太多的附属和悲哀,比如:如果顺其自然90%[2]的孩子将来注定要和眼镜做一辈子“伴侣”。近视,作为一种现代通病,几乎没有办法根治它。目前的激光切除手术其实是伤害了人体的自然完整,伤害了身心的健全。于是,百年来人们一直使用着“玻璃凹凸”的笨办法维系着人们对外界求索的目光。

既然治疗近视这么困难,人们为什么不听听2000年前中国中医经典的劝谏呢?“是故圣人不治已病治未病”,防患于未然正和现在的“预防医学”不谋而合。研究表明,造成近视99%的原因,源自于孩子们平时读书、写字时坐姿不标准,导致眼睛距离书本太近所致。大部分孩子喜欢趴在课桌上读写,并且老师、家长屡教不改,很难扭转习惯,是家长一直头疼的事。

1.2视力保护器的现状及其背景

现状:针对视力这一问题已成为普遍,目前医学上只有激光可以治愈,但其有一定的风险,对眼睛的上海也是很大的,所以现在采用以预防为主。现在国内已有很多的电子公司都在加速竞争研制并生产视力保护器。可以纠正看书,写字的不良坐姿。由于其目的的单一性,不能很好的满足大宗的需求,同时与现在紧张的生活和过度用眼形成矛盾。国外也对这一问题展开研究,与国内研究方向不一样,其主要从近视原因入手,通过饮食搭配来降低近视发声的概率,同时正确的学习习惯对视力的保护也有事半功倍的效果。

前景:市场上的多功能保护器起步比较迟,人们对其改进的需求很大,现在产品功能比较单一,将超声波,单片机[3]以及光线运用到视力保护器上,通过超声波接收头对接收的超声波信号进行调制输出,光线报警功能等等,为进一步设计多功能视力保护器提供了有效的信息依据和发展的方向。

1.3本文主要研究得内容

由于单片机芯片的智能处理功能,首先单片机的选择是本文的重点,该电路的设计是以单片机芯片为核心的主体电路,选择元器件时对其性价比要进行很好的分析,选用AT89S52型,另外熟知传感器的原理,光线报警的原理以及定时测距系统。利用AT89S52型单片机汇编语言进行汇编,利用各引脚功能行定时,该多功能视力保护器具有以下功能:

(1)当使用者脸部与桌面之间的距离小于35CM时,电路发出声光提醒

(2)当周围环境光照强度不足时,发出声光提醒

(3)当使用时间达到45分钟时,电路发出声光提醒,防止过度用眼

(4)电路测光报警的灵敏度可根据主频进行调整

真正帮助我们做到国家教委规定:学生在读写时,应在一定亮度眼睛离读物一尺,身离书桌一拳。

第二章视力保护器系统硬件的分布设计

硬件主要以AT89S52型单片机为核心,功能电路主要包括传感器辅助坐直报警电路、光线报警电路、定时报警电路以及报警发声电路等核心电路,利用单片机的汇编语言实现系统设计的基本框图。图如下所示:

电源传感器垂直报警发声电路

图2-1系统设计基本

2.1单片机的选择,简介以及其构图

AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

图2-2 AT89S52引脚图[10]

VCC : 电源 GND:接地

P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体如下表所示。

表2.1 AT89S52 P1口第二功能表

P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX @DPTR)时,P2 口送出高八位地址

P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下表所示。

RST: 复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。

表2.2 AT89S52 P3口第二功能表

ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。

EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。在 flash 编程期间,EA 也接收 12 伏 VPP 电压。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

2.2AT89S51单片机的中断

程序里面,中断系统里面有五个中断[9],外部中断0和1,定时器/计数器中断0/1,串行口中断。指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序。中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。

2.3报警电路模块

该电路分为光敏电阻控制电路和光线发声报警电路。其功能是完成由光敏电阻控制的电路在条件满足时发出脉,该脉冲作用于AT89S52单片机的P0口,通过检测p0口是否为高电平,由中断控制利用P1口给出满足发声电路需要的脉冲,再由发声电路发出声音提醒学生光线的暗亮,需要调节光的亮度。此时,定时器T2进行中断服务程序ZDT0进行定时器T2循环定时进入下一个定时周期,当满足又一次定时满时,再由计数器T1计数一次,如此循环下去,直到满足计数器T1计数次数,计数器T1进入中断服务程序ZDT1,其功能是使单片机的P1.1引脚发送一个脉冲触发定时报警发声电路,由定时报警发声电路发出报警信号,使学生意识到已经学习了45分钟了而需要休息,关闭视力保护器电源,休息后,在开启电源以进行节能。开启电源后,定时器T2和计数器T2EX 进行到下一循环,对定时器进行赋值,T2定时,T2EX计数,再进行报警。

图2-3 光敏电阻

2.3.1光敏电阻控制电路

光敏控制电路的原理[7]:当光敏电阻受到较强的光照时,其电阻阻值在一百欧姆以下时,三极管B电极电压较低,三极管截止,输出端输出高电平,为模拟信号,经芯片LM339转换成数字信号然后经反相器传给单片机,传过去的信号为低电平,即光线正常时输出信号为低电平;当光敏电阻受到较弱的光照照射时,光敏电阻阻值为无穷大,三极管B电极电压很大,三极管导通,输出电压为Vce=0.7v[1],为低电平,经比较器输出为零,再经反相器作用后输出为1,即光线较暗淡时,总的输出电压为高电平即1。如图所示光敏控制电阻电路:

2.3.2光线发声报警电路

光线报警发声电路原理:IC2采用COMS [4]大规模语音集成电路KD-56028,它内储有“请注意近视,快把灯光调亮”的语音信号。当有高电平信号加至其TG 端时,它随即播出内存的语音信号,经VT1,VT2放大后,驱动扬声器B 发出提醒语句。

供电电源采用6F22型6V 叠层电池。KD-56028的工作电压为2.4~5V ,为保证其使用安全,在供电通路上串接了两只1N4001二极管,用以降低使用电压。

R 采用RTX-1/8W 型碳膜电阻器;R4选用WH7型微调电位器; VT1,VT2分别选用9013(NPN )和9012(PNP 型)晶体三极管;要求h>=100;B 采用YD57-2型电动式扬声器。

图2-4 光敏控制电阻电路

+5V

..

图2-5 光报警发声电路图

2.4定时报警电路

报警电路分为单片机控制电路和定时器报警发声电路,主要通过单片机的定时计数功能完成定时45分钟并使报警电路发出报警声,用来因长时间学习忘记休息的提醒。

8052单片机内有两个可编程的定时器/计数器,满足诸如对外部脉冲进行记数,产生精确的定时时间,作串行口的波特发生器等功能的需要。它们具有两种工作模式(计数器模式和定时器模式)及4种工作方式(方式0,方式1,方式2,方式3)。其控制字均在相应的特殊功能寄存器中,通过对它的特殊功能寄存器的编制,可以方便的选择适当的工作模式和工作方式。

当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计数满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率f=1/12fosc。如果晶振为12MHz,则计数周期为:

T=1/(12×106)Hz×1/12=1us

这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。

当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平。若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个由1至0的跳变需要两个机器周期,故外部事年的最高计数频率为振荡频率的1/24。例如,如果选用12MHz晶振,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。

工作方式控制寄存器TMOD用于控制定时器/计数器的工作模式及工作方式,它的字节地址为89H。定时器/计数器的两个作用是用来精确的模拟一段时间间隔(作定时器用)或累计外部输入的脉冲个数(作计数器用)。当作定时器用时,在其输入端输入周期固定的脉冲个数,即可计算出所定时间的长度。当8051内部的定时器/计数器被选定为定时器工作模式时,记数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1,因此,定时器/计数器的输入脉冲和机器周期一样,为时钟频率的1/12[5]。

本设计使用定时器T0、工作方式1实现。单片机定时时间为45分钟,利用T0定时器定时3ms,然后通过变量递加,20次中断为1s,变量seconds再递增,递增60次,变量minutes递增,直至为45,此时置标志位。在主循环中检测,报警,使学生意识到已经学习了45分钟了,需要休息一下,进而达到保护学生视力的目的。此时,学生应关闭视力保护器电源,休息后在开启电源以进行节能

2.4.1单片机控制电路

单片机控制电路由AT89S52单片机的P1.0和P1.1即T2和T2EX定时/计数器通过单片机的汇编语言来实现。

其中T2为定时器,T2EX为计数器,定时器T2定时后,计数器T2EX计数一次,此时,定时器T2进行中断服务程序ZDT0进行定时器T2循环定时进入下一个定时周期,当满足又一次定时满时,再由计数器T1计数一次,如此循环下去,直到满足计数器T1计数次数,计数器T1进入中断服务程序ZDT1,其功能是使单片机的P1.1引脚发送一个脉冲触发定时报警发声电路,由定时报警发声电路发出报警信号,使学生意识到已经

学习了45分钟了而需要休息,关闭视力保护器电源,休息后,在开启电源以进行节能。开启电源后,定时器T2和计数器T2EX 进行到下一循环,对定时器进行赋值,T2定时,T2EX 计数,再进行报警。

2.4.2定时报警发声电路

定时报警发声装置的原理[7]:利用单片机的定时功能通过引脚PROG 产生一个振荡脉冲方波,该脉冲加至基极,在脉冲为高电平期间导通,为IC2提供了工作电压源。IC2采用语音集成电路HFC5219,它内存有“时间到了请休息”的语音信号,采用电平、不保持触发方式,一旦得电平触发,便迅速播出内存的语声信号,并经由VT5,VT3组成的复合级放大器放大[8],驱动扬声器B 发出告诫声,同时,LED 点亮发光。

图2-6 定时器报警发声电路图

..

第三章系统的软件开发

在运用AT89S52芯片时,需要对编程语言的选择,本文利用单片机汇编语言来完成软件设计和程序代码的编写,程序简单易懂,可执行性可靠。

3.1关于本系统的开发软件的简介

Keil Software可以用来编译C源码,Keil C51编译器完全遵照ANSI C语言标准,支持C语言的所有标准特性。另外,直接支持8051结构的几个特性被添加到里面。

KeilA51宏汇编辑器支持AT89S52及其派生系列的全部指令集。

LIB51库管理器允许你从由编译器或汇编器生成的目标文件创建目标库。库是一种被特别地组织过并在以后可以被连接重用的对象模块。当连接器处理一个库时,仅仅那些被使用的目标模块才被真正使用。

它们是为专业开发人员而设计的,但所有层次的编程人员都可以用它们来获得AT89S52微控制器的绝大部分应用。

3.2系统软件设计和主要程序功能介绍

1系统软件的认识

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil是单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB

或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是我们的首选,目前在国内只能买到该软件、而买的仿真机也很可能只支持该软件,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

2. Keil C51单片机软件开发系统的整体结构

C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开始。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

Keil C51工具包的整体结构主要包括uVision与Ishell,它们分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

Keil可以编译C源码,汇编源程序,连接和重定位你的目标文件和库文件,创建HEX文件,调试目标程序。与其他软件相比,具有以下特点:

(1)Windows应用程序uVision2是一个集成开发环境,它把项目管理,源代码编辑,程序调试等集成到一个功能强大的环境中。

(2)C51美国标准优化C交叉编译器从你的C源代码产生可重定位的目标文件。

(3)A51宏汇编器从你的8051汇编源代码产生可重定位的目标文件。

(4)BL51连接/重定位器组合你的由C51和A51产生的可重定位的目标文件,生成

绝对目标文件。

(5)LIB51库管理器组合你的目标文件,生成可以被连接器使用的库文件。

(6)OH51目标文件到HEX格式的转换器从绝对目标文件创建Intel HEX 格式的文件。

(7)RTX-51实时操作系统简化了复杂和对时间要求敏感的软件项目。

uVision2 集成开发环境集成了一个项目管理器,一个功能丰富、有错误提示的编辑器,以及设置选项,生成工具,在线帮助。利用uVision2创建的源代码并把它们组织到一个能确定你的目标应用的项目中去。uVision2自动编译,汇编,连接嵌入式应用,并为开发提供一个单一的焦点。

源代码由uVision2 IDE创建,并被C51编译或A51汇编。编译器和汇编器从源代码生成可重定位的目标文件。Keil C51编译器完全遵照ANSI C语言标准,支持C语言的所有标准特性。另外,直接支持8051结构的几个特性被添加到里面。Keil A51宏汇编器支持8051及其派生系列的全部指令集。LIB51库管理器允许从由编译器或汇编器生成的目标文件创建目标库。库是一种被特别地组织过并在以后可以被连接重用的对象模块。当连接器处理一个库时,仅仅那些被使用的目标模块才被真正使用。

它们是为专业开发人员而设计的,但所有层次的编程人员都可以用它们来获得8051微控制器的绝大部分应用。

结束语

本次学年论文的设计运用单片机汇编语言进行软件设计,经过测试,基本满足设计目标,可以完成各项基本功能。本系开发空间大,接口方便,使用灵活,便于用户扩展功能。不过,由于时间关系,本次设计的系统也有某些不太完善的地方,如光敏电阻的

相关主题
文本预览
相关文档 最新文档