关 于 空 调 温 度 控 制 系 统 的 设 计 报 告
1.目的和意义
1.1 设计的目的
(1)掌握A/D转换与单片机的接口连线。
(2)了解A/D芯片ADC0809转换性能及编程方法。
(3)通过实验了解单片机如何进行数据采集。
(4)进一步掌握八段数码管的使用和编程方法。
(5)了解八段数码管显示的原理。
1.2 设计的内容
设计一个空调温度控制系统,要求进行实时的温度数据采集,并即时显示,
软件输入设定值,进行温度比较并作出相应的处理。
1.3 设计要求
要求该系统能够显示即时温度并可设定温度,当即时温度高于设定值时进行降温处理,低于设定值时进行升温处理,相等时保持不变。
2.硬件电路的设计
2.1 硬件电路总体框图:
系统设计使用MCS-51单片机8051芯片。8051芯片由以下部分组成:中央
处理器、256单元的内部数据存储器、4KB的程序存储器、定时器/计数器、四个八位的I/O口,中断控制系统及时钟电路。
A/D转换使用典型8位8通道逐次逼近式A/D转换器ADC0809芯片,相对转换精度为1/2^8×10%=0.39%
3位八段数码管显示即时温度,用2个LED指示制冷或升温处理。
图 2—1
2.2 硬件电路总图 图 2—2
3.系统软件设计
3.1 设计思路
由电位计模拟温度输入,启动A/D转换并将转换值暂存47H单元,将转换得来的十六进制数转换为十进制数,个、十、百位分别存于2AH、2BH、2CH单元,送由3位八段数码管显示。同时将此即时值与设定值比较,较大时进行制冷处理,较小时进行升温处理,相等时保持,处理完毕后返回温度采集模块,设定值可在程序运行前用软件方法改变。
3.2 程序流程图
图 3—1
3.3 程序清单
org 0000h
ljmp main
org 4000h
MAIN: MOV P1,#00H
ACALL BEING ;调用转换显示子程序
MOV A,47H
CJNE A,#1bH,SS ;设定温度
NOP
EXIT: JMP MAIN
SS: JC HIGH1
SETB P1.0 ;降温子程序
CALL DELAY1
JMP EXIT
HIGH1: SETB P1.1 ;升温子程序
CALL DELAY1
JMP EXIT
org 4200h
BEING: mov dptr,#8000H ; AD转换子程序
loop: mov dptr,#8000H;启动A/D转换
movx @dptr,A
mov r6,#14h
delay: nop
nop
nop
djnz r6,delay
movx A, @DPTR
MOV 47H,A ; 温度AD转换结果暂存47H单元
ACALL CHANGE ; 十六进制转十进制子程序
LCALL DISPLAYLED
RET
CHANGE:MOV R1,#00H
MOV R2,#00H
CLR C
CHAN: SUBB A,#64H
JC CHAN1
INC R1
AJMP CHAN
CHAN1:ADD A,#64H
CHAN2:subb A,#0AH
JC CHAN3
INC R2
AJMP CHAN2
CHAN3: ADD A,#0BH
MOV 2AH,A ;转换结果个位暂存2AH单元
MOV 2BH,R2 ;十位存2BH单元
MOV 2CH,R1 ;百位存2CH单元
RET
DISPLAYLED: ;显示子程序
MOV R0,#2AH
MOV R3,#01H
MOV A,R3
LD0: MOV DPTR,#9002H ;数码管位控口地址
MOVX @DPTR,A
MOV A,@R0
CALL TABEL
MOV DPTR, #9004H ;数码管段控口地址
MOVX @DPTR,A
call DELAY1
INC R0
MOV A,R3
JB ACC.2,LD1
RL A
MOV R3,A
AJMP LD0
LD1:
RET
TABEL: INC A
MOVC A,@A+PC
RET
DB 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
DB 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h
Delay1: ; 延时子程序
mov r7, #0FFH
AA:
DJNZ r7,AA
ret
END
4. 调试过程
按程序执行过程,逐个调试各子程序,并观察结果。
调节电位器,改变输入电压值,A/D转换结果由P1口输出到8个LED,可观察到A/D转换运行正常。
在A中设定随机值进行十六进制转十进制,子程序运行正常
数码管显示子程序运行正常。
主程序中调用各个子程序并改变模拟温度输入值及设定值,处理指示灯
正常,主程序运行正常。调试成功。
5.结论
通过这次的课程设计,使我重新认识了单片机的汇编语言编程方法,对于I/O接口的使用和编程也又了更深的认识,对伟福lab6000实验控制系统有了更深入的认识,更加坚固了自己的学习信心,基于软件编程的系统化,完整化,实际化设计有了进一步接触,对于空调的温度系统控制又有了新的认识,完善了自己的前期理论学习,为今后的实践应用打下了坚实基础。