定时温度控制系统设计_第1页
定时温度控制系统设计_第2页
定时温度控制系统设计_第3页
定时温度控制系统设计_第4页
定时温度控制系统设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录摘要: . . 1 关键词: . . 1 Abstract: . . 1 Keywords: . . 1 引言 . . 2 1 单片机的简介 . . 2 1.1单片机概述 . 2 1.2单片机的发展历史 . 2 1.3单片机的应用 . 2 2总体设计 . 3 2.1设计要求 . 3 2.2设计分析 . 3 3定时温度控制系统硬件设计 . 5 3.1 BC7281A键盘显示电路 . 5 3.2 DS12887时钟电路 . 6 3.3 DS18B20测温电路 . 7 3.4 LED显示电路 . 7 3.5 独立式键盘的接口设计 . . 8 3.6电源电路 . 9 4定时温控系统软件设计 .

2、10 4.1系统流程图 . 10 4.2测试温度子程序 . 11 4.3 DS18B20复位读写子程序 . 11 4.4显示子程序 . 13 4.5 DS12887读写子程序 . 13 4.6调整时间子程序 . 14 4.7 设定定闹开始/结束子程序 . . 15 4.8 设置温度子程序 . . 16 4.9 BC7281A读写数据子程序 . 17 4.10 延时子程序 . . 18 4.11 定闹中断子程序 . . 18 4.12 键盘中断子程序 . . 18 5性能测试与总结 . 19 谢辞 . 20 参考文献 . . 21 附录A 主程序 . 22 附录B 硬件原理图 . 25定时温度控

3、制系统设计电子工程专业学生 刘雪方辅导教师 陈万平摘要:定时温度控制系统因其灵活、简便、工作稳定而被广泛应用于工业生产和日常生活中。本文介绍了以AT89C51单片机为核心的定时温度控制系统的工作原理和设计方法。温度信号由温度传感器DS18B20采集,DS18B20温度传感器可以将被制对象的温度换为数字量反馈给单片机,AT89C51单片机通过对信号相应处理对其进行控制。基于DS12887时钟芯片和BC7281A 键盘显示芯片系统可以实现定时温控的功能关键词: 89C51单片机 DS18B20温度传感器 DS12887时钟芯片 BC7281A键盘显示芯片The control system of

4、regular temperature is designedelectronic engineering Liu XuefangInstructor Chen WanpingAbstract: The temperature control system for its flexibility in timing, simple, work stable and is widely used in industrial production and daily life. This paper introduces the A T89C51 microcontroller as the co

5、re temperature control system from time to time the working principle and design methods. Temperature signal from temperature sensor DS18B20 collection, DS18B20 temperature sensor system of the object can be replaced with digital temperature feedback to the microcontroller, AT89C51 microcontroller t

6、hrough the corresponding signal processing to control it. DS12887-based clock chip and BC7281A keyboard and display chip temperature control system can achieve the timing function.Keywords: 89C51 microcontroller DS18B20 Temperature Sensors DS12887 chip clock chip BC7281A keyboard and display引言由于工业过程

7、控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。水温控制在工业及日常生活中应用广泛, 分类较多, 不同水温控制系统的控制方法也不尽相同, 其中以PID 控制法最为常见。采用PID 控制,恒温保持时间长,控制精度高,准确率1,比一般机型更节省能源。在一些温控系统中,广泛采用的是通过热电偶、热电阻或PN 结测温电路

8、经过相应的信号调理电路,转换成A D 转换器能接收的模拟量,再经过采样保持电路进行A D 转换,最终送入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。因此,本系统用一种新型的可编程温度传感器(DS18B20),不需复杂的信号调理电路和A D 转换电路能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。1 单片机的简介1.1单片机概述单片机一词最初源于“Single Chip Microcomputer”,它忠实地反映了早期单片机的形态和本质。单片机就是将微型计算机集成在一片半导体芯片上集成了中央处理单元(CPU

9、 )、存储器(RAM/ROM)和各种I/O接口,这样一块集成电路芯片具有一台微型计算机的属性,因而被称为单片机微型计算机,简称单片机。单片机主要应用于测控领域,自20世纪70年代问世以来,已广泛地应用于工业自动化、自动检测与控制、智能仪器仪表、家用电器、机电一体化设备、汽车电子等各方面。在国际上,多把单片机称为微控制器MCU(Micro Controller Unit 。由于单片机在使用时,通常是处于测控系统的核心地位并嵌入其中,所以,通常也把单片机称为嵌入式微控制器EMCU(Embedded Micro Controller Unit。而在我国大部分工程技术人员则比较习惯于使用“单片机”这一

10、名称。 1.2单片机的发展历史单片机的发展大体可分为四个阶段:第一阶段:单片机探索阶段。以Intel 公司MCS-48,Motorola 公司6801为代表,属低档型8位机。第二阶段:单片机完善阶段。以Intel 公司MCS-51,Motorola 公司68HC05为代表,属高档型8位机。第三阶段:8位机和16位机争艳阶段,也是单片机向微控制器发展的阶段。第四阶段:微控制器全面发展的阶段。 1.3单片机的应用单片机的出现使计算机从海量数值计算飞跃进入到智能化控制领域。单片机体积小、价格低、应用方便、稳定可靠,因此,单片机的发展和普及带来了自动化测试 与控制领域中的一场重大革命和技术进步。仅从体

11、积小方面来说,由于单片机的体积要比一般计算机体积小很多,因此,单片机几乎可以在任何设施或装置上做成非常小的、功能比较完善的单片机嵌入系统置于其中,以实现各种方式的检测、计算或控制。单片机能获得大量的应用主要是因为以单片机为核心构成的应用系统具有以下优点: (1功能齐全,应用可靠,抗干扰能力强。 (2简单方便,易于普及。 (3发展迅速,前景广阔。 (4嵌入容易,用途广泛。2总体设计2.1设计要求作用单片机控制的定时温控系统,控制的温度范围时0100。该系统要显示时间、设定温度和实际温度,能自动以设定的温度开始或停止加热。所控制的实际温度和所设定的温度误差不会超过1。 2.2设计分析题目中要求对温

12、度进行控制,因此,准确的温度反馈时控制外部设备的前提条件,该系统中,我们采用了DS18B20温度传感器芯片,该芯片可直接将外界温度转换成数字量供单片机读取,其精度为0.125,完全符合题目的要求。系统可定时控制,也就是需要一个准确的时间基准。MCS-51的定时器虽能准确计时,但执行程序时会耽误时间且上电复位后时间基准发生变化,所以定时不是很准确。在该系统中,我们采用了DS12887时钟芯片,该芯片内部带有锂电池,能准确记录时间,为该系统提供准确的时间基准。显示部分我们依然采用既方便又经济的键盘显示芯片BC7281A 。硬件部分,将P3.1控制可控硅的方式来实现对系统的控制,将P3.0作为采集温

13、度的信号线。温控系统可用的控制算法有开关控制、模糊控制和经典PID 控制。题目中的恒温控制部分,我们采用经典的PID 控制,这样易于满足题目要求。 2.2.1 AT89C51引脚功能 AT89C51引脚图如图所示:P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5PO.6P0.7Vcc P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7VssXTAL2XTAL1/VppPSEN RST/VpD RXD/TXD/T0/T1/INTO INT1/89C5112

14、345678111213141516171819202122232425262728293031323334353637383940910电源引脚:(1)Vcc(40脚 :接+5V。 (2)Vss(20脚 :接地。 时钟引脚:(1)XTAL1(19脚 :片内振荡器反相放大器和时钟发生器电路的输入端。使用片内震荡器时,该引脚连接外部石英晶体和微调电容。(2)XTAL2(18脚 :片内震荡器反相放大器的输入端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容;若采用外接的时钟源,引脚TXAL1接收外部时钟振荡器的信号,XTAL2悬容。 控制引脚:(1)RST(9脚 :复位信号输入端。当单片机运

15、行时,在此引脚加上持续时间大于两个机器周期的高电平时,就可以对单片机进行复位操作。在单片机正常工作时,此脚应为低电平。(2)EA _/Vpp(Enable Address/Voltage pulse of programing,引脚 :EA _为外部程序存储器访问允许控制端。当EA _脚为高电平时,单片机读片内程序存储器,当EA _脚为低电平时,对程序存储器的读操作只限定在外部程序存储器。Vpp 为本引脚的第二功能,为变成输入端。(3)ALE/PR O G (Address Latch Enable/PRGramming,30脚):ALE 为低8位地址所存允许信号。P R O G 为本引脚的第

16、二功能,在对Flash 变成时,此引脚作为编程脉冲输入端。(4) PREN(Program Strobe Enable,29脚):片外程序存储器的读选通信。在单片机读外部程序存储器时,此引脚输出脉冲的负跳作为读外部程序存储器的选通信号。此引脚接外部程序存储器的OE (输出允许)端。I/O口引脚:(1)P0口:8位,漏极开路的双向I/O口。当89C51扩展外部存储器及I/O接口芯片时,P0口作为地址总线(低8位)及数据总线的分时复用端口。P0口也可作为通用的I/O端口使用,但需要加上拉电阻,这时为准双向口。P0口可驱动8个LS 型TTL 负载。(2)P1口:8位,准双向I/O口,具有内部上拉电阻

17、。P1口是专为用户使用的准双向I/O口,当作为普通的I/O输入时应先向端口的输出锁存器写入1。P1口可驱动4个LS 型TTL 负载。(3)P2口:准双向I/O口,具有内部上来电阻。当80C51外部扩展外部存储器及I/O口时,P2口可输出8位地址。P2口可驱动4个LS 型TTL 负载。(4)P3口:8位,准双向I/O口,具有内部上拉电。P3口可作为通用的I/O使用。当做为通用的I/O输入时,应先向端口的输出锁存器写入1.P3口可驱动4个TTL 负载。 P3口还有第二功能见下表: 3定时温度控制系统硬件设计3.1 BC7281A键盘显示电路BC7281A与MCU 之间的通讯是采用2线高速串行接口,

18、这两个连线分别是数据线DAT 和同步时钟线CLK ,其中DAT 为双向数据传输线,BC7281A 既用该线从MCU 接收数据,也用该线向MCU 发送数据。BC7281A 的DAT 引脚为漏极开路输出结构,使用时须在该线上加20K 左右的上拉电阻。CLK 引脚为串行时钟接口的同步时钟,由MCU 控制,下降沿有效。串行接口数据宽度为8位。“KEY 非”为键盘中断输出端,当键盘有键按下时,BC7281A 由此引脚向单片机发出中断信号请求中断。BC7281A 的D100D107引脚分别和键盘、LED 显示相连,一方面作为键盘芯片使用,另一方面作为LED 数码管的位选输入端。 3.2 DS12887时钟

19、电路DS12887是美国达拉斯半导体公司推出的时钟芯片,采用CMOS 技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集与芯片内部。采用DS12887芯片设计的时钟电路无需任何外围电路并具有良好的微机接口。DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,在此可用其为温控系统提供一准确的时间基准。 硬件接口电路:DS12887时钟芯片和89C51单微机的接口电路如下图所示。DS12887的CS 端和单片机的P2.7引脚相连,当P2.7向其发送一低电平信号时,DS12887被选中,工作。模式选择脚MOT 拉低,选择NTEL 时序,选择DS12887时钟芯片的地址总线及AS

20、 端口和89C51单片微机的P0及ALE 端直接相联;而DS 、R/W读写控制线与单片机的P3.7和P3.6相连;DS12887的高位地址由89C51单片机的P2.7端口来片选,则DS12887的高8位地址定为7FH ,而其低8侠地址则由芯片内部各单元的地址来决定(00H3FH ; DS12887的SQW 端口可编程产生方波输出信号。DS12887的中断输出端IRQ 和89C51的P3.2相联,给单片机提供中断信号。 DS12887和89C51接口电路3.3 DS18B20测温电路DS18B20采用3脚封装,其中VCC 和GND 是电源和接地引脚,DQ 是数据线引脚。和单片机的P3.0引脚相连

21、。DS18B20以串行通信的方式与微控制器进行数据通信,读出或写入数据仅需要一根I/O接口线。在此系统中DS18B20将被测对象的温度转换为数字量送给89C51,89C51根据反馈对通过P3.1控制可控硅的方式来实现对系统的控制。DS18B20有两种供电方式:3.05.5V 的电源供电方式和寄生电源供电方式(直接从数据线获取电源)。 若采用外部电源个器件供电,外部电源接VCC 引脚通过VD2向器件供电,如下图12-4所示。寄生电源由二极管VD1、VD2、寄生电容C 和电源检测电路组成,如下图12-5所示。 寄生电源供电时,VCC 端接地,器件从单线总线上获取电源,如图12-5所示。在I/O线呈

22、低电平时,改由电容C 上的电压继续向器件供电。该寄生电源有两个优点:第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读ROM DS18B20的通信协议:数字式温度传感器和模拟传感器最大的区别,是将温度信号直接转换成数字信号,然后通过串行通信的方式输出。因此掌握DS18B20的通信协议是使用该器件的关键。所有的DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲时隙;写“0”、写“1”时隙;读“0”、读“1”时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节低位在前,高位在后。 复位

23、和应答脉冲时隙每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲。在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。3.4 LED显示电路 LED驱动:LED显示器的每一段发光二极管点亮时,通过的平均电流为10mA 20mA 。这么大的电流无论是单片机的端口线,还是扩展的普通I/O口线都无法直接提供,所以通常都要外加驱动器,再与LED 数码管相连。所以本系统中采用三极管作为驱动。 3.5 独立式键盘的接口设计由于本系统中所用的按键并非很多,故此选用独立式的键盘接口电路。独立式键盘具有

24、按键相互独立,每一个按键由一个单独的I/O口控制,一个按键改变的是一个相应I/O口的输入点评,而不会对其他I/O口电平产生影响的优点。 键盘的工作方式:通常键盘的工作方式有三种:编程扫描、定时扫描、和中断扫描。中断方式与前两种工作方式相比大大提高了CPU 的工作效率,即在有键按下时才执行键盘扫描,并执行该按键对应的功能程序。当按键断开时,由于100K 下拉电阻的作用,会使BC7281A 的D100D107各个引脚的电平拉低,表示无按键闭合;当按键闭合时,由于按键的公共端经一个二极管接到了74L164的高电平,此时BC7281A 的D100D107各个引脚的电平会被拉高,表示键盘有键按下,此时B

25、C7281A 会由KEY 引脚向89C51单片机发送一中断请求,单片机会相应中断转而执行键盘程序。键盘的定义会在后面的调表、定温程序中介绍。 接口电路如图所示: 3.6电源电路本系统中除了固态继电器的供电电压为220V 以外,其余的各个芯片的供电电源全部为+5V,所以我们需要将220V 的电源经变压器变压为89V 的电压,然后经过桥式整流滤波电路滤出+5V左右的电压,而后再经过MC7805稳压后再次滤波,最后输出+5V的电压供单片机和各个芯片使用。 滤波整流电路如图所示: 4定时温控系统软件设计4.1系统流程图 4.2测试温度子程序TEMPER: MOV IE, #00HPUSH ACC ;测

26、试温度子程序保护现场PUSH 00HPUSH 01HPUSH 02HACALL RSTM ;复位DS18B20MOV A, #0CCH ;写ROM 指令ACALL WTEMMOV A, #44H ;启动温度转换ACALL WTEMACALL RSTMMOV A,#0CCHACALL WTEMMOV A, #0BEH ;读实际温度值ACALL WTEMMOV R0, #50H ;读出的数值存放在50H 开始的单元中,50H,51H分别放温度的 LS、MSBACALL RTEMANL 50H, #0F0HANL 51H, #0FHMOV A, 50HORL A, 51HSWAP AADD A, #

27、00HDA AMOV TEMP, APOP 02HPOP 01HPOP 00HPOP ACCMOV IE, #85HRET4.3 DS18B20复位读写子程序RSTM: CLR P3.0MOV R4, #30H ;DS18B20复位,要求信号线保持低电平的时间MOV R5, #00HDJNZ R5, $DJNZ R4, $SETB P3.0MOV R5, #1EHDJNZ R5, $JB P3.0,$JNB P3.0,$RET;写数据到DS18B20WTEM: SETB P3.0MOV R6,#08H ;写8次,每次写一位WTE: RRC A ;右移到进位位去JC WTE1 ;是低,执行一种时

28、序CLR P3.0;C=0,低时,执行的时序 MOV R5, #1EHDJNZ R5, $AJMP WDR1WTE1: CLR P3.0;高时,执行的时序 MOV R5, #08HDJNZ R5, $SETB P3.0MOV R5, #1DHDJNZ R5, $WDR1: SETB P3.0MOV R5, #1EHDJNZ R5, $DJNZ R6, WTERET;从S18B20中读数据 RTEM: SETB P3.0MOV R7, #08H;读出DS18B20中的8个字节的暂存存储器 RTM2: MOV R6, #08H;每个字节读8次,一个字节读8次 RTE: CLR P3.0NOPNOP

29、SETB P3.0MOV R5, #07HDJNZ R5, $JB P3.0,RTE1;P3.0=1或0 CLR C;是0清C RRC A;将C 的状态移入累加器 RTE1: SETB CRRC ARDR1: SETB P3.0MOV R5, #1EHDJNZ R5, $DJNZ R6, RTE;读8次 DJNZ R7, CONTINUESJMP CONTINUE1CONTINUE: MOV R0, AINC R0CLR ASJMP RTE2CONTINUE1: RET4.4显示子程序十个LED 数码管当中,其中05位数码管用于时间显示,67位用于显示设置温度值,89位用于显示实际温度值。程序

30、设计方面原理相同,在此只对一部分做简要介绍,不再赘述。其中30 H,31 H,32 H分别为秒、分、时对应的显存,SETUP 为键盘设置存放单元。DISPLAY: MOV DATA-OUT,#14H ;HEX 译码指令LCALL SENDMOV A,30H ;取秒的低4位ANL A, #0FHSWAP AADD A, #00H ;在第0位显示SWAP AMOV DATA-OUT, ALCALL SENDMOV DATA-OUT, #14H ;HEX 译码指令LCALL SENDMOV A,SETUPANL A, #0FH ;取键盘设置温度值的低4位SWAP AADD A,#06H ;在第6位显

31、示SWAP AMOV DATA-OUT, ALCALL SEND4.5 DS12887读写子程序READ : CLR P27MOV 69,#08HBACK2: MOV R0,#00HMOVX A,R0MOV 40H,AMOV R0,#02HMOVX A,R0MOV 41H,AMOV R0,#04HMOVX A,R0MOV 42H,ANOPNOPNOPDJNZ 69H,BACK2SETB P2.7MOV 30H,40HMOV 31H,41HMOV 32H,42HRETWRITE : NOPMOV 35H,40HMOV 34H,41HMOV 33H,42HCLR P2.7MOV R0,#0AHMO

32、V A,#70HMOVX R0,AINC R0MOV A,#8AHMOVX R0,AMOV R0,69HMOV A,R1MOVX R0,AMOV R0,#0AHMOV A,#26HMOVX R0,AINC R0MOV A,#2AHMOVX R0,ASETB P2.7RET4.6调整时间子程序调整时间子程序可以通过键盘对所显示的时间进行调整。键盘产生中断时对键盘进行扫描,若有键按下,则立即对键值存储单元R7初始化,以免引起误操作。然后去抖动,再次扫描键盘确定是否有键按下,无键按下则中断返回,如有键按下则对键盘扫描逐行判断闭合键键号,把键值送入累加器,延时等待按键释放,若按键释放则取出键值并执行,

33、然后中断返回。其中三号键为取消键,五号键为调秒键,四号键为调分键,六号键为调时键及确认键,七号键为减一键。因为调时、调分、调秒的子程序原理异曲同工,在此仅对一部分程序做介绍。相同之处不再赘述。MELODY-T : NOP ;进入调表程序,小时保持原来的数值闪烁 LCALL READ ; 调用读时间子程序LCALL DISPLAY ;显示时间NOPHOUR : MOV R7,#0FFH ;键码初始化MOV 32H,#0FFH ;显示时的LED 熄灭LCALL DISPLAYLCALL DELAY1 ;灭的时间H0: MOV 32H,42 ;显示时的LED 亮LCALL DISPLAY ;显示原数

34、据的时间LCALL DELAY1CJNE R7,#03H,H1 MOV R7,#0FFH ;键盘中断引起R7内容变化,若有键按下,立即初始化键值存储单元H1: LJMP FINISH ;若键值是03H ,跳出调表子程序CJNE R7, #04H, H2 ;是否跳到调分子程序MOV R7, #0FFHLJMP MINUTEH2: CJNE R7, #05H,HADD;是否跳到调秒子程序MOV R7, #0FFHLJMP SECONDHADD: CJNE R7,#06H,HREDUCE;是否将小时加1MOV A, #32HADD A, #01HDA A;进制转换MOV 32H,ACJNE A, #

35、24H, HADD1 ;是否加到24,若大于或等于24,重新从0开始加HREDUCE2: MOV 32H ,#24H ;若减到0,重新从24开始减SJMP CONT1HREDUCE1: JC HREDUCE2CONT1: NOPCJNE R2,#01H,H4MOV R1,#32HMOV 69H,#04HLCALL WRITESJMP H5H4: MOV 42H,32HH5: MOV R7,#0FFHLJMP H0FINISH: MOV R2 #0FFHRET4.7 设定定闹开始/结束子程序SET-T: NOPMOV 6CH, #01H ;恢复定闹功能LCALL MELODY-TCLR P2.7

36、 ;选中DS12887时间芯片MOV R0, #01H ;将定完的数据写入闹铃单元MOV A, 40HMOVX R0, AMOV R0, #10 ;将定完的数据写入外部RAM 区保存MOVX R0,AMOV R0, #03HMOV A, 41HMOVX R0, AMOV R0, #05HMOV A, 42HMOVX R0, AMOV R0, #12HMOVX R0, ASETB P2.7 ;关闭DS12887时钟芯片NEXT9: CJNE R7, #01H, NEXT9 ;确定已定完开始时间MOV R7, #0FFHLCALL MELODY-T ;定结束时间CLR P2.7MOV R0, #1

37、3H ;将结束时间写入外部RAM 区保存MOV A, 40HMOVX R0, AMOV R0, #14HMOV A, 41HMOVX R0, AMOV R0, #15HMOV A, 42HMOVX R0,ARET4.8 设置温度子程序设置温度子程序和调表子程序相似,都是通过键盘对显示数值进行改变,其中R7为键值存放单元,44H 为设置温度存储单元,SETUP 为键盘设置存放单元。二号键为退出键,六号为加1键,七号为减1键。SET-ALARM: NOPMOV R7, #0FFH ;显示设置温度的LED 开始闪烁MOV 44H, #0FFHLCALL DISPLAYLCALL DELAY1MOV

38、44H, SETUPLCALL DISPLAYLCALL DELAY1CJNE R7, #02H, TADDMOV R7, #0FFHLJMP COMPLETE ;设置结束TADD: CJNE R7,#06H,TREDUCE;设置值加1MOV A, 44HADD A, #01HDA AMOV 44H, ACJNE A, #99H,T1T2: MOV 44H, #00HLJMP CONT4T1: JNC T2LJMP CONT4TREDUCE: CJNE R7, #07H,SET-ALARM;设置值减1MOV A, 44HDEC AMOV 44H, AANL A, #0FHCJNE A, #0F

39、H, T3MOV A, 44HANL A, #0F9HMOV 44H, AT3: MOV A, 44HADD A, #00HDA AMOV 44H, ACJNE A, #00H, T4T5: MOV 44H, #99HSJMP CONT4T4: JC T5CONT4: NOPNOPMOV SETUP, 44HSJMP SET-ALARMCOMPLETE: RET4.9 BC7281A读写数据子程序SEND: MOV IE, #00H ;向BC7281A 发送数据时关闭所有中断CLR TR0SEND1: CLR CLK ;在CLK 输出一脉冲SETB CLKWAIT1: JB DAT, SEND

40、1 ;等待DAT 变为低电平CLR CLK ;再输出一脉冲SETB CLKWAT2: JNB DAT, SEND2 ;等待DAT 恢复高电平(输入状态)MOV BIT-COUNT, #8SEND-LOOP: MOV C, DATA-OUT.7;输出BIT7MOV DAT, CCLR CLK ;输出一脉冲,送出数据SETB CLKMOV A, DATA-OUTRL AMOV DATA-OUT, A ;DATA-OUT 左移一位NOPNOPNOPDJNZ BIT-COUNT, SEND-LOOPSETB DAT ;恢复DAT 高电平MOV IE, #85H ;开启中断SETB TR0RETRECE

41、IVE: MOV IE, #00H;从BC7281A 中读取数据子程序 CLR TR0CLR CLK;发出一CLK 脉冲 SETB CLKWAT3: JB DAT,WAT3;等待DAT 低电平响应信号 CLR CLK;再发送一CLK 脉冲,准备接受数据 SETB CLKMOV BIT-COUNT, #8RECV-LOOP: NOPNOPNOPMOV A, DATA-IN4.10 延时子程序DELAY50: ORL TMOD, #01H;延时子程序1 MOV TH1, #04CHMOV TL1, #00HSETB TR1JNB TF1, $CLR TF1CLR TR1RETDELAY1: MOV

42、 1AH, #0AFH;延时子程序2 YS05: MOV 1BH, #0FFHYS03: DJNZ 1BH, YS01SJMPYS04 YS01: CJNE R7, #0FFH,YSW;延时程序中响应按键 SJMP YS03YS04: NOPDJNZ1AH, YS05 YSW: RET4.11 定闹中断子程序NEXTC: RETI4.12 键盘中断子程序KEYBOARD: NOPMOV DATA-OUT, #93H ;读键值锁存器指令(地址13H )LCALL SENDLCALL RECEIVE ;读出数据MOV R7, DATA-INNOPRETI5性能测试与总结在调试过程中,先进行软件调试

43、;在伟福环境下运行程序,跟踪、单步、或全速执行。进行各程序模块调试,最后整个程序整体调试。在伟福环境调试完后,将程序写入单偏机,检查硬件,无虚焊、桥接等现象。硬件良好,插入单片机,供电运行,数码管显示出现乱码,经过分析,硬件电路出了点问题,连接数码管时挫开了一位,经过修改程序的字段码表,故障排除,经过多次调试,验证、修整,最终调试成功。通过本专题的设计,在王冠华教授的精心指导下,以及我的努力工作下,我成功的完成了定时温度控制系统的设计,我有几点体会:一 开拓了自己的知识面,使我对51系列单片机,以及温度控制程序的设计有了更全面,更清晰的认识。二 培养了自己的动手能力。通过本次专题设计,我把四年

44、的知识又重新温习了一遍,理论联系实际,把知识应用到实际当中去。通过自己查阅大量资料,自己动手设计、编程、连接电路,开拓了思维,培养了自己的动手能力。三 在设计过程中,我们也遇到了不少的困难,但在教授的耐心指导下,困难被一一克服,让我树立了“遇到困难,战胜困难”的信心,对此我对所有曾经指导帮助过我教员表示中心的感谢。谢辞该结业设计,培训站的诸位给予了很大的支持,尤其在设计过程中的孜孜教导和对我的疑难问题不厌其烦的解答和帮助,提高了我应用单片机汇编语言编程的技术水平以及分析问题和解决问题的能力。在此向曾经给予帮助和鼓励的所有老师及同学表示中心的感谢。老师的指导使我的设计能够顺利进行和如期完成,通过

45、本次设计,我收获很大,专业知识面扩大了,同时我认识到设计人员应该具有创新的思维方式,能大胆尝试新的设计思路,增强了我的自主学习和动手能力,为今后走向工作岗位奠定了良好的基础。未来只能通过自己在专业知识结构上不断地完善,把所学到的知识更好地运用到工作当中。因此,我还需要不断学习总结,不断实践,把所学到的专业知识很好地运用到工作当中,不断提高自己的学习工作能力。最后,再次对所有给与帮助和指导的所有老师和同学表示衷心的感谢。参考文献1 崔华. 单片机实用技术M.北京:清华大学出版社,2004. 2 张志良. 单片机原理与控制技术M.北京:机械工业出版社,2007. 3 韩太林. 单片机原理及应用M.

46、北京:电子工业出版社,2005.4 张毅刚.MCS-51单片机应用设计M.哈尔滨:哈尔滨工业大学出版社,1997. 5 余宏生 吴建设. 电子CAD 技能实训M.北京:人民邮电出版社,2005. 6吴金戎.8051单片机实践与应用M.北京:清华大学出版社,2002 7何立民. 单片机应用技术选编M.北京:北京航空航天大学出版社,19938 张毅刚 彭喜元. 单片机应用原理与应用设计M.哈尔滨:哈尔滨工业大学出版社,2008.附录A 主程序定时温控系统的主程序 TEMP-BIT BIT 00H ;温度测试标志位LOWER5 BIT 01H ;温度小于5时的标志位 TEMP-CONTROL BIT

47、 02H ;输出控制寄存位 ZERO-BIT BIT 03H ;不加热标志 CONTROL-BIT BIT P3.1 ;加热通道COUNT EQU 60H ;记录进入中断次数单元 TEMP EQU 61H ;温度测试后的值存放单元 SETUP EQU 62H ;键盘设置存放单元 L-LAST EQU 63H ;上上次温度记录值 LAST EQU 64H ;上次温度记录值 THIS EQU 65H ;本次温度记录值-HIGH EQU 66H ;占空比调节高位存放位 -LOW EQU 67H ;占空比调节低存放位 BIT-COUNT DATA 00FH TIMER DATA 00EH TIMER1 DATA 00DH DATA-IN D

温馨提示

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

评论

0/150

提交评论