




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度信号的控制水平。能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。本设计论述了一种以AT89S52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。系统设计了相关
2、的硬件电路和相关应用程序。硬件电路主要包括AT89S52单片机最小系统,测温电路、实时时钟电路、LED数码管显示电路等。系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LED显示程序以及数据存储程序等。关键词:AT89S52单片机 DS18B20 显示电路 AbstractAlong with the computer measurement and control technology is developed rapidly and widely used, microcontroller as the core temperature acquisition and
3、 control system development and application has greatly improved the production life of the temperature signal to the control level. Able to work independently of the temperature detection and display system for use in many areas. The traditional temperature measurement using thermistor as a tempera
4、ture sensitive element. The thermistor is low in cost, but the subsequent signal processing circuit, and relatively poor reliability, measurement accuracy is low, also have certain error detection system. Compared with the traditional thermometer, the digital thermometer with reading convenience, a
5、wide range of temperature measurement, accurate temperature measurement, digital display, wide application range etc.This design presents a AT89S52 microcontroller as the main control unit, taking DS18B20as the temperature sensor temperature control system. The control system can real time storage t
6、emperature related data and recording the current time. The system design of the hardware circuit and the related applications. The hardware circuit including AT89S52MCU minimum system, a temperature measurement circuit, clock circuit, the LED digital tube display circuit. System program, including
7、the main program, the read-out temperature subroutine, the calculated temperature subroutine, key processing program, LED display program and data storage program.Key words: AT89S52 microcontroller DS18B20 display circuit目 录摘要IAbstractII绪论11 恒温箱控制器系统组成及工作原理21.1 恒温箱系统的组成21.2 恒温箱系统的工作原理22 芯片介绍42.1 AT8
8、9S52单片机介绍42.1.1 AT89S52单片机简介42.1.2 AT89S52单片机时序42.1.3 AT89S52单片机引脚介绍52.2 温度传感器DS18B20介绍72.2.1 温度传感器DS18B20简介72.2.2 温度传感器DS18B20的主要性能特点82.2.3 DS18B20的引脚及功能介绍82.3 七段LED数码管介绍93 硬件电路设计103.1 硬件电路框图103.2 硬件电路图103.2.1 系统硬件电路图103.2.2 DS18B20温度传感器电路113.2.3 加热模块电路114 系统软件设计124.1 系统程序流程124.2 读温度子程序124.2.1 读温度流
9、程图124.2.2 读温度子程序134.3 计算温度度子程序144.3.1 计算温度流程图144.3.2 计算温度子程序154.4 按键处理子程序164.4.1 按键程序流程图164.4.2 按键子程序175 系统软件调试21结论23致谢25参考文献26附录2740 绪 论二十一世纪是科技高速发展的信息时代,电子技术、微型单片机技术的应用更是空前广泛,是随着超大规模集成电路技术的发展而诞生的。由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化。智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。它迅猛
10、的发展到了各个领域,人们也越来越感到应用单片机技术的优越性,因而单片机也得到了广泛的应用。同时,它也不断地完善和发展1。智能恒温箱的温度是医疗、工业生产和食品加工等领域的关键,因此对温度的测量及控制始终占据着重要的地位。市场上常见的温度传感器以电压输出为主要形式,不同的的传感器其非线性曲线也各不相同,缺乏一个产品应具备的通用性和互换性。温度传感器应用范围很广、使用数量很大,但是在常规的环境参数中由于温度受其它因素影响较大,而且难以校准,因此,温度也是最难准确测量的一个参数。常规方法测量温度误差大、准确度低、测量滞后的时间长。今年来,国内传感器正向着集成化、智能化、网络化和单片机的方向发展,为开
11、发新一代温度测量系统创造了有利条件。在智能恒温箱控制系统的设计中,用数字传感器将温度信号以数字信号的方式传送给单片机,经单片机处理后的温度数值,一方面送数码管显示;另一方面与给定值进行比较,判断温度高低,从而采取相应的措施:加热或者制冷。使温度达到设定值。智能恒温箱主要是用来控制温度,它为农业研究、生物技术、测试提供所需的各种环境模拟条件,因此可广泛适用于药物、纺织、食品加工等无菌试验、稳定性检查以及工业产品的原料性能、产品包装、产品寿命等测试。随着单片机技术的飞速发展,通过单片机对被控制对象控制日益广泛,具有体积小、功能强、性价比高等特点,把单片机应用于温度控制系统中可以起到更好的控温作用,
12、智能恒温箱是使用单片机进行温度控制的典型应用,采用单片机做主控单元可完成对温度的采集和控制等要求。1 恒温箱控制器系统组成及工作原理1.1 恒温箱系统的组成本系统主要由控制器、显示电路、温度检测传感器、加热控制电路、按键电路等组成。硬件结构图如图1-1所示:图1-1 恒温箱控制器硬件框图各部分功能为:(1) 传感器:本次设计所使用的传感器是指的温度传感器,即DS18B20数字温度传感器。用于对恒温箱内的空气温度信号进行收集,并传送至单片机进行处理;(2) 加热:设计所采用的加热电路为AC220V加热电路,光电开关的开通和关断来对恒温箱内的空气进行加热和停止,使恒温箱内达到我们所需要的温度值;(
13、3) 按键:这部分由三个按键来完成相应的功能,分别实现温度设定上调、温度设定下调、温度设定确认的功能;(4) 显示:实现当前温度数值的显示;(5) 单片机:处理传感器和按键传传送过来的信号,控制显示、测温和加热电路的运行。1.2 恒温箱系统的工作原理本系统是借用单片机采用模块化设计的智能恒温箱,包括温度设定按钮,温度显示,温度调节,实时温度显示和预定温度显示转换按钮,温度采集等(根据需要也可另设或者多设相关功能)。显示系统除了显示实时的温度还能显示设定的温度,也就是人们想要保持的温度。系统上电使用时可以自行根据需要来调节预期的恒温温度,调节温度范围为099。调节好后系统会开始自动运行。系统会将
14、采集来的实时温度与设定的预期温度进行比较,并且如果实时温度比设定温度要高的话会就断开加热设备,停止对恒温箱内的空气进行加热,直到恒温箱内的温度下降到与设定温度值相等;如果实时温度比预期温度要低的话就开启加热设备,开始对恒温箱内的空气进行加热,直到恒温箱内的温度升高到与设定温度值相等。如果温度一样则不开启加热或制冷设备。在显示电路上通常显示的是实时的温度,即传感器采集来的恒温箱控制器内的即时温度,如果想要显示人们设定的预期温度可以按显示切换键,这时显示器上就会显示预期温度,几秒钟后跳回,显示实时温度。显示实时温度时,表示显示的是实时温度的发光二极管点亮。而显示预期温度的时候,表示显示的是预期温度
15、的发光二极管点亮。单片机是整个恒温箱的核心,硬件电路平台搭建好以后的软件设计用汇编语言编写。它完成了温度参数设定,温度采集计算,温度显示,温度比较,温度调节等功能。2 芯片介绍 21 AT89S52单片机介绍2.1.1 AT89S52单片机简介目前,51系列单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。AT89S52单片机在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微型处理器CPU;一个512K的片内数据存储器RAM;4K片内程序存储器;四个8位
16、并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHz。以上各个部分通过内部总线相连接2。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统
17、提供高灵活、超有效的解决方案3。2.1.2 AT89S52单片机时序AT89S52单片机的一个执器周期由6个状态(s1s6)组成,每个状态又持续2个震荡周期,分为P1和P2两个节拍。这样,一个机器周期由12个振荡周期组成。若采用12MHz的晶体振荡器,则每个机器周期为1us,每个状态周期为16us;在一般情况下,算术和逻辑操作发生在N期间,而内部寄存器到寄存器的传输发生在P2期间。对于单周期指令,当指令操作码读入指令寄存器时,使从s1P2开始执行指令。如果是双字节指令,则在同一机器周期的s4读入第二字节。若为单字节指令,则在s1期间仍进行读操作,但所读入的字节操作码被忽略,且程序计数器也不加1
18、。在加结束时完成指令操作4。多数AT89S52指令周期为12个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需4个机器周期。 对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读入两个字节,但Movx指令例外,Movx指令是访问外部数据存储器的单字节双机器周期指令,在执行Movx指令期间,外部数据存储器被访问且被选通时跳过两次取指操作5。2.1.3 AT89S52单片机引脚介绍AT89S52单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚6。引脚图如图2-1所示。 图2-1 AT89S52引脚图下
19、面按引脚功能分为4个部分叙述个引脚的功能。(1) 电源引脚Vcc和接地引脚GND/Vss:Vcc(40脚):接+5V电源正端;GND(20脚):接地。 (2) 外接晶振引脚XTAL1和XTAL2:XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。XTAL2(18脚):接外部石英晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。对于CHMOS芯片,该引脚悬空不接7
20、。(3) 控制信号或其他电源复用引脚: 控制信号或与其它电源复用引脚有RST/ VPD、ALE/P、PSEN和EA/ Vpp4种形式:RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失;ALE/ P (30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低电平;
21、PSEN(29脚):片外程序存储器读选通输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,PESN信号将不出现;EA/Vpp(31脚):EA为访问外部程序存储器控制信号,低电平有效。当EA端保持高电平时,单片机访问片内程序存储器4KB(MS52子系列为8KB)。若超出该范围时,自动转去执行外部程序存储器的程序。当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp8。(4) 输入/输出(I/O)引
22、脚P0口、P1口、P2口及P3口P0口(39脚22脚):P0.0P0.7统称为P0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节;P1口(1脚8脚):P1.0P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。
23、对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址;P2口(21脚28脚):P2.0P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址;P3口(10脚17脚):P3.0P3.7统称为P3口。它可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。P3口的第2功能见下表9。表2-1 单片机P3.0管脚含义图引脚第2功能P3.0RXD(串行口输入端)P
24、3.1TXD(串行口输出端)P3.2INT0(外部中断0请求输入端,低电平有效)P3.3INT1(外部中断1请求输入端,低电平有效)P3.4T0(定时器/计数器0计数脉冲端)P3.5T1(定时器/计数器1计数脉冲端)P3.6WR(外部数据存储器写选通信号输出端,低电平有效)P3.7RD(外部数据存储器读选通信号输出端,低电平有效)综上所述,MCS51系列单片机的引脚作用可归纳为以下两点:(a)单片机功能多,引脚数少,因而许多引脚具有第2功能;(b)单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线10。2.2 温度传感器DS18B20介绍 2.2.1 温度传
25、感器DS18B20简介 DS18B20数字温度计是Dallas公司生产的1Wire器件,即单总线器件。与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。通过编程,DS18B20可以实现912位的温度读数。信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS1
26、8B20仅需连接一条信号线和地线。读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。每片DS18B20在出厂时都设有唯一的产品序列号,因此多个DS18B20可以挂接于同一条单线总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。2.2.2 温度传感器DS18B20的主要性能特点(1) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;(2) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(3) 测温范围 55+125,固有测温分辨率0.5
27、; (4) 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定;(5) 工作电源为35V/DC; (6) 在使用中不需要任何外围元件; (7) 测量结果以912位数字量方式串行传送;(8) 负压特性,电源极性接反时,温度计不会烧毁,但不能正常工作.2.2.3 DS28B20的引脚及功能介绍DS18B20数字温度传感器的引脚图如图2-2所示,DS18B20数字温度传感器引脚的功能描述见表2-2。 图2-2 DS18B20引脚图表2-2 DS18B20详细引脚功能描述图序号名称引脚功能描述1GND
28、地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。23 七段LED数码管介绍LED数码管显示器由8个发光二极管中的7个长条发光二极管(称七笔段)按a、b、c、d、e、f、g顺序组成“8”字形,另一个点形的发光二极管放在右下方,用来显示小数点。数码管按内部连接方式又分为共阳极数码管和共阴极数码管两种。若内部8个发光二极管的阳极连在一起接电源正极,就成为共阳极数码管;若8个发光二极管的阴极连在一起接地,则称为共阴极数码管,本次设计所用到的四位数码管的引脚如图2-3所示,外部有12个引脚。 L
29、ED显示器工作在动态显示方式时,段选码端口I/O1用来输出显示字符的段选码,I/O2输出位选码。 I/O1不断送待显示字符的段选码,I/O2不断送出不同的位扫描码,并使每位显示字符显示一段时间,一般为15mS。利用眼睛的视觉惯性,从显示器上便可以见到相当稳定的数字显示。段选(a,b,c,d,e,f,g,p):对应8个发光二极管,接I/O口,共阴(或共阳)时接地(或+5V),根据条件控制发光二极管的亮或灭。位选(A,B,C,D):共阴(或共阳)时接地(或+5V)分别用选中对应位的LED11。图2-3 四位LED数码管引脚图3 硬件电路设计3.1 硬件电路框图 本课题设计的是一种以AT89S52单
30、片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度采集模块、按键处理模块、实时时钟模块、数据存储模块、LED显示模块以及单片机最小系统12。系统硬件框图如图3-1所示。 图3-1 系统硬件图3.2 硬件电路图 3.2.1 系统硬件电路图恒温箱硬件平台采用AT89S52作为电路系统的控制核心。按键将设置好的温度值传给单片机,通过温度显示模块显示出来。初始温度设置好后,单片机开启输出控制模块,使电热器开始加热,同时将从数字温度传感器DS18B20测量到的温度值实时的显示出来,当加热到设定温度值时关闭加热器。
31、当自然冷却到设定温度3以下时,单片机再次启动加热器,如此循环往复,以达到恒温控制的目的13。系统硬件电路图如图3-2所示。在本系统中,DP1DP3用于七段码显示;P1.0用于接收DS18B20采集到的数字温度信号;FUZAI控制光电开关,决定电加热器是否工作;K1K3用于按键控制;串行口用于输出显示段码;P2.0,P2.1用于对数码管进行动态扫描14。图3-2 系统硬件电路图3.2.2 DS18B20温度传感器电路DS18B20温度传感器电路如图3-3所示:图3-3 温度传感器硬件电路图3.2.3 加热模块电路加热电路如图3-4所示: 图3-4 加热模块电路图4 系统软件设计4.1 系统程序流
32、程系统的软件主要是采用汇编语言,对单片机写入程序以实现预期功能。主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘等模块。用的是循环查询方式,来显示和控制温度,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序15。其程序流程如图4-1所示。 图4-1 系统程序流程图4.2 读温度子程序4.2.1 读温度流程图读出温度子程序的主要功能包括初始化,判断DS18B20是否存在,若存在则进行一系列的读操作,若不存在则返回。其程序流程图如图4-2所示。图4-2 读温度流程图4.2.2 读温度子程序 读取DS18B20中的温度数据,由于是串行通信
33、,每次读取1个,循环8次读取,入口参数为TEMPER_L,将温度的高位和低位从DS18B20中读出,低位存入31H,高位存入30H,由于令R2为8,自减1不为0跳转,直至为0,从而循环8次。;*;读DS18B20的程序,从DS18B20中读出两个字节的温度数据;*READ_18200:MOV R4,#2 ; 将温度高位和低位从DS18B20中读出MOV R1,#TEMPER_L ; 低位存入31H(TEMPER_L),高位存入30H(TEMPER_H)RE00: MOV R2,#8RE01:CLR CSETB DQ NOPNOP CLR DQ NOP NOP NOP SETB DQ MOV R
34、3,#7 DJNZ R3,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RET4.3 计算温度度子程序4.3.1 计算温度流程图计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4-3所示。图4-3 计算温度流程图4.3.2 计算温度子程序 取温度值低位的整数部分,通过“逻辑与”得到十位单个数值,再通过半字节交换指令得到真正的个位;同理,对温度的高位再通过“逻辑与”命令和半字节交换指令得到十位真正的十位,两数值相加之和,再通过数据转换,将
35、十六进制温度转换为压缩BCD码,从而得出用十进制的温度值。;*;将从DS18B20中读出的温度数据进行转换;*TEMPER_COV: MOV A,#0F0H ANL A,TEMPER_L ; 舍去温度低位中小数点后的四位温度数值 SWAP A MOV TEMPER_NUM,A ;得到低四位 MOV A,TEMPER_L JNB ACC.3,TEMPER_COV1 ; 四舍五入去温度值 INC TEMPER_NUMTEMPER_COV1: MOV A,TEMPER_H ANL A,#07H SWAP A ORL A,TEMPER_NUM ;得到高四位,再与低四位相或得到值 MOV TEMPER_
36、NUM,A ; 保存变换后的温度数据 LCALL BIN_BCD RET;*;将16进制的温度数据转换成压缩BCD码;*BIN_BCD: MOV A,TEMPER_NUM MOV B,#10 DIV AB MOV TEMPER_SHI,A MOV TEMPER_GE,B MOV A,TEMPER_SAVE CJNE A,TEMPER_GE,ZWFHRET: MOV TEMPER_SAVE,TEMPER_GE RETZW: AJMP FHRET4.4 按键处理子程序4.4.1 按键程序流程图按键处理子程序主要是负责参数的设置,主程序每循环一次都要对按键进行扫描,判断是否有输入键按下则进行一系列的
37、按键输入操作。其程序流程框图如图4-4所示。图4-4 按键程序流程图4.4.2 按键子程序系统启动,开始扫描键盘,当有输入数据确认按钮(K_ENTER,P1.3口)键入,则开始键盘输入,并且通过访问K_DELAY延时子程序对接键盘进行按钮延时抖动处理。每次进入键盘输入都赋值输入标志ENTER_FLAG为0。当确认已输入完毕后,则ENTER_FLAG为1,退出键盘程序,温度设定完成。;程序名称:SCAN_KEY;功能:扫描键盘;入口参数:TEMPER_GE,TEMPER_SHI;出口参数:KEY_BUF_G,KEY_BUF_SSCAN_KEY:JB K_ENTER,QUIT ;如果又Enter键
38、入,则开始键盘输入LCALL K_DELAYJB K_ENTER,QUITCLR ENTER_FLAG ;每次进来都赋值输入标志,设置为0MOV KEY_BUF_G,TEMPER_GE ;将当前的温度赋值给KEY_BUFMOV KEY_BUF_S,TEMPER_SHIK_LOOP:JB ENTER_FLAG,QUIT ;如果输入完成,ENTER_FLAG则为1,退出键盘程序JB K_ENTER,KUPCALL PRO_ENTERKUP: JB K_UP,KDOWNCALL PRO_UPKDOWN: JB K_DOWN,LOOPACALL PRO_DOWNLOOPA: LCALL DISPLAY
39、SJMP K_LOOPQUIT: RET;程序名称:PRO_ENTER;功能:确认键盘输入和退出键盘输入;入口参数:ENTER_FLAG;出口参数:ENTER_FLAGPRO_ENTER:CALL K_DELAYJB K_ENTER,K_LOOP ;按钮抖动处理SETB ENTER_FLAGCALL K_DELAYRET;程序名称:PRO_UP;功能:数值上调处理;入口参数:KEY_BUF_G,KEY_BUF_S;出口参数:TEMPER_GE,TEMPER_SHIPRO_UP:CALL K_DELAYJB K_UP,K_LOOP ;按钮抖动处理INC KEY_BUF_G ;个位增一MOV A,
40、KEY_BUF_GCJNE A,#0AH,UPNEXT ;个位增加到10,回0MOV KEY_BUF_G,#00HINC KEY_BUF_S ;十位加一MOV A,KEY_BUF_SCJNE A,#0AH,UPNEXT ;十位超过99,溢出了MOV R0,#200UPNEXT:MOV TEMPER_GE,KEY_BUF_GMOV TEMPER_SHI,KEY_BUF_SCALL K_DELAYRET;程序名称:PRO_DOWN;功能:数值下调处理;入口参数:KEY_BUF_G,KEY_BUF_S;出口参数:TEMPER_GE,TEMPER_SHIPRO_DOWN:CALL K_DELAYJB
41、K_DOWN,K_LOOP ;按钮抖动处理DEC KEY_BUF_G ;个位减一MOV A,KEY_BUF_GCJNE A,#0FFH,DOWNNEXT ;个位减到0,回到9MOV KEY_BUF_G,#09HDEC KEY_BUF_S ;十位减一MOV A,KEY_BUF_SCJNE A,#0FFH,DOWNNEXT;十位低于0,溢出了MOV R0,#200DOWNNEXT:MOV TEMPER_GE,KEY_BUF_G ;增加完后,赋值退出,然后DISPLAY显示MOV TEMPER_SHI,KEY_BUF_SCALL K_DELAYRETK_DELAY: ;键盘抖动延时子程序MOV R6
42、,#250DL20MS_1:MOV R7,#200DJNZ R7,$DJNZ R6, DL20MS_1RET5 系统软件调试本设计使用的是南京伟福SP51型MCS51专用USB仿真器,仿真器系统由仿真机与仿真头组成,本仿真器主机型号为S51,仿真头型号为POD-S8X5X(可仿真51系列8X5X单片机)。本系统使用的软件开发工具是伟福V系列仿真软件。由于采用汇编语言编程,程序比较长,可用模块化的调试方式逐一进行调试。该工具可实现单步、连续单步、断点、停止/运行,支持寄存器/存储器的观察和修改等功能。本系统在软件部分,由于程序比较复杂,所以需要注意的部分也很多。调试时应分开进行。各段程序分开调试
43、才能完整找到错误。在调试时,时有遇到提示错误与真正错误不是同一地方,所以分段提示很重要。在实验室电脑上安装有伟福软件,操作步骤如下:(1) 双击桌面上的WAVE图标进入开发环境;(2) 使用时要设置好仿真器、仿真头以及CPU类型,并注意是否“使用伟福软件模拟器”,若使用硬件仿真,应去掉“使用伟福软件模拟器”前的选择;(3) 在文件窗口下进行新建、打开、保存等文件操作,并在此窗口下可将源文件编译成目标文件,可全速、跟踪、断点等各种方式运行;(4) 源程序编译通过,表明语法正确,却不能保证该程序能够正确进行,就需要对逻辑功能进行调试;(5) 在调试程序时可以选择单步运行,连续运行,设置断点等各种调
44、试方法来快速找到错误。在硬件平台构建好以后,我便用伟福仿真器将事先写好的程序载入仿真器中进行仿真,仿真也不是一帆风顺的,不是一次就能得出正确的结果的。总的来说就是大错误不犯,小错误不断。在调试过程中所犯的主要错误一一列举如下:比如在按键子程序中,事先要定义各个按键所对应的端口,要对其进行定义,如KEY_UP EQU P1.1,即温度上调按钮定义的是P1.1端口,当时由于没对其进行定义就直接用,导致表面上的按键无反应,实则没有对其进行定义;在键盘按键软件设计时,我脑子里潜意识知道要加上去抖动子程序,但是延时去抖动子程序所延时的时间太短,从而在摁下键盘按钮时造成CPU的误读,在调整设定温度时,LE
45、D数码管显示的温度值在按键按下的瞬时跳变较大,所以在按键延时子程序中增加了循环次数,之后在调整温度设定值时数码管显示就稳定了;还有就是对基本语句的格式和用法不是很清楚,比如DIV AB语句,我将AB分开写成了A B,,从而在编译时不能够通过,我还经常把内部RAM数据传送指令MOV和外部RAM数据传送指令MOVX相混淆,在写程序时经常出现两者不分的情况,所以在编译时的错误提示很多,在认真复习了教材加上指导老师的讲解之后,便对这些错误得以理解与改正。软件的编译测试的过程中,可能会出现与预计结果不相同的情况,比如说LED数码管显示的时候闪烁。在老师的指导下我发现这是定时的问题,所以在汇编程序之中插入
46、了定时程序,定时器工作方式为T0方式,把定时时间延长,果然之后显示不再闪烁。所以遇到特殊情况时要及时找出其中的原因,修改之后再加以重新仿真,最终必然会得到正确的结果。 结 论作为一名电气工程及其自动化专业的大四学生,我觉得做与单片机有关的毕业设计是很有意义的,而且也是必要的。在做毕业设计的过程中,我感触最深的当属理论知识与实践动手能力相结合了。刚开始觉得难度很大,几乎无从下手。但是随着毕业设计的逐步深入,我也感到要是沉下心来认真对待毕业设计的话也不是那么的难。在这个过程中,我也深刻的感到自己所学到的知识确实有限,所谓书到用时方恨少。为了让自己的毕业设计更加完善,查阅这方面的实际资料是十分必要的
47、,也是必不可少的,从相关的资料中我们能够收获到很多自己在课堂上所没能学到的很多东西,并且对我们的毕业设计来说是很有用的。在这次毕业设计中,我们运用了以前学过的专业课知识,如:proteus仿真、汇编语言、单片机、模拟电子技术和数字电路知识等。尤其是单片机,当时大三由于学时有限,学的不是那么深入,并且我们学的比较基础,几乎没有编写大型程序的实战能力,所以在进行软件设计时遇到的困难还是比较大的。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,带着问题去学习问题与发现问题,所以这是我做这次毕业设计的又一收获。要做好毕业设计,就必须做到:(1) 在设计程序之前,对所用单片机的
48、内部结构和单片机的外围电路有一个系统的了解,知道该单片机有哪些功能端口等等;(2) 要有一个清晰的思路和一个完整的软件流程图,在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;(3) 要养成注释程序的好习惯,这样为资料的保留和交流提供了方便。在设计中遇到的问题要记录,以免下次遇到同样的问题。在这次的毕业设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有在经常写与读的过程中才能提高。通过这次恒温箱控制器的毕业设计,基本实现了任务书上要求的内容。系统上电使用时可以自行根据需要来调节预期的恒温温度,
49、调节范围为099,调节好后系统会开始运行。系统会将采集来的实时温度与设定的预期温度进行比较,如果实时温度比设定温度要高的话就会断开加热设备,停止对恒温箱内的温度加热,直至气体温度下降到与设定的温度值相等;如果实时温度比预期温度要低的话就开启加热设备,对恒温向内的空气进行加热,直到恒温箱内的温度与设定温度值相等。经过精心的设计和调试,并进行多次的测量和校正,该恒温箱控制器利用单片机基本实现了实时温度的测取,实现当前恒温箱内部温度在LG3461BH四位数码管显示模块上显示。该系统通过温度传感器对气温信号进行采集,同时利用LED对温度信号进行显示,基本达到了开始老师下达的任务书要求。本文所设计的恒温
50、箱控制器的优点是准确度较高,操作简单、成本较低,而且很便于操作。当然,在毕业设计的过程中,我们所做出来的控制器模型也存在一些缺陷:(1) 因为时间的关系,设计当中在实时温度和设定温度的切换上有延迟,两秒左右的延迟,这主要是软件编程里面定时器设定的问题,完善的话可以按之前设想的用按键来实现快速的切换;(2) 在硬件电路方面,也因为时间和工作量的问题,在PCB板焊接的过程中,印制电路板的焊接不很美观,导线排布不是很合理。本毕业设计主要是对控制器的软件进行设计,通过做毕业设计的过程,使我对这些硬件性能有了更深的了解,尤其是对汇编语言有了更深刻的理解,并且也学习到了以前所没学到的知识,也捡起了一些遗忘
51、的知识,同时也增加了宝贵的实践经验,在毕业设计完之成后我明白:要想用好这些硬件模块,必须要充分了解各模块的功能以及接口特点,只有这样才能顺利的按照预定的目标完成设计。毕业设计总的来说完成了,基本可以达到老师的要求,在这个过程中我了解了一个完整的产品设计的流程,学会了独立思考,培养了我解决实际问题的能力,为我后阶段的研究生学习生活奠定了基础。致 谢本课题是在瞿祥忠老师的悉心指导下完成的,从论文的选题、系统设计、到修改定稿都没有离开瞿老师的无私帮助,通过本次设计,本人在瞿老师的指引下学到了许多知识,这些是在平时的学习中得不到的知识,他严谨的治学态度、渊博的学识和悉心的指导使我受益非浅。瞿老师每次不管忙或闲,总会抽空给我答疑解惑。在此,向瞿老师表以崇高的敬意和由衷的感谢!还要感谢各位评阅老师,经过你们的认真评阅和指正,使我的设计的系统更加完善。在此,我向你们致以最诚挚的谢意!本次课
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年版标准写字楼租赁合同范本
- 2025酒吧装修合同
- 2024七年级英语下册 Module 10 A holiday journey教学实录(新版)外研版
- 2025中学门卫聘用合同
- 2025船舶租赁合同(合同版本)
- 2025年上海劳动合同范本
- 2025超市租赁合同书典范
- 2024-2025学年高中英语 Module 4 Which English英美文化欣赏(教师用书)教学实录 外研版选修8
- 国防教育小学主题班会
- 2025委托担保合同「范本」
- 2024年中国大唐集团科技创新有限公司招聘考试真题
- 《防护服穿脱流程》课件
- 2025年山东省职教高考(车辆维修专业)综合知识高频必练考试题库400题含答
- 《动画速写(第3版)》中职全套教学课件
- 2025届新高考语文热点冲刺复习:新高考作文教学及备考策略
- 2024年浙江宇翔职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 2025年安徽六安市“政录企用”人才引进工作招录300人高频重点提升(共500题)附带答案详解
- 2024年江苏省苏州市保安员资格考试模拟练习题及答案
- 2024年高速数据传输线项目可行性研究报告
- 慢性肾衰竭的护理病例讨论
- 医疗机构医疗废物管理规范考试试题及答案
评论
0/150
提交评论