




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XXX科技大学本科生毕业设计说明书(毕业论文)题目基于单片机太阳能热水器控制系统的设计学生姓名学号专业自动化班级指导教师科技大学毕业设计说明书(毕业论文)I基于单片机太阳能热水器控制系统的设计摘要今天,环境问题、能源问题日益突出,给我们的生活带来了极大的压力。尽管这些年新兴能源已经得到了很好的发展,但是依旧还是无法解决日趋严峻的能源压力。由于不可再生资源的逐渐减少我们很自然会把目光对准一些可再生资源,这里就不得不提到太阳能,太阳能对我们目前而言可谓是一种取之不尽用之不竭的宝藏,然而由于我们目前的科学技术手段还不能充分的利用太阳能。在本设计中我会给大家介绍一种目前已经算是比较成熟的太阳能应用技术,他就是太阳能热水器。太阳能热水器以其诸多的优点受到人们的欢迎。本文结合实际太阳能热水器的具体应用,通过软硬件设计,实现以51系列单片机为核心器件,扩展外围接口电路,如键盘与显示等。实现按设定时间自动上水、手动上水以及上水期间有音量提示;阴冷天按照设定温度要求可自动加热等功能。关键词单片机;太阳能;热水器内蒙古科技大学毕业设计说明书(毕业论文)IISOLARENERGYWATERHEATERBASEDONMCUCONTROLLERDESIGNABSTRACTABSTRACTTODAY,ENVIRONMENTALISSUES,ENERGYISSUESHAVEBECOMEINCREASINGLYPROMINENT,TOGIVEOURLIVESHASBROUGHTGREATPRESSUREALTHOUGHTHESEYEARSEMERGINGENERGYALREADYOBTAINEDTHEVERYGOODDEVELOPMENT,BUTSTILLCANNOTSOLVETHEINCREASINGLYSERIOUSENERGYPRESSUREASARESULTOFNONRENEWABLERESOURCESAREGRADUALLYREDUCEDNATURALLYWEWILLFOCUSONSOMERENEWABLERESOURCE,ITWILLHAVETOSOLARENERGY,SOLARENERGYTOOURCURRENTCHARACTERITMAYBESAIDISANINEXHAUSTIBLEINEXHAUSTIBLETREASURE,HOWEVERDUETOOURCURRENTSCIENTIFICANDTECHNICALHANDPARAGRAPHWASNOTVERYGOODUSEOFITSTENONEORTWOINTHISDESIGNIWILLGIVEYOUAPRESENTISALREADYRELATIVELYMATURESOLARENERGYAPPLICATIONTECHNOLOGY,HEISTHESOLARWATERHEATERTHESOLARENERGYWATERHEATERWITHITSMANYADVANTAGESISWELCOMEOFPEOPLETHROUGHTHESOFTWAREANDHARDWAREDESIGN,REALIZATIONTO51SERIESMICROCONTROLLERASTHECOREDEVICE,PERIPHERALEXPANSIONINTERFACECIRCUIT,SUCHASTHEKEYBOARDANDDISPLAYACCORDINGTOTHESETTIMEREALIZEAUTOMATICSHEUNGSHUI,MANUALSHEUNGSHUIANDSHEUNGSHUIDURINGTHEVOLUMETIPCOLDDAYTEMPERATURECANBESETACCORDINGTOREQUIREMENTSHEATINGETCFUNCTIONKEYWORDSSCM,SOLARENERGYWATERHEATER内蒙古科技大学毕业设计说明书(毕业论文)III目录第一章前言111太阳能热水器的发展概况及市场竞争分析112太阳能热水器的应用及意义2第二章设计思路及仿真软件321方案设计322关于PROTEUS3第三章太阳能热水器控制系统硬件设计931各单元模块功能及设计932基于AT89C51单片机及其外围电路单元933水位检测和温度检测接口电路11331上水及排空控制电路和辅助加热电路133324X4矩阵键盘设计14333显示接口电路的设计1734特殊元件介绍19341AT89C51芯片19342温度传感器DS18B202634374LS164简介29第四章控制系统的软件设计3141主程序设计3142LED显示子程序3143键盘中断子程序32内蒙古科技大学毕业设计说明书(毕业论文)IV参考文献34附录136内蒙古科技大学毕业设计说明书(毕业论文)1第一章前言11太阳能热水器的发展概况及市场竞争分析目前,我国已经成为全球最大的太阳能热水器生产销售国家之一,年产量几乎是全世界所有的国家生产量之和,已经有100多家生产太阳能热水器的厂家遍布全国各地。但是最为核心的控制系统我们目前却还是一直处在研究与开发的初级阶段,这是个很尴尬的事情。我们的控制系统只是简单有一些显示温度和显示液位的功能,而并没有很强的温度控制功能,不能满足需要,因为当遇到各种由光照条件不足的情况下,我们的用户使用起来就非常的不方便;即便是一些有辅助加热功能的热水器,也由于不能很好的控制加热温度加热时间等而产生各种问题,由此大大的浪费了能源。本设计将重点解决这一问题,这款控制系统我们以AT89C51这一十分常用的单片机作为我们检测控制的核心元件,不但可以很好的实现对时间、温度和水位所有系统参数实时显示和控制,还可以根据用户需要自行实现时间、温度的设定以及控制等强大功能。对于大滞后参数温度我们采用采用模糊控制,这样控制系统就可以根据当地天气状况的实时条件应用系统的辅助加热装置实现在预定时间加热蓄水箱内水的水达到用户预先设定的温度,这样就实现了24小时内都有热水供应的用户需求。目前,太阳能热水器是我们已知的最为常见,最为成熟的一种成熟型产品,他有着十分广阔的市场前景和巨大的经济效益,现在已经得到了十分迅的推广以及应用,太阳能热水器所必须的热能,为我们使用,方便快捷。当今社会发展日新月异,人们衣食住行生活水平也在不断的提高。现在市场上用的电热型热水器虽然也应用很广但是应为费用比较昂贵以及他在安全性的局限性远无法和我们绿色低碳的太阳能热水器比。这样的市场背景就极大的方便了阳能热水器壮大和发展。因为太阳能热水器并没有上述缺点,他是绿色低碳环保型产品。这一款热水器他包括主、从两部分系统主系统的最大特点是在光照条件足够的情况下利用阳光能加热;而从系统就是相当于现有的电热水器。在由于光照条件不足的情况下用电加热它在无光照的情况下利用电辅助加热。它充分利用太阳能的丰富的免费的资源的优势,同时考虑到在阴天及夜间无法利用太阳能的来满足用户需求。内蒙古科技大学毕业设计说明书(毕业论文)2这就很好的解决了现有市场热水器的一些尴尬问题,方便了人们的日常生活。12太阳能热水器的应用及意义我们都知道,可再生资源,太阳能是一种非常环保且储量及其庞大的新型能源。随着我们现在经济以及科技的发张能源问题已经日益严重,目前我们拥有的传统能源的储量在迅速的减少,而且这一趋势还将日益严重,这就迫使我们尽量开发新能源,而太阳能毫无疑问是一个绝佳的选择,太阳能以其种种优势今后必将成为我们的主要能源。当然太阳能也有其局限性和其自身的劣势,不过随着我们科学技术的进步这些问题都将得到很好的解决目前的一些技术难题终将被攻克。相比较而言,在现有的太阳能技术的利用中,太阳能热水器已经是最为成熟并且已经得到普遍推广使用的成熟型技术。这一技术已经被人们普遍的接受并广泛应用,已经给我们的能源问题缓解了压力,也已经改善了我们日益严重的环境问题,有理由相信在不久的将来他必将得到更好,更长远的发展。我们国家很早就已经开始发展与推广太阳能热水器了,而且也取得了很好的成绩,现在我国已经是全球从推广、应用等最为成熟的国家。这些年涌现出了许多许多有自己特色的而且规模宏大的,属于我们自己的太阳能企业。我们拥有自己的学术中心,有我们自己的发展技术中心,可以说我们已经形成了一个体系,一个逐步完善与壮大的太阳能发展利用的体系。当然并不是只用我们能看到太阳能的这一巨大优势,全世界各国都在积极的发展这这一新兴能源,并且也取得了一定的成果。我们并不能放松,还需要继续加大力度。内蒙古科技大学毕业设计说明书(毕业论文)3第二章设计思路及仿真软件21方案设计本设计中的太阳能热水器控制系统AT89C51单片机为检测控制中心单元,不仅可以同时实现对温度以及水位这两种系统参数的实时性的显示功能,而且还可以根据用户需求对时间、温度以及其水位状况实现与设定。该控制系统还能够根据当地实际的太阳光照条件利用辅助加热器即我们通常的电加热器来使蓄水箱里面的水可以达到用户预先设定好的设定温度,这样就可以实现全天候不间断的24小时热水供应。总体设计框图如图21所示。图21系统硬件结构框图22关于PROTEUSPROTEUS这款软件是由英国LABCENTERELECTRONICS公司出版的一款EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不但用有很多其他的EDA工具软件所拥有的仿真功能,而且这款软件还可以仿真单片机及外围器件,这是其他一些EDA软件所不具有的。它可以说是目前在单片机及其外围器件的仿真工具中是最为MCS51单片机水箱电源键盘输入辅助加热LED显示报警提示温度传感器电磁阀液位传感器手动排水手动上水内蒙古科技大学毕业设计说明书(毕业论文)4方便快捷,而且功能强大的仿真软件。虽然在我国国内的推广起步比较晚,但是这并不影响其深深地被广大的单片机爱好者以及那些长期以来一直在从事单片机这一相关行业的人士,还有那些长期以来一直致力于单片机系统的开发应用的那些科技工作者们他们的青睐与喜爱。他之所以如此广受好评与欢迎与其自身的强大功能密不可分。不论是原理布图亦或者是单片机其他外围电路的一些协同仿真以及必不可少的代码调试,PROTEUS是十分的完整与快捷,它还可以非常方便的一键切换到PCB的设计当中,从真正意义上实现了把电路仿真软件、PCB设计软件和模拟模型仿真软件这三款软件三合为一的强大的设计平台。它的处理器模型可以说是支持目前市场上几乎所有常见的那些单片机。更为优越的是他在编译方面,也同样强大支持了常见的多种编译器。PROTEUS软件具有原理布图、PCB自动或人工布线及SPICE仿真这些其它EDA工具软件(例MULTISIM)的功能。并且有自身的突出特点用户完全能够实时的使用像RAM,ROM,键盘,马达等等这些器件,实现我们设计的电路的互动仿真;可以仿真市场常见的主流51单片机甚至可以在根据我们自己的原理图实现原理图的虚拟原型上编程,然后再配合适当的显示器进行输出,这样我们就完全可以看到在其必须要运行以后才能看到的输入输出的效果。在配合系统自身配置的虚拟逻辑分析仪、示波器等,PROTEUS就建立了一个十分完善的功能强大的电子产品的设计与开发的环境。(1)智能原理图设计(ISIS)丰富的器件库超过27000种元器件,可方便地创建新元件;支持智能器件搜索通过模糊搜索可以方便快捷的找到我们要找的器件;支持智能连线;支持总线结构非常方便清晰的简化我们的设计中的复杂的线路;支持高质量图纸的输出。(2)完善的电路仿真功能(PROSPICE)PROSPICE混合仿真;超过27000个仿真器件还可以自行设计我们需要的仿真器件,LABCENTER也在不断地发布这各种新的仿真器件,他还可以导入第三方发布的仿真器件以供我们的方便使用;多样的激励源;各种虚拟仪器有13种虚拟仪器,操作效果十分清晰逼真;仿真显示内蒙古科技大学毕业设计说明书(毕业论文)5它的引脚的数字电平是用不同颜色的色点来显示,而且导线以不同颜色还可以表示其对地电压大小,结合各种我们所需的动态器件(如电机、显示器件、按钮)的使用那就使得我们的仿真效果更加清晰直观;高级图形仿真功能(ASF);(3)独特的单片机协同仿真功能(VSM)支持主流的CPU类型,而且CPU类型将会随着版的本升级继续不断的增加,如即将支持CORTEX、DSP处理器;支持通用外设模型,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通讯;实时仿真支持几乎所有的主流仿真;编译及其调试支持单片机中最为原始普遍的汇编语言仿真,其内部本身就带有8051等的汇编编译器,还可以与我们熟悉的IAR,KEIL其他第三方集成编译环境(如IAR、KEIL和HITECH)相互结合,进行高级语言像C语言,C等的源码级仿真以及调试的工作;(4)实用的PCB设计平台原理图到PCB的快速通道当我们把自己的原理图设计好后,我们非常方便的就可以一键可进入ARES的PCB设计环境,这样我们就能够完美的实现各个产品的概念及实际产品的设计;强大的布线功能无需我们自己动手不仅支持自动布局还支持器件自动布线;支持各个不同引脚之间的交换或者不同门之间的交换,这样就使的PCB的设计更加的合理更清晰;PCB设计功能最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D可视化预览;内蒙古科技大学毕业设计说明书(毕业论文)6PROTEUS有着丰富的资源1PROTEUS给我们提供了的元器件资源十分丰富,有超过三十个可供我们选择的元件库,除此之外更有远超过几千种的丰富元件来支持我们设计中的不同选择数字模拟,交流直流可谓是应有尽有,给我们的设计带来了极大的方便。2PROTEUS可提供的各种仿真仪表资源他不仅给我们提供了丰富的元器件资源同时也提供了各种仪表等仿真元件像十分常见的示波器、逻辑分析仪等等亦或者是像SPI调试器、I2C调试器这些高端的调试器或者各种主流信号发生器,模式发生器;还有所有交直流电压电流等仪表。我们实现了同一仪器可以方便的在同一电路中随便的移动调换使用。3PROTEUS还超越我们想像的给我们提供了一个十分强大的功能那就是图形显示功能,我们这样就可以随意的将线路上各种不断变化着的信号,以清晰直观的图形的方式非常直观动感的呈现在我们面前,这一功能咋看和示波器有些相似但是却远远的超过示波器,它的功能更加完善。所有这些虚拟仪器仪表都很完美的具有了我们理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。4PROTEUS可提供的调试手段PROTEUS在电路的信号测试中拥有这非常丰富的测试信号。所有这些测试信号不但包括了包括模拟信号而且还有数字信号。电路仿真在PROTEUS绘制好原理图后,调入已编译好的目标代码文件HEX,我们可以在PROTEUS的原理图中非常直观的看到我们所模拟出的那些实际物体的运行状态和过程。PROTEUS是单片机课堂教学的先进助手。PROTEUS不但把一些非常枯燥无聊的单片机实例改变的非常形象,而且还把内蒙古科技大学毕业设计说明书(毕业论文)7许多实力运行的过程更加直观的呈现在我们面前,是我们更加容易接受。虽然前者我们可以理解为在一定程度上的实现实物演示所带来的直观实验的效果,可是后者却是我们一般的实物演示实验所非常不容易达到的那种效果效果。他虽然提供很多新的东西但是它的元器件包括它的连接线路等却和我们以前常见的传统意义的单片机实验硬件还能狗非常好的一一对应。这就是说在某些程度上已经替代了我们传统意义上的那些的单片机实验所能狗带来的教学功能。我们现在的学生为了在将来很好的走向就业,我们就要提高我们的实际动手能力,课程设计或者是毕业设计这就是我们提高我们实际能力的一个十分重要平台或者是环节。在我们院校的实际实验室中资源或许并不能满足我们的需求这时PROTEUS就成为我们最好的选择。现今科学技术发展十分迅猛,我们改变很多与以往不同的想法,以便能更好的利用科技进步所带来的便捷,“计算机仿真技术”或许以前我们并不熟悉,但是在今天他或许已经是我们必不可少的做产品开发设计的一个强大工具。毫无疑问我们它选择他是因为我们看重其设计灵活,过程趣味化,以及结果更加直观的诸多优点。这样就最大限度的缩短了我们的设计时间,提高了效率,同时也降低了过程中的损耗,甚至很大程度的降低了我们设计中或制造中的风险。我们有理由相信在单片机的外来的开发与应用的过程中PROTEUS也势必将得到更好的推广与发展。基本操作1、选择元件P按钮2、选择要使用的元件在PICKDEVICE窗口双击相应元件名称,即可将元件添加到主界面左侧的列表中3、放置元件到绘图区内蒙古科技大学毕业设计说明书(毕业论文)8单击列表中的元件,然后在右侧的绘图区单击,即可将元件放置到绘图区。(每单击一次鼠标就绘制一个元件,在绘图区空白处单击右键结束这种状态)4、删除元件右击元件一次表示选中(被选中的元件呈红色),选中后再一次右击则是删除。5、移动元件右击选中,然后用左键拖动。6、旋转元件左下角旋转工具栏7、元件连线在引脚上鼠标指针变成X状,单击,移动到目的引脚,再次单击。8、删除连线同删除元件9、绘制电源和地单击工具栏上的左起第8个工具(INTERSHEETTERMINAL),左侧工具栏显示TERMINALS,可在其中选择POWER或GROUND,像放置元件一样放置到绘图区。目前PROTEUS的最新版为710,ARMCORTEX处理器被增加,在79中已经增加DSP系列(TMS320)。内蒙古科技大学毕业设计说明书(毕业论文)9第三章太阳能热水器控制系统硬件设计在本章节中主要解决太阳能热水器硬件各单元模块的功能以及要用到的元件。31各单元模块功能及设计硬件部分主要分为AT89C51外围电路单元、水位检测及温度检测电路、辅助加热电路、键盘输入电路和LED显示电路。32基于AT89C51单片机及其外围电路单元单片机系统由AT89C51和一定功能的外围电路组成,包括为单片机提供复位的复位电路,提供单片机工作时所必须的时钟信号的时钟电路,如图31所示。在单片机中,RST引脚时复位信号输入端,复位信号为高电平时有效,其有效时间应持续24个振荡周期以上才能完成复位操作。复位电路极性电容C3的大小直接影响复位时间,一般采用10至30UF,容值越大需要的复位时间越短,在本设计中,使用的是约为12MHZ的石英晶体振荡器,这时电容C3的大小选取10UF,R1和R2的大小分别是200和和1K,这样就能进行可靠的上电复位和手动复位操作,时钟是单片机运行的基础,因此,时钟的速度和稳定性都直接影响单片机的工作。单片机的时钟信号一般来说有常见的两种电路方式内部振荡方式和外部振荡方式。本设计我们采用其更为常见的内部振荡方式,在其引脚XTAL1和引脚XTAL2之间外接一个晶振和微调电C1、C2,这样与AT89C51单片机本身自带一个高增益的反相放大器就可以顺利的一起来构成常见且很有用的自激振荡器,以此来产生振荡时钟脉冲。C1和C2的作用主要是用来快速起振以及能够很好的稳定振荡频率,本设计中选取的是电容值大小001UF的两个电容。晶振频率的典型值为6MHZ、12MHZ和24MHZ,,高可达到40MHZ。晶振的频率越高,系统时钟频率也越高,单片机的运行速度就越快,本设计选取的是12MHZ。内蒙古科技大学毕业设计说明书(毕业论文)10单片机是按照一定的时序为基准来工作的,其基准就是时钟的振荡的频率,所有操作都是以时钟频率的倍数为最小单位来进行的。时钟周期是单片机的基本时间单位,晶振的振荡的频率为12MHZ时,时钟周期时,为1/12US00833US。机器周期是CPU完成一个基本操作所需要的时间。单片机中常把执行一条指令的过程分为几个机器周期,每个机器周期内完成一个基本操作。单片机以每12振荡周期为一个机器周期,晶振频率为12MHZ时,机器周期为12/12US1US。图31AT89C51单片机外围电路这部分单元在PROTEUS软件里的仿真图如图32所示。内蒙古科技大学毕业设计说明书(毕业论文)11图32AT89C51单片机外围电路仿真图33水位检测和温度检测接口电路热水器都有一个蓄水箱,而我们要对其水位和温度这两个重要参数进行相关检测和控制,这是这一设计的重点,我们只有能够准确的检测出这两个参数才能对其进行相关控制,才能通过单片机的软件部分计算什么时候需要进行辅助加热。然而要真确检测出这些数据我们有很多传感器可以选择,综合考虑系统成本等其他相关因素,在本设计中我们采用分段式的这种液位传感器,在水位显示上我们也是采用分这种传感器。水位检测部分的硬件连接如图33所示。图33水位监测及显示接口电路内蒙古科技大学毕业设计说明书(毕业论文)12检测原理如下当水箱中无水,4个非门输入端全部由一个大小为1M欧姆的上拉电阻我们把他上啦成高电平,所以图中各非门输出就都是低电平,这样发光二极管LED1LED4就都不会点亮。向水箱注水当水位高出非门1那个时候由于水的导电作用使得非门1的输入探针导电这就使得,使其输入端很容易的变为了低电平,所以自然而然其输出端就变为了高电平,LED就点亮了,其他的都是一个道理就不一一举例。随着水位的上升,各非门输出相继为高电平,LED依次点亮。因为水是有电阻的这就提醒我们所选的上拉电阻不可以太小,要足够大,以保证在水位升高的过程中能把非门的输入端绝对的上啦成为低电平。更具经验,这个上拉电阻我们一般选择在500K1M欧姆左右就足以解决上诉问题且能很好地满足电路的工作要求。这部分电路单元在PROTEUS里的仿真图如34所示。由于PROTEUS里做不出水箱所以本设计里将水位到达的那一位置用开关来表示,即水位到了那一位置,开关闭合。如图所示,假设水位到达第一个水位段,则开关1闭合,LED1亮,依此类推。为了使AT89C51随时能够读出当前的水位情况,这里把水位信号直接连接这里把水位信号直接连接到P24P27。蓄水箱温度检测电路采用DS18B20芯片使其换成脉冲信号,与P20相连送到AT89C51的的I/O口,通过测量输出脉冲频率的大小来换算成水温高低信号,其在来换算成水温高低信号,在PROTEUS里的仿真图如图35所示。图34水位检测电路仿真图内蒙古科技大学毕业设计说明书(毕业论文)13图35DS18B20与AT89C51连接图仿真331上水及排空控制电路和辅助加热电路太阳能热水器要具有自动上水以及手动排空的功能。其结构图如图36所示。图36上水及排空结构图太阳能热水器开始工作后,其水箱里是要有一定水位的,在这里设定为1单位水(这个单位是指水箱满水位后将其平均分成N份中的一份),不足1单位水时通过单片机控制冷水水阀来向太阳能热水器水箱里加水,到1单位后通过水位检测得到结果送到单片机里得到结果送到单片机里,其通过控制冷水水阀停止加水。在单片机内蒙古科技大学毕业设计说明书(毕业论文)14里设定用水时间及温度后,由于各地日照时间不一样,因此预加热时间通常是在用水时间前1小时通过单片机查询得来,预加热时间到达后开启辅助加热电路,辅助加热电路如图37所示,其余部分时间都是有日照来使水温上升的。水箱里的水温超过设定水温时,单片机控制冷水水阀向水箱里加1单位水,加1单位水后通过水位检测电路返回给单片机,停止加水。在实际生活中,要保持干净卫生,太阳能热水器里的水每隔一段时间是要定期换水,这一部分功能通过手动控制装置来控制,就不与单片机相连增加其复杂度。图37所示是太阳能热水器的辅助加热部分,工作原理当单片机AT89C51P21口输出高电平时,三极管T1导通导通,致使发光二极管发光,同时光敏三极管T2导通,继电器闭合,电阻丝R1R4发热,这样就完成了加热任务,此电路虽然简单,但在太阳能热水器但在太阳能热水器中是必不可少的。图37辅助加热电路图内蒙古科技大学毕业设计说明书(毕业论文)153324X4矩阵键盘设计在我们常见的一些单片机系统中,如果所需要设定的按键数量比较多的时候,我们就可以考虑矩阵式键盘,这种键盘通常也被称作行列式键盘,这种键盘与那种独立式按键键盘相比较能够节省出很多的I/0口。图38中为AT89C51单片机P1口构成的中断方式44键盘键盘电路。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。采用编程扫描或定时扫描方式时,这样的话不管我们是不是去按下其中的一个键,CPU都会无时无刻不停的去扫描键盘,但是我们都知道单片机应用系统在正常工作时的情况下,其实根本不需要经常的去烧苗其键盘输入,这样的话就是说CPU基本一直处在一种空扫描的状态下,极大的浪费了CPU资源。为能够更好的提高CPU的工作效率,在本设计中我们选择中断扫描的这样一种工作方式。它的工作过程如下只要没有按键按下的时候,CPU就可以不去扫描只处理自己的工作;当有任意一个键按下的时候,就产生一个中断请求信号,CPU停下自己的工作在去执行键盘扫描的子程序,这样在识别键号。图38中,键盘的行线与P1口的低四位相连,键盘的列线与P1口的高四位相连,因此,P10P13是键输出线,P14P17是扫描输入线。图中的4输入与门用于产生按键中断,其输入端与各行线相连,在通过上拉电阻接至5V电源电源,其输出端接至单片机的外部中断输入端。电路工作过程如下当键盘无键按下时,与门各输入端均为高电平,保持输出端为高电平;当有键按下时,输出端为低电平,向CPU申请中断,若CPU开放外部中断,则会响应中断请求,转去执行键盘扫描子程序。16个键号个键号KI(I0F)次序为从左向右,从上向下依次排列。内蒙古科技大学毕业设计说明书(毕业论文)16图38AT89C51P1口构成的44中断方式键盘这部分电路在PROTEUS里的仿真图如图39所示。图39中断方式键盘电路的仿真图键盘扫描工作原理我们假设以图中“8”号键的识别过程作为一个例子来详细的说明扫描法究竟是如何识别某一个按键的过程。按键按下,那么和这个键相连的两条行线、列线就会导通,行线在没有任何键按下的时候是处于高电平的。这就必须把每一条列线都让其处在低电平,只有在这样的情况下,如果再有某个键按下的时候,那么这个键所在的那一行,行电平就会由高电平转变为低电平。这时CPU就会根据这一行电平的变化,来判定相应行的到底是否有键按下。为进一步的确定具体是那一个键,这就不能同时把所有的列线在同一个时刻全部都处在低电平,我们可以在某一时刻仅仅让其中一条列线处在低电平,而其余的所有都处在高电平,在另一时刻的时候,就让下一列处在低电平,这样循环下去。在“8”号键按下时的整个工作过程,当第0列处于低电平时,第2行处于低电平,而第1、2列处于低电平时,第2行却处于高电平,由此可判定按下的键应是第2行与第0列的交叉点,即8号键。16个键号,09定义为数字键了,AF定义为功能键,A定义为时间,即A按下进行时间设定,B定义为温度,即B按下进行温度设定,C定义为上水,即C按下单片机通过外接设备对水箱进行加水,D定义为确定键。E定义为清除键。内蒙古科技大学毕业设计说明书(毕业论文)17333显示接口电路的设计LED数码管显示是利用半导体发光制成条形的发光二极管,封装在一起组成数字或其他符号形状。数码管根据公共端不同,分为共阴极和共阳极两种形式。本设计中选用7SEGMPX4CC4个共阴极二极管显示器。这种类型的显示器,在它的内部中,除各个公共端外,是把各个显示器的同名端并联起来的。比如说,四位一体的LED显示器,是每个脚的同名端并接,所以仍是有8个引脚,再加上4个公共端,就是有12个引脚。本设计中这部分的仿真电路图如图310所示。内蒙古科技大学毕业设计说明书(毕业论文)18图310显示电路数码管的分类数码管如果按段数分为七段的和八段的数码管,八段的就是比七段的多出一个二极管(也就是显示小数点的那一位);如果按照显示“8”的个数的多少来分的话那就可以分为1位,2位和4位数码管;假设按照他们内部单元的连接方式来分的话就可以分为共阴和共阳极,把每个小发光二极管的阳极相连所得到的就是共阳极数码管,在使用的时候需要在公共端接一个高电平,在电路中某一字段的发光二极管由于电平的变化使得其阴极变为了低电平,那么这时候这一字段就会点亮,反之。驱动方式要使数码管要正常显示,就要使用驱动电路来驱动数码管的各个段码,这样才能显示出我们要的那一个数字,因此根据所用的数码管的使用的不同的驱动方式,这样就可以两种一种是静态式和另一种动态式。静态显示驱动通常我们所称的直流驱动也就是通常所谓的静态驱动。静态驱动指的就是将数码管里的每一个段码都要由单片机中的某一个的I/O端口来进行驱动显示。动态显示驱动数码管的动态显示接口在一般的常见的单片机的使用中是非常广泛的也是最为常见的一种普通的显示方式之一。数码管应用电流静态时的时候推荐使用1015MA的电流,当动态的时候,由于16/1动态扫描的时候,那么平均电流就为45MA,峰值为电流5060MA。1、显示效果由于发光二极管内部本身基本上属于电流的敏感型器件,而其正向电压降的分散性就很大,而且与温度还有很大关系,数码管必须要具有十分良好的亮度以及均匀度,这就要求他具有非常恒定而且稳定的工作电流,还要尽量避免被温度以及其他外界因内蒙古科技大学毕业设计说明书(毕业论文)19素所干扰。另外,如果遇到温度变化的时候驱动芯片必须能够很好的自动调节其输出电流的大小以此来实现色差以及平衡温度的补偿。2、安全性发光管很容易收到损坏的即便使是很短时间的电流过载也是非常有可能对这发光管非常严重且是永久性的严重损坏,假设采用恒流驱动后就可以防止由于各种由于电流故障所引起的导致数码管的大面积损坏。像其他一般超大规模集成电路一样都是具有热保护功能的,假设其中任何一片的数码管温度超过其本身的一定值的时候就可以自动关断了,并且还可以很容易的在控制室内看到所有的故障显示。怎样来测量数码管的引脚,分共阴和共阳找公共共阴和公共共阳首先,我们找个电源(3到5伏)和1个1K(几百的也欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。34特殊元件介绍341AT89C51芯片AT89C51是一种带4K字节FLASH存储器(FPEROMFLASHPROGRAMMABLEANDERASABLEREADONLYMEMORY)的低电压、非常高性能的CMOS8位主流微处理器,也就是人们俗称单片机。单片机的可擦除只读存储器是限制的不可以无限制擦除只可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器的先进的制造技术而制造成的,他是与通常的工业标准的MCS51的指令集以及输出管脚全部相互兼容的,可以有很好的兼容性。由于将具有很多功能的8位CPU和闪烁存储器而组合而成在单个芯内蒙古科技大学毕业设计说明书(毕业论文)20片当中中。主要特性与MCS51兼容4K字节的可编程FLASH存储器寿命1000写/擦循环数据保留时间10年全静态工作0HZ24MHZ三级程序存储器锁定1288位内部RAM32位可编程I/O线两个16位定时器/计数器5个中断源可以进行编程的串行式通道闲置、掉电模式在片内的振荡器和时钟电路表1中断向量表内蒙古科技大学毕业设计说明书(毕业论文)21特性概述AT89C51提供以下标准功能4K字节的FLASH(闪存),以及拥有128个字节的内部RAM,32个I/O口线,还有其自带的两个16位的定时/计数器,以及一个有5个中断向量的二级中断结构,还有那一个全双工方式的串行通信接口,以及单片机的片内自带振荡器及时钟电路。同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口不会停止运行,而且中断系统也还保持原来的状态。在突然掉电的情况下RAM里面的内容将会被完整的保存下来而不丢失,与之不同的是振荡器停止工作,全部的硬件正在执行的工作也会被停止,一直等到一个硬件复位的信号。单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢SBUF数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF而不是收发各用一个寄存器。”实际上SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H地址用关键字SFR定义为一个变量就可以对其进行读写操作了,如SFRSBUF0X99当然你也可以用其它的名称。内蒙古科技大学毕业设计说明书(毕业论文)22通常在标准的REG51H或AT89X51H等头文件中已对其做了定义,只要用INCLUDE引用就可以了。SCON串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。FOSC代表振荡器的频率,也就是晶振的频率。REM为允许接收位,REM置1时串口允许接收,置0时禁止接收。REM是由软件置位或清零。如果在一个电路中接收和发送引脚P30,P31都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM0来禁止接收,在子程序结束处加入REM1再次打开串口接收。大家也可以用上面的实际源码加入REM0来进行实验。TB8发送数据位8,在模式2和3是要发送的第9位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。RB8接收数据位8,在模式2和3是已接收数据的第9位。该位可能是奇偶位,地址/数据标识位。在模式0中,RB8为保留位没有被使用。在模式1中,当SM20,RB8是已接收数据的停止位。TI发送中断标识位。在模式0,发送完第8位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI置位后,申请中断,CPU响应中断后,发送下一帧数据。在任何模式下,TI都必须由软件来清除,也就是说在数据写入到SBUF后,硬件发送数据,中断响应(如中断打开),这时TI1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。RI接收中断标识位。在模式0,接收第8位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI1,申请中断,要求CPU取走数据。但在模式1中,SM21时,当未收到有效的停止位,则不会对RI置位。同样RI也必须要靠软件清除。常用的串口模式1是传输10个位的,1位起始位内蒙古科技大学毕业设计说明书(毕业论文)23为0,8位数据位,低位在先,1位停止位为1。它的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。AT89C51和AT89C2051等51系列芯片只有两个定时器,定时器0和定时器1,而定时器2是89C52系列芯片才有的。波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600个二进位,而一个字节要8个二进位,如用串口模式1来传输那么加上起始位和停止位,每个数据字节就要占用10个二进位,9600波特率用模式1传输时,每秒传输的字节数是960010960字节。51芯片的串口工作模式0的波特率是固定的,为FOSC/12,以一个12M的晶振来计算,那么它的波特率可以达到1M。模式2的波特率是固定在FOSC/64或FOSC/32,具体用那一种就取决于PCON寄存器中的SMOD位,如SMOD为0,波特率为FOCS/64,SMOD为1,波特率为FOCS/32。模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢可以用以下的公式去计算。波特率(2SMOD32)定时器1溢出速率上式中如设置了PCON寄存器中的SMOD位为1时就可以把波特率提升2倍。通常会使用定时器1工作在定时器工作模式2下,这时定时值中的TL1做为计数,TH1做为自动重装值,这个定时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式2下定时器1溢出速率的计算公式如下溢出速率(计数速率)/256TH1管脚说明内蒙古科技大学毕业设计说明书(毕业论文)24VCC电源。GND接地端。P0口P0口他是一个有8位漏级开路的双向I/O口,其任何一个引脚都可以吸收8个TTL的门电流。假如我们是第一次写当P0口的管脚的时候,这样就被定义成了高阻输入。P0还能当作外部的一些程序的数据存储器使用,在需要低位数据/地址位的时候还可以用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的一些特殊功能口,如下表所示口管脚备选功能内蒙古科技大学毕业设计说明书(毕业论文)25P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(记时器0外部输入)P35T1(记时器1外部输入)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。内蒙古科技大学毕业设计说明书(毕业论文)26EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,在这里的内部程的序存储器。在FLASH编程期间,这个引脚通常也用于施加在12V编程电源(VPP)。XTAL1内部时钟工作电路的输入也或者是其反向振荡放大器的输入及XTAL2反向振荡器输出。如图311所示。振荡器特性XTAL1和XTAL2这两个引脚一个是反向放大器的输入,另一个是其输出。这个反向放大器可以采用石晶震荡或者是套餐震荡来以此配置成为一个片内振荡器。假设我们采用外部来的时钟源一次来驱动器这一件,那么XTAL2就不应该连接。由于要输入到内部时钟里面的信号都要很好的通过一个二分频的触发器里面,因此这样就对外部的时钟信号的脉宽降低了要求,可是确是一定要保证其脉冲的高低或者其电平所要求的宽度。内蒙古科技大学毕业设计说明书(毕业论文)27图311AT89C51芯片引脚图342温度传感器DS18B20DS18B20是DS1820的升级更新之后的升级的代产品他由美国DAIIAS公司生产。具有很多优点比如说其很体积小,且分辨率高,还有换快等许多优点。但是由于每一片DS18S20只有一个单一的的硅串行数,因此在一条总线上那么就最多只能挂接2482181014只DS18B20,而又由于DS18B20有其独特的单线的总线结构,因此就决定了DS18B20非常适合于那些比较大型线路比较多的比较复杂实时控制系统来来检测系统的温度。对于复杂温度系统的实时测控方面的设计,在实现大型系统温度的控制方面就非常好地利用了DS18B20的独到特到特点而使得这一系统变的非常简约。DS18B20的特性1单线接口方式。DS18B20,仅仅只需要一个I/O口也就能够非常好的实现与微处理器与DS18B20之间的双向通讯。内蒙古科技大学毕业设计说明书(毕业论文)282DS18B20支持自组网络的功能,如果有很多个DS18B20那么就能够并联在那唯一的单线上,以此很容易就能实现多点测温。3DS18B20的检测温度的范围是55125,而当其在1085的时候,其精度很高是015。4DS18B20其检测出来的温度的结果是912位这些数据量。5DS18B20的里面是含有一个寄生电源的,其他元器件完全可以由单线向总线来供电,反之也可他的外接电源来供电。数字化温度传感器DS18B20它的增量值是05一个9位的温度的读数,其组成大致可以分为四部分一部分一个64位的ROM;还有温度传感器;还有就是非易失性的DS18B20温度告警触发器TH和TL;最后一部分是高速的便笺存储器他也是64位的ROM作用是用来存储那些序列号码,其首字节固定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年炼钢设备操作知识中级考试热点梳理与预测题
- 2025年炼钢工中级考试模拟题与答案
- 2025年财务管理专业考研冲刺题库
- 2025年建筑工程设计师专业能力提升训练题集
- 电力变压器基础知识培训课件
- 2025年大学英语四六级考试CET6听力突破技巧
- 2025年教育机构销售代表招聘笔试模拟题集及解析
- 2025年边防军事技能模拟考试题库及答案
- 2025年特岗教师招聘面试辅导初中地理考点详解
- 电伤基本知识培训内容课件
- 安全- 中国移动认证考试L1题库(附答案)
- 干部民主推荐表(样式)
- 【公开课】社区教案
- 平面磨床操作时注意事项
- 高考语文一轮复习备考小说语言 (共25张ppt)
- GB/T 29651-2013锰矿石和锰精矿全铁含量的测定火焰原子吸收光谱法
- GB/T 13275-1991一般用途离心通风机技术条件
- 核心素养下的高考语文命题评价体系讲座课件
- 高一英语必修一试卷(含答案)(适合测试)
- 《一次函数的图像》-完整版课件
- 电子束曝光机说明书
评论
0/150
提交评论