消毒柜的单片机设计 - 图文(8)

2019-05-18 23:22

消毒柜微电脑控制器 附录二 源程序

ORG 0000H LJMP MAIN

;*********************************** ;主程序

;***********************************

MAIN: LCALL CSH8255 LCALL DIR L9: MOV DPTR,#0FF20H MOV A,#0FEH MOVX @DPTR,A

MOV DPTR,#0FF22H MOVX A,@DPTR CJNE A,#0BH,L3 SJMP HEAT L3: MOV DPTR,#0FF20H MOV A,#0FDH MOVX @DPTR,A

MOV DPTR,#0FF22H MOVX A,@DPTR

CJNE A,#0BH,L4 LJMP BAOWEN

L4: MOV DPTR,#0FF20H MOV A,#0FEH MOVX @DPTR,A

MOV DPTR,#0FF22H MOVX A,@DPTR CJNE A,#07H,L5 ACALL STOP ; SJMP L9 L5 : LJMP MAIN

;*************************** ;加热消毒子程序

;*************************** HEAT: MOV DPTR,#0FF20H ; MOV A,#0FDH MOVX @DPTR,A

MOV DPTR,#0FF22H MOVX A,@DPTR

;调8255初始化子程序 ;调显示程序 ;指向8255的A口

;列扫描信号从最低位开始 ;C口行扫描信号 ;读回行扫描信号 ;看是否为加热键 ;判断是否为保温键 ;指向8255的A口

;列扫描信号从最低位开始 ;C口行扫描信号 ;读回行扫描信号 ;判断是否为停止键 调用停止子程序 35

消毒柜微电脑控制器 CJNE A,#0BH,L8 SJMP BAOWEN L8: MOV DPTR,#0FF20H MOV A,#0FEH MOVX @DPTR,A

MOV DPTR,#0FF22H ;判断是否为保温键 ;指向8255的A口

;列扫描信号从最低位开始 ;C口行扫描信号 MOVX A,@DPTR CJNE A,#07H,L7 ACALL STOP LJMP L9 L7: CLR P1.1 SETB P1.4

LCALL ADZH LCALL DIGI MOV R4,#3EH LCALL WSM MOV A,R1 LCALL CBXS LCALL DELAY

MOV R4,#3DH LCALL WSM MOV A,R2 LCALL CBXS LCALL DELAY

MOV R4,#3BH LCALL WSM MOV A,R3 LCALL CBXS LCALL DELAY

PDBF: MOV A,R7

SUBB A,#125

JC HEAT SETB P1.1 CLR P1.2

LCALL JIAN

;****************************

;读回行扫描信号 ;判断是否为停止键 ;调用停止子程序 ;置加热灯 ;调A——D转换 ;显示各位

;显示十位

;显示百位

;小于99继续热

36

消毒柜微电脑控制器 ;保温键子程序

;**************************** BAOWEN: MOV DPTR,#0FF20H MOV A,#0FEH MOVX @DPTR,A

MOV DPTR,#0FF22H MOVX A,@DPTR CJNE A,#07H,L6 ;指向8255的A口

;列扫描信号从最低位开始 ;C口行扫描信号 ;读回行扫描信号 ;判断是否为停止键 ACALL STOP LJMP L9 L6: SETB P1.1 SETB P1.3

SETB P1.4 CLR P1.2 LCALL ADZH LCALL DIGI MOV R4,#3EH LCALL WSM MOV A,R1 LCALL CBXS LCALL DELAY

MOV R4,#3DH LCALL WSM MOV A,R2 LCALL CBXS LCALL DELAY

MOV R4,#3BH LCALL WSM MOV A,R3 LCALL CBXS LCALL DELAY

PDBW: MOV A,R7 SUBB A,#50 JNC BAOWEN LJMP HEATAGAIN

;调用停止子程序

;熄灭加热指示灯

;保温指示灯点亮 ;掉A-D转换子程序 ;掉二十进制转换 ;送显示个位

;显示十位

;显示百位

;将结果送累加器A中 ;与50度比较 ;大于则继续保温

;小于就跳到继续加热子程序

37

消毒柜微电脑控制器 ;*************************** ;继续加热子程序

;*************************** HEATAGAIN: SETB P1.3 CLR P1.1 LCALL ADZH LCALL DIGI MOV R4,#3EH LCALL WSM MOV A,R1 LCALL CBXS LCALL DELAY

MOV R4,#3DH LCALL WSM MOV A,R2 LCALL CBXS LCALL DELAY

MOV R4,#3BH LCALL WSM MOV A,R3 LCALL CBXS LCALL DELAY GAO65:MOV A,R7

SUBB A,#70 jC HEATAGAIN LJMP BAOWEN

DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH ;*************************** ;初始化8255子程序

;*************************** CSH8255: MOV A,#81H MOV DPTR,#0FF23H MOVX @DPTR,A RET

38

消毒柜微电脑控制器 ;*************************** ;AD转换子程序

;*************************** ADZH: MOV DPTR,#0FF80H MOV A,#0

MOVX @DPTR,A MOV R0,#120 ;120微妙延时 DJNZ R0,$ MOV DPTR,#0FF80H MOVX A,@DPTR MOV B,#200 ;最高显示100度 MUL AB MOV A,B MOV R7,A ;R7存放取样的数字量 RET

;***************************** ;二进制转十进制子程序

;***************************** DIGI: MOV B,#10 DIV AB MOV R1,B MOV B,#10 DIV AB MOV R2,B MOV R3,A RET

;****************************** ;8255位扫描子程序

;****************************** WSM: MOV DPTR,#0FF20H MOV A,R4

MOVX @DPTR,A RET

;****************************** ;8255查表显示子程序

;****************************** CBXS: MOV DPTR,#DDFF MOVC A,@A+DPTR MOV DPTR,#0FF21H

39


消毒柜的单片机设计 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:福建省2016届高三上学期第二次月考语文试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: