基于51单片机恒温箱设计

上传人:无*** 文档编号:48878199 上传时间:2022-01-15 格式:DOCX 页数:34 大小:755.95KB
返回 下载 相关 举报
基于51单片机恒温箱设计_第1页
第1页 / 共34页
基于51单片机恒温箱设计_第2页
第2页 / 共34页
基于51单片机恒温箱设计_第3页
第3页 / 共34页
点击查看更多>>
资源描述
信息工程学院课程设计报告信息工程学院课程设计报告课题名称:恒温箱设计姓名*/学号*专业年级组指导教师以2012年11月05日摘要第一章绪论1.1 背景1.2 课程目的1. 3课程意义第二章硬件设计及工作原理2. 1.AT89C513. 2温度传感器4. 3光耦合5. 4MAX2326. 5显示部分7. 6输入部分8. 7执行部分2. 8系统电路以及工作过程第三章系统的应用软件设计3. 1键盘管理模块3. 2显示模块9. 3检测模块第四章结束语参考文献摘要介绍了基于AT89s51单片机的恒温箱控制系统,系统分为硬件和软件两部分,其中硬件包括:温度传感器、显示、控制和报警的设计;软件包括:键盘管理程序设计、显示程序设计、控制程序设计和温度报警程序设计。编写程序结合硬件进行调试,能够实现设置和调节初始温度值,并实现了温度在土1C误差的自动调节,进行数码管显示。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89s51作为主控芯片,数码管作为显示输出,实现了对温度的实时测量与恒定控制。关键词:单片机AT89c51恒温控制ABSTRACTIntroducestheAT89S51basedontheconstanttemperatureboxcontrolsystem,hardwareandsoftwaresystemisdividedintotwoparts,thehardwareinelude:temperaturesensor,display,controlandalarmdesign;Thesoftwareineludes:thekeyboardmanagementprogramdesign,displayprogramdesign,controlprogramdesignandtemperaturealarmprogramdesign.Writeaprogramcombinedwithhardwaredebugging,willbeabletorealizethesetandadjusttheinitialtemperature,andrealizethetemperaturein10Cerrorautomaticadjustment,digitaltubedisplay.Thisdesignfrompracticalapplicationwereselectedbasedonsmallvolume,relativelyhighprecisionofthedigitaltemperaturesensorDS18B20asatemperatureacquisitionunit,SCMAT89S51asamastercontrolchip,digitaltubedisplayasoutput,realizethereal-timemeasurementoftemperatureandconstantcontrol.keyword:SCMAT89C51Thermostaticcontrol11弟一早L1背景温度控制是工业生产过程中经常遇到的过程控制,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用,其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同。因而,对温度的测控方法多种多样。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。然而现有的温度传感元件大多为模拟器件(热电耦)体积大、应用复杂、而且不容易实现数字化等缺点,阻碍了应用领域的扩展。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20乍为温度采集器,单片机AT89c51作为主控芯片,数码管作为显示输出,实现了对温度的实时测量与恒定控制。1.2课程要求恒温箱采用30cm*30cm*30cni的木箱或纸箱,内置功率不大于100W的白炽灯泡用于加热,传感器使用一体化数字温度传感器DS18B20,灯泡发热控制采用继电器开关控制,主控芯片采用AT89S51.,最终做到最高温度不高于50C,误差为C的恒温控制。1.3课程意义这次课程设计可以使我们在学校学的理论知识用到实践中,使我们在学习中起到主导地位,是我们在实践中掌握相关知识,能够培养我们的职业技能,课程设计是以任务引领,以工作过程为导向,以活动为载体,给我们提供了一个真实的过程,通过设计和运行,反复调试、训练、便于我们掌握规范系统的单片机方面的知识,同时也提高了我们的动手能力。第二章硬件设计及工作原理2.1AT89C51AT89c51是美国ATMEL公司生产的低电压,高性能CMOS位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM和128bytes的随机存取数据存储器(RAM,器件采用ATME公司的高密度、非易失性存储技术生产,兼容标准MCS-51旨令系统,片内置通用8位中央处理器(CPU和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数: 与MCS-51产品指令系统完全兼容 4k字节可重擦写Flash闪速存储器 1000次擦写周期 全静态操作:0Hz24MHz 三级加密程序存储器 128X8字节内部RAM 32个可编程I/0口线 2个16位定时/计数器 6个中断源 可编程串行UART通道 低功耗空闲和掉电模式功能特性概述:AT89C51提供以下标准功能:4k字节Flash闪速存储PDIPPi. flC i3 vocPl ic 23 说(ADlP1JC 3FEHMDUPiLiE 41T03 叵J ITPl 4C fl3 PDZS 1可阳Pk*c EprePl 7 g3 Pv SD llllRSTT S1 PD.7问打治3m(0)T01EllDALDPROC111WTD0WJC113RSEH阿川P江133 Pap典血14JiA14)frqra 町IE3 PS B (A13)(WP3*1:垢Ira *311)!?! 对丁 IT3 PffiiAli)JtTflLJCia3 PZH* 的KTW. 11: IB3 PS 130JONCE27:IF20 刚构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51器,128字节内部RAM32个I/0口线,两个16位定时/计数器,一个5向量两级中断结o. a Ln n nn ig OM o o e v 5 Jrtovj足n/ 35a? = SffiSSSSSPi-StP1.6CP17C Fisrc(FtXQ) P3L0CNCC冲1c I 鹿)P32c(WTi) P3. JE P3 4 C o)p. i 匚 丽向jF丐屈匚 (iwrit P3.: I . i J qra.; UITUP3.S 匚10 011 s13131*15fav jE 0C寸 eiml 寸 E El D。八”T日3837334331231OA1P04 (AP4) PC 车(AW) 1 POX (AW) M7(A07) EAA/PP INC ALDPROG PSEN P2 7fAlS) PZefAll) P2. 51A1$)可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM定时7计数器,串行通信口及中断系统继续工作。掉电方式保存RA附的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。PLCCPQFP/TQFPAT03c51方框图PO O Pa?P2Q P2J PL7P3J0- P3J Vcc:电源电压 GND 地PO:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。Pl:P1是一个带内部上拉电阻的8位双向I/0口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(HL)0Flash编程和程序校验期间,P1接收低8位地址。 P2:P2是一个带有内部上拉电阻的8位双向I/0口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时、因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(HL)0在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPf指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXSt令)时,P2口线上的内容(也即特殊功能寄存器(SFR区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。 P3:P3口是一组带有内部上拉电阻的8位双向I/0口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时、它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)0P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:端口引脚第二功能RXD(串行输入口)P3JBCDC串行输出口)TnT5(外中断D)INTI(外中断D丹,4TO(定时/计数器LT1(定时/计St器1)P3.6WRC外部数据;i?储蛊写选通)P3.7丽C外部数樨有储蛊谊选通J1P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。 RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALEZPROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的I/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 PSEN程序储存允许(PSEN输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSENt效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSENB号不出现。EAVPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为OOOOHFFFFH,EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vppo XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2振荡器反相放大器的输出端2.2温度传感器DALLAS (达拉斯)温度传感器的种类众多,在应用与高精度、高可靠性的场合时公司生产的DS18B2(温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B2(更受欢迎。对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。DS18B20的主要特征: 全数字温度转换及输出。 先进的单总线数据通信。0. 5摄氏度。750毫秒。C(- 67 F+257 F) 最高12位分辨率,精度可达土 12位分辨率时的最大工作周期为 可选择寄生工作方式。 检测温度范围为-55。C+125 内置EEPROM限温报警功能。 64位光刻ROM内置产品序列号,方便多机挂接。 多样封装形式,适应不同硬件系统。DS18B20芯片封装结构:N ONC nViDDDQDQNC2 -LII5-Pin 150inil SO(DS18B20Z)NCNCNCGND(BOTTOMNCGNDsbHS-Piu pSOP(DS18B20U)TO2(DS1SB20)DS18B2C引脚功能:-VDD电源电压-NC空引脚GND电压地-DC单数据总线DS18B2(工作原理及应用:DS18B20勺温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是:ROMR读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是doyoungl9H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROMRAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPRO的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CR(码。EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPRO,M并在RAM都存在镜像,以方便用户操作。RAM及EEPRO结构图:SCRATCHPAJ(PowelipState)bMeObvte 1 bvi亡2byt 亡3 byie1 byte5 byte1,复位:Wn呻2已LEBEh)冷你)renipeianueMSB(05h)JThRegisiterorUserByte/ThRegiSSPROMrUseiByte1TlReaisieiorUserByte2*TlRegistei-orUserCoiifigiuatiouRgg讪歆*Byte2Reseived(FFli)ReseiAsd(OCli)R.esved10h)CRC*stfiteonvalue(ai)storeduEEPROM控制器对18B20操作流程:首先我们必须对DS18B2(芯片进行复位,复位就是由控制器(单片机)给DS18B2(单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。2,存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。3, 控制器发送ROM旨令:双方打完了招呼之后最要将进行交流了,ROM旨令共有5条,每一个工作周期只能发一条,ROM旨令分别是读ROM数据、指定匹配芯片、跳跃ROM芯片搜索、报警芯片搜索。ROM旨令为8位长度,功能是对片内的64位光刻ROMS行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM旨令(注意:此处指的跳过ROM指令并非不发送ROM旨令,而是用特有的一条“跳过指令”)oROM旨令在下文有详细的介绍。信息工程学院课程设计报告4, 控制器发送存储器操作指令:在ROM旨令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM温度转换、将EEPROM中的报警值复制到RAM工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。5,执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期复位、跳过ROM旨令、执行读RAM勺存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。其它的操作流程也大同小异,在此不多介绍。DS18B20芯片与单片机的接口:的一个I/O 口上,由于单总线19如图所示,DS18B20只需要接到控制器(单片机)有一些特殊的要求。Micro-processorDS18B20GND DQ VddTn Orhr 1- Vire DevicesDS28B20林片ROM旨令表:为开漏所以需要外接一个4.7K的上拉电阻。如要采用寄生工作方式,只要将-VDD电源引脚与单总线并联即可。但在程序设计中,寄生工作方式将会对总线的状态ReadR0(读ROM33H(方括号中的为16进制的命令字)这个命令允许总线控制器读到DS18B20的64位ROM只有当总线上只存在一个DS18B20的时候才可以使用此指令,如果挂接不只一个,当通信时将会发生数据冲突。MatchROM(指定匹配芯片)55H这个指令后面紧跟着由控制器发出了64位序列号,当总线上有多只DS18B2(时,只有与控制发出的序列号相同的芯片才可以做出反应,其它芯片将等待下一次复位。这条指令适应单芯片和多芯片挂接。SkipROM跳跃ROM旨令)CCH这条指令使芯片不对ROMS码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。SearchROM搜索芯片)FOH在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的64位ROMAlarmSearch(报警芯片搜索)ECH在多芯片挂接的情况下,报警芯片搜索指令只对附合温度高于TH或小于TL报警条件的芯片做出反应。只要芯片不掉电,报警状态将被保持,直到再一次测得温度什达不到报警条件为止。DS28B2(芯片存储器操作指令表:WriteScratchpad(向RAM中写数据)4EH这是向RAM中写入数据的指令,随后写入的两个字节的数据将会被存到地址2(报警RAM之TH)和地址3(报警RAM之TL)。写入过程中可以用复位信号中止写入。ReadScratchpad(从RAMR卖数据)BEH此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。CopyScratchpad(将RAM数据复制到EEPR0中)48H此指令将RAM中的数据存入EEPR0I中,以使数据掉电不丢失。此后由于芯片忙于EEPRO储存处理,当控制器发一个读时间隙时,总线上输出“0”当储存工作完成时,总线将输出“1”在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持10MS来维持芯片工作。doyoungConvertT(温度转换)44H收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM勺第1、2地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0”当储存工作完成时,总线将输出“1”在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS来维持芯片工作。RecallEEPROM(将EEPROI中的报警值复制到RAMB8H此指令将EEPROI中的报警值复制到RAhR的第3、4个字节里。由于芯片忙于复制处理,当控制器发一个读时间隙时,总线上输出“0”当储存工作完成时,总线将输出“1”另外,此指令将在芯片上电复位时将被自动执行。这样RAM中的两个报警字节位将始终为EEPRO中数据的镜像。ReadPowerSupply(工作方式切换)B4H此指令发出后发出读时间隙,芯片会返回它的电源状态字,“0”为寄生电源状态,“1”为外部电源状态。2.3光耦合PC817是常用的线性光藕,在各种要求比较精密的功能电路中常常被当作耦合器件,具有上下级电路完全隔离的作用,相互不产生影响。当输入端加电信号时,发光器发出光线,照射在受光器上,受光器接受光线后导通,产生光电流从输出端输出,从而实现了“电-光-电”的转换。普通光电耦合器只能传输数字信号(开关信号),不适合传输模拟信号。线性光电耦合器是一种新型的光电隔离器件,能够传输连续变化的模拟电压或电流信号,这样随着输入信号的强弱变化会产生相应的光信号,从而使光敏晶体管的导通程度也不同,输出的电压或电流也随之不同。PC817光电耦合器不但可以起到反馈作用还可以起到隔离作用。特点:1 .电滴传输比CTR,:IIIF5mA,VCE=5VU4A八小伯为50%2 .输入和输出之问的隔绝ikJKfjVisotrms:5.1KV应用:t.十I弊机终跚2 .测W系统,测设备3 .寄存器,a卬*儿自动提歌肌4凉用巾.器,例如;风扇等5,不同电路和阳抗之间侍号的传输内部淬培囱2.4MAX232MAX232芯片是美信公司专门为电脑的使用+5V单电源供电。RS-232标准串口设计的单电源电平转换芯片mvtc!-酣C2.V-OU1MAX202EMAX232EVccCNDnourRUNRIOIJTT1IM12INGOUT引脚介绍:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12V和-12V两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由两个数据通遒q10、11、12、13、14脚构成其中13脚(R1IN)、12脚(R10UT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R20UT)、10脚(T2IN)、7脚(T20UT)第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232为据从T10UT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从IN、R2IN输入转换万遨第三部分是供电。RiTTL/CMOS数据后从R1OUT、R20UT输出。15脚GND、16脚VCC(+5V)o+ 10V和TOV电压+10V )转换为单片机所用到的6元,下面我来介绍一下Q0-00- 0-0- o597耳 DQTD37接口V5. 0C13呻r1. ftjf MAX202/232DGNDC2+;C1+CoKJwct To DA CoreJ4n八 一一5 DGWD y0-q y520 60- cMl.1318 C2Cl -TloutTlin-Rliii Rican -r T2aut Tint - E21MRJflnl Q V-1.C12二 hOuF311 EEA_7XD T210 MCr. TTD ?MCU KXD6CoiuiMCt ToA139j5x匚】0ClCDiA及班雨lOuF9cd4 LoPH1. JuTDGHD主要特点:1、符合所有的RS-232c技术标准2、只需要单一+5V电源供电3、片载电荷泵具有升压、电压极性反转能力,能够产生4、功耗低,典型供电电流5mA5、内部集成2个RS-232C驱动器接收陈m咽“蚤戢跚图尾度?32引脚定义max232是一种把电脑的串行口TTL信号点平(0,max232引脚图以及rs232信号电平(-10,max232引脚图+5)的芯片,这个芯片的价格比较贵大约要max232和电脑串口的连接电路,2. 5显示部分此系统采用6位数码管显示,前3位显示设定值,后3位显示实际值,数码管采用共阳极,用P0口做段选口,P2口作为位选口,显示数据能精确到小数点后一位POD/yCO P0 1201 MDi/jBUUP0 3 炉 03 Pit 4yflD4 pa 52DS P0 6/flK ro TfzP?CWfifiP2. 谀 PiSZAID FI 3ZA11 P2 4/A1236S2132425IKE TEXT2.6输入翱游3(电路更改,采用4按钮直接输入电平,这部分作废)输入部分采用3*4矩阵输入,其中包括0-9的数字输入、移位以及输入确定R4rz“TBC”VT&AfXTLlyrA15RTSETTPIE11r1.一一rlXPIJr-r.rlz1Rp1rPIJvTDCTa-a.*PDILhCap.wilJD0RC2PC力II2PC.ODilJD角10POJiJRCSPmTiftCl陀附P2iJtASP2:zftia2邠11P2.P2S*TSP2J6XUP2.Tf15P刃皿0P3211r电血fiPl.-iXTHgTlPnSM府映J时2.7执行部分信息工程学院课程设计报告执行部分是通过继电器的开合来控制灯泡的亮与灭,从而实现了温度的控制,并采用了光耦合电路保护了单片机,避免了单片机因继电器的瞬间关断而产生的感应电动势造成的烧坏。111ill也俯bl弋旧邮耐_k15KTUIQ 肿 d拌KTDE负 fUl -rF2IIMpm p-rarfl-Jiotii叮烬羽P-U4Dim-1 *Pll pFJ. I/TXP Ji1佃FJ-LIFT ; -JiISWjflSrT . wPl 4F3. 4X111PienjSTTi - J* 口rue口可t)PTZiCOUP_ER-IP-PIT一垃-S1Sni :DKDS一rp/ 02av2.8系统电路以及工作过程通过3*4矩阵键盘输入温度给定值,给定值与一体化温度传感器DS18B20所采集的数据相比较,如果设定值大于实际值,则控制继电器开通,灯丝加热,直至温度实际值不小于给定值,这是,如果这是实际温度大于给定温度,则控制继电器关断,并启动声光报警,同时定时,5s后蜂鸣器停止报警,此后一直监视温度,如果由于热量散失,箱内温度低于设定值,则控制继电器开通,灯丝加热,如此往复(由于此次试验精度要求不高,故此系统为采用PID算法,只是通过简单的比较来控制开断)。工作流程图如下:温度采集按健控制声光报警一微控制器.温度显不输出控制第二章系统的应用软件设计系统整体程序由主程序,温度设定子程序, 图为程序流程图。显示程序,传感器子程序组成,报警.断开继电器调用设定程序调用DS18B2*程 序返回3.1键盘管理模块(由于电路更改,此部分作废,改为4按键直接电平输入)1、3X4矩阵键盘的编程方法:1.1、先读取键盘的状态,得到按键的特征编码。先从P1口的高四位输出低电平,低四位输出高电平,再从P1口的低从P1口的低四位读取键盘状态。四位输出低电平,高四位输出高电平,从次读取结果组合起来P1口的高四位读取键盘状态。将两就可以得到当前按键的特征编码。编码。使用上述方法我们得到12个键的特征举例说明如何得到按键的特征编码:假设“1”键被按下,找其按键的特征编码。从P1口的高四位输出低电平,即P1.4P1.7;为输出口。低四位输出高电平,即P1.0一P1.3为输入口。读P1口的低四位状态为“1101”,其值为“ODHo再从Pl口的高四位输出高电平,即P1.4P1.7为输入口。低四位输出低电平,即P10P13为输出口,读P1口的高四位状态为“1110”,其值为“E0H。将两次读出的P0口状态值进行逻辑或运算就得到其按键的特征编码为“用同样的方法可以得到其它11个按键的特征编EDHo码。1.2、 根据按键的特征编码,查表得到按键的顺序编码。将用上述方法得到的12个按键的特征编码按图2按键排列的顺序排成一张特征编码与顺序编码的对应关系表,然后用当前读得的特征编码来查表,当表中有该特征编码时,它所在的位置就是对应的顺序编码。1.3、 矩阵键盘键值查找程序的具体编程这个演示程序的主要功能有:1、 识别键盘有无按键按下,若无键按下返回。2、 如果有键按下,找出具体的按键值(顺序码)矩阵键盘键值查找程序KEY SCAN键值存入30H单元识别键盘有无键按下子程序MOVANLMOVMOVMOVANLORLMOV Pl, #0F0H置列线为0,行线为1A, Pl读Pl 口A, #0F0H取出高四位B, A暂存到BP1,#OFHA, PlA, #0FHA, BCJNE A,#0FFH, KEY_IN1置列线为1,行线为0读Pl 口取出低四位;OFFH高四位与低四位逻辑或运算重新组合识别具体按键值子程序KEYINI:信息工程学院课程设计报告将按键的特征编码暂存于B顺序码加1查表比较,若相同则找到按键的特征编码。找到特征编码后,取顺序码存入30H单元RETCJNE A, #00H, KEY_IN2末完,继续查KEY_IN 虫et;00H为结束码TABLE:DB OEEH,OEDH, OEBH, 0E7H, ODEHDB ODDH,ODBH, 0D7H, OBEH, OBDHDB OBBH,0B7H,DB 00H:0, 1,2, 3,4顺序码顺序码甘中 根据KEY_IN1子程序中,B按下则调用移位子程鬲如果是第3. 2显示模块5, 6, 7, 8, 94t存晶隘射端盛%凄舞确认输入子程序。结束码11按键(AMOVB,AMOVDPTR,STABLEMOVR3,#OFFHKEY_IN2:INCR3MOVA,R3MOVCA,A+DPTRCJNEA,B,KEY_IN3MOVA,R3MOV30H,A33此系统采用6位数码管循环点亮的动态显示,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于DISPLAY:8位时,只需两个8位I/0口。其子程序如下:MOVRl,#07FH;MOVR2,#04H;扫描初值送入RI扫MOVRO,#30H;描位数送入R2开始填充显示单元DISMOVA,R0Pl:MOVDPTR,STABLEMOVCA,A+DPTRMOVP0,AMOVP2,RIMOVA,RIRRAMOVRI,AINCRO;LCALLDELAY2MS显示内容送入A获得表头查表获得显示数据 显示单兀数据开始显示当前位准备显示下一位取下一个单元地址延时2 MS重复显示下一个DJNZR2,DISPlRET显示完成,返回TABLEDBOCOH,0F9H,0A4H,OBOH,99H,92H,82H,0F8HDB80H,90H,88H,83H,0C6H,OA1H,86H,8EH;01.4、 3检测模块此系统的检测与传感均是由DS18B20一体化温度传感器完成的,下面是DS18B20的运行程序第四章结束语这是一次难得的练习动手能力的机会,在这次设计中,我遇到了很多问题,包括接线错误,上电后芯片烧毁,按键功能错误,实物电路工作状况与仿真出现偏差,但经过修改与努力,总算做出了一个勉强能正常工作的恒温箱。参考文献1姜志海,2黄玉清, 附录1电路图黄玉清,刘双虎,刘连鑫.单片机原理及应用.北京,电子工业出版社.2011,06.杨胜波.微机原理与接口技术.北京,电子工业出版社.2011,附录rrpnIS250附录2程序TEMPER_LEQU31HTEMPER_HEQU30HTEMPER_SETEQU32HFLAGEQU33HORG0000HLJMPMAINORG0030HMAIN:MOVRO,#10START:CLRP3.7CLRP1.4CLRP1.5START1:JNBP1.0,SELSUBLCALLGET_TEMPERLCALLCOMPARELCALLDISPLAYLCALLKEYLJMPSTART1SELSUB:MOVA,ROMOVB,#10DIVABMOVRI,AMOVR2,BLCALLDISPLAYJNBP1.1,INCOJNBP1.2,DECOJBP1.0,BACKLJMPSELSUBINCO:MOVA,RICJNEA,#32H,ADDOMOVR1,#OOHINCI:LCALLDELAY1JNBP1.1,INCILJMPSELSUBADDO:INCROLCALLDELAY1LJMPSELSUBDECO:MOVA,RIJZSETRIDECRODECI:LCALLDELAY1JNBP1.2,DECILJMPSELSUBSETRI:MOVR1,#32HLCALLDELAY1LJMPSELSUBBACK:LJMPSTARTDISPLAY:MOVDPTR,#DATMOVA,RIMOVCA,A+DPTRCLRP2.0SETBP2.1MOVP0,ALCALLDELAYMOVA,R2MOVCA,A+DPTRSETBP2.0CLRP2.1MOVP0,ALCALLDELAYSETBP2.0SETBP2.1RETDAT:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H;DBOcOH,0f9H,0a4H,ObOH,99H,92H,82H,0f8H,80H,90H,88HGET_TEMPER:SETBP1.7LCALLSET_1820JBFLAG,TSS2RETTSS2:MOVA,#OCCHLCALLWRITE_1820MOVA,#44HLCALLWRITE_1820LCALLDISPLAYLCALLSET_1820MOVA,#OCCHLCALLWRITE_1820MOVA,#OBEHLCALLWRITE_1820LCALLREAD_1820MOVA,TEMPER_LMOVR3,#4L1:SETBCRRCADJNZR3,L1MOVTEMPER_L,AMOVA,TEMPER_HMOVR3,#4L2:SETBCRLCADJNZR3,L2ANLA,TEMPER_LMOVR7,AMOVB,#10DIVABMOVRI,AMOVR2,BRETSET_1820:SETBP1.7NOPCLRP1.7MOVR3,#3TSR1:MOVR4,#107DJNZR4,$DJNZR3,TSR1SETBP1.7NOPNOPNOPMOVR4,#25HTSR2:JNBP1.7,TSR3DJNZR4,TSR2LJMPTSR4TSR3:SETBFLAGLJMPTSR5TSR4:CLRFLAGLJMPTSR7TSR5:MOVR4,#117TSR6:DJNZR4,TSR6TSR7:SETBP1.7RETWRITE_1820:MOVR3,#8CLRCWRI:CLRP1.7MOVR4,#6DJNZR4,$RRCAMOVP1.7,CMOVR4,#23DJNZR4,$SETBP1.7NOPDJNZR3,WRISETBP1.7RETREAD_1820:MOVR4,#8REO1:CLRCSETBP1.7NOPNOPCLRP1.7NOPNOPNOPSETBP1.7MOVR6,#4DJNZR6,$MOVC,Pl.7RRCAMOVR6,#30DJNZR6,$DJNZR4,RE01MOVTEMPER_L,AMOVR4,#8RE02:CLRCSETBP1.7NOPNOPCLRP1.7NOPNOPNOPSETBP1.7MOVR6,#4DJNZR6,$MOVC,Pl.7RRCAMOVR6,#30DJNZR6,$DJNZR4,RE02MOVTEMPER_H,ARETCOMPARE:MOVTEMPER_SET,ROMOVA,R7CJNEA,TEMPER_SET,COMPSETBP1.4SETBP2.4CLRP1.5CLRP3.7RETCOMP:MOVA,R7MOVB,RODIVABCJNEA,#0H,COMP1SETBP1.5SETBP3.7CLRP1.4CLRP2.4LJMPEXITCOMP1:SETBP1.4SETBP2.4CLRP1.5CLRP3.7EXIT:RETDELAY1:MOV36H,#08HLOOPO:LCALLDISPLAYDJNZ36H,LO0P0RETDELAY:MOV34H,#24HLOOP:MOV35H,#OAFHLOOP1:DJNZ35H,LOOP1DJNZ34H,LOOPRETKEY:JNBP1.3,KEY1RETKEY1:LCALLDELAYJNBP1.3,KEY2RETKEY2:LCALLINTRETINT:MOVA,ROMOVB,#10DIVABMOVRI,AMOVR2,BMOVR6,#50LCALLDELAY1DJNZR6,$RETEND
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!