温度自动控制系统程序.docx
- 文档编号:23918988
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:51
- 大小:21.38KB
温度自动控制系统程序.docx
《温度自动控制系统程序.docx》由会员分享,可在线阅读,更多相关《温度自动控制系统程序.docx(51页珍藏版)》请在冰豆网上搜索。
温度自动控制系统程序
;****************************资源分配**************************
FLAG1EQU54H;是否检测到DS18B20标志位
FLAG2EQU00H
COUNTEQU63H
CSAEQUP0.4
CSBEQUP0.3
RSEQUP0.2
RWEQUP0.1
EEQUP0.0
COMEQU21H;命令字
DATEQU22H;显示数据
columnEQU23H;列
pagefEQU24h;页
cpageEQU25H
ccolumnEQU26H;列(0-15)
CODEEQU27h
column2EQU52H
pagef2equ60h
cpage2EQU61H
ccolumn2EQU62H
column3EQU2eH
pagef3equ2fh
cpage3EQU30H
ccolumn3EQU31H
column4EQU32H
pagef4equ33h
cpage4EQU34H
ccolumn4EQU35H
column5EQU36H
pagef5equ37h
cpage5EQU38H
ccolumn5EQU39H
;*****************************主程序开始******************
ORG0000H
LJMPSTART
ORG0003H
LJMPINT0;外部中断
ORG0030H
START:
MOVSP,#70H
MOVP2,#0F0H
CLRA
CLRF0;清设置键
CLRFLAG2;清确认键
MOVCOUNT,#0;中断次数计数
SETBIT0
SETBEX0
SETBEA
LCALLINT;LCD12864初始化子程序
LCALLCLEAR;LDC12864清屏子程序
LCALLDISPLAY1;显示"温度自动控制系统"
LCALLDISPLAY2;显示"设置温度"
LCALLDISPLAY3;显示预设的温度
LCALLDISPLAY4;显示"实际温度"
LCALLDISPLAY5
LCALLGET_TEMPER;调用读温度子程序
ACALLDISPLAY5;调用显示
M:
LCALLGET_TEMPER
LCALLDELAY1
MM:
LCALLDISPLAY3
MM1:
JBF0,MM4;是否按上"设置"键
JNBF1,M;是否按下"确认"键
MOVA,48H
CJNEA,43H,MM5
MOVA,55H
CJNEA,42H,MM5
MOVA,56H
CJNEA,41H,MM5
LJMPMM8
MM4:
MOVA,COUNT
CJNEA,#1,MM2
LCALLDISPLAY8
LCALLDISPLAY8
LJMPMM
MM2:
CJNEA,#2,MM3
LCALLDISPLAY9
LCALLDISPLAY9
MM3:
CJNEA,#3,MM
LCALLDISPLAY10
LCALLDISPLAY10
LJMPMM
MM5:
JCMM7
LJMPMM6
MM6:
LCALLDISPLAY6
CLRP0.5
SETBP0.6
SETBP0.7
LJMPM
MM7:
LCALLDISPLAY7
SETBP0.5
CLRP0.6
SETBP0.7
LJMPM
MM8:
LCALLDISPLAY11
SETBP0.5
SETBP0.6
CLRP0.7
LJMPM
;***********************外部中断0子程序**************
INT0:
CLREX0
INCCOUNT;中断计数器加1
CPLP3.0
MOVDPTR,#JS
MOVA,P2
MOVP2,#0FH
MOV47H,P2
JNBACC.4,E1
JNBACC.5,E2
JNBACC.6,E3
JNBACC.7,E4
SETBEX0
RETI
E1:
MOV20H,#0
LJMPKEYH
E2:
MOV20H,#4
LJMPKEYH
E3:
MOV20H,#8
LJMPKEYH
E4:
MOV20H,#12
LJMPKEYH
KEYH:
MOVA,47H
JNBACC.0,D0
JNBACC.1,D1
JNBACC.2,D2
JNBACC.3,D3
SETBEX0
RETI
D0:
MOVA,#0
ADDA,20H
MOV59H,A
MOVB,#3
MULAB
JMP@A+DPTR
D1:
MOVA,#1
ADDA,20H
MOV59H,A
MOVB,#3
MULAB
JMP@A+DPTR
D2:
MOVA,#2
ADDA,20H
MOV59H,A
MOVB,#3
MULAB
JMP@A+DPTR
D3:
MOVA,#3
ADDA,20H
MOV59H,A
MOVB,#3
MULAB
JMP@A+DPTR
JS:
LJMPLOOP0
LJMPLOOP1
LJMPLOOP2
LJMPLOOP3
LJMPLOOP4
LJMPLOOP5
LJMPLOOP6
LJMPLOOP7
LJMPLOOP8
LJMPLOOP9
LJMPLOOP10
LJMPLOOP11
LOOP0:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP1:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP2:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP3:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP4:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP5:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP6:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP7:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP8:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP9:
ACALLSHIFT1
MOVP2,#0F0H
SETBEX0
RETI
LOOP10:
SETBF0;按下设置键
MOVCOUNT,#1
MOVP2,#0F0H
SETBEX0
RETI
LOOP11:
;按下"确认"键
CLRF0
SETBF1
MOVCOUNT,#0
MOVP2,#0F0H
SETBEX0
RETI
SHIFT1:
JBF0,LLL
LJMPEXIT
LLL:
MOVA,COUNT
CJNEA,#2,LLL1
MOV48H,59H
LJMPEXIT
LLL1:
CJNEA,#3,LLL2
MOV55H,59H
LJMPEXIT
LLL2:
CJNEA,#4,EXIT
MOV56H,59H
SETBF1
CLRF0
EXIT:
RET
;*************************显示子程序*************************
DISPLAY1:
;显示"自动温度控制系统"循环效果
movcolumn4,#48
movpagef4,#0;温
movcode,#0
lcallwriteright2
LCALLDELAY1
movcolumn4,#32
movpagef4,#0;温
movcode,#0
lcallwriteright2
movcolumn4,#48
movpagef4,#0;度
movcode,#1
lcallwriteright2
LCALLDELAY1
movcolumn4,#16
movpagef4,#0;温
movcode,#0
lcallwriteright2
movcolumn4,#32
movpagef4,#0;度
movcode,#1
lcallwriteright2
movcolumn4,#48
movpagef4,#0;自
movcode,#2
lcallwriteright2
LCALLDELAY1
movcolumn4,#0
movpagef4,#0;温
movcode,#0
lcallwriteright2
movcolumn4,#16
movpagef4,#0;度
movcode,#1
lcallwriteright2
movcolumn4,#32
movpagef4,#0;自
movcode,#2
lcallwriteright2
movcolumn4,#48
movpagef4,#0;动
movcode,#3
lcallwriteright2
LCALLDELAY1
movcolumn3,#48
movpagef3,#0;温
movcode,#0
lcallwriteleft2
movcolumn4,#0
movpagef4,#0;度
movcode,#1
lcallwriteright2
movcolumn4,#16
movpagef4,#0;自
movcode,#2
lcallwriteright2
movcolumn4,#32
movpagef4,#0;动
movcode,#3
lcallwriteright2
movcolumn4,#48
movpagef4,#0;控
movcode,#4
lcallwriteright2
LCALLDELAY1
movcolumn3,#32
movpagef3,#0;温
movcode,#0
lcallwriteleft2
movcolumn3,#48
movpagef3,#0;度
movcode,#1
lcallwriteleft2
movcolumn4,#0
movpagef4,#0;自
movcode,#2
lcallwriteright2
movcolumn4,#16
movpagef4,#0;动
movcode,#3
lcallwriteright2
movcolumn4,#32
movpagef4,#0;控
movcode,#4
lcallwriteright2
movcolumn4,#48
movpagef4,#0;制
movcode,#5
lcallwriteright2
LCALLDELAY1
movcolumn3,#16
movpagef3,#0;温
movcode,#0
lcallwriteleft2
movcolumn3,#32
movpagef3,#0;度
movcode,#1
lcallwriteleft2
movcolumn3,#48
movpagef3,#0;自
movcode,#2
lcallwriteleft2
movcolumn4,#0
movpagef4,#0;动
movcode,#3
lcallwriteright2
movcolumn4,#16
movpagef4,#0;控
movcode,#4
lcallwriteright2
movcolumn4,#32
movpagef4,#0;制
movcode,#5
lcallwriteright2
movcolumn4,#48
movpagef4,#0;系
movcode,#6
lcallwriteright2
LCALLDELAY1
movcolumn3,#0
movpagef3,#0;温
movcode,#0
lcallwriteleft2
movcolumn3,#16
movpagef3,#0;度
movcode,#1
lcallwriteleft2
movcolumn3,#32
movpagef3,#0;自
movcode,#2
lcallwriteleft2
movcolumn3,#48
movpagef3,#0;动
movcode,#3
lcallwriteleft2
movcolumn4,#0
movpagef4,#0;控
movcode,#4
lcallwriteright2
movcolumn4,#16
movpagef4,#0;制
movcode,#5
lcallwriteright2
movcolumn4,#32
movpagef4,#0;系
movcode,#6
lcallwriteright2
movcolumn4,#48
movpagef4,#0;统
movcode,#7
lcallwriteright2
LCALLDELAY1
RET
DISPLAY2:
;显示"设置温度"
movcolumn3,#16;设
movpagef3,#2
movcode,#8
lcallwriteleft2
LCALLDELAY1
movcolumn3,#32;置
movpagef3,#2
movcode,#9
LCALLwriteleft2
LCALLDELAY1
movcolumn3,#48;温
movpagef3,#2
movcode,#0
lcallwriteleft2
LCALLDELAY1
movcolumn4,#0;度
movpagef4,#2
movcode,#1
lcallwriteright2
LCALLDELAY1
RET
DISPLAY3:
movcolumn2,#16
movpagef2,#2
movcode,#10
lcallwriteright
;显示预设的温度
movcolumn2,#24
movpagef2,#2
movcode,48H
lcallwriteright
movcolumn2,#32
movpagef2,#2
movcode,55H
lcallwriteright
movcolumn2,#40
movpagef2,#2;.
movcode,#11
lcallwriteright
movcolumn2,#48
movpagef2,#2
movcode,56H
lcallwriteright
RET
DISPLAY4:
;显示"实际温度"
movcolumn3,#16;实
movpagef3,#4
movcode,#10
lcallwriteleft2
LCALLDELAY1
movcolumn3,#32;际
movpagef3,#4
movcode,#11
lcallwriteleft2
LCALLDELAY1
movcolumn3,#48;温
movpagef3,#4
movcode,#0
lcallwriteleft2
LCALLDELAY1
movcolumn3,#0;度
movpagef3,#4
movcode,#1
lcallwriteright2
LCALLDELAY1
RET
DISPLAY5:
;显示实际的温度
MOVA,29H
MOVC,40H;28的位地址
RRCA
MOVC,41H
RRCA
MOVC,42H
RRCA
MOVC,43H
RRCA
MOV51H,A
ANL29H,#0FH
MOVA,29H
MOVB,#6
MULAB
MOV50H,A
mova,51H
movb,#10
divab
mov43H,a
mov42H,b
MOVA,50H
MOVB,#10
DIVAB
MOV41H,A
MOV40H,B
movcolumn2,#16
movpagef2,#4
movcode,#10
lcallwriteright
movcolumn2,#24;实际温度
movpagef2,#4
movcode,43h
lcallwriteright
movcolumn2,#32
movpagef2,#4
movcode,42h
lcallwriteright
movcolumn2,#40
movpagef2,#4;.
movcode,#11
lcallwriteright
movcolumn2,#48
movpagef2,#4
movcode,41h
lcallwriteright
RET
DISPLAY6:
movcolumn3,#24
movpagef3,#6;状
movcode,#13
lcallwriteleft2
LCALLDELAY1
movcolumn3,#40
movpagef3,#6;态
movcode,#14
lcallwriteleft2
LCALLDELAY1
movcolumn,#56
movpagef,#6;:
movcode,#10
lcallwriteleft
LCALLDELAY1
movcolumn4,#0
movpagef4,#6;加
movcode,#15
lcallwriteright2
LCALLDELAY1
movcolumn4,#16
movpagef4,#6;热
movcode,#16
lcallwriteright2
LCALLDELAY1
movcolumn4,#32
movpagef4,#6;!
movcode,#19
lcallwriteright2
LCALLDELAY1
RET
DISPLAY7:
movcolumn3,#24
movpagef3,#6;状
movcode,#13
lcallwriteleft2
LCALLDELAY1
movcolumn3,#40
movpagef3,#6;态
movcode,#14
lcallwriteleft2
LCALLDELAY1
movcolumn,#56
movpagef,#6;:
movcode,#10
lcallwriteleft
LCALLDELAY1
movcolumn4,#0
movpagef4,#6;降
movcode,#17
lcallwriteright2
LCALLDELAY1
movcolumn4,#16
movpagef4,#6;温
movcode,#0
lcallwriteright2
LCALLDELAY1
movcolumn4,#32
movpagef4,#6;!
movcode,#19
lcallwriteright2
LCALLDELAY1
RET
DISPLAY8:
movcolumn2,#24
movpagef2,#2
movcode,48H
lcallwriteright
LCALLDELAY
LCALLDELAY
movcolumn2,#24
movpagef2,#2
movcode,#12
lcallwriteright
RET
DISPLAY9:
movcolumn2,#32
movpagef2,#2
movcode,55H
lcallwriteright
LCALLDELAY
LCALLDELAY
movcolumn2,#32
movpagef2,#2
movcode,#12
lcallwriteright
RET
DISPLAY10:
movcolumn2,#48
movpagef2,#2
movcode,56H
lcallwriteright
LCALLDELAY
LCALLDELAY
movcolumn2,#48
movpagef2,#2
movcode,#12
lcallwriteright
RET
DISPLAY11:
movcolumn3,#24
movpagef3,#6;状
movcode,#13
lcallwriteleft2
LCALLDELAY1
movcolumn3,#40
movpagef3,#6;态
movcode,#14
lcallwriteleft2
LCALLDELAY1
movcolumn,#56
movpagef,#6;:
movcode,#10
lcallwriteleft
LCALLDELAY1
movcolumn4,#0
movpagef4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 自动控制系统 程序