📄 daima12.asm
字号:
REG1LO EQU 20H
REG1HI EQU 21H
REG1 EQU 20H
REG2 EQU 22H
REG3 EQU 23H
REG4 EQU 24H
ORG 2080H
LD SP,#00C0H
OK: LDB P2,#0DEH
THERE: LDB AD_COMMAND,#08H ;启动通道0进行转换
NOP
NOP
HERE1: JBS AD_RESULTLO,3,HERE1 ;监测A/D转换结束否
LDB REG1LO,AD_RESULTHI ;读出A/D转换高8位
CLRB REG1HI ;低2位不要
LDB REG2,5000H[REG1] ;读出电压对应的温度值
CMPB REG2,REG3 ;与温度下限比较
JNH LOW
CMPB REG2,REG4 ;与温度上限值比较
JH HIGH
SJMP OK
LOW: ANDB P2,#0FEH ;关鼓风机
ORB P2,#20H ;开加热器
SJMP THERE
HIGH: ANDB P2,#0DFH ;关加热器
ORB P2,#01H ;开鼓风机
SJMP THERE
END
利用8XC196的A/D转换完成温度控制,假设温度传感器已将温度信息转换成模拟电压,经放大处理后送入8XC196的A/D转换器的0通道,当温度正常时,不动作,如果温度超出上限值,便打开鼓风机(P2.0置1),一旦温度降到下限值以下时,便关闭鼓风机。当温度下降到低于设定的下限值时,打开加热器(P2.5置1),使温度回升,当温度再次上升超过的设定上限值时,再关闭加热器。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -