单片机温度测控系统
1、 课程设计的目的和要求:(黑体、小三号)
目的:
1)、掌握微机系统的开发步骤
2)、掌握ADC0809、8255A、8259A的用法
3)、掌握汇编程序的设计
要求:
利用ADC0809采用中断方式设计一个温度测控系统,在LED数码显示器上显示温度值,并对温度进行测试和控制,当检测温度到达温度上限60℃时开风扇(即开启电动机),www.751com.cn可采用发光二极管代替。低于下限30℃时关闭风扇,LED上的显示内容为:XX ℃(采用十进制显示)。
2、总体设计
2.1基本工作原理(黑体、四号)
利用实验仪上8255扩展LED显示电路,A/D转换电路,完成类似温度控制实验。其中利用两位8段LED显示器显示设定温度,利用ADC0809采样可变电位器的输出电压,可将初始ADC0809的输出值作为设定温度,当采样到输出电压值超过设定温度60℃时,发光二极管亮;采样到输出电压值低于设定温度30℃时,LED上的显示内容。
8255的CS信号接CS0上,段码地址为200H(即PA口)。此时8255的控制口地址为203H。“地址译码”区的200h-207h.
208-20F 孔连AD0809 的CS09 孔,CS79 接210-217;AD0809 的CLOCK 连CPU。
AC_CS信号接CS1上,则ADC0809地址为208H,采用产生中断后读入转换结果。
2.2 硬件总体设计
2.2.1 系统总成方案(宋体、小四号)
硬件系统包括以下几个电路:
(1) 温度测量电路,包括传感器、放大器、A/D转换器
(2) 温度控制路,包括灯的输出
(3) 温度显示电路。
ADC0809负责采样,采样方式用中断方式。ADC0809引脚接8259A,中断源IR0,当EOC转换结束送出此信号,产生中断读取转换的值。再判断此值在什么范围之内,用D8279及Z8279共同实现在数码上的显示。用程序来控制8255的C口所连的灯泡的工作情况。
2.2.2 内存单元编址
Z8279 EQU 212H
D8279 EQU 210H
LEDMOD EQU 00 ;
LEDFEQ EQU 38H ;
A8255 EQU 200H
B8255 EQU 201H 8255的四端口地址(前三个为A、B、C口,最
C8255 EQU 202H 后一个为控制口)
CON8255 EQU 203H
CS0809 EQU 208H
2.2.3 显示功能的定义
当A/D进行数据采集到的>600C是,LED灯亮,lo接在8255的PC3口,写0FH到C口置1表示灯亮,当<300C时温度值采用数码管显示,并用十进制显示,并l0不亮,则写0EH到C口,置0表示灯灭。
2.3 软件总体设计
2.3.1 存储单元的分配、标志位的含义
INTOFF、 INTSEG分别为8529A的中断程序入口偏移地址和段地址
2.3.2 主程序框图及清单(带有注释)Z8279 EQU 212H
D8279 EQU 210H
LEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示
LEDFEQ EQU 38H ;扫描频率
A8255 EQU 200H
B8255 EQU 201H
C8255 EQU 202H
CON8255 EQU 203H
CS0809 EQU 208H
DATA SEGMENT
INTOFF DW 0;存放原来中断向量里的偏移地址
INTSEG DW 0;存放原来中断向量里的段地址
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE
START:
PUSH CS
POP DS
CLI
IN AL,0A1H;设置中断屏蔽寄存器,系统自动产生72号中断
AND AL,0FBH
OUT 0A1H,AL
MOV AX,3572H
INT 21H
MOV INTOFF,BX
MOV INTSEG,ES
PUSH DS
MOV DX,OFFSET CONVERT_PROC;设置新的中断向量
MOV AX,SEG CONVERT_PROC
MOV DS,AX
MOV AX,2572H
INT 21H
POP DS
STI
MOV DX, Z8279
MOV AL, LEDMOD
OUT DX, AL
MOV AL, LEDFEQ
OUT DX, AL
MOV DX, D8279 623