基于单片机的多功能视力保护仪的设计_第1页
基于单片机的多功能视力保护仪的设计_第2页
基于单片机的多功能视力保护仪的设计_第3页
基于单片机的多功能视力保护仪的设计_第4页
基于单片机的多功能视力保护仪的设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

设计总说明科技进步使得电子产品种类以及使用范围增加、课业负担加重、户外运动减少,种种因素使得我国青少年普遍存在用眼过度、用眼疲劳等问题,使得青少年近视率逐年上升。视力下降不仅对青少年的日常生活有影响,甚至会影响其身心健康,给青少年的生长发育带来负面影响。日益严重的青少年视力问题是值得我们关注的。而青少年保护自我视力意识较薄弱,自制力较差,所以需要一款人性化多功能外部设备来帮助青少年培养其拥有科学的用眼方法,保护青少年的视力不受损害。在对视力保护仪设计的过程中,主要通过单片机进行相应的设计,选择其作为系统的主控模块,并采用光敏传感、超声波测距技术以及单片机内部定时器可实现测距、测光、计时等功能,同时增设温度传感模块将温度影响声波速度引起的距离测量误差考虑在其中。软件设计部分主要利用C语言来进行编程,并且可以在线修改各个参数初始值来满足使用者不同需求。通过使用LCD1602液晶显示屏将检测到的数值实时显示在屏幕上,使用者可以直观的看到其与视力保护仪距离、当前环境光照强度与温度以及剩余学习时间,可以在青少年学习时及时帮助纠正其不良学习习惯,防止用眼疲劳,保护青少年视力。STC89C52单片机是一种高性能微处理器,速度快、集成化、稳定性高、安全性能好,具有很强的扩展性,可以通过科学的算法来实现强大的数据处理功能,并且能够在线编程,提高设备的智能化。本次设计选取其为主控制模块,与其他模块相连,利用其强大的数据处理功能处理来自其他模块的信号,保证系统正常运行。对于超声波测距技术而言,其主要通过超声波传递的特性,进而得知其传播的速度,当超声波在空气中传递时,碰到障碍物会出现反射,因此,通过超声波传递的时间以及超声波反射传递的时间,两者结合便能够计算出实际距离值。具有非接触式距离感测、指向性性强、能量消耗缓慢等特点,在利用传感器技术和自动控制技术相结合的测距方案中得到普遍使用。本次设计中超声波测距模块可以实时检测使用者头部与书桌距离,距离过近时报警电路则发出声光报警,及时纠正使用者的不良学习坐姿,保护其视力的同时对使用者的驼背预防也有一定作用。光敏电阻工作原理是当光线照在光敏电阻上时,会将电阻内部处于稳定状态的电子激发,使其成为自由电子,电阻值变小。光敏电阻价格低,测量精度高且对光照十分敏感,可以很好的检测实时学习环境中的光照强度,本次设计中通过AD转换模块将检测到的光强信号处理输送给单片机,单片机将信号处理后输送到LCD1602液晶显示屏显示,使用者可以直观的看到当前环境光照强度具体数值,报警电路还可以在光照强度不适宜时发出声光报警,防止使用者在过暗或过亮的环境中学习导致视力减退。倒计时设计主要通过STC89C52单片机内部的定时计数功能实现,设备开启后自动开始倒计时,倒计时结束若使用者还在学习工作未休息,报警电路则会发出声光报警,提醒使用者注意休息,防止使用者学习时间过长导致用眼疲劳,从而影响视力。关键词:单片机;视力保护;距离检测;计时ABSTRACTTechnologicaladvanceshaveincreasedthevarietyanduseofelectronicproducts,increasedtheburdenofschoolwork,andreducedoutdoorsports.VariousfactorshavecausedproblemssuchasexcessiveeyeuseandeyefatigueinChina'syoungpeople,andthemyopiarateofyoungpeoplehasincreasedeveryyear.Decreasedvisionnotonlyhasanimpactonthedailylifeofadolescents,itmayevenaffecttheirphysicalandmentalhealth,andnegativelyaffectthegrowthanddevelopmentofadolescents.Thegrowingproblemofyouthvisionisworthyofourattention.Youngpeople'sawarenessofprotectingtheireyesightisweak,andtheirself-controlispoor,soahumanizedmultifunctionalexternaldeviceisneededtohelpyoungpeopledevelopgoodeyehabitsandprotecttheireyesight.Themulti-functionalvisionprotectioninstrumentbasedonsingle-chipmicrocomputerdesignedthistimeselectsSTC89C52single-chipmicrocomputerasthemaincontrolmodule.Throughtheultrasonicrangingmodule,photosensitivesensormoduleandtheinternaltimerofthesingle-chipmicrocomputer,functionssuchasranging,photometry,andtimingcanberealized.Thetemperaturesensingmoduletakesintoconsiderationthedistancemeasurementerrorcausedbytemperatureaffectingthesoundwavevelocity.ThesoftwaredesignpartmainlyusesClanguageforprogramming,andtheinitialvalues​​ofvariousparameterscanbemodifiedonlinetomeetdifferentneedsofusers.ByusingtheLCD1602liquidcrystaldisplaytodisplaythedetectedvalues​​onthescreeninrealtime,userscanintuitivelyseetheirdistancefromthevisionprotector,thecurrentambientlightintensityandtemperature,andtheremaininglearningtime,whichcanhelpcorrectintimewhenyoungpeoplelearnItsbadlearninghabitspreventeyefatigueandprotectyoungpeople'seyesight.STC89C52singlechipmicrocomputerisahigh-performancemicroprocessorwithfastspeed,integration,highstability,goodsafetyperformance,strongscalability,andcanimplementpowerfuldataprocessingfunctionsthroughscientificalgorithms,andcanbeprogrammedonline.Improvetheintelligenceofthedevice.Thisdesignselectsitasthemaincontrolmodule,connectedwithothermodules,andusesitspowerfuldataprocessingfunctiontoprocessthesignalsfromothermodulestoensurethenormaloperationofthesystem.Ultrasonicrangingusestheknownpropagationspeedofultrasonicwavesintheairtomeasurethetimeittakesforthesoundwavestoreflectbackfromtheobstaclebacktothetransmitteraftertransmittingthesoundwaves,andcalculatestheactualdistancefromtheradiototheobstaclesbasedonthetimedifferencebetweentransmissionandreception.Ithasthecharacteristicsofnon-contactdistancesensing,strongdirectivity,andslowenergyconsumption.Itiswidelyusedindistancemeasurementsolutionsthatuseacombinationofsensortechnologyandautomaticcontroltechnology.Inthisdesign,theultrasonicdistancemeasuringmodulecandetectthedistancebetweentheuser'sheadandthedeskinrealtime.Whenthedistanceistooclose,thealarmcircuitwillsendoutanaudibleandvisualalarmtopromptlycorrecttheuser'sbadlearningsittingposture,protecthiseyesightandhunchtheuser.Preventionalsoplaysarole.Theworkingprincipleofthephotoresistoristhatwhenlightshinesonthephotoresistor,itwillexcitetheelectronsinastablestateinsidetheresistor,makingitafreeelectron,andtheresistancevaluebecomessmaller.Thephotoresistorhasalowprice,highmeasurementaccuracyandisverysensitivetolight.Itcanwelldetectthelightintensityinthereal-timelearningenvironment.Inthisdesign,thedetectedlightintensitysignalprocessingissenttothesingle-chipmicrocomputerthroughtheADconversionmodule,andthesingle-chipmicrocomputersendsthesignalAfterprocessing,itissenttotheLCD1602liquidcrystaldisplayfordisplay.Theusercanintuitivelyseethespecificvalueofthecurrentambientlightintensity.Thealarmcircuitcanalsoemitanaudibleandvisualalarmwhenthelightintensityisnotsuitabletopreventtheuserfrombeinginadarkorlightenvironment.Mid-learningcausesvisionloss.ThecountdowndesignismainlyrealizedbytheinternaltimercountingfunctionoftheSTC89C52singlechipmicrocomputer.Thedeviceautomaticallystartsthecountdownafterthedeviceisturnedon.Iftheuserisstillstudyingandworking,thealarmcircuitwillemitanaudibleandvisualalarmtoremindtheusertopayattentiontorestandpreventtheuserToomuchstudytimeleadstoeyefatigueandaffectsvision.Keywords:microcontroller;Visionprotection;Distancedetection;Timing目录第1章绪论 11.1研究背景 11.2研究意义 11.3研究现状 21.3.1国内研究现状 21.3.2国外研究现状 21.4研究内容 21.5拟解决的关键问题 3第2章元器件选型 52.1主控制器模块 52.2测距模块 52.2.1激光测距 52.2.2超声波测距 52.3显示模块 62.3.1数码管显示 62.3.2LCD1602液晶显示 62.4光照强度检测模块 72.5温度传感器 72.6蜂鸣器 72.7A/D转换器 72.8其他主要元器件 82.9本章小结 8第3章系统硬件设计 93.1总体设计方案 93.2STC89C52单片机 93.2.1STC8952单片机结构 93.2.2STC89C52单片机系统 103.3HC-SR04超声波测距 123.3.1压电式超声波传感器 12压电芯片 12压电式超声波传感器原理 123.3.2HC-SR04超声波测距原理 133.3.3HC-SR04管脚排列 133.3.4超声波时序图 143.4LCD1602液晶显示 143.4.1LCD1602液晶显示管脚与寄存器 143.4.2LCD1602液晶显示连接。 153.5光敏电阻 153.6DS18B20数字温度传感器 153.6.1DS18B20传感器结构 153.6.2DS18B20传感器电路 163.7ADC0823转换模块。 163.8复位电路 173.9本章小结 17第4章系统程序设计 194.1主程序 194.1.1主程序流程图 194.1.2主程序代码 204.2测距流程图 244.3测光流程图 254.4本章小结 25第5章实物制作 275.1proteus仿真图 275.2HC-SR04实物图 335.3LCD1602液晶显示实物图 335.4成果展示 335.5本章小结 35第6章结论与展望 376.1结论 376.2不足之处及未来展望 37参考文献 38致谢 39附录B:单片机C源程序清单 40第1章绪论1.1研究背景如今微控制器技术发展十分快速,由于单片机具有突出的稳定性、安全性、高效性和经济性等诸多优势,使得其得到大范围使用。2020年的今天,单片机在我们的生活中已经十分常见了,我们日常生活中许多家电都有使用单片机,例如空调、手机、电饭煲、微波炉和自动洗衣机等等。对于单片机而言,其具有较小的体积,占据空间小,在一定程度上提高了系统的便捷性,在整个系统中占据着核心地位。基于单片机对系统进行设计,可以将单片机外部增加相应的电路,进而打造以单片机为中心的内部系统,功能较为全面。同时,单片机因其具备较优的延展性特点,能够对数据进行相应的处理,功能较为强大。总而言之,基于单片机对系统进行设计时,单片机在不需要占用很大空间的前提下,可以增强应用设备的智能化并且大大提高应用设备的数据处理能力和数据处理效率。各种科技设备发展迅速的同时,超声波测距系统随之变得越来越重要,技术日渐成熟。超声波测距检测技术为非接触式[1],也就是说,其测距时不受被测物体颜色、被测物体状态、光照等的影响,可以很好的适应对恶劣环境(如粉尘)。快捷精准、方便简单的测距特点使得其应用范围迅速扩大。不仅用于测绘地形、倒车雷达中,还在建筑房屋、桥梁、道路等建筑工地和矿山、油井等一些工业工地被广泛使用。科技发展,越来越多的电子产品进入到我们的生活中。同时随着经济发展以及同龄人之间竞争力增大,我国青少年面临着长时间使用电子产品、学习压力的加剧等诸多问题,这对青少年视力方面有着极大的威胁。近视率逐年上升,这与青少年长期不卫生用眼、过度用眼是分不开的。根据国家统计局最近的一项抽样调查,小学生中近视人数占了三成,初中生中近视人数占了六成,高中生近视人数竟然占九成左右,数字直观的表面了我国青少年视力问题十分严峻,令人担忧。不仅如此,近视也会限制学生发展,研究表明,在高考体检中被限考的学生74%为近视,这是十分值得关注的,不要让视力成为孩子提升自己、实现自己理想的阻碍。根据我国相关部门统计,截止目前,在我国学生群体中,其近视率位居全世界第二,其近视人员数量位居全世界第一,通过统计,共有3亿人患有近视,而青少年近视人数占了三亿人中的两成,为两亿人[2]。视力下降不仅对青少年的日常生活有影响,而且对其学习也有影响,甚至会影响青少年的身心健康,对青少年的生长发育带来负面影响。青少年是祖国的未来,我们不能让其饱受近视的困扰,更由于其年纪较小,自制力较差,大多青少年不能正确的控制自己用眼习惯,所以说青少年的视力问题不仅需要家长的关注更需要全体社会的关注。1.2研究意义我国青少年近视情况让人十分担心,并且急需改善其近视情况,降低近视率,帮助青少年保护眼睛。经调查得出导致近视的主要原因主要是眼睛与被看物体(书、作业本等)之间的距离太近、长期用眼疲劳。据有关报道,青少年近视眼往往是由于长期使用眼睛过近造成的。当眼睛与被看物体的距离在7-10厘米时会使眼睛内部的调节非常紧张,但对于青少年来说,这个距离仍然可以将物体看得很清楚,没有调整距离的意识,所以长期的距离过近会使得眼睛形成屈光(调节)近视,也就是我们常说的假性近视。长此以往,眼睛内部长期调整过度,会聚功能增强,睫状肌无法灵活地伸缩,与此同时,眼睛内部眼压会持续增加,造成组织有一定程度的充血,尤其对于青少年而言,其身体处于持续发育的状态,眼睛也是如此,组织发育不成熟,再加上眼球壁长期的压缩,造成眼球前后轴发生变化,进而造成轴性近视,我们称之为真近视。所以正常读书写字距离应不小于三十厘米。再加上学业压力增大,使得青少年读书、做作业一做就是三到四个小时,甚至直到深夜上床睡觉,而且这期间不休息。这不仅影响身体健康,而且使得眼睛负荷过重,眼内外肌肉长期处于紧张状态,不能得到休息。随着时间越来越久,当看向远处时,眼睛的肌肉不能放松,呈现痉挛状态,所以看远处会感觉模糊,形成近视。因此,科学家普遍主张青少年学习阅读时间最好控制在四十分钟到五十分钟,学习后适当的闭眼休息一下或者向远处眺望,放松眼睛,缓解眼球紧张状态,保护视力。由此可见,学习阅读时姿势不正确、用眼时间过长是近视的主要原因。然而,据调查,目前市场上多功能智能化的视力保护仪并不多见。通过对市场上视力保护仪进行调查,发现其功能较为单一,无法实现多角度的视力保护。因此,设计一种人性化智能化的视力保护仪对保护青少年视力有着不可忽视的作用。在本文中,基于单片机对视力保护仪进行相应的设计,增加视力保护仪的功能,提高其性能,实现定时、测距以及感光等多项功能,从读写时根本原因着手,帮助青少年养成良好的保护视力学习习惯,让家长能够放心且认为物有所值。1.3研究现状1.3.1国内研究现状早在二十世纪九十年代,青少年视力问题就被关注到,科学家们就预防近视进行了大量艰苦的研发,使得预防近视的产品渐渐的由低技术科技转向高科技,由单一变得丰富多样。与此同时,我国也成立了专门的预防近视专家指导小组。近几十年市场上推出各种预防近视产品:模拟传统针灸操作,采用电脑编码脉冲技术,按摩双眼穴位的眼睛按摩器;坐姿纠正器;通过红外传感装置检测读写时姿势,悬挂在耳朵上的坐姿监督器;在台灯内部安装光照检测模块和报警模块,通过灯光与报警声纠正坐姿的“全功能保护视力台灯”等等。还有人发明了远红外磁视觉防护面罩,它结合了远红外材料和磁性材料,向眼睛发射红外线和磁线,以此来按摩和保护眼睛部分的穴位。以上可见,这些保护视觉的仪器功能相对单一,有些功能实现起来效果并没有那么好。除了预防近视的物理产品外,还有人推出用眼药水等药物改善眼部状态,预防近视,但药物方法容易产生依赖性且副作用尚未可知,而且具体效果因人而异。1.3.2国外研究现状国外对视力保护的研究多集中食疗以及眼部自身上。人群普遍认为,近视的主要原因是眼部肌肉过度疲劳。通过饮食和营养的合理结合,例如多吃新鲜蔬菜和鱼类对视力有好处的食物,再加上正确的学习习惯,例如注意放松双眼,积极锻炼眼部肌肉,不仅不易近视,还对视力提高有着积极的作用。所以现在有些国家的学校推崇学生进行眼肌训练。例如定期让学生们举行眼睛眺望远处的活动。1.4研究内容本次设计主要采用STC89C25作为主控制器,通过该单片机对电路进行相应的操作和控制。在该系统设计的过程中,对于测距模块的设计主要涉及超声波传感器,实现对超声波的接收和传递。对于感光模块的设计而言,其主要通过光敏电阻完成相应的功能,温度检测模块采用DS18B20数字温度传感器,定时报警电路主要通过单片机内含有的定时器件完成,在该系统中,主要选择usb电源作为整个系统的运行动力。然后通过以上模块的组合,能同时实现对视力起保护作用的报警功能。具体实现功能如下:1.阅读书写的距离采用超声波模块测距(测量范围0.02m~4m,精度为0.01m),通过超声波测距,实现了头部与书本之间的距离的控制,一旦<30cm,便会出现警报信息,对用户进行提醒,调整距离,实现了科学坐姿。2.学习环境光线自动检测,即当使用者所在的读写环境光线强度不足或过强时,报警灯亮,同时发出报警声,提醒使用者调整光照强度(按键可设置光线报警值)。3.连续使用时间计时功能(默认开机倒计时为四十五分钟),一旦学生学习时间超过45min时,系统便会发出警报信息,进而达到提醒用户休息的目的。4.增设温度补偿功能,可实时监测使用环境温度,提高距离测量精度5.四个按键功能:按键1复位键,按键2设置,按键3加键,按键4减键。1.5拟解决的关键问题1.在对多功能视力保护仪设计的过程中,设计硬件电路时,其距离测量的精度容易受到外界环境的影响,如温度的变化、湿度的影响等。2.在该系统设计的过程中,主要利用软件编程达到距离测量的目的,对于其精准度可以采用仿真验证的方法达到测量。3.根据光线强度的变化,能够进行相应的报警。第2章元器件选型2.1主控制器模块本次设计选择采用单片机作为多功能视力保护仪的主控制器模块。作为主控制器,要求其能够全面分析系统,实现系统功能以及对其他模块的信号进行处理。这些要求单片机都可以很好的满足。其具有强大的控制功能和计算功能且控制简单,方便快捷。目前市场上单片机种类繁多,几种常用的单片机型号有ATMEL单片机、PIC单片机、STC单片机等。ATMEL单片机的AT89系列单片机带有EPROM存储器,系统与8051系列单片机相兼容,I/O脚的设置与使用较为简单,但其程序烧录需借助编程器,运行速度也较为缓慢。PIC单片机具有很强的保密性能,较高的抗干扰性能,精简指令集简单易学,但其价格偏高,就本次设计而言性价比不高。STC单片机保密性能与抗干扰性能虽不如PIC单片机,但也有着较强的保密与抗干扰性能,且STC单片机烧录方便,调试简单,运行速度较快且价格低廉。所以本次设计选择STC单片机作为主控制器模块。在对视力保护仪系统设计的过程中,选择STC89C52单片机作为本系统的主控制器模块,其具有高性能的特点,作为一种微处理器,其成本低、运行效率快、引脚高达40个,下载较为方便,利用串口即可完成。与此同时,该单片机还具有在线编程的能力,能够实现多种需求,控制操作较为简单。一般而言,对于该单片机而言,其主要以两种形式进行存在:一种是方形44脚封装,另外一种便是双列直插式40脚封装,在本次基于单片机设计的视力保护仪系统的设计中,主要以双列直插式40脚封装进行相应的外形设计。2.2测距模块目前常用的测距方式有激光测距与超声波测距两种。2.2.1激光测距对于激光测距而言,其主要涉及两种方法,一种是相位法,另外一种便是脉冲法。通过脉冲对距离进行测量,主要借助激光的传递以及反射,在激光传递的过程中,通过测距仪实现对激光的接收,以及对传递时间的记录,进而测算出距离的长短。通过相位法实现对距离的测量,主要利用无线频段的频率调制激光束的振幅,通过对相位延迟的测量,通过调制光波长的转换在一定程度上代表着距离的长短,即使用间接法测量光线返回测量线所需的时间。2.2.2超声波测距对于超声波测距而言,其主要通过超声波传递的特性,进而得知其传播的速度,当超声波在空气中传递时,碰到障碍物会出现反射,因此,通过超声波传递的时间以及超声波反射传递的时间,根据两者时间差便能够计算出实际距离值。对于超声波而言,其主要由发射器产生,一旦发射,便开始超声波传递计时,当超声波在传递的过程中,碰到一定的障碍时,便会进行反射,当超声波发射器接收到反射波时,便会中断计时。比较两种测距方式可以看出,超声波测距电路和软件设计都较为简单,因此,在该文对视力保护仪中测距系统的设计,主要选择超声波测距方法进行设计。选择HC-SR04作为系统的测距模块,其能够实现非接触式感应,精准度较高,适用范围较为广阔。对于该超声波而言,其主要包括三大模块,分别是接收器、发射器以及控制模块这三部分内容。其性能稳定,测度距离精确,具有超微型(仅仅等同两个发射)、无盲区(10mm内成三角形误差比较大,简单可以将其看做0)、反应速度快,测量周期为10ms,不会丢失高速目标、发射头与接收头靠的较紧、和被测目标基本成直线关系、模块上有LED指示,就使用者而言容易测试与观察等特点。2.3显示模块目前常用的显示方式有数码管显示与LCD1602液晶显示。2.3.1数码管显示数码管显示:数码管显示方式有静态显示与动态显示两种。静态显示可以将系统中所有数码管同时放在显示的状态,且显示时亮度高,不会闪烁。但由于数码管同时处于点亮状态会需要很大的电流,数码管数量越多对电流要求就越高。因此,在大部分电路设计中,静态显示方式较少被采用。动态显示是指系统中只有一个数码管处在显示的状态,每个数码管依次显示。在显示过程中,需要将所有数码管轮流处于显示的状态,所以对每个数码管的点亮周期要求严格。虽然较静态显示而言,由于只有一个数码管处于显示状态,所消耗的电流较小,硬件电路较为简单,但亮度较低且存在闪烁情况。2.3.2LCD1602液晶显示LCD1602液晶显示屏是一种工业字符型液晶,属于点阵图液晶显示,具有高分辨率,耗电量低,程序简单,价位低,显示内容丰富等显著特点,所以在电子设计中得到了普遍使用[5]。对于LCD1602液晶显示屏而言,从字面上便可以得知其能够显示两行内容,在每行中共能显示十六个字符。当前,在我国液晶市场中,主要以HD44780型号为主,其设计原理是一致的,由此可见市面上绝大多数的字符型液晶都可以很方便的使用基于HD44780编写的控制程序。160个不同的点阵字符图形存储于LCD1602液晶模块内部的字符发生存储器中,每一个字符都有其专属的固定代码[6],这些字符包括:英文字母的大小写、阿拉伯数字、以及我们日常使用的符号和日文假名等。当我们想在显示屏上看到某个字符,只需要向DDRAM(显示数据RAM,用来寄存待显示的字符代码)的相应地址写入其专属代码,进而通过显示屏实现对字符图形的显示,便得到相应的效果。就以上两种方式比较,我们可以看出数码管虽显示信息快速简单,但是显示内容不够丰富并且缺少良好的人机交互界面。LCD1602液晶显示信息清晰、快速,广泛用于数码设备显示屏等方面,且拥有较好的人际交互界面。所以本次设计显示模块选用LCD1602液晶显示。2.4光照强度检测模块当前,对于光照强度的检测而言,其较多的利用光敏电阻进行实现。对于光敏电阻而言,其成本较低、性能强、测量准确且对光照十分敏感,光谱响应范围宽,反应灵敏,可以很好的用于学习环境光照强度的测量。且其内部有自己的光电效应,与电极没有关系,可以使用直流电源。在系统的运行过程中,一旦光敏电阻感受到光线的变化,便会在其内部产生相应的自由电子,光敏电阻接收到的光线越强,其内部激发的自由电子便会更多,相应的,光敏电阻的数值也就越小。2.5温度传感器对于超声波而言,其为声速中的一种,因此,利用超声波对距离进行测量,容易产生一定的误差,容易因外界环境的变化对传播速度造成一定的影响,如温度的变化等。也正因为如此,为提高距离测量的精准度,需要增加温度传感器的设计,便于及时监测温度,根据温度的变化及时调整超声波,通过增加温度传感器设计,在一定程度上极大的增加了距离测量的精准度,对于系统的运营有着十分重要的意义。目前市场上温度传感器种类多样,有数字型、单总线、双总线等。其中数字温度传感器更适用于由各种微处理器接口组成的自动温度控制系统,常见的数字温度传感器有DS1820、MAX6575、DS1722、MAX6635等。在该视力保护仪的设计中,选择DS18B20作为温度传感器进行设计。对于DS18B20传感器而言,其主要是一种数字型传感器,内部包含有数字测温芯片。它体积小,抗干扰能力强,精度高,接线方便,接口方式较为特别,为单总线接口,和单片机实现通信仅需要一个端口即可完成。对于该数字型传感器而言,其通过数字信号进行温度的测量,在一定程度上大大增加了信号的抗干扰性以及测量温度的精准度。该传感器运行需要3伏至5.5伏的电压,通过电源进行供电的方式主要有两种,一种是外部电源,另外一种便是寄生电源供电。同时,该传感器具有较强的负压特点,能够避免接线错误而导致的短路情况的发生,保证系统的正常运行。该传感器还具备温度转换精度调整的功能,需要注意的是,对温度进行相应的转换时,其时间的长短随着分辨率的变化而有所转变,所以,需要对转换时间以及分辨率的设置进行综合考量。2.6蜂鸣器对于蜂鸣器而言,在当前我国市场中主要涉及到两种,一种是电磁式蜂鸣器,另外一种便是压电式蜂鸣器。压电式蜂鸣器通过脉冲电流作用在压电陶瓷上,利用压电陶瓷的压电效应使金属片振动,以此发出声响。通常声音较小,需要足够的音压(9V以上)或在其一面加装外设来提高声音。电磁式蜂鸣器利用电磁原理,在通电的时候,吸下金属振动膜,在断电时,弹回其金属振动膜。且其只需要1.5V电压即可发出85分贝以上音压,比压电式蜂鸣器所需电压小很多并且在相同尺寸时,电磁式蜂鸣器的响应频率可以比压电式蜂鸣器低。由上述比较,本次设计采用电磁式蜂鸣器2.7A/D转换器NS(NationalSemiconductor)公司生产的ADC0832转换器是具有串行接口的8位分辨率A/D转换芯片[8]。它通过三线接口与单片机连接,耗能低,性价比高,转换速度快且稳定性能好,这些良好的性能使它能够适用于便携式的智能仪器仪表。对于A/D转换芯片而言,其分辨率较高,最高可达到256级,满足系统所需。它具有双数据输出功能,可用于数据验证,从而降低数据误差。它独立的芯片使能输入,让多设备连接和处理器控制变得更加简易快速。其主要特点如下:1.具有8位分辨率,逐次逼近型;2.当时钟频率为250KHZ时,转换时间为32us;3.输入输出电平与TTL和CMOS兼容;4.功耗很低,仅需15mW。5.输入模拟信号电压范围为0~5V;6.具有两个可选的模拟输入通道;7.电源为5V单电源2.8其他主要元器件1.9012三极管2.103蓝白电位器3.10k电阻*44.12M晶振5.30pf电容*26.DC电源接口7.自锁开关2.9本章小结本次设计单片机采用STC89C52单片机,选择超声波对距离进行相应的测量,选择LCD1602为系统提供显示功能,选择光敏电阻感应光线的变化,选择电磁式蜂鸣器作为本系统的报警系统,温度检测模块采用DS18B20数字温度传感器,A/D转换模块采用ADC0832。第3章系统硬件设计3.1总体设计方案图3-1展现了本次设计基本框图,框图中包括STC89C52单片机,HC-SR04超声波测距模块,LCD1602液晶显示,报警电路,5V电路。图3-1基本框图3.2STC89C52单片机3.2.1STC8952单片机结构STC89C52单片机将CPU、定时器/计数器、RAM、ROM、看门狗和I/O端口等各种功能器件集合在了一块芯片中[9],等同于一部计算机的基本功能部件。其含有的具体功能部件部分有CPU、片内振荡器、时钟电路、8KBFlash程序存储器、256BRAM数据存储器、三个16位定时器/计数器、64KB可寻址外部数据存储器和、64KB外部程序存储器空间的控制电路、32条可编程的I/O线(4组8位并行I/O端口)、一个可编程全双工串口通信、8个中断源、两个优先级嵌套中断结构,具体结构如下。图3-2STC89C52单片机框图图3-2STC89C52单片机框图3.2.2STC89C52单片机系统图3-3为本次设计的单片机整体原理图。图3-3中给出了上拉电阻、晶振电路、复位电路等。从图3-6可以看出HC-SR04超声波测距模块与STC89C52单片机直接相连,DS18B20数字温度检测模块直接与单片机P1.4端口相连,采用上拉电阻,可以起到信号稳定的作用。按键S1、S2、S3都接到了地线,当按键按下时,三个引脚检测到低电平,随之执行相应的程序控制。LCD1602液晶显示部分,电压值由1.5k电阻与10k电阻分压采集,注意电阻阻值选取要合理合适,不然会出现屏幕没有显示,或者屏幕很暗,很黑的状况。通常R8电阻会被改变,电阻值一般选取区间在200欧-1500欧之间,具体电阻值要看液晶厂家来选取。主要通过单片机的定时计数功能实现报警电路的45分计时部分[7]。对于该系统的单片机而言,其定时功能主要涉及到两种运行模式,一种是定时器模式,另外一种便是计数器模式。对于定时器模式而言,其主要通过振荡器实现,在振荡器中,每12分频信号形成1信号,其计数便会增加1,直至计数停止。进而我们可以得知,该单片机定时功能的实现主要通过振频完成的。对于计数器模式而言,其主要通过引脚完成,信息通过引脚传递,实现计数的功能。在该系统设计中,其时钟选择6mhz的周期,500赫兹的计时速度以及脉冲输入时间设置为0.5秒的间隔。图3-3单片机整体原理图图3-4为本次设计的STC89C52单片机的供电模块,主要采用外部电源供电的方式为系统提供电源,利用DC电源接口实现电路接通,进而为系统提供能量。图3-5为本次设计蜂鸣器驱动电路模块,由单片机P1.0端口低电平驱动。对于电磁式蜂鸣器而言,其工作原理主要借助于电磁线圈实现,当系统的电流进入电磁线圈时,电磁线圈便会形成相应的磁场,进而使得振动膜产生声音。总而言之,蜂鸣器的运行需要电流的参与。当单片机P1.0端口发送低电平信号时,经过限流电阻,9012PNP三极管导通。主要利用了三极管的开关作用,电流方向从电源流经三极管到蜂鸣器。所以当单片机P1.0端口为低电平时,蜂鸣器就会发出报警声。图3-4供电模块图3-4供电模块图3图3-5蜂鸣器驱动电路3.3HC-SR04超声波测距3.3.1压电式超声波传感器。对于压电式传感器而言,其结构组成主要包括楔块、芯片以及接头等,应用较为广泛,在超声波检测中发挥着十分重要的作用,达到了声能以及电能两者之间的相互转换的目的。对于压电材料而言,其主要包括两类,分别是压电陶瓷以及晶体。当压电材料处于电场的环境内时,会出现应变反应,当在该材料上使用外部力量时,应变反应会使得材料内部出现电场。总而言之,对于压电式材料而言,通过交变电场的作用,能够出现交变应变现象,进而形成超声振动。也正因为如此,选择压电材料对超声波传感器进行制作。压电芯片对于传感器而言,其核心结构主要为压电芯片,当电脉冲发射之后,会对该芯片产生一定的激励,进而形成振动、声脉冲,这整个过程构成了反向压电效应。超声波通过发射器发射,在其传递的过程中,使得晶片受到振动产生一定的变形,进而产生一定的电信号,这整个过程构成了正向压电效应。对于反向压电效应而言,其主要应用于超声波的发射,对于正向压电效应而言,其主要应用于对超声波的接收。对于超声波传感器而言,其材料构成主要以双电陶瓷片为主,性价比较高,在液体介质以及气体介质中应用较为广泛。同时,交流电压的大小直接与机械变形的程度息息相关,交流电压越大,其机械变形的程度也就越深,反之亦然。换言之,当F0交流电压的频率作用于压电陶瓷芯片时,会产生固定的机械振动,其产生的机械变形的程度也相互一致,形成电信号的频率也完全相同。压电式超声波传感器原理对于压电式超声波传感器而言,其运行原理主要借助于压电晶体产生的共振实现的超声波的传递,其具体结构如下图显示,主要涉及共振板、电机以及压电晶片,当压电芯片的两电极施加脉冲信号,其频率等于压电芯片的固有振荡频率时,压电芯片就会发生共振,并带动共振板振动,随之产生超声波。反之,如果压电芯片两电极间没有施加电压,当共振板接收到超声波时,将会压迫压电晶片作振动,将机械能转化为电信号,这时它就成为超声波传感器[10]。图3-6压电式超声波传感器结构图3.3.2HC-SR04超声波测距原理在本文系统的设计中,主要选择HC-SR04超声波实现对距离的测量,我们假设超声波通过发射器发射直到接收的全部时间以“t”进行表示,以“c”作为超声波整个传递过程中的速度,我们欲测量的距离以“d”进行表示,通过得知以上数据,我们可以根据公式d=c×t/2即可得知预测量的距离大小,具体框架如下图所示。图3-7系统框图本次设计HC-SR04超声波测距基本原理:超声波通过发射器进行发射,根据其在空气中传递的速度,以及超声波遇到障碍后进行反射,由接收器接收后的整个过程所经历的时间,便可计算出相应的距离。3.3.3HC-SR04管脚排列HC-SR04超声波测距模块的外形及管脚排列如图3-8所示。其中VCC为5V电源,GND为地线,TRIG触发控制信号输入,ECH0回响信号输出。图3-8外形及管脚排列图3.3.4超声波时序图图3-9超声波时序图图3-9显示只需要一个10us的脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。当右回波信号被检测到之后,便会发射出相应的回响信号,根据两者之间的时间差,便可以得知相应的距离。3.4LCD1602液晶显示3.4.1LCD1602液晶显示管脚与寄存器LCD1602液晶显示模块属于点阵图形液晶显示,可以显示8×4行16×16点阵的汉字[12]。本课题中用于显示即时时间、测量距离值及距离的设定值。其寄存器选择控制表如表3-1所示。表3-1寄存器选择控制表RSR/W操作说明00在寄存器中输入相应的指令01对DB7以及位址计数器的数值进行相应的读取10在寄存器中输入相应的数据11对数据进行读取3.4.2LCD1602液晶显示连接。图3-10LCD1602显示原理图如上图所示,其为LCD1602的原理结构图,对于视力保护仪的系统而言,采用温度传感器监测的温度值,利用超声波的特点实现对距离的测量,通过光敏电阻实现对光照变化的感应,通过液晶显示能够现实的字符在液晶显示出来;按下按键,按键S1、S2、S3图3-10LCD1602显示原理图3.5光敏电阻图3-11光敏电阻原理图光敏电阻阻值随光照强度变化。光照强度越强,光敏电阻阻值越小[13]。当光照强度达到设定值时,光敏电阻阻值变小,电流导通,随之相应程序运行,报警电路报警。图3-11为本次设计中光敏电阻连接原理图。光敏电阻采集到的光照强度通过ADC0823A/D转换模块转换成相应的数字量传送到单片机中,经过单片机内部处理,再转换成信号输送到LCD1602液晶显示,由LCD1602液晶显示显示出当前环境光照强度的值。3.6DS18B20数字温度传感器3.6.1DS18B20传感器结构对于DS18B20传感器而言,核心部件在于其芯片的设置,其能够对最低负55摄氏度至125摄氏度的温度进行检测,精准度较高,具体结构如下所示。在该芯片中,包含有64位的ID号。同时,对于DS18B20传感器而言,能够对寄生电源进行相应的利用,也正因为如此,该传感器能够在总线上实现同时连接的作用,达到多处温度测量效果。图3-12DS18B20外形及封装3.6.2DS18B20传感器电路图3-12DS18B20外形及封装图3-13图3-13数字温度传感器DS18B20电路图本次设计中温度传感模块如图3-13所示。对于该数字温度传感器而言,通过其DQ脚和单片机的引脚进行连接,实现对温度的感应和测试。当数字传感器对温度进行检测后,将相关数据传递至单片机中,并通过温度车速表得到相应的数值,将数值通过公式进行计算,进而得到相应的距离,在一定程度上大大提高了测量距离的精准度。3.7ADC0823转换模块。图3-14ADC0823原理图本次设计中AD转换模块如图3-14所示。模拟信号只有通过A/D转化为数字信号后,才可以用软件进行处理[15],这一切都是通过ADC0832A/D转换器来实现的。通过传感器实现信号的转换,最后转换为数字量信号,将数字量信号送到微机处理。本次设计中,ADC0823转换模块负责转换光敏电阻检测的光照信号,将其输送给STC89C52单片机,以便LCD1602液晶显示可以将光照强度显示出来。3.8复位电路在STC89C52单片机中,其复位电路原理图如下图所示,当把电路进行通电操作时,电容内的电阻数值较低,当对该单片机采取通电操作后,电源将会为电容提供电流,这使得电容电压逐渐发生变化,由0伏增加至4伏,在这个整个过程中,所用时间较短,一般不高于0.3s,因此,电位的逐步升高,使得电路出现复位,点击复位键,循环上述整个过程。图3-15图3-15复位电路原理图3.9本章小结在该章节内容中,主要对视力保护仪的系统的硬件部分进行了具体的叙述,并对各模块工作原理进行了相应的分析和研究。通过单片机与超声波两者的连接,实现了距离的精准测量,通过单片机和数字温度检测模块进行连接,实现了温度的精准测量,通过光敏电阻的设计,实现了对光线强度变化的测量,在该系统中,主要选择外部电源为整个系统提供电源,通过蜂鸣器的设计,实现对用户警报信息的提醒,最后,通过控制按钮,实现整个电路的复位,便于循环工作。第4章系统程序设计4.1主程序在该系统中,对于主程序而言,其主要对距离的长短进行相应的显示,处理以及警报提醒等,便于对距离的把控,一单距离超过某个限定值,便会通过警报信息提醒用户,便于用户及时调整。4.1.1主程序流程图对于主程序而言,其具有结构流程图如下所示。图4-1主程序流程图4.1.2主程序代码4.2测距流程图图4-2超声波测距流程图通过超声波实现对距离的测量,其主要过程如上图所示。当对某一段距离进行测量时,点击启动按钮,需要先判断时间是否大于1s,如果计时大于1s,便通过发射器对超声波进行发射,如果计时小于1s,便返回最初继续进行计时,当超声波发射之后,启动检查回波,判断是否检测到回波,当检测到回波时,便可根据时间对距离进行计算,若未检测到回波,则返回继续进行计时,通过对距离的计算,判断其是否小于设定的距离,若小于设定距离,则进行报警,否则返回主程序,进行下一步循环检测。4.3测光流程图图4-3测光流程图测光流程图如图4-3所示,启动光照检测功能后,首先判断定时是否达到1s,如果达到1s,测光模块启动,光敏电阻开始测量光照强度,通过AD转换模块将信号转换并转送到STC86C52单片机,由单片机内部模块进行处理。如果小于1s,则返回继续计时。对光照的强度进行测量时,判断其光照强度是否处于某一范围之内,若大于某一光照强度数值,或小于某一光照强度数值,则发出警报,提醒用户对光线进行调整,若光照强度在该区间范围内时,便返回主程序进行下一步循环工作。4.4本章小结本章给出了本次设计主程序流程图以及主要代码部分,距离检测模块流程图。主程序负责处理距离检测模块、感光模块等系统中模块的各个信号。距离检测采用超声波测距,测光模块采用光敏电阻,与定时器、报警电路等模块传输信号以完成设计要求的功能。第5章实物制作5.1proteus仿真图根据设计原理搭建成proteus仿真图如图5-1所示。图5-1proteus仿真图将STC89C52单片机以及HC-SR04超声波测距模块中程序加载完成之后,可以看到LCD1602液晶显示屏可以按照预期显示出时间、光照强度、距离、温度四个实时数值。STC89C52单片机旁三个按键用来预设报警距离,HC-SR04超声波测距模块旁边的两个按键用来模拟被测物体与视力保护仪之间的距离。光敏电阻和DS18B20数字温度传感器旁也有加减按钮可以模拟当前环境光照强度以及温度。图5-2为加载完成后的proteus仿真图。图5-2模块加载后仿真图从图5-3中可以看出,定时模块预设倒计时为45分钟,预设报警距离为小于30cm,预设报警光照强度为实时光照强度大于70%。图5-3各模块预设值从图5-4中可以看出,当模拟距离小于30cm时,触发报警电路声光报警(左下角为声光报警电路,动态图可以看出变红闪烁,发出报警声音)。图5-4模拟距离从图5-5中可以看出,当光照强度大于70%时,触发报警电路报警。图5-5模拟光照从图5-6与图5-7比较中可以看出,当环境温度为23摄氏度时,超声波测距值为35cm,温度升高到32摄氏度时,超声波测距为39cm。这是由于增设了温度模块,温度将会影响超声波声速,而超声波测距公式为ct/2,c为超声波声速,所以温度也会影响超声波测距数值。图5-6温度为23℃图5-7温度为32℃5.2HC-SR04实物图HC-SR04实物图如图5-3所示,如图中接线,VCC为供5V供电电源,TRIG为触发信号输入,ECHO为回响信号输出,GND为地线。实物连接时连接顺序不可出错,且不可带电连接,若带电连接,则需要让GND地线先连接,否则会影响正常工作。测量时,被测距物体面积尽量不少于0.5平方米,方可保证测量结果的准确性。图5-3HC-SR04实物图5.3LCD1602液晶显示实物图在程序开始时,LCD模块被初始化,事先设置了显示格式,能够自动化进行显示。在对相关指令进行输入准备前,应对液晶是否处于子程序延时状态进行相应的判断,进而对地址、显示字符进行相应的输入。图图5-4LCD1602液晶显示实物图 5.4成果展示实物在未接通电源时如图5-5,采用USB供电套件供电,接通电源,按下按键后可正常工作,实时检测距离、光照强度、环境温度以及具有计时功能。图5-5实物未接通电源图距离适宜且光照强度合适时,视力保护仪便会安静的陪伴使用者学习工作,并具有45分钟计时功能,连续使用时间达到45分钟后,视力保护仪便会发出报警声音与光亮,提醒使用者注意休息,防止过度用眼疲劳。图5-8各项指标符合设定值如图5-6所示,当超声波检测模块检测到的距离不符合设定距离值(对视力不健康的距离)时,视力保护仪便会发出报警声音与光亮提醒使用者调整坐姿。图5-6距离不符合设定值如图5-7所示,遮住光敏电阻模拟光照强度不符合设定值(对视力不健康的光照强度)时,视力保护仪便会发出报警声音和光亮,提醒使用者改善学习环境。图5-7光照强度不符合设定值5.5本章小结本章展示了本次设计的proteus仿真图以及实物功能图。通过proteus将设计电路展现出来,并模拟了各个模块。在实物图部分,展示了本次设计最终取得的结果,根据各个模块的功能分别展示,可见实物的功能已满足设计的目标。第6章结论与展望6.1结论本次设计最终结果实现了测距、测光、测温的基于STC89C52单片机的多功能视力保护仪。测距模块完成超声波的接收与发送,能够比较精确的检测使用者与书桌等使用工具的距离,光照强度模块可以实时检测光强,温度传感模块可以实时检测温度并且提高距离测量的精度,并且报警电路能够按照预设值正常工作,综上,本次设计结果达到了设计的基本要求。在该视力保护仪系统的设计中,主要选择STC89C52单片机作为主控制系统,并利用C语言进行相应的编程操作,经过系统调试,该系统能够满足现实所需,且其功能较为全面,操作简单,并且报警预设值可以在线编程,更好的满足使用者的个性化需求。人性化智能化的设计,可以更好的陪伴青少年学习生活,保护青少年视力健康。6.2不足之处及未来展望导致青少年近视因素并非只有学习阅读,电子产品也是一个不可忽视的原因。如何限制青少年使用电子产品的时间,使其双眼从电子屏幕中解放出来,本设计对这一因素考虑较少。但相信,在不久的将来,会有更多人性化智能化设备来帮助青少年保护视力,例如有望设计出通过WIFI连接家长移动端的视力保护仪,对青少年起到一个人为的监督作用。也希望青少年们能够意识视力保护的重要性,提高自制力,有意识的规范坐姿,合理用眼,让自己的双眼保持健康的状态。附录附录参考文献[1]王颖,程梦然,冯华东,孙兆东,王伟,程兵兵.基于单片机的智能视力宝的设计与实现[J].机械工程与自动化,2017(04):152-153+156.[2]李书婷.多功能超声波视力保护系统设计[J].自动化与仪表,2019,34(01):104-108.[3]赵福明,王玉萧,高飞,等.基于单片机的智能台灯设计[J].价值工程,2020,39(4):223-224.[4]张晓杰.基于单片机的超声测距视力保护仪[J].农家科技(下旬刊):2015(6):67-73.[5]孟卓.基于HC-SR04的超声波导盲系统设计[J].电子设计工程,2019,27(21):136-139+145.[6]MHAbdullah,MHAbdullah,SACheGhani,etal.Developmentopensourcemicrocontrollerbasedtemperaturedatalogger[J].IOPConferenceSeries:MaterialsScienceandEngineering,2017,257(1):012015(13pp).DOI:10.1088/1757-899X/257/1/012015.[7]郑浩,高静.怎样用万用电表检测电子元器件修订本.[J]北京:人民邮电出版社,2009.32-66[8]岂飞涛.A10-bit30MSpsPipelinedADC[D].天津:南开大学,2004.DOI:10.7666/d.y633262.[9]赵广元.Proteus辅助的单片机原理实践[M]北京:北京航空航天大学社,2013.[10]袁成玉,赵志勇,邓益民,吴涛.基于超声波测距和物联网技术的智能化视力保护系统[J].电子制作,2020(Z2):46-48.[11]张威,石友义,唐鑫鑫,张继.基于51单片机的简易超声波测距系统设计[J].信息通信,2015(05):62-64.[12]黄志刚,赵之赫.通用型1602LCD自定义字符的显示[J].电子世界,2013,(22):182-182.DOI:10.3969/j.issn.1003-0522.2013.22.168.[13]马爱霞,梁妍.光敏电阻及其应用[J].科技资讯,2017,15(14):35.[13]张春岭,梅彦平,王静.基于STC89C52单片机的超声波测距仪设计[J].工业技术创新,2020,7(1):33-37.DOI:10.14103/j.issn.2095-8412.2020.01.007.[14]徐雷,崔子晨,刘俊俊,等.基于DS18B20温度监测报警系统的设计与实现[J].安庆师范大学学报(自然科学版),2020,26(1):89-92.DOI:10.13757/34-1328/n.2020.01.016.[15]索尼半导体解决方案公司.AD转换装置、AD转换方法、图像传感器和电子设备:CN201780043909.7[P].2019-03-15.[16]JinshuoHu.MicrocontrollerbasedMachineHealthMonitoring[J].Internationaljournalofcomputationalintelligenceresearch,2017,13(11):2449-2457.附录B:单片机C源程序清单//宏定义#defineucharunsignedchar#defineuintunsignedint#defineULintunsignedlongint//温度零上与零下的标志位charflag=0;//超声波charflags=0;//超声波距离charflag1s=0;//计算定时间uinttime=0;//计算距离ULintL_=0;//温度uintt_=0;//显示模式0正常1最大值调整2最小值调整ucharmode=0;uintMax=40;uintMin=0;//按键标志uchark=0;//数值有误ucharFW=0;//头函数#include<reg52.h>#include<intrins.h>#include"BJ_Key.h" //报警按键#include"display.h" //显示头函数#include"ultrasonic_wave.h"//超声波头函数#include"DS18B20.h" //温度传感器头函数//函数声明voiddelayms(uintms);//主函数voidmain(){ Init_ultrasonic_wave(); //屏幕初始化 Init1602(); //温度初始化 tmpchange(); t_=tmp(); tmpchange(); t_=tmp(); tmpchange(); t_=tmp(); //循环显示 while(1) { Key(); //正常显示 if(mode==0) { StartModule();//启动超声波 while(!RX); //当RX为零时等待 TR0=1; //开启计数 while(RX); //当RX为1计数并等待 TR0=0; //关闭计数 delayms(20);//20MS tmpchange();//温度转换 t_=tmp();//度温度 Conut(t_/10);//计算距离 if(L_>Max||L_<Min) Display_1602(t_/10,L_); } //调整显示 elseif(mode!=0) { //最大最小值 Init_MaxMin(); while(mode!=0) { Key(); if(k==1&&mode==1) { Init_MaxMin(); write_com(0x8d);//设置位置 } elseif(k==1&&mode==2) { Init_MaxMin(); write_com(0x8d+0x40);//设置位置 } k=0; } //界面初始化 Init1602(); } }}voiddelayms(uintms){ uchari=100,j; for(;ms;ms--) { { j=10; while(--j); } }}//T0中断用来计数器溢出,超过测距范围voidCJ_T0()interrupt1{flags=1; //中断溢出标志}//LCD管脚声明sbitLCDRS=P2^7;sbitLCDEN=P2^6;//初始画时显示的内容ucharcodeInit1[]="Temperature:C";ucharcodeInit2[]="Distance:000CM";//初始画时显示的内容ucharcodeInit3[]="MaxCM";ucharcodeInit4[]="MinCM";//LCD延时voidLCDdelay(uintz){uintx,y;for(x=z;x>0;x--)}//写命令voidwrite_com(ucharcom){LCDRS=0;P0=com;LCDdelay(5);LCDEN=1;LCDdelay(5);LCDEN=0;}//写数据voidwrite_data(uchardate){LCDRS=1;P0=date;LCDdelay(5);LCDEN=1;LCDdelay(5);LCDEN=0;}//1602初始化voidInit1602(){uchari=0;write_com(0x0C);//打开显示无光标无光标闪烁write_com(0x06);//当读或写一个字符是指针后一一位write_com(0x01);//清屏write_com(0x80);//设置位置for(i=0;i<14;i++){ write_data(Init1[i]);} write_data(0xdf); write_data(Init1[14]);write_com(0x80+40);//设置位置for(i=0;i<16;i++){ write_data(Init2[i]);}}//温度距离显示voidDisplay_1602(ucharW,uintL){ //温度值显示 write_com(0x80+12); write_data('0'+W%10); //长度值显示 if(flag1s==1) { write_com(0x80+0x40+0x0a); write_data(''); write_data('0'+L/100); write_data('0'+L/10%10); write_data('0'+L%10); } elseif(flag1s==0) { write_com(0x80+0x40+0x0a); write_data('-'); write_data('-'); write_data('-'); write_data('-'); }}//1602初始化最大化最小化调整界面voidInit_MaxMin(){uchari=0;write_com(0x38);//屏幕初始化write_com(0x0f);//打开显示无光标无光标闪烁write_com(0x06);//当读或写一个字符是指针后一一位write_com(0x01);//清屏write_com(0x80);//设置位置for(i=0;i<16;i++){ write_data(Init3[i]);}write_com(0x80+40);//设置位置for(i=0;i<16;i++){ write_data(Init4[i]);}write_com(0x8b);//设置位置 write_data('0'+Max/100); write_data('0'+Max/10%10); write_data('0'+Max%10);write_com(0x80+0x40+0x0b);//设置位置 write_data('0'+Min/100); write_data('0'+Min/10%10); write_data('0'+Min%10);write_com(0x8d);//设置位置 }#defineucharunsignedchar#defineuintunsignedint//defineinterface定义DS18B20接口sbitDS=P1^4;//variableoftemperatureuinttemp=0;//延时子函数//signoftheresultpositiveorvoiddelay(uintcount){ uinti; while(count){i=200;while(i>0)i--;count--;}}//发送初始化及复位信号voiddsreset(void){ //DS18B20初始化uinti;DS=0;i=103;while(i>0)i--;DS=1;i=4;while(i>0)i--;}//readabit读一位bittmpreadbit(void){uinti;bitdat; //i++fordelay小延时一下DS=0;i++;DS=1;i++;i++;i=8;while(i>0)i--;return(dat);}//readabytedate读一个字节uchartmpread(void){uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tmpreadbit(); //读出的数据最低位在最前面,这样刚好 //一个字节在dat里dat=(j<<7)|(dat>>1);} //将一个字节数据返回

温馨提示

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

评论

0/150

提交评论