基于AT89C51的温度控制器设计毕业设计.doc

上传人:土8路 文档编号:10509316 上传时间:2021-05-20 格式:DOC 页数:22 大小:422.50KB
返回 下载 相关 举报
基于AT89C51的温度控制器设计毕业设计.doc_第1页
第1页 / 共22页
基于AT89C51的温度控制器设计毕业设计.doc_第2页
第2页 / 共22页
基于AT89C51的温度控制器设计毕业设计.doc_第3页
第3页 / 共22页
基于AT89C51的温度控制器设计毕业设计.doc_第4页
第4页 / 共22页
基于AT89C51的温度控制器设计毕业设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《基于AT89C51的温度控制器设计毕业设计.doc》由会员分享,可在线阅读,更多相关《基于AT89C51的温度控制器设计毕业设计.doc(22页珍藏版)》请在三一文库上搜索。

1、 2013 届本科生毕业设计本科生毕业设计 分类号:分类号:TP212.9 题题 目目: 基于基于 AT89C51 的温度控制器设计的温度控制器设计 作作 者者 姓姓 名名: 石礼君石礼君 学学 号号: 2009080708 学学 院院: 机械与电子工程学院机械与电子工程学院 专专 业:业: 自动化自动化 指导教师姓名指导教师姓名: 张明玉张明玉 司志良司志良 指导教师职称指导教师职称: 教授教授 工程师工程师 2013 年年 5 月月 1 日日 摘摘 要要 温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产 和生活中的广泛应用,利用新型单总线式数字温度传感器实现对温度的测试

2、与控制 得到更快的开发。随着时代的进步和发展,单片机技术已经普及到我们生活、工作、 科研各个领域。数字式温度计以数字温度传感器作感温元件,它以单总线的连接方 式,使电路大大的简化。传统的温度检测大多以热敏电阻为传感器,这类传感器可 靠性差,测量温度准确率低且电路复杂。因此,本温度计摆脱了传统的温度测量方 法,利用单片机对传感器进行控制,这样易于智能化控制。本次设计采用 AT89C51 单片机作为控制芯片,采用半导体集成温度传感器 AD590 采集温度信号来控制外围 电路。 关键词:温度传感器;AT89C51 单片机;AD590 温度传感器 ABSTRACT the temperature de

3、tection and control is the process of industrial production is one of the typical applications, with the sensor in the production and life of the more widely used, use of novel single bus digital temperature sensor to realize the temperature measurement and control get faster development, with the e

4、ra of progress and development, single-chip technology has spread to our life, work, research, each field. A digital thermometer with digital temperature sensor as a temperature-sensing element, with single bus connection, so that the circuit is greatly simplified. The traditional temperature detect

5、ion mostly by the thermistor as a sensor, the sensor reliability, accurate temperature measurement rate and low circuit complexity. Therefore, the thermometer out of traditional method of temperature measurement using MCU, sensor control. It is easy to intelligent control. Key words: temperature sen

6、sor; AT89C51 microcontroller; AD590 temperature sensor 目目 录录 1 系统总体方案设计.1 2 系统硬件设计.1 2.1 中央处理器.1 2.1.1 AT89C51 简介.1 2.1.2 特殊功能存储器.2 2.1.3 芯片擦除.2 2.1.4 复位电路的设计.2 2.1.5 时钟电路设计.3 2.2 温度传感器 AD590.3 2.3 信号调理电路.4 2.4 A/D 转换.5 2.5 LED 显示.7 2.6 控制电路.9 3 系统软件设计.10 3.1 程序初始化.12 3.2 主程序.12 3.3 A/D 转换子程序.13 3.4

7、 标度转换子程序.14 3.5 控制子程序.14 3.6 键盘子程序.14 结论.15 参考文献.16 致 谢.17 1 系统总体方案设计 本次设计采用 MCS-51 单片机作为控制芯片,采用半导体集成温度传感器 AD590 采集温度信号。通过温度传感器将采集的温度信号转换成与之相对应的电信 号,经过放大处理送入 A/D 转换器进行 A/D 转换,将模拟信号转换成数字信号送入 到控制芯片进行数据处理。通过在芯片外围添加显示、控制等外围电路来实现对保 温箱温度的实时检测和控制功能。 本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成传感器信号的 采集处理,信息的显示等。软件主要完成对采集的

8、温度信号进行处理及显示控制等 功能。系统结构框图如图 1 所示: 保 温 箱 AD590 热源 交流 电源 调理电源 路 单片机最小系统 A/D 控制 单片机 显示 设定 继电器 直流 电源 图 1 系统结构框图 2 系统硬件设计 2.1 中央处理器 MCS-51 系列单片机是 8 位增强型,其主要的技术特征是为单片机配置了完善的 外部并行总线和具有多级识别功能的串行通讯接口(UART) ,规范了功能单元的 SFR 控制模式及适应控制器特点的布尔处理系统和指令系统。属于这类单片机的芯 片有许多种,如 8051、8031、80C51 等等。由于单片机具有较高的性能比,国内 MCS-51 系列单片

9、机应用最广,易于开发、使用灵活、而且体积小、易于开发、抗干 扰能力强,可以工作于各种恶劣的条件下,工作稳定等特点。本设计本着实用性和 适用性的要求,选择 AT89C51 单片机作为中央处理器。 2.1.1 AT89C51 简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的具有低电压,高性 能 CMOS 的 8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器 制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器, 为很多嵌入式控制系统

10、提供了一种灵活性高且价廉的方案。如图 2 为 AT89C51 的内 部结构框图。 图 2 AT89C51 的内部结构框图 2.1.2 特殊功能存储器 在单片机内高 128B RAM 中,由有 21 个特殊功能寄存器(AFR) ,它们离散的 分布在 80H-FFH 的 RAM 空间中,访问特殊功能寄存器只允许使用直接寻址方式。 2.1.3 芯片擦除 整个 EPROM 阵列电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低 电平 10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节 被重复编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻辑,可以在低到 零

11、频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停 止工作。但 RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保 存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 2.1.4 复位电路的设计 复位使单片机处于起始状态,并从该起始状态开始运行。AT89C51 的 RST 引脚 为复位端,该引脚连续保持 2 个机器周期(24 个时钟振动周期)以上高电平,则可 使单片机复位。内部复位电路在每一个机器周期的 S5P2 期间采样斯密特触发器的输 出端,该触发器可抑制 RST 引脚的噪声干扰,并在复位期间不产生 ALE 信号,内部 R

12、AM 处于不断电状态。其中的数据信息不会丢失,也即复位后,只影响 SFR 中的内 容,内部 RAM 中的数据不受影响。外部复位有上电复位和按键电平复位。由于单片 机运行过程中,其本身的干扰或外界干扰会导致出错,此时我们可按复位键重新开 始运行。为了便于本设计运行调试,复位电路采用按键复位方式。按键复位电路如 图 3 所示。 图 3 复位电路 2.1.5 时钟电路设计 时钟电路是单片机的心脏,它控制着单片机的工作节奏。MCS-51 单片机允许的 时钟频率是因型号而异的,其典型值为 12MHZ。AT89C51 内部有一个反相振荡放大 器,XTAL1 和 XTAL2 分别是该反向振荡放大器的输入端和

13、输出端。该反向放大器 可配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。本设计采用的晶振频率为 12MHZ。其时钟电路如图 4 所示。51 系列单片机还可使用外部时钟。在使用外部时 钟时,外部时钟必须从 XTAL1 输入,而 XTAL2 悬空。 图 4 时钟电路 2.2 温度传感器 AD590 温度传感器的应用范围很广,它不仅用于日常生活中,而且也大量应用于自动 化和过程检测控制系统。温度传感器的种类很多,根据现场使用条件,选择恰当的 传感器类型才能保证测量的准确可靠,并且同时达到增加使用寿命和降低成本的目 的。AD590 温度传感器不但实现了温度转化为线性电量测量,而且精度高、互换性 好。AD

14、590 测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温 度的具体电路,广泛应用于不同的温度控制场合。由于 AD590 精度高、价格低、不 需辅助电源、线性好,常用于测温和热电偶的冷端补偿。本设计采用 AD590 作为温 度传感器,它只需要一个电源即可实现温度到电流的线性变换,然后再终端使用一 只取样电阻,即可实现电流到电压的转换。它使用方便,并且具有较高的精度。图 5 为 AD590 的封装形式和基本应用电路。 图 5 AD590 封装形式和应用电路 AD590 集成温度传感器是将温敏电阻晶体管与相应的辅助电路集成在同一块芯 片上,能直接给出正比于绝对温度的理想线形输出,温敏晶

15、体管在管子的集电极电 流恒定时,其基极发射极电压与温度成线形关系,由于生产厂家生产时采用激光微 调来校正集成电路内的薄膜电阻,使其在摄氏零度(对应绝对温度为 273.2K) ,输出 电流微 273.2uA,灵敏度微 1uA/K。当其感受的温度升高或者降低时,则其电流就以 1uA/K 的速率增大或减小,从而将被测电流转换为电压,则可以用电压来表示其温 度大小。为克服温敏晶体管 vb 电压产生时的离散性,采用了特殊的差分电路。集成 温度传感器具有电压型和电流型两种。因此,它不容易受接触电阻、引线电阻、电 压噪音的干扰,具有很好的线性特性。 AD590 温度传感器作为一个恒流源,在本设计的温度检测电

16、路中在 AD590 的输 出端接一取样电阻可将输出电流信号变化转换为电压信号变化。由于 AD590 温度传 感器温度每变化 1其输出电流变化 1A。所以在接上 10K 的取样电阻的情况下, 温度每变化 10,输出电压就将变化 0.1V。 2.3 信号调理电路 经过温度传感器采集输出的电压信号一般来说是非常微弱的,因此,在送往单 片机处理之前应对该信号进行放大。本系统所采用的 A/D 转换器为 ADC0809,由于 ADC0809 的输入信号应在 05V 之间,因此,经过放大电路放大的信号进入 A/D 转 换器的电压信号应控制在 05V 之间,根据此原则可设计合适的放大倍数。 信号调理电路主要由

17、运算放大器 0P07 等组成。为了使温度检测电路的输出电压 能够适合于 A/D 转换器的参考电压,利用超低温漂移高精度运算放大器 0P07 将温度 电压信号进行放大到 05V 的范围之内,便于 A/D 进行转换,以提高温度采集电路的 可靠性。 本设计中,信号调理电路部分由集成运放 OP07 分别构成一个电压跟随器,电压 比较器和一个同相输入放大器用于对 AD590 输出的小电压信号进行放大处理9。信 号调理电路如图 6 所示 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date:18-Jun-2007Sheet of Fil

18、e:C:Documents and SettingsAdministratorM y Documents件件件件件件件件件件件件件件.ddbDrawn By: 2 3 74 6 1 8 U1 OP07 2 3 74 6 1 8 U2 OP07 2 3 74 6 1 8 U3 OP07 R5 100K R7 100K R6 100K R4 100K R8 100K R9 100K R10 20K +15 +15 R1 10K 1 1 2 2 3 3 R3 100K + - 1 2 J1 AD590 +15 +15 -15 +15 -15 -15 Uo Uo1 Ui Ui1 Ui2 图 6 温度检

19、测电路 在该放大电路中,电压跟随器起阻抗匹配的作用。反馈电阻为零时,放大倍数 为 1,电压跟随器的输入电压等于输出电压 oi VV 11 电压比较器用于对输出电压小信号电压进行调零,在上述电路图中的电压比较 器部分由于 R2=R4,R3=R5 可得电压比较器的输出电压 根据电压跟 120ii UUU 随器的输出电压调节电位计 R9 就改变电压比较器的输入电压。使得当温度为 2i U 1 i U 温度测量下限时电压比较器的输出电压为零。 起放大作用的是同相输入放大器 OP07。其放大倍数: 因此放大器的 7 6 1 R R A 输出电压 i UAU* 0 2.4 A/D 转换 123456 A

20、B C D 654321 D C B A Title NumberRevisionSize B Date:18-Jun-2007Sheet of File:C:Documents and SettingsAdministratorMy Documents件件件件件件件件件件件件件件.ddbDrawn By: IN-0 26 msb2-1 21 2-2 20 IN-1 27 2-3 19 2-4 18 IN-2 28 2-5 8 2-6 15 IN-3 1 2-7 14 lsb2-8 17 IN-4 2 EOC 7 IN-5 3 ADD-A 25 IN-6 4 ADD-B 24 ADD-C 23

21、 IN-7 5 ALE 22 ref(-) 16 ENABLE 9 ST ART 6 ref(+) 12 CLOCK 10 U8 ADC0809 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 LE 11 U6 74LS373 EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8

22、P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE /P 30 TXD 11 RXD 10 U5 AT89C51 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 CLK DIN CLK 3 D 2 SD 4 CD 1 Q 5 Q 6 U7A 74LS74 CLK 11 D 12 SD 10 CD 13 Q

23、9 Q 8 U7B 74LS74 VCC VCC VCC 5 6 4 U9B 74LS02 2 3 1 U9A 74LS02 8 9 10 U9C 74LS02 VCC GND P1.2 ADC0809 是一种 8 位逐次逼近式 A/D 转换器,其内部有一个 8 位“三态输出锁 存器”可以锁存 A/D 转换后的数字量,故它本身既可看作一种输入设备,也可以认为 是并行 I/O 接口芯片。故 ADC0809 可以和微机直接接口,本设计就是用 AT8951 和 ADC0809 直接相连的。 AT89C51 与 ADC0809 的连接方法如图 7 所示,AT89C51 通过地址线 P2.7 和写控制信

24、号线用一个或非门联合控制启动转换信号端(START)和地址锁存信号 _ WR 端(ALE)。地址线 P2.7 和读控制信号线用一个或非门联合控制输出允许控制端 _ RD (EOC)。低三位地址线加到 ADC0809 的 ADDA、ADDB、ADDC 端,所以选中 ADC0809 的 IN0 通道的地址为 7FF8H。转换结束信号 EOC 通过一个反相器接到 INT1。 AT89C51 和 ADC0809 连接通常可以采用查询和中断两种方式。本系统采用中 断方式传送数据,EOC 线作为 CPU 的中断请求输入线。CPU 线响应中断后,应在 中断服务程序中使 OE 线变为高电平,以提取 A/D 转

25、换后的数字量。 图 7 AT89C51 与 ADC0809 连接图 和 START 的逻辑关系分别为: _ OE P2.7P2.7 + _ OEWR _ WR START= P2.7= P2.7 + RD _ RD 对 ADC0809 地址的确定:根据系统硬件连接图可知所选定模拟电压路数为 IN0,其对应的地址为 ABC=000,即 P0.0、P0.1、P0.2=0 0 0;又 P2.7=0 时才能启动 ADC0809 工作和使 AT89C51 从 ADC0809 接收 A/D 转换电压的数字量。故确定 ADC0809 其中一个地址为: 0111 1111 1111 1000B=7FF8H ,

26、其中“_ ”表示固定量。 ADC0809 的 IN0 和变送器输出端线连,故 IN0 上输入的 0V5V 范围的模拟 电压经 A/D 转换后可由 AT89C51 通过程序从 P0 口输入到它的内部 RAM 单元。 2.5 LED 显示 单片机应用系统中使用的显示器主要有发光二极管显示器,简称 LED;液晶显 示器,简称 LCD。前者价廉,配置灵活,与单片机接口方便;后者可进行图形显示, 但接口复杂,成本较高。结合本设计的特点,在这里系统的显示采用发光二极管作 为显示器件。 单片机中使用 7 段 LED 构成字形“8”,另外,还与一个小数点发光二极管用以 显示数字、符号及小数点。这种显示器有共阴

27、极和共阳极两种,如图 8 所示。发光 二极管的阳极连在一起称为共阳极显示器,阴极连在一起的称为共阴极显示器。一 位显示器由八个发光二极管组成,其中,7 个发光二极管构成字形“8”的各个笔划 (段)a-g,另一个小数点为 dp 发光二极管。当在某段发光二极管施加一定的正向电 压是,该段笔划即点亮;不加电压则该段二极管不亮。为了保护各段 LED 不被损坏, 需要外加限流电阻。 图 8 数码管 如果要显示某个字形,则应使此字形的相应段点亮,也即送一个不同的电平组 合代表的数据来控制 LED 的显示字形,此数据称为字符的段码。如使用共阳极数码 管,数据为 0 表示对应字段亮,数据为 1 表示对应字段暗

28、;如使用共阴极数码管, 数据为 0 表示对应字段暗,数据为 1 表示对应字段亮。如要显示“0”,共阳极数码管 的字型编码应为:11000000B(即 C0H) ;共阴极数码管的字型编码应为: 00111111B(3FH) 。 74LS164 是 8 位串入并出移位寄存器。它的引脚如图 9 所示。A、B 为串行输入端,QAQH 为串行输出端,CLK 为串行时钟输入端,为串行输出清零端,VCC 为+5V 电源输入端,RM GND 为接地端。具体输入输出关系如表 3-6 所示。X 代表任意状态;QA0、QB0 QH0 代表在 稳态输入条件建立之前 QA、QBQH 的输出状态;QAn、QBn QHn

29、代表在最近的时钟上升沿 转换之前 QA、QBQH 的输出状态;H/L、QAn QBn 代表在最近的时钟上升沿转换之后 QA、QBQH 的输出状态。 表 1 74LS164 输入输出关系如所示 输入输出 清除 时钟 A B QA QB QH L X X X H L X X H H H H L X H X L L L L QA0 QB0 QH0 H QAn QGn L QAn QGn L QAn QGn 图 9 74LS164 引脚如图 串行显示电路属于静态显示,比动态显示亮度更大一些。由于 74LS164 在低电 平输出时,允许通过的电流达 8mA,故不必添加驱动电路,亮度也比较理想。与动 态扫

30、描相比较,无需 CPU 不停的扫描,频繁地为显示服务,节省了 CPU 时间,软 件设计也比较简单。由于本设计采用的是共阳极数码管,所以相应的亮段必须送 0, 相应的暗段必须送 1。原理图如图 10 所示: 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date:18-Jun-2007Sheet of File:C:Documents and SettingsAdministratorMy Documents件件件件件件件件件件件件件件.ddbDrawn By: A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10

31、 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U1 74LS164 RXD TXD A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U2 74LS164 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U3 74LS164 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U4 74LS164 VCC TXDTXDTXD a bf c g d e DP

32、Y 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9 9 DS1 DPY_7-SEG_DP a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9 9 DS2 DPY_7-SEG_DP a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9 9 DS3 DPY_7-SEG_DP a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9 9 DS4 DPY_7-SEG_DP R1 10K R2 10K R3 10

33、K R4 10K 图 10 LED 串行静态显示 2.6 控制电路 在本设计中,被测温度信号经采样处理后,还需要通过单片机系统的 P1.2 口输 出用以控制保温箱的温度,通过这种方式达到控制的目的。控制的方式主要有模拟 量控制和开关量控制。本系统采用的是开关量控制。所谓的开关量控制就是通过控 制设备的“开”或“关”状态的时间来达到控制的目的。 由于输出设备往往需要大电压来控制,而单片机系统输出的为 TTL 电平,这种 电平不能直接驱动外部设备的开启和关闭。另一方面,许多外部设备在开关过程中 会产生很强的电磁干扰信号,如果不隔离会使系统进行错误的处理。因此在开关量 的输出控制过程中要考虑到两个问

34、题,一要隔离;二要放大。 本设计采用继电器作为控制电路的主要器件,继电器具有一定的隔离作用,在 继电器前面加一个三极管用以放大输出信号就可以驱动继电器的闭合和断开,从而 实现弱电控制强电的效果。继电器是一种电子控制器件,它具有控制系统(又称输 入回路)和被控制系统(又称输出回路) ,通常应用于自动控制电路中,它实际上是 用较小的电流控制较大电流的一种开关。故在电路中起自动调节、安全保护、转换 电路等作用。在工业自动化控制系统中,继电器经常被用来控制执行机构, 特别是应 用在一些耐潮、耐腐蚀、防爆的特殊装置中。固态继电器和 MCS-51 系列单片机组 成的控制系统, 具有抗干扰性强、编程简单、系

35、统兼容性好等特点,具有非常广阔的 应用前景。继电器一般由通电线圈和触电组成。当线圈通电时,由于磁场作用,使 开关触电闭合。当不通电时,则开关触点断开。一般线圈可用直流低电压控制 (+5V,+9V,+12V) 。 继电器的特性参数包括输入和输出参数,主要的参数为额定输入电压、额定输 出电流、浪涌电流。根据输入电压参数值大小,可确定工作电压大小。如采用 TTL 或 CMOS 等逻辑电平控制时,采用有足够带载能力的低电平驱动,并尽可能使“0”电 平低于 0.8 V。如在噪声很强的环境下工作,不能选用通、断电压值相差小的产品, 必需选用通、断点压值相差大的产品,(如选接通电压为 8 V 或 12 V

36、的产品)这样不 会因噪声干扰而造成控制失灵 。本设计就是采用直流驱动电压为+5V 的继电器。触 电输出部分可以直接与市电连接。继电器控制电路如图 11 所示: 图 11 继电器控制电路 3 系统软件设计 本次单片机温控系统的功能是由硬件电路配合软件来实现的,当硬件基本定型 后,软件的功能也就基本定下来了。系统软件的功能又可分为两大类:一是监控软 件,它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执 行软件,它是用来完成各种实质性的功能如测量、显示等功能。每一个执行软件也 就是一个小的功能执行模块。本文将各执行模块一一列出,各执行模块规划好后, 就可以规划监控程序了。本系统程

37、序设计包括温度采集子程序、显示子程序、标度 转换资程序、键盘子程序、控制子程序11。程序流程图如图 12 所示。 开始 初始化温 度参数 采样当前温度 当前温度和设定温度送显示缓冲 设定温度-当 前温度 继电器闭合继电器断开维持状态 读键盘 键值? 向上键向下键 设定温度减 1设定温度加 1无键按下 小于等于-2 大于等于 2 图 12 系统流程图 3.1 程序初始化 程序初始化部分根据系统硬件原理图及设计要求对单片机系统进行系统资源分 配、参数的设置以及定义。系统内部资源分配和参数设置如下: A/D 端口地址(ADPORT): 7FF8H 显示缓冲起始地址:(LEDBUF): 30H 段码存

38、储起始地址(TEMP): 40H 设定温值存储地址(SETTEMP): 50h 测量温度存储地址(CURTEMP):51H 温度设定上限(HIGHLIMIT): 80 温度设定下限(LOWLIMIT): 25 温度测量上限(HIGHTEMP) 107 温度测量下限(LOETEMP) 21 初始化程序代码如下: ADPORT EQU 7FF8H ;A/D 端口地址 LEDBUF EQU 30H ;显示缓冲 TEMP EQU 40H ;段码存储 UP EQU 1 ;增温 DOWN EQU 2 ;减温 LOWLIMIT EQU 25 ;设定值下限 HIGHLIMIT EQU 80 ;设定值上限 LO

39、WTEMP EQU 21 ;A/D 0 HIGHTEMP EQU 107 ;A/D 255 SETTEMP EQU 50H ;设定温值 CURTEMP EQU 51H ;测量温度 DIN BIT 0B0H ;P3.0 CLK BIT 0B1H ;P3.1 ORG 0000H LJMP START 3.2 主程序 主程序的编写是为了实现程序在各个模块间的跳转。这样使程序编写思路更加 明了,简化了程序的编写难度,有利于程序的调试。本软件系统包括 A/D 转换模块, 标度转换模块,显示模块,键盘模块,控制模块等。 主程序代码如下: START: MOV SETTEMP, #20 ;初始恒温值为 20 MLOOP: CALL TESTKEY ;测试有无键入 JNZ KEYPRESSED ;更改设定值 CALL DISPLAYRESULT ;数制转换 CALL DISPLAYLED ;显示 CALL READTEMP ;读入温度 CONTROL: ;控制子程序 KEYPRESSED: ;键盘子程序 END 3.3 A/D 转换子程序 根据系统硬件连接图可知,在系统中将 ADC0809 作 为一个外部扩展并行 I/O 口,采用线选寻址。由 P2.7 和 联合控制启动转换信号端(ATART)和 ALE 端,低 RW 三位地址线架到 ADC0809 和 ADDA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1