多功能视力保护器设计.doc_第1页
多功能视力保护器设计.doc_第2页
多功能视力保护器设计.doc_第3页
多功能视力保护器设计.doc_第4页
多功能视力保护器设计.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题 目: 多功能视力保护器设计 英文题目: Design of the Multifunctional Eyesight Protection 作 者 声 明本人以信誉郑重声明:所呈交的学位毕业设计(论文),是本人在指导教师指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本毕业设计(论文)引起的法律结果完全由本人承担。本毕业设计(论文)成果归东华理工大学所有。特此声明。毕业设计(论文)作者(签字): 签字日期: 年 月 日 本人声明:该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。 学位论文指导教师签名: 年 月 日东华理工大学毕业设计(论文) 摘要摘 要近年来在我国近视眼发病率越来越高,尤其是青少年的视力低下的情况越来越严重。据调查,我国青少年近视发病率高达至50%到60%。而导致青少年近视近视的主要原因就在于看书写字的姿势不正确并且过长时间的写字阅读,所以设计一台方便的视力保护仪是很重要的。本文是运用了超声波传感器的多功能视力保护仪。以STC12C5A60S2型单片机的硬件电路设计和软件设计为核心,实现高精度,低成本的视力保护仪的硬件电路,其中硬件电路包括光强报警电路及定时报警电路等。并且通过软件设计来实现所有需要的功能,其中软件包括显示测距,距离报警,光强报警,定时报警等的程序设计。现如今各种各样的以单片机控制应用系统的设计正在引起学者们的注意。本文详细探讨了利用模电、数电、单片机这些课内专业知识来实现单片机的定时功能和程序语言实现定时的方法,以及系统主要硬件组成部分及其作用,并给出了完整的系统软件流程图和程序设计、部分子程序流程图和程序设计。关键词:视力保护仪; 超声波传感器; 定时; 报警; 程序设计 东华理工大学毕业设计(论文) 目录 ABSTRACTIn recent years,the increasing incidence of myopia, especially low vision of young people more and more serious. According to the survey, Chinas incidence of juvenile myopia up to 50% to 60%. The main causes of juvenile myopia is that not correct posture to read and write and to read and write too long, so the design of a convenient instrument eye protection is very important.This article is the use of multi-functional eye protection instrument ultrasonic sensors. In general 8051 MCU hardware circuit design and software design as the core, high-precision, low-cost eye protection instrument hardware circuits, hardware circuit includes the timing and intensity alarm circuits alarm circuit. And to achieve all the functionality required by the software design, software which includes a display ranging from alarm, the light intensity alarm, time alarm and other programming. Now design a variety of microcontroller control applications are causing the attention of scholars. This paper discusses the use of analog digital circuit, microcontroller these curricular expertise to achieve single-chip timing functions and programming language realization timing method and system main hardware components and their effect, and gives a complete system software processes map and program design, part of the subroutine flow chart and software design. Keywords: Eye protection from the alarm light; Ultrasonic Sensor; Timing; Alarming; program design目 录摘 要IABSTRACTII绪 论1第1章 系统方案总体设计31.1 系统总体框架设计31.2 系统总框图31.3 设计目的及基本要求41.4 系统选择的方案4第2章 系统硬件电路设计62.1 STC12C5A60S2单片机介绍及应用62.2 控制系统电路设计82.3 按键控制电路设计92.4 LED灯显示电路设计102.5 蜂鸣器报警电路设计112.6 光强度检测电路设计122.6.1光敏电阻及其特性介绍122.6.2 光强度检测电路122.7 红外线测距电路设计132.8 系统显示模块14第3章 系统软件设计163.1 Keil C51软件平台163.2 程序的模块划分173.3 中断处理程序183.4 AD转换与光线强度检测模块203.5 红外线测距模块223.6 定时模块233.7 程序实现的功能25第4章 系统调试与结果分析26总结与期望28致 谢29参考文献30附录A 电路图31附录B 实物图32附录C 程序代码33附录D 系统元件清单40II东华理工大学毕业设计(论文) 绪论 绪 论1. 选题的背景与意义大家都知道一旦近视,是花再多钱治疗也不可能完全恢复的一种病,它无时无刻不在困扰着你的生活和学习。现如今青少年近视的发病率越来越高引起了社会各个相关部门的高度重视。国家有关部门对很多职业都有明确的视力要求,可想而知,近视会给我们以后在工作中带来很多的限制,很有可能会失去一份机会。所以,在高强度的学习之中有一个便利的视力保护装置是极其重要的。 根据有关数据显示,我国的小学生实力低下率为26.96%,初中生53.43%,高中生72.8%,大学生77.95%。尤其是50%以上的学生、家长缺乏视力保健最基础的只是,不知道近视的危害性,造成41.6%的学生没有采取很好的保护、矫正措施。专家指出,除了有一小部分遗传的原因,90%的孩子都是由于平常读书、写字时坐姿不标准、时间过长、眼睛距离书本太近等习惯原因所导致的,甚至有些孩子喜欢趴在桌子上读写。这些都是老师、家长很难纠正的坏习惯。据了解,目前治疗近视方法主要集中于激光手术,其中德国蔡司VisuMax全飞秒激光手术最为成熟,其原理为:激光切削角膜基质,微笑切口取出透镜。但是,这些治疗手段都存在着一定的风险,都会在一定程度上给人体造成一定的伤害。国家教委规定:书应该放置于正前方,身体松弛,腰背挺直,并且将书平放在桌上,眼睛与书本的距离大概为35至40厘米,胸部与桌边的距离为大约一拳,读书时应保持头部随视线自由移动。另外,有研究表明:最佳的近距离学习时间为1个小时。以此为背景我们进行了多功能视力保护器的研究与设计。用非医药的方法去防范不良习惯造成对视力的影响,比如从学习的时间、灯光的强度、眼睛与书本的距离等等。从而进一步提醒、纠正广大的学生朋友们在如此大的学习压力中也要在一定亮度下、一定距离下读写。从根本上预防视力问题。2. 国内外研究现状及成果根据市场的调查研究,根据原理将视力保护器可具体分为机械平衡式视力保护器(例如:1.5视力保护器),支架式视力保护器(例如:背背佳),电子平衡式视力保护器(例如:电子平衡式瞌睡报警器)和测距式视力保护器(例如:VISOMATE威士美)。国内生产的大多视力保护器都能有效的对使用者不正确的坐姿进行语音的提示,还有一些厂家生产坐姿矫正器,可以在一定程度上纠正读书,写字的坐姿。由此看来,虽然国内生产视力保护器的电子厂商有许多,但是功能特点都比较的单一,外观单一,并不能满足广大使用者的需求。进一步调查发现,国内市场上真正的多功能视力保护仪其实并没有很多,大多数产品都只是侧重某一个方面来进行视力保护,功能单一并不能从多个方面去保护视力,有些产品甚至对使用的环境和人群也存在着局限性。国外也有许多学者和企业投入到视力保护的研究与开发中,不过他们更偏向于对近视原因的研究。他们发现合理搭配饮食营养,比如多鱼肉和蔬菜,以及培养正确的学习习惯,可以降低近视的概率。WelchAllyn(美国伟伦公司)生产的视力保护仪。具有自动、无损性,能够自动检测出屈光度问题,包括近视、远视、散光等问题。此外,激光视力矫正手术(LASIK手术)自上世纪90年代从欧美国家开始向全球多国蔓延以来,已使世界各地很多近视患者重获清晰明亮的视力。但是这种手术带来的安全性和副作用问题一直都让世界担忧,引来不断的质疑与争论。3. 课题研究的基本内容与拟解决的主要问题本文研究视力保护器内容分为硬件设计和软件设计,基于以STC12C5A60S2型单片机为核心的主体电路,和三个模块组成组成,然后同时实现对视力保护的报警功能。感光模块由光敏电阻和报警发声硬件电路组成,定时报警模块是由单片机控制电路和定时报警电路组成,主要是通过单片机的定时计数功能来实现的计数报警,测距模块是由包含发出与接收功能的GP2Y0A02YK0F型超声波传感器组成。基本要求如下:1 对距离的检测,如果使用者眼睛与写字台距离低于35cm时,电路将发出报警声提示使用者适当调整坐姿,注意视力的保护。2 对学习光线环境的检测,如果光线强度过强或过弱时,电路将发出报警声提示使用者调整光线强度,注意视力的保护。3 对学习时间的检测,如果使用者学习时间达到60分钟时,电路将发出报警声提示使用者休息眼睛,注意视力的保护。39东华理工大学毕业设计(论文) 系统硬件电路设计 第1章 系统方案总体设计1.1 系统总体框架设计本多功能视力保护器需要在多方面最大化的保护视力。所以具有三项功能:感光、测距、定时,每当任意数据达到上限值时蜂鸣器就会发出报警提。此设计最基本组成电路主要包括红外线测距电路、光线强度检测电路、以及报警发声电路等核心电路。1.2 系统总框图本多功能视力保护器主要是以STC12C5A60S2型单片机为核心,以红外线传感器报警电路、光线报警电路、定时报警电路以及蜂鸣器报警电路为核心的电路设计。利用C语言对系统进行控制。本系统的总体框架如图1-1所示。图1-1 系统结构框图1.3 设计目的及基本要求(1)主要设计要求a.在互联网上不断查询相关信息,目的是为了了解目前对多功能视力保护仪;b.温习和增强对51单片机概念与应用及汇编语言程序设计知识,灵活运用单片机I/O口使用和扩展;c.利用Keil uVision4软件进行C51程序设计,使之在做好仿真电路中进行下载调试;d.利用Proteus软件对系统进行仿真,总结其中出现的问题,做好相关记录;e.完成以上步骤后及时写出此次毕业设计论文、焊接电路、写出答辩时所用的PPT。(2)技术要求及功能本系统是以51单片机为核心处理器、光敏电阻、蜂鸣器、红外线测距传感器等构成的一款多功能视力保护仪。具体功能如下:当用户眼睛与桌面或电脑等学习工具的距离小于35CM时,系统将作出提示警告用户;当使用时间长达60分钟时,系统会发出声音提示,提醒用户注意休息;当用户在阅读时所处的环境光线照度很暗或者很明亮时时;系统的蜂鸣器和LED显示灯会发出提示。1. 4 系统选择的方案在测距模块中,常用超声波测距,它的原理是利用超声波的发射与接收,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距的两端,一端发射,另一端接受的直接波方式,适用于身高计;一种是发射波被物体发射回来后接收的反射波方式,适用与测距仪。本设计主要是测距要选用得体,要准确无误,通过查阅资料感觉利用超声波测距的设计较多,但是稳定性不是很好,所以决定采用光电式测距传感器,主要应用在生产加工等精密场合,稳定性极高。所以本设计选用光电式红外测距传感器。在感光模块中,采用光敏电阻与构成的电压比较器来构成感光模块的主要部分。通过对电压的采集,来实现智能化。红外发射器按照一定的角度发射红外光束,当遇到物体以后,光束会反射回来,如图1-2所示。反射回来的红外光线被CCD检测器检测到以后,会获得一个偏移值L,利用三角关系,在知道了发射角度a,偏移距L,中心距X,以及滤镜的焦距f以后,传感器到物体的距离就可以通过几何关系计算出来了。其优势在于:光斑小,精度高,反应时间短;缺点是:不能正确的识别透明物体,从而也无法对其进行距离测量等。 图1-2三角测量原理 第2章 系统硬件电路设计本设计中的控制系统主要以单片机为核心,采用的STC12C5A60S2单片机,该款单片机是基于8051内核,冯诺依曼架构的一款八位微处理器。2.1 STC12C5A60S2单片机介绍及应用在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASH ROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。而且STC系列单片机支持串口程序烧写。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。重要的一点STC12C5A60S2目前的售价与传统51差不多,市场供应也很充足。是一款高性价比的单片机。如图2-1所示。STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。各引脚功能简单介绍如下:VCC:供电电压;GND:接地;P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高;P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收;P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号;P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断0)P3.3 INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 WR (外部数据存储器写选通)P3.7 RD (外部数据存储器读选通)同时P3口同时为闪烁编程和编程校验接收一些控制信号;RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高平时间;ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效;PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问内部部数据存储器时,这两次有效的PSEN信号将不出现;EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;XTAL2:来自反向振荡器的输出;图2-1 STC12C5A60S2管脚分布2.2 控制系统电路设计如图2-2所示为多功能视力保护仪控制模块电路图。系统控制电路包括复位电路、振荡电路、单片机下载接口控制电路构成。由电容C1,电阻R3组成的复位电路,其中电容C1=10F,R3=10K。电路中为了计时方便计算,本设计的晶振选用12MHZ无源外部晶振(实际电路中采用11.0592MHZ晶振)。配合两个起振电容C2、C3。形成晶体谐振电路为单片机提供一个12MHZ稳定的时钟源。为了方便起振,起振电容选用33pF。2-2控制模块电路图2.3 按键控制电路设计在单片机应用系统中,通常需要通过输入装置对系统进行初始设置和输入数据等操作,这些任务可由按键来完成。按键可组合成一个矩阵键盘,键盘是一种最常用的单片机应用系统输入设备,每一个按键事实上是一个开关元件,按其结构大致可分为两大类:有触点和无触点。目前,单片机应用系统中使用最多的按键键盘可分为编码键盘和非编码键盘。其中编码键盘可以由硬件逻辑自动提供与被按键对应的编码,并具有消抖、多键识别等功能。该类键盘操作方便,但是价钱偏贵,在普通单片机应用系统上较少采用。非编码键盘只提供简单的行和列的矩阵,应用时由软件来识别键盘上的闭合键,它具有结构简单、使用方便灵活等特点,为此大多数单片机控制系统都使用此种。在应用中,非编码键盘常用的类型有独立式(线性)键盘和矩阵(行列式)键盘两种。多功能视力保护仪按键电路采用独立式按键如下图2-3所示。按键Key1Key3分别对应单片机P2.5P2.7口的一根线,各键是相互独立的。操作时由系统软件来判别按键当前是否按下。当某按键按下时,该按键对应的I/O口将从高电平变为低电平。当检测到对应的I/O口为低电平时,则可判断出该口对应的按键被按下,则可启动相对应的程序控制。 图2-3 多功能视力保护仪独立式键盘功能2.4 LED灯显示电路设计LED(Light Emitting Diode)是发光二极管,常做指示器,其导电特性与普通二极管类似。LED灯显示电路采用八个高亮发光二级管和一个排阻组成。采用排阻目的是为了使焊接的工作量减少。排阻的公共端接上电源的正极,当控制电路通过驱动芯片74HC595输出低电平时则可控制LED灯发光。LED灯显示电路如图2-4所示。图2-4 LED灯显示电路LED1LED5分别与单片机P2.4P2.0口相连,LED6、LED7和LED8与单片机P3.7口、P3.6口和P3.3口相连。各LED灯显示的功能表如表2-1所示。表2-1 LED灯显示的功能列表灯号接口功能LED1P2.4显示是否使用蜂鸣器LED2P2.3距离太近告警LED3P2.2阅读超过一小时告警LED4P2.1光线过强告警LED5P2.0光线太弱告警LED6P3.7正在阅读LED7P3.6阅读暂停LED8P3.3阅读停止2.5 蜂鸣器报警电路设计本设计采用的报警电路,主要采用的是蜂鸣器报警和二极管发光报警两种报警,用两种报警的目的是为了方便用户在各种环境下使用,比如在比较安静的环境(例如图书馆),则单独用二极管发光报警提示即可,而没必要发出声音报警影响别人学习看书。在此电路中,三极管Q1起开关和电流放大作用,基极电阻R5起限流作用。蜂鸣器发声报警电路图如图2-5所示。图2-5 蜂鸣器报警电路2.6 光强度检测电路设计2.6.1光敏电阻及其特性介绍在电子电路中,常应用光敏器件构成光控电路。所谓光敏原件通常是指能将光能转变成为电信号的半导体传感器件。常用的光敏器件有光敏电阻、光敏二极管等。光敏电阻是根据半导体的光电导效应制成的,使用时给它施加以直流或者交流偏压。它是用硫化镉或者硒化镉材料制成的特殊电阻器,它对光线非常敏感。无光线照射时呈高阻态,暗阻值一般可达1.5M欧以上;有光照时,材料中便激发出自由电子与空穴,使其电阻值减小,随着光照强度的增高,电阻值迅速降低,亮阻值可小至1K欧以下。光敏电阻器适用于光电自动控制、照度计、电子照相机、光电报警装置中。2.6.2 光强度检测电路 光线强度大小检测电路如图2-6所示。在图2-6中,光敏电阻LDR1一端接地的,另一端串联一个固定值电阻R4=10 K,再与电源VCC串联,形成一个串联分压电路,当光线强度发生变化时,由于光敏电阻所具有的光照特性,其阻值会发生相应的变化,其左端连接上AD0809其中一个输入端口,即可读取其电压值。通过硬件传输,软件处理,即可在单片机内部判断光强是否低于阀值,发出警示或报警。图2-6 光强度检测电路2.7 红外线测距电路设计本设计采用的红外线测距探头是由夏普公司(SHARP)生产的型号为GP2Y0A02YK0F的反射式红外探头,其输出的为模拟电压信号。其各参数如表2-2所示。表2-2 红外传感器的参数表参数符号等级单位测量距离L20-150cm供电电压Vcc4.5-5.5V工作电流I33mA输出电压U400mV红外线测距电路图,如图2-7所示。电阻R1的作用是保证Distance口(P3.2口)一开始是高电平,当红外线测距模块引脚3输入一个低电平时,单片机就可检测到,也就是相当于距离太近(小于35cm),系统立即报警,发出警示。图2-7红外线测距电路2.8 系统显示模块本设计所使用的显示屏是OLED12864,这是一种12864的行点阵显示模块,能够显示图形、字符等,具有分辨率高的是一种非常方便的显示屏。其各引脚描述如表2-3所示。表2-3 OLED12864引脚描述表引脚编号引脚名称引脚功能描述1VDD电源3.3V(5V为可选)2GND电源地3/CS片选信号,低电平有效4/RES复位信号,低电平有效5D/CH:DB0-DB7为显示数据L:DB0-DB7为操作指令6R/W8080模式时此引脚为写选通信号,上升沿有效6800模式时此引脚为写读选通信号,高电平为读,低电平为写7E/RD8080模式时此引脚为写选通信号,上升沿有效6800模式时此引脚为写读选通信号,下降沿有效引脚编号引脚名称引脚功能描述8-15D0-D7D0,D1和D2为复用脚,当使用SPI串口模式时,D0为SPI时钟输入脚SCLK,D1为SPI数据输入脚SDIN;16GND电源地图2-8 显示模块接口电路图东华理工大学毕业设计(论文) 系统软件设计 第3章 系统软件设计程序设计的主要任务是对单片机内部系统中有限硬件资源的合理运用,利用最简单有效的语言程序来控制单片机的外围附加设备,使这些外围设备能够达到我们预期所望的操作。本文主要采取c语言来完成程序编写和软件设计,这样更加简化程序,容易理解和操作。3.1 Keil C51软件平台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微控制器的绝大部分应用。3.2 程序的模块划分模块化程序设计是一种常用的程序设计技术,它将一个功能完整的较长的程序分解为若干个功能相对独立的较小的程序模块,各个程序模块分别进行设计、编制和调试。利用程序的模块化设计方法,有利于程序代码优化,提高程序的可读性,便于功能扩充和版本升级;单个模块结构的程序功能单一,易于编写、调试、维护和系统功能扩展;对于使用频繁的子程序可以建立子程序库,便于多个模块的调用。本设计采用的是模块化的思路来进行设计和编写程序,确保完成系统功能的同时,实现系统的可靠运行。软件设计的目的就是让单片机加载程序并运行,对距离、时间、光照强度进行测量,根据测量结果发出相应的报警信号。程序主要由系统主程序和中断程序构成。主程序本设计的软件需要完成的任务分为程序包括主程序,中断程序,和各模块子程序。其中主程序设置单片机初始状态,开中断和中断变量初值等等。系统程序设计主要包括:计算距离、红外线测距报警、光线强度检测、AD转换、光强度报警、定时报警等。在总体设计中,当系统开始工作后,首先进行初始化。然后进行光照强度的判定,如果光照强度过弱,则报警,若未达到给定的国家标准值,则对定时部分进行判定。如果定时时间达到60分钟,则报警,若定时时间未达到60分钟,则对测距部分进行判定。如果测得距离小于35cm,则报警,若测得距离大于35cm,则返回重新进行光照强度的判定。因为流程图无法体现“同时”的概念,所以对测距、感光、定时三项判定的排列没有固定的顺序。系统的软件总流程图如3-1所示。图3-1 系统总流程图3.3 中断处理程序此设计中主要包含两种中断:定时器T1中断和定时器T0中断。当出现定时器T1中断产生时,定时器1中断用来发送信号给执行数码管显示子程序、计算时间等。通过在主程序中设置初值,和在定时器1中程序设置初值,使定时器1每隔1s产生一次中断。 T1中断处理程序流程图如3-2所示。图3-2 T1中断处理流程图当出现T0中断时,表示有情况导致的长时间没有接收到信号,这时也就说明使用者使用时间大于60分钟,再判断蜂鸣器是否使能,若已开使能,则开蜂鸣器报警,提示用户,若没开则关闭定时器开停止阅读指示灯,来提醒使用者休息或调整光线。T0中断流程图如3-3所示。图3-3 T0中断处理流程图3.4 AD转换与光线强度检测模块本设计采用AD转换的主要目的是把光敏电阻两端电压值转化成数字信号。通过单片机设置比较值进行比较判断,其中判断是由核心是ADC中断,从而点亮光强等级对应的发光二极管或蜂鸣器报警,给予用户关于其工作环境光强的相关信息并采取相应措施改善光强。ADC的子程序如下:void adc_isr() interrupt 5 ADC_CONTR &= !ADC_FLAG;switch(k)case 0:V0 = ADC_RES;V0 = V02 | ADC_RESL;break;case 1:Vo1 = ADC_RES;Vo1 = Vo12 | ADC_RESL;break;case 2:Vo2 = ADC_RES;Vo2 = Vo2 2) k = 0;ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | chk;当光照强度开始处理时,AD转换先把通过ADC中断采集到的光敏电阻电压转换成数字信号,输出的数字信号与光照强度基准值比较,并判断是否报警。检测模块流程图如3-4所示。图3-4光线检测流程图3.5 红外线测距模块当测距开始时,ADC中断先开始采集红外线传感器电压,定时器T1开始中断将采集的电压转换成距离,再和设定值进行比较,判断是否报警。其程序如下:测距模块流程图如3-5所示。图3-5 测距模块流程图3.6 定时模块本设计任务要求当学习时间达到设置的最大值时,“超时灯”闪亮同时发出报警提醒休息。本设计利用主程序中定时器0每1s发生一次中断来计时,在计数器1中断中设置一个累加量,通过设置比较值与累加量进行比较判断是否报警。本次设计需要在60分钟报警,60分钟为360000ms,即比较值位360000。定时报警程序为一距离判断,把程序放在适当位置执行即行。其程序如下:定时模块流程图如3-6所示。图3-6 定时模块流程图3.7 程序实现的功能本设计采用8盏LED灯来作为多功能视力保护仪的工作指示灯,具体功能简述如下:(1)当计时达到1个小时,光线太暗,LED1 灯亮表示使用蜂鸣器;(2)若不使用蜂鸣器报警,当距离太近,则LED2亮来提示;(3)光线过强,LED4灯会发出闪烁,提示;(4)LED5则是对光线太弱发出提示;(5)LED6/7/8则是对阅读状态进行显示,分别为正在阅读、阅读暂停、阅读停止。东华理工大学毕业设计(论文) 系统调试与结果分析 第4章 系统调试与结果分析通过第2章和第3章,本文完成了多功能视力保护仪系统的硬件设计、软件设计和仿真设计。而本章节将对整个系统的软硬件调试工作和系统整机调试部分进行相应设计,从而完成整个系统的设计。总体功能如下:首先是上电开机初始化,屏幕显示设计人信息。然后8个发光二极管轮流检测,跑两遍。接着清除屏幕内容,显示阅读情况,包括距离、时间、光线强弱和阅读状态。定时器0和定时器1开始计时,每秒检测一次距离和光强并每秒刷新一次屏幕显示,这几个数据值任何一个超过设定值都会亮红灯报警。如果报警的时候,蜂鸣器指示灯是点亮的,那么红灯亮时,蜂鸣器也会响。3个按键,按下任何一个按键都会关掉蜂鸣器,但是蜂鸣器指示灯状态只受第一个按键(控制蜂鸣器使能的按键)控制。第一个按键单点一下,会切换是否使用蜂鸣器,使用则绿灯亮,告警就会响。第二个按键控制阅读的暂停和继续,点一下计时暂停,再点一下从暂停时的数字继续计时。这个按键的优先级低于第三个按键。当按下第三个按键的时候,计时停止,停止指示灯亮,第二个按键被屏蔽(也就是说,停止指示灯亮起的时候,第二个按键失效,怎么按它都不会有反应),再次按下第三个按键的时候,重新从0开始计时,释放对按键二的屏蔽。而且第三个按键也是毕业设计中要求的那个功能:当阅读超过一小时后,报警,阅读由时间计数控制自然停止,停止指示灯亮。休息过后,回来再按下这第三个按键,从新开始计时,并且清除阅读时间超过一小时的告警。其他两个功能,距离和光强就很好理解,超过设定值就会报警,当回到限定值内的时候,系统自带清除警报。这3种情况的告警相互独立,互不干扰,可同时产生。消除告警时的操作也是相互独立的,即任何单一的消除告警操作都最多只能消除其中与该操作对应的那种警告。在系统调试阶段中遇到一些问题,首先是在器件的选择上,如:电阻的选取,在电路设计中,电阻是最常见的组件。但是种类很多,每种种类都有着自己的优点和缺点及相应的使用场合,并需要在电路中计算出选用多大的阻值,因此正确的选用合适的电阻在电路中至关重要。电容的选取,常用的电容有铝电解电容、陶瓷电容等。在此次设计中,单片机的时钟电路用的就是陶瓷电容,C2和C3两个电容主要起调和限流的作用,因为是高频电路所以选用陶瓷电容。LED灯的选取,为使亮度达到最大,且显示效果最佳,因此选用了直径5mm的发光二极管。当然在不同障碍物表面材料的不同介质引起的误差(漫反射引起的误差)漫反射就是投射在粗糙面上的光线向各个方向反射的现象,查阅质料可知,表面粗糙的障碍物介质要比光滑介质的测量结果要差,如纸张表面和光滑的桌面相对比,其所测得的距离误差要大些。实际工程中会采用薄塑料板作为反射面以解决漫反射严重的问题。在调试系统按键的过程中,硬件上连接是将按键默认置高,按下后拉低,检测下降沿跳变触发中断,在中断中做相应的按键处理实现。但是在调试过程中发现按键有时会出现按一下会变化多次,实际上按键上有抖动,多次触发中断造成的。后来考虑到按键的抖动问题,采用软件延时消抖方法,结果按键效果便恢复正常。在调试系统软件的过程中,功能上要求不同的功能按键可以任意切换,在软件调试过程中,开始的时候是将按键检测放在主程序循环中进行,结果发现按键要长按才会有反应,这与实际的功能要求相背。而在经过一段时间的检查之后发现需要接上拉电阻来提高灵敏度。再经过固定的时间去检测按键的状态,这样便使得按键检测更为灵敏可靠。东华理工大学毕业设计(论文) 结论 总结与期望本次设计以单片机为核心来控制各个模块的正常运行。其中包括硬件电路的设计、软件系统的设计以及实物的制作。通过多次测试和结果分析验证了此次设计是一个合格的多功能视力保护仪系统。在第一章说明了多功能视力保护仪的设计思路,要实现的功能。从第二章开始,各个模块的器件选择原因与电路相结合进行了合理分析。再到第三章开始详细介绍了距离检测、光强检测、和定时报警三大模块的软件系统设计。从这次设计中能很好的运用到课程中所学习到的51单片机的功能与应用,还有对汇编语言、模拟电子技术基础以及数字电子技术基础的进一步掌握,但我们依然在实践操作中遇到了一些问题。例如在硬件电路的焊接,由于不仔细等众多缘故会致使电路板的一些端口出现虚焊,使电路在运行过程出现一些故障,为此在焊接过程当中,我们随时用万用表进行测量、对每一个焊接点进行认真检查,这才使端口虚焊问题得以解决。完成本次设计后我们又进行了讨论,发现这次的设计还可以更加完善,例如可以增加一个温度检测模块,通过温度补偿程序获得更加准确的测距。还可以增加定时功能,这样使用者可以根据自身需求设定定时时间等,使得机器更加人性化。如今保护视力得到了越来越多人的关注,这样促进了视力器的发展,相信以后视力保护器的功能会不断得到完善越来越强大。东华理工大学毕业设计(论文) 致谢 致 谢能够完成这次毕业设计我要感谢我的导师刘树博老师,从开始的开题报告刘老师就一直在督促我完成各种资料的收集、整合。在论文定稿之前一直帮助我修改论文,细心的讲解论文中出现的各种问题以及不足。在大家因为论文焦头烂额时,他总是以轻松幽默的语言来缓解我们的压力。其次,我要感谢所有机电学院的老师,他们学术渊博,治学严谨,思维活跃,总能给我们带来学习上的帮助。因为有了你们的栽培才有了今天如此艳丽的我们。最后我还要感谢我的同学,在四年的学习生活中,他们的陪伴和关怀是我一生都难以忘

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论