




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
济南大学泉城学院毕 业 设 计题 目 基于单片机的视力保护器设计 学 院 工学院 专 业 电气工程及其自动化 班 级 1302班 学 生 张越 学 号 2013010709 指导教师 张兴达 魏志轩 二一七年五月十六日摘 要最近几年来,青少年近视出现低龄化趋向。青少年视力下降主要受以下几个因素的影响:眼睛距书本过近、长时间用眼、过度使用视屏终端、学习时光线太强或太弱等。其中光线强弱不适和长时间用眼又是造成青少年视力损伤的重中之重。本文以STC89C52单片机为中心,围绕其进行硬件电路设计和软件程序设计。硬件电路有:报警提示电路、超声波测距电路、光线检测电路、定时电路和显示电路。软件程序的编写以C语言为主以及利用单片机内部自带的定时器实现具体的功能。本文给出了系统主要的硬件电路、软件程序流程图、程序设计及部分子程序的流程图、程序设计,并制作了仿真实物,能够达到预期效果。本文提出了尚需解决的问题,并给出了解决方法,介绍了视力保护器的应用和市场前景,为进一步开发应用提供了技术支持。关键词:单片机;传感器;视力保护ABSTRACTIn recent years, juvenile myopia younger age trend. Juvenile visual decline mainly by the following factors: the eyes from the book too close, long time with the eye, excessive use of the screen terminal, with the eyes when the light is too strong or too weak. Which light intensity and discomfort and long time with the eye is caused by the importance of adolescents with visual impairment.In this paper, STC89C52 microcontroller as the center, around its hardware circuit design and software program design. Hardware circuits are: sound and light alarm circuit, ultrasonic distance measurement circuit, light induction circuit, timing circuit and display circuit. The preparation of software programs to C Programming Language and the use of single-chip internal built-in timer to achieve specific functions. This paper gives the main hardware circuit, software program flow chart, program design and some subroutine flow chart, program design, and produced a simulation of the kind, to achieve the desired results. In this paper, the problems that need to be solved are put forward, and the solutions are given. The application and market prospect of vision protection are introduced, which provides technical support for further development and application.Key words:microcontroller technology;sensor;protection of eyesights目 录摘 要IABSTRACTII1 前言11.1 选题背景与意义11.2 国内外研究现状11.2.1 国内研究现状11.2.2 国外研究现状21.3 设计要求22 系统方案选择32.1 系统总体设计32.2 系统硬件方案设计32.3 系统软件方案设计53 系统硬件设计73.1 主控制模块73.1.1 晶振电路73.1.2 复位电路83.2 超声波检测电路93.2.1 超声波发射电路93.2.2 超声波接收电路103.3 光线检测电路103.4 显示电路113.5 声光报警提示电路123.6 按键电路133.7 定时电路134 系统软件设计154.1 Keil Vision4软件平台154.2 主程序设计154.3 子程序设计164.3.1 光照检测子程序164.3.2 超声波测距子程序174.3.3 定时子程序184.3.4 中断子程序205 系统仿真与调试235.1 系统仿真235.2 PCB设计235.3 系统电路实现255.4 系统调试256 结 论29参 考 文 献30致 谢31附录A 电气原理图32附录B 电路PCB图33附录C 实物图34附录D 元件清单35附录E 系统源程序361 前言1.1 选题背景与意义当今社会,青少年近视呈现“低龄化”趋势,这种趋向和平时的学习环境、沉重的作业任务以及学生自律性差,家长监督不及时等方面有很大的关系。青少年近视眼数量剧增受以下两个方面的影响:一是近视具有遗传性,比如父母双方都是高度近视,那么他们的孩子发生近视的几率就会比一般的青少年高许多;另一方面主要是长时间使用手机和平板电脑等电子产品,用眼时间过长、用眼姿势不正确等不良的用眼习惯导致的视力问题。“呵护眼睛,从小做起”,2016年6月6日是我国第21个爱眼日,也是爱眼日第五次围绕“青少年近视防控”这一主题展开。据资料显示,我国的近视眼发病率位居世界第一,人数已经高达4亿余人,成为世界第一“近视眼大国”。青少年更是近视患病率的高发人群,根据国家卫计委发布的调查数据发现,刚入学的67岁儿童的近视患病率已经接近10%,三、四年级10岁左右儿童近视患病率超过50%,高达90%的大学生是近视,值得注意的是,610岁发生近视的青少年,18岁成年前发展成为高度近视眼(高于600度)的风险大大增加,我国2030岁年轻人中有20%患有高度近视,且近视人群呈逐年递增的趋势,预计到2020年我国全国人口近视发病率将达到50%,其中高度近视人群将达到7000万人,我国近视眼的预防工作已经迫在眉睫1。众所周知近视眼有很大的危害,是一种花再多钱都不能彻底根治的病,无时无刻不再影响着人们的生活和学习。目前市面上最常见的近视纠正方法是全飞秒近视眼激光手术,虽然能够做到微创、术后恢复快、效果稳定,但手术就存在一定的风险性,如果术后不能长期注意用眼卫生和用眼习惯,近视复发以后有致盲的危险2。中小学生由于学习任务重,自律性差,老师和家长不能时常在旁边做到监督,是近视发病率的高发人群。由于科学进步和人民生活水平的挺高越来越多的视屏终端进入人们的日常生活,在方便人们生活的同时,也使近视眼的发病率越来越高,日复一日进入恶性循环,使过多的青少年过早的戴上眼镜。中小学生正处于发育的关键时期,如果因为学习坐姿影响骨骼的发育造成脊柱弯曲变形、含胸驼背等,不仅影响形象,也对以后的升学和就业产生不良的影响,错失很多机会。1.2 国内外研究现状1.2.1 国内研究现状根据市场的调查研究,现在有很多公司开始设计生产自己的视力保护器。市场上最常见的视力保护器分为机械式和电子式,如:在网上热卖的“猫太子”防近视坐姿矫正器就是采用机械式,产品夹在桌面上,下巴托抵住下巴防止低头看书写字,抵胸托防止身体靠在桌子上。但此产品有一定的安全隐患,长期使用有可能造成青少年的颈椎和胸部造成伤害,严重的可能造成眼睛散光。还有一些技术人员自制一些坐姿矫正器如:红外测距式坐姿矫正器,这些技术人员制作的电子产品实现功能有一定的局限性,只能进行坐姿的矫正而不能从源头上真正的保护视力。研究表明,市场上现有的视力保护器大多功能单一,外观单调,不能多方面、多功能的保护青少年的视力,不能满足现代人们对简约与自我需要的要求。1.2.2 国外研究现状国外的视力保护器主要以电子式为主,根据原理可以分为电子平衡式视力保护器(例如:电子平衡式瞌睡报警器)和测距式视力保护器(例如:VISOMATE威士美)。进一步调查发现,国外市场上真正的多功能视力保护器其实并没有很多,大多数产品都只是侧重某一个方面来进行视力保护,功能单一并不能从多个方面去保护视力,有些产品甚至对使用的环境和人群也存在着局限性。美国伟伦公司生产的视力保护器,能够自动检测出屈光度问题,包括近视、远视、散光等问题。综上所述:为了避免因坐姿错误而引起的脊柱扭曲、驼背、近视、颈椎病等问题,有必要设计一款多功能视力保护器,从而纠正人们尤其是青少年的坐姿、用眼习惯和学习习惯。1.3 设计要求本设计以单片机为主控制器,辅以光线检测模块、距离检测模块、报警提示模块、定时模块、显示模块。光线检测模块由光敏电阻和ADC0832来实现,距离检测模块采用HC-SR04超声波传感器和报警提示电路,定时模块利用单片机自带的定时器进行学习定时,显示模块使用LCD1602液晶显示屏,显示学生头部与桌面的距离、连续学习的时间、光线强度等信息,报警提示模块通过蜂鸣器和LED灯来提醒学生用眼习惯是否符合国家卫计委的规定。本系统主要实现以下几个功能:(1)检测距离,当头部到桌面的距离小于30CM时,产品发出报警,提示青少年纠正坐姿,注意保护视力;(2)检测光线强度,当使用环境过暗或过亮时,产品发出报警,提示青少年改变环境光线亮度,注意保护视力;(3)定时模块,当连续使用45分钟时,产品发出报警,提示青少年注意休息,适当的走走,眺望远处,注意保护视力。2 系统方案选择2.1 系统总体设计本文设计的视力保护器要从多方面保护视力,以解决现有视力保护器功能过于单一的问题,本系统以STC89C52为主要控制单元,具有三个功能:检测光线强度、检测头部与书本的距离、学习时间计时,任意数据不符合设定值时,报警电路提示青少年注意用眼习惯。系统主要的硬件电路有超声波检测电路、光线检测电路、报警提示电路、显示电路、按键电路等。系统的总体设计框图如图2.1所示。STC89C52主控模块光线强度检测模块报警提示模块显示模块电源模块按键模块距离检测模块图2.1 系统总体设计框图2.2 系统硬件方案设计(1)电源稳压电路电源为系统供电,考虑了以下2个方案。方案1:采用12V的蓄电池为系统供电,蓄电池有很强的电流驱动能力和较为稳定的电压输出能力,能够反复充放电3。但蓄电池体积过于庞大,不易携带,价格也较贵,因此放弃了这种方案。方案2:采用5V电源为系统供电,经过试验测得5V电压能够使单片机、AD转换模块、传感器稳定运行。本设计通过USB电源输出接口为系统供电,为了环保目的放弃使用3节5号1.5V干电池为系统供电。综上所述,选择方案2。(2)主控制器模块主控制器是本系统的“大脑”,有以下2个方案可供选择。方案1:采用FPGA(Field-Programmable Gate Array)现场可编程门阵列。FPGA可以一次同时执行多个指令运算,用编程语言来描述硬件电路来实现具体的功能。它是由大量的触发器构成的,同时具有丰富的I/O口,设计周期短、风险低、功耗低。但FPGA的要求有较高的编程能力,对电源的要求比较高,价格也不便宜。从性价比的角度考虑放弃了此方案。方案2:采用STC89C52单片机作为主控制单元。1系列单片机具有有8K字节程序存储空间(FLASH),512字节数据存储空间(RAM),4个8位I/O口,3个16位定时器/计数器,4个外部中断4。充分分析视力保护器主要实现声光报警提醒,检测来自光敏电阻的光强度信号,分析超声波传感器传来的信号,STC89C52完全能够满足本设计所需的各种要求。单片机控制方便、快捷,编程简单,更为重要的是STC89C52价格大约5元左右。因此,通过上述两个方案的比较,我们选择方案2。(3)光线敏感度模块方案1:采用光感度传感器VEML6070,是手持设备、可穿戴设备以及健康监控与健身设备的理想之选。它具有体积小,灵敏度高,有很强的检测能力,线性度高。但因为其灵敏度高,所以价格也高且不宜购买。从实际应用与性价比方面考虑,放弃此方案。方案2:采用光敏电阻来检测环境中光线的变化。光敏电阻又称为光导管,它是没有极性的,纯电阻器件,既可以加直流电压,又可以加交流电压。受到光线照射时,光敏电阻的阻值减小,流过电路的电流变大;反之,其阻值增大,电流减小。光敏电阻价格低廉,易于焊接,性价比高。通过以上两个方案的比较,虽然方案1有很好的检测能力和高灵敏度,但因其不宜购买,价格过高,所以放弃此方案。方案2光敏电阻能够很好的满足系统的要求,所以选择方案2。(4)报警提示模块报警提示模块用来提示学生进行坐姿矫正,有以下两种方案。方案1:采用语音提示报警,用语音提示学生注意坐姿是否正确,光线是否合适,注意休息,符合人机交互习惯。虽然语音提示报警有很多优点,但是语音芯片编程序需要专业的编程器且编程复杂,价格昂贵。方案2:采用蜂鸣器和LED组成报警提示电路,蜂鸣器和LED体积小,安装方便,使用简单,价格低廉,适用于视力保护器的普及,能够满足系统的要求。综上所述,选择方案2,采用蜂鸣器和LED组成报警提示模块。(5)距离检测模块距离检测模块用来检测坐姿是否正确,有以下两种方案可供选择。方案1:用红外线传感器作为距离检测模块,当学生的坐姿出现一定的改变时,它的内部就会由高电平信号转换为低电平信号输入给单片机。它具有高灵敏度,体积小方便安装,具有一定的抗干扰性,但易受光源影响(如:白炽灯光不能直接照射),价格低廉,但由于其过高的灵敏度,学生的坐姿只要稍微有点改变,报警器也会报警,误报警的情况太多,从使用者的角度出发,放弃此方案。方案2:使用超声波传感器作为距离检测模块,超声波传感器的接收端将声音信号转换为电信号,单片机内部的定时器定时,利用时间差来计算距离7。超声波传感器和热释电红外传感器价格差不多,不易受光源影响,安装使用方便,能够满足系统要求。故使用此方案。(6)显示模块显示模块用来显示时间、距离、光强等信息,考虑了以下两个方案。方案1:采用数码管显示,数码管能够快速、简单明了的显示信息,但是显示内容过于单一,没有良好的人机交互界面。方案2:采用LCD1602液晶显示,LCD1602能够将内容清晰、快速的显示出来且能够显示32个字符,在数码设备显示屏等方面得到广泛使用。对于本系统,能够很好的显示出所需信息,具有良好的人机交互界面。综上所述,选择方案2,采用LCD1602作为显示模块。2.3 系统软件方案设计系统通电后,对程序进行初始化操作,程序对按键进行扫描,判断是否有按键按下,按下开始按钮,系统开始工作。通过LCD1602显示学习时间、光线强度和距离等信息。检测到的信号与设定值进行比较,是否符合要求,若不符合要求进行报警。提示使用者注意用眼卫生。系统软件设计流程图如图2.2所示。图2.2 系统软件设计流程图汇编语言和C语言是课内所学的两种编程语言,同时也是单片机两种常用的编程语言。汇编语言直接面向机器的语言,能够直接访问与硬件相关的存储器或I/O口,占用内存空间少,能够提高运行速度,但它使用的代码不够通俗易懂,编程工作量大,后期调试修改也不方便。C语言与汇编语言相比较在程序可读性和移植性上有明显的优势,同时它的编程周期也相对的较短8。丰富的函数数据库为程序中函数的调用提供了方便,由于其代码能够通俗易懂且经过系统的学过C语言的知识,所以编程起来较为简单。综上所述,本设计采用C语言为系统的编程语言。3 系统硬件设计3.1 主控制模块本设计采用宏晶科技公司的STC89C52单片机作为视力保护器的核心控制单元。STC89C52是一种低功耗、高性能CMOS 8位微控制器,具有8K字节系统可编程Flash存储器,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。其最小系统电路如图3.1所示。图3.1 单片机最小系统电路3.1.1 晶振电路晶振,又名晶体振荡器。它的作用是为单片机系统提供基准时钟信号,单片机内部所有的工作都是以这个时钟信号为步调基准来进行工作的。STC89C52单片机的18引脚和19引脚是晶振引脚,接了一个12MHz的晶振(它每秒振荡12000000次),外加两个20pF的电容,电容的作用是帮助晶振起振,并维持振荡信号的稳定9。其电路原理图如图3.2所示。图3.2 单片机晶振电路3.1.2 复位电路51系列的单片机的9引脚一般为RST(Reset)复位引脚,所以STC89C52的复位电路接到了9引脚。STC89C52芯片的复位功能实现一般三种方法:(1)通过上电实现复位(2)通过手动按钮实现复位(3)通过程序编写设定,实现自动复位。上电复位是指,每次上电时单片机内部都进行一个初始化的过程,使单片机从相同的状态下运行。程序由于软、硬件原因停止运行或者进入运行混乱状态的时候,就可以按下一个复位按键(比如:电脑的一键重启按钮),让程序从初始化状态下运行,这个过程就叫做手动复位。当程序由于软、硬件原因停止运行或者进入运行混乱状态的时候,承载程序的芯片通常具备监测及自我恢复功能,例如程序陷阱设置、看门狗技术等,基于上述功能,若程序出现较长时间停滞或运行混乱状态,芯片自带的的相关监测及恢复模块将自动复位重启10。其电路图如图3.3所示。图3.3 单片机复位电路3.2 超声波检测电路本设计采用HC-SR04超声波测距模块来检测头部和桌面的距离。超声波传感器就是将超声波信号转化为电信号的换能器,HC-SR04内部有两个压电晶片和一个圆锥型共振板,是利用压电效应制成的压电式超声波传感器11。工作原理为:单片机I/O端口输入给TRIG一个至少10s的高电平,模块自动发送8个40KHz的方波,检测是否有信号返回,若有信号返回,ECHO端口输出给单片机一个高电平,此时,打开定时器定时,直到单片机读到低电平,定时器的数值就是此次测距的时间。测距距离的公式为: (3.1)HC-SR04超声波测距模块实物图如图3.4所示。 图3.4 HC-SR04超声波模块实物图3.2.1 超声波发射电路大多数的压电式超声波传感器的发射端是压电效应的逆运用,通过给压电晶片一定超声频率的电信号,使其按相同的频率振动起来,在空气中形成超声波辐射12。常用的超声波发射器的驱动方法有:(1)使用晶体管的发射驱动电路;(2)使用时基电路555的发射驱动电路;(3)使用CMOS门电路的发射驱动电路。HC-SR04的发射端就是利用晶体管的自激振荡来产生超声波的。TRIG给STC11的P1.0一个高电平,通过STC11的内部电路控制晶振产生振荡。三极管起到了开关的作用,通过STC11 P5.3口控制基极来控制MAX232芯片。MAX232电平转换芯片产生较大的电压,提高发射功率给换能器,将超声波发射出去。超声波发射电路如图3.5所示。图3.5 超声波发射电路3.2.2 超声波接收电路常用的超声信号接收方法有:(1)使用运算放大器的接收电路;(2)使用电压比较器的接收电路;(3)使用视频放大器的接收电路。从HC-SR04的原理图可以看出,TL074作为接收电路的主要芯片,TL074是由4个运算放大器组成的,其作用就是滤波、放大和比较13。接收端接收到超声波信号,通过换能器将超声波信号转换为电信号,通过TL074将电压信号进行放大输入给单片机。超声波接收电路如图3.6所示。图3.6 超声波接收电路3.3 光线检测电路光线检测电路由光敏电阻、AD转换模块ADC0832芯片、2K色环电阻组成。光敏电阻又称光导管,是利用光电导效应制成的。当在较为黑暗的环境中,有较大的阻值,因此电路中有较小的电流流过;受到光照时,其电阻急剧减小,电路中电流变大。电压的大小通过CH0引脚输入给芯片,ADC0832是模数转换芯片将输入的电压量转换为数字量,同时STC89C52通过P1.5引脚向ADC0832的时钟信号输出端CLK输入脉冲信号,芯片接收到时钟信号,通过D0或D1口向单片机输出数字信号。由于D0、D1口在通信时不能同时有效,所以可以将其并联在一起使用。经过AD采集模块不断地采集不同光线下的电压值,从而找到符合教委规定学习环境的比较值。光线检测电路如图3.7所示。图3.7 光线检测电路图3.4 显示电路显示电路主要通过LCD1602液晶显示,它可以显示两行,每行16个字符14。可以显示数字、字母等信息,显示内容丰富。LCD1602是一个16引脚的液晶显示屏,其中1、2引脚是液晶的电源引脚,15、16引脚是背光电源引脚,3引脚是通过电阻的改变来调节显示的对比度,6引脚是控制液晶读写命令和数据。在本系统中LCD1602用来显示当前学习时间、头部与桌面之间的距离、光感度信息。LCD1602实物图如图3.8所示,其显示电路的电路图如图3.9所示。图3.8 LCD1602实物图图3.9 LCD1602液晶接口电路图3.5 声光报警提示电路报警提示电路由一个9012型PNP三极管、两个2K限流电阻、一个蜂鸣器、一个LED灯组成。当光线检测、超声波距离检测发生异常、单片机的定时器达到设定时间时,当三极管的基极电压比发射极电压低0.7V时,三极管导通,蜂鸣器和LED有电流流过,发出警报,提示学生注意用眼习惯,其原理图如图3.10所示。图3.10 声光报警提示电路图3.6 按键电路按键电路是由三个独立按键组成的控制电路,用来实现对距离、学习时间、光感度等设定值的设置以及系统的开启与暂停。独立式按键比较简单,它们各自与独立的输入线相连接,接到单片机的I/O口上,当按键按下时,+5V通过按键最终进入GND形成一条通路,单片机的引脚就是个低电平。当按键松开后,线路断开,就不会有电流通过,单片机引脚和+5V是等电位的,是高电平。这样就可以通过单片机I/O口的高低电平来判断是否有按键按下。S3键按下,系统开始进行学习时间计时,当S3键再次按下系统暂停计时。系统工作时按下S2键,系统时间自动置零,S4键是设置设定值的,通过S2、S3键实现数值的加减完成设置,其电路图如图3.11所示。图3.11 按键电路图3.7 定时电路定时电路在本设计中主要用来对学生已经学习时间和超声波的返回时间进行计时,由STC89C52自带的定时器/计数器实现上述功能。51单片机内部有两个功能一样的可编程定时器/计数器T0、T1来满足外部脉冲计数和产生准确的定时时间,与定时器有关的寄存器有:(1) 用来存储定时器计数值的定时值存储器;(2) 用来启动、停止定时器,标志溢出的定时器控制寄存器TCON;(3) 用来选择工作模式的定时器模式寄存器TMOD。其控制字均在相应的特殊功能寄存器中,通过对它的特殊功能寄存器的编制,可以方便的选择适当的工作模式和工作方式。定时器有4种工作模式,如表3.1所示,其中模式0是为了兼容老的8048系列单片机而设计的,现在的51单片机几乎不会用到这种模式,而模式3的功能用模式2完全可以替代15。表3.1 定时器模式寄存器M1/M0工作模式M1M0工作模式描述000兼容0840单片机的13位定时器,THn的8位和TLn的5位组成一个13位定时器011THn和TLn组成一个16位的定时器1028位自动重装模式,定时器溢出后THn重装到TLn中113禁用定时器1,定时器0变成两个8位定时器模式1,是THn和TLn组成了一个16位的定时器,计数范围是065535,溢出后,只要不对THn和TLn重新赋值,则从0开始计数。模式2,是8位自动重装载模式,只有TLn做加1计数,计数范围0255,THn的值不会变化,而会保持原来的值;TLn溢出后,TFn就直接置1,并且THn原先的值直接赋给TLn,然后TLn从新赋值的这个数字开始计数。4 系统软件设计对单片机系统来说,通过程序编程和逻辑运算将单片机的I/O等资源进行重新分配,从而实现预期设定效果。软件设计主要是程序的编写,它是本次毕业设计中最为关键,也是任务量最重的一个,系统部分源程序详见附录E。4.1 Keil Vision4软件平台本设计编程使用的软件是Keil Vision4它是一个集成开发环境,将C编译器、库函数等部分组合在一起。在Vision下的操作大致包括以下4个环节:(1)创建项目和打开项目,并向其中添加文件。(2)编写编辑源程序文件。(3)设置项目和文件的操作属性。被设置的项目操作属性包括:明确目标芯片和系统的硬件环境、对项目输出文件和清单文件提出要求、选择项目的调试方法等。有时需要对项目中的个别文件单独设置操作属性.(4)项目制作,用工具链(编译器、汇编器、连接定位器等)处理项目,生成中间文件产物(可重新定位目标文件、列表文件等)和最终文件产物(绝对目标文件、烧写文件等)。(5)项目调试,用软件模拟器或硬件仿真器进行调试。Keil软件的编程通常有以下几个步骤第1步:在Keil中新建一个工程并保存该工程;第2步:根据使用的单片机型号选择Intel公司的51系列单片机;第3步:新建一个文本文档保存为.C格式,并把该文件添加到工程中,程序编写;第4步:程序编写完成后,在编译之前更改操作中的设置,使其能生成.HEX文件,为Proteus仿真做准备;第5步:进行程序编译,查看程序有无错误。4.2 主程序设计本设计的编程思路是先确定主程序,然后根据各硬件电路实现的功能和特点编写子程序,最后将子程序嵌套进主程序,这样编程简单、明了、方便后期维护。系统主程序设计流程图如图4.1所示。图4.1 主程序设计流程图(1)对系统上电,进行系统进行初始化,判断是否有按键按下;(2)若按下开始按钮S3键,对光线、距离、定时等的值进行判断,若距离、光线、定时偏离设定值,则系统进行报警提醒,报警结束后返回继续监测,若没有变化,则继续监测,当再次按下S3键时间暂停,停止检测;(3)若按下S2键(设置键)进入系统设置,设置各模块的设定值,S2键数字加,S3键数字减,对系统进行设置。4.3 子程序设计整个控制程序可分为光照检测、超声波测距和定时三个子模块。此外由于超声波测距模块用到了外部中断,所以也对中断的流程图作一阐述。4.3.1 光照检测子程序本设计采用ADC0832模数转换器,目的是将光敏电阻两端随光线不断改变阻值得到的电压转换成数字信号输出给STC89C52。通过已经设定好的设定值进行判断光线是否符合学生学习,若不符合将触发声光报警电路,提示学生注意外部光线的调节。其检测子程序流程图如图4.2所示。图4.2 光线检测子程序流程图4.3.2 超声波测距子程序系统开始工作对超声波测距模块进行初始化,通过STC89C52的P3.2端口向HC-SR04输出两个频率约为40kHz的方形脉冲信号,与此同时通过设定的程序启动定时器T0进行超声波返回时间计时。当有超声波信号返回时,给单片机的P3.3引脚,即外部中断申请输入端一个低电平,打开外部中断0,定时器T0停止脉冲计数,然后进行距离计算。若得到使用者头部与桌面的距离小于规定值,则蜂鸣器和LED报警,提示学生注意头部与桌面的距离16。若定时器的溢出标志位TF0置1后还没有检测到超声波返回信号,表示此次测距不成功,返回程序,继续发射超声波信号,进行距离测量。超声波测距子程序流程图如图4.3所示。图4.3 超声波距离检测子程序流程图4.3.3 定时子程序定时的实现要依赖单片机内部的编程,定时子程序对学生的学习时间进行定时。在定时子程序中编程需要以下几个步骤:第1步:通过TMOD选择好定时器的工作模式,本设计采用工作模式0,故TMOD=0x01;第2步:设置计数寄存器TH0和TL0的初值;第3步:打开定时器T0,让定时器开始计时,TR0=0;第4步:通过定时器控制寄存器的溢出标志位TF0,来判断定时器是否溢出17。定时器的计时是通过计算脉冲数实现的,而脉冲数是由晶振的振荡频率产生的。在本次毕业设计中,采用的晶振的振荡频率为12MHz,STC89C52的时钟周期为,即1/12000000秒,其中1个机器周期等于12个时钟周期,即机器周期为1s。设计要求定时10ms,设要经过x个机器周期得到0.01秒,得到如下的方程式: (4.1)计算得到x=10000。16位定时器的最大计数值为65535,加1后为65536溢出,所以要给定时器定时值寄存器的高8位和低8位一个初值,使其经过10000个机器周期后TF0=1。初值为: (4.2)转化成十六进制就是0xD8F0,也就是TH0=0xD8,TL0=0xF0。本设计采用定时器0和工作模式1实现。根据国家卫计委的要求每学习45分钟休息10分钟。首先使定时器0定时10ms,经过100次中断后为1s,再通过秒变量递增,递增60次,变量分变量递增,直到递增到45。然后进入主程序中的报警程序开始工作,蜂鸣器发出警报,并延时5秒,提示使用者注意休息。定时子程序框图如图4.4所示。图4.4 定时子程序流程图4.3.4 中断子程序中断,是单片机的一种运行机制,程序运行过程中,出现某些意外情况需干预时,停止正在运行的程序并转入处理新情况的程序;处理完毕后又返回原被暂停的程序继续运行。内部中断:单片机的内部集成许多功能模块,如定时器,串口通信,A/D转换器在发生中断时才需要CPU参与,发出请求信号通知CPU。外部中断:系统的外部设备产生的中断源,产生一个中断信号,送到单片机的外部中断请求引脚供CPU检测。中断过程包括:(1)中断源发出中断请求;(2)判断当前处理机是否允许中断和该中断源是否被屏蔽;(3)优先权排队;(4)处理机执行完当前指令或当前指令无法执行完,则立即停止当前程序,保护断点地址和处理机当前状态,转入相应的中断服务程序;(5)执行中断服务程序;(6)恢复被保护的状态,执行“中断返回”指令回到被中断的程序或转入其他程序。超声波中断子程序采用外部中断0,定时器T1,在超声波发出的同时启动定时进行计时,当有超声波返回时,触发外部中断0,进入中断程序后立即停止定时器计时,进行距离计算,若计时器计时溢出时仍未检测到超声波返回信号,则定时器的溢出中断将外部中断关闭,表示此次测距不成功,重新检测。中断主程序如图4.5所示,内部中断如图4.6所示,外部中断如图4.7所示。图4.5 中断子程序主流程图图4.6 定时中断流程图图4.7 外部中断流程图5 系统仿真与调试5.1 系统仿真仿真采用Proteus软件进行仿真,根据系统原理图在Proteus软件中画好仿真电路图,将预先编写好的程序添加到STC89C52中,点击运行按钮对整个系统进行仿真。由于Proteus软件中没有超声波模块,故用按键来代替超声波传感器来给单片机信号,达到相同的仿真效果。Proteus仿真只能确保程序和原理图没有错误,能达到预期的效果,设计是否能真正的符合要求进行工作还是要看设计实物。如图5.1所示,是仿真的是光线过强时,系统报警,仿真电路图。图5.1 视力保护器仿真电路图5.2 PCB设计(1)PCB介绍PCB是印制电路板(Printed Circuit Board)的简称,通过打印和蚀刻等工艺将原理图中元件的位置和孔位印制到覆铜板的过程。覆铜板多为压制而成的,所以层数多为偶数,根据其结构分为单层板、双层板和多层板。单层板适用于简单元器件不多且布线不复杂的电路图(如本设计可以用单层板),在日常生活中并不常用。多层板由于工艺的原因大多数层数为偶数层,包括信号层、电源层、接地层、丝印层等,但由于多层板的成本过高,在平时中也不常用。最常用的是双层板,由顶层和底层组成,两面都可以走线。(2)PCB绘制在绘制好电路原理图之后,对原理图进行编译确保电路图没有错误,若没有错误生成网络报表,可以通过“工具”菜单下的“封装管理器”查看元器件的封装是否符合要求且均有封装。建立一个新的PCB工程,对PCB图的大小、布线宽度、线距、焊盘大小、孔径、层定义等进行设置,PCB图设置完成之后,在Design菜单下点击Update PCB Document,生成PCB图,通过手动调整进行元器件进行布局,布局时应注意以下几点:(1)应该以主控元件为中心,进行布局;(2)高频元器件要考虑元器件的分布参数;(3)保持信号流向同一方向,便于后期电路的检查;(4)可以把不常用的元器件放在体积较大元器件的下边以压缩板子的大小。手动调整完成后,进行手动布线,在布线时不能出现小于90度的角,以防尖端放电和腐蚀过度。布线完成后,再进一步对PCB图检查,确保所有的飞线都连接完成且没有错误,检查无误后进行PCB的转印、腐蚀、钻孔等操作。本设计的PCB设计图如图5.2所示。图5.2 视力保护器PCB设计图5.3 系统电路实现(1)元器件检查:根据原理图来购买符合要求的元器件,将买回来的元器件按照各自的方式认真仔细的检查有无损坏,数量是否正确,防止焊接过程中有损坏或缺少,影响焊接。(2)元器件安装与焊接:本设计采用万用板,确认元器件没有损坏且符合要求后,根据PCB电路图元器件位置放置。在万用板上放置时注意先放置焊接要求低和不易损坏的元器件后放置焊接要求较高和易损坏的元器件,同时要注意有极性元件的正负极和STC89C52的方向。电路板焊接时要注意送锡量和焊接时间,过多影响两个元器件的连接方式造成短路,过少则有可能造成虚焊等问题。待所有的元器件焊接完成后,用万用表的蜂鸣档来检查电路板焊接是否有短路、断路、虚焊等问题将所有问题找出并解决。5.4 系统调试将单片机放置到程序下载器上,通过USB口与电脑连接用STC_ISP_V480软件将仿真调试过的程序下载到单片机中。下载完成后,对系统上电。首先按下电源开关,LED灯闪烁一次,蜂鸣器响一声,LCD1602液晶显示屏显示当前距离和光强,如图5.3所示。图5.3 系统初始状态图然后通过按键对系统进行设置,设置好使用时书本与使用者的距离、最低和最高光线强度、使用时间等信息。在本设计中,设定的距离为30CM,使用时间为45分钟。如图5.4、5.5所示。图5.4 系统距离和使用时间设定图图5.5 系统光线强度设置图再按下系统开始工作键,系统开始进行工作,开始使用计时。当检测到的信号不符合设定值,系统报警,提醒使用者注意用眼习惯。如图5.6、5.7、5.8、5.9所示。 图5.6测定距离报警图 图5.7 系统定时报警图 图5.8光线较弱报警图 图5.9光线较强报警图当按下暂停键时,系统暂停计时工作,若此时距离和光强不符合设定值,系统仍不会报警。如图5.10所示。图5.10 系统暂停工作图在调试系统按键的过程中,硬件上连接是将按键默认置高,按下后拉低,检测下降沿跳变触发中断,在中断中做相应的按键处理实现。但是在调试过程中发现按键有时会出现按一下会变化多次,实际上按键上有抖动,多次触发中断造成的。后来考虑到按键的抖动问题,采用软件延时消抖方法,结果按键效果便恢复正常。经过系统调试,实物仿真能能达到预期功能,效果良好。6 结 论本次毕业设计是基于STC89C52单片机的视力保护器的设计,完成了系统硬件电路的设计、软件电路的设计,绘制了整体电路原理图、PCB图,基于Keil Vision4平台的程序编写及利用Proteus对系统电路仿真。经过安装调试,各模块能够流畅运行,整体电路基本满足设计要求,能够完成规定的基本功能。因为时间的限制,本次设计尚存在一定的不足需要解决,比如:可以用LED灯来指示哪个模块报警提醒,便于使用者做出调整;视力保护器可以通过Wi-Fi与手机APP进行连接,便于家长的监督。我相信通过我进一步的学习和努力,一定可以得到好的解决方案。本文完整的体现了STC89C52单片机视力保护器的设计方案和实现过程。设计有很好的市场前景和应用,达到了最初的目标。随着社会的不断进步,人们对视力越来越重视和关注,同时也促进了视力保护器的发展空间,视力保护器功能将会更加强大,操作也将更加智能。参 考 文 献1 何冰, 王菊霞, 苏变玲. 基于单片机的视力保护器设计J. 电子设计工程, 2015,15(3):95-98.2 张威, 石友义, 唐鑫鑫, 张继. 基于51单片机的简易超声波测距系统设计J. 信息通信, 2015,12(5):23-24.3 梁明亮, 韦成杰单片机对串行A/D转换器ADC0832的C51编程J郑州铁路职业技术学院学报, 2009,21(1):36-37.4 张亚林. 基于C52控制的ADC0832应用详解J数控技术与应用, 2013,5(3):5-6.5 李军, 申俊泽. 超声波测距模块HCSR04的超声波测距仪设计J. 单片机与嵌入式系统应用, 2011,l1(10):77-786 张纪元. 基于ARM的水文遥测平台超声波测距报警系统研究D. 太原: 太原理工大学.2013.7 黄国富, 胡体玲. 倒车语音提示系统的设计与实现J. 电子工程设计, 2012,11(8):31-33.8 朱涛. 基于STC89C52单片机的智能循迹小车设计J. 电脑知识技术:学术交流, 2011,20(6):27-28.9 徐军, 冯辉. 传感器技术基础与应用实训M. 北京: 电子工业出版社. 2010.12.90-100.10 王欣, 徐智, 陶凤, 袁春纬. 基于超声波测距跟随小车设计J. 电脑知识技术, 2016,13(17):59-60.11 李维民, 张成胜. 单片机定时/计数器工作频率的研究J. 牡丹江师范学院学报(自然科学版), 2013,10(2):15-16.12 Normanyo E, Ayim D, Isaac A. Designing of a lettersorting machine for the regional post offices in ghanaJARPN Journal of Enineering and Applied Sciences, 2009,5(6):1-13.13 赵艳华, 龚丽农. 基于超声波测量的视力保护仪设计J. 青岛农业大学学报(自然科学版), 2015,32(4).56-58.14 赵亮. 液晶显示模块LCD1602应用J. 电子制作, 2007,9(15):21-22.15 Boo-Hyung Lee, Jeong-Hyun Park. Improvement of carrier sor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不动产交易合同规范
- 承揽加工合同样式常用文书7篇
- 承包合同公司承包合同4篇
- 专业租房合同模板3篇
- 矿权收购居间合同7篇
- 环保设施运营合同
- 代驾司机意外险合同7篇
- 钢结构简单施工方案
- 企业租赁经营合同15篇
- 高端商务酒店经营管理合同细则
- 第8课《网络新世界》第一课时-统编版《道德与法治》四年级上册教学课件
- 2025年审计部招聘考试模拟题及答案详解
- Bowtie安全分析培训课件
- 退役军人优抚政策课件
- 财务遴选笔试题及答案
- (2025秋新版)人教版二年级数学上册全册教案(教学设计)
- 六年级上册音乐课教案
- 肿瘤病人疼痛评估与干预策略
- 计算机视觉技术课件
- 初中道德与法治新课标理念解读
- GB/T 5783-2016六角头螺栓全螺纹
评论
0/150
提交评论