📄 nidian.asm
字号:
l004:clr shuzijian
clr zuoyijiany
mov guangbiaobiaozhi,#15h
MOV GUANGBIAOL,#0f8H
MOV GUANGBIAOH,#00H
LCALL disguangbiao;设光标位置
ljmp key001
DISPNUM1:clr zuoyijian
clr shuzijiany
MOV KEYNUM1,KEYNUM ;得欲设温度得十位
MOV SDPL,#0b7H
MOV SDPH,#45H
MOV C24Z,#1
MOV R2,#16
mov zishu,#1
mov zijieshu,#16
MOV R0, KEYNUM1
LCALL PANBCD
MOV CDPL,DPL
MOV CDPH,DPH
LCALL SUNFD
LCALL DEL
MOV GUANGBIAOL,#08H
MOV GUANGBIAOH,#01H
LCALL disguangbiao
key003:setb shuzijian
setb qingchujian
lcall key1
call fengmingqi
jb shuzijiany, dispnum2
jb qingchujiany,qingchu1
ajmp key003
qingchu1:clr shuzijian
clr qingchujiany ;;清除第一个字
MOV SDPL,#0b7H
MOV SDPH,#45H
MOV C24Z,#1
MOV R2,#16
MOV ZISHU,#4
MOV ZIJIESHU,#16
MOV DPTR,#WU
MOV CDPL,DPL
MOV CDPH,DPH
LCALL SUNFD
MOV GUANGBIAOL,#07H
MOV GUANGBIAOH,#01H
LCALL disguangbiao
ajmp KEY002
DISPnUM2:clr qingchujian
clr shuzijiany ;得欲设温度个位
MOV KEYNUM2,KEYNUM
MOV SDPL,#0b8H
MOV SDPH,#45H
MOV C24Z,#1
MOV R2,#16
mov zishu,#1
mov zijieshu,#16
MOV R0, KEYNUM
LCALL panbcd
MOV CDPL,DPL
MOV CDPH,DPH
LCALL SUNFD
MOV WEIZHI,#00H
MOV GUANGBIAOL,#08H
MOV GUANGBIAOH,#01H
LCALL disguangbiao
LCALL DEL;;;;
key006 :mov GUANGBIAOBIAOZHI,#14h
;;等待确认输入的数字或是清除操作
setb querenjian
setb qingchujian
lcall key1
call fengmingqi
jb querenjiany, queren14
jb qingchujiany,qingchu2
ajmp key006
qingchu2:clr querenjian
clr qingchujiany;;;;;;;;
MOV SDPL,#0b7H;;;;;;;;;
MOV SDPH,#45H;;;;;;;;
MOV C24Z,#1;;;;;;;;;;
MOV R2,#16
MOV ZISHU,#4
MOV ZIJIESHU,#16
MOV DPTR,#WU
MOV CDPL,DPL
MOV CDPH,DPH
LCALL SUNFD
MOV SDPL,#0b8H
MOV SDPH,#45H
MOV C24Z,#1
MOV R2,#16
MOV ZISHU,#4
MOV ZIJIESHU,#16
MOV DPTR,#WU
MOV CDPL,DPL
MOV CDPH,DPH
LCALL SUNFD
MOV GUANGBIAOL,#07H
MOV GUANGBIAOH,#01H
LCALL disguangbiao
LCALL DEL
ljmp key002
queren14:clr qingchujian
clr querenjiany
lcall guanGUANHGBIAO
MOV A,KEYNUM1; 将输入值组成一个BCD数
SWAP A
MOV KEYNUM3,A
MOV A,KEYNUM2
ORL A,KEYNUM3
MOV KEYNUM3,A;存如
mov 5fh,a
cjne a,#00h,key00722
key2233:
jmp qingchu2
key00722:
mov a,5fh
clr c
subb a,#61h
jnc key2233
key007:
setb qingchujian
setb qidongjian
setb xiayijian
setb xianshidengdai
lcall KEY1
call fengmingqi
jb qidongjiany,qidong
jb qingchujiany,tiaozhuandaoqc1
jb xiayijiany,tiaodaofh13
jmp key007
tiaodaofh13:clr xianshidengdai
jmp fanhui13
tiaozhuandaoqc1:
clr xianshidengdai
jmp qingchu1
key10012:
clr lingshangbiaozhi
clr lingxiabiaozhi
mov zancun,#02h
setb et0
clr ex1;;;;;;;此时不允许外部中断
setb ea
SETB TR0;启动测温
; setb wdzjbz
clr ie1
shiwen1111:
clr ex1;;;;;;;此时不允许外部中断
setb et0
lcall del160ms
lcall del160ms
clr et0
lcall del160ms
lcall ADCHULI ;;;温度查表和显示
lcall DISWENDU
;lcall bijiaowendu
jb lingshangbiaozhi,shiwen1212
jnb lingxiabiaozhi,shiwen1111
shiwen1212: clr lingxiabiaozhi
clr lingshangbiaozhi
clr et0
clr wdzjbz
ret
;;;;;;;;;;;;;;*******************************启动
QIDONG:
clr xianshidengdai
clr qidongjian
clr qidongjiany
clr 30h ;清增3减2标志位
setb 31h ;预置温度标志达到清零
setb 32h ;加3温度标志位,达到置一,未达到清零
clr jcdlkaishi
clr wancheng
clr cuowujiance ; 有中断信号后电机才前进
clr ie1;;;;;清外部中断标志
setb ex1
jccuo1: jnb wancheng,jccuo1
clr ex1
lcall del160ms
lcall del160ms
lcall del160ms
clr jcdlkaishi
clr wancheng
clr cuowujiance
setb ex1 ; 有中断信号后电机才前进
jccu02: jnb wancheng,jccu02
clr ex1
clr jcdlguan
clr ie1
clr jcdlkaishi
MOV DPTR,#2003H
MOV A,#89H
MOVX @DPTR,A
MOV DPTR,#2000H
MOV A,#02H;顶住,电机前进
MOVX @DPTR,A
mov dptr,#2002h
asdf2: movx a,@dptr
jb acc.0,asdf1
jmp asdf2
asdf1: mov a,#00h
movx @dptr,a
lcall DEL
mov zancun,#02h
setb et0
SETB TR0;启动测温
clr ex1;;;;;;;此时不允许外部中断
clr ie1
MOV DPTR,#2003H
MOV A,#80H
MOVX @DPTR,A
MOV DPTR,#2000H
MOV A,#04H ;;;;;;;;;;;;;;;;;;;;;;开始降温
MOVX @DPTR,A
lcall del160ms
lcall del160ms
lcall del160ms
ll000:
CLR ET0
lcall del160ms
lcall ADCHULI ;;;温度查表和显示
lcall DISWENDU
lcall bijiaowendu
SETB ET0
lcall del160ms
lcall del160ms
lcall del160ms
jb dadaoyuzhiwendu,TINGZHIJIANGWEN22
jmp ll000
;;;;;;;;;;恒温保持时间2-3分钟
TINGZHIJIANGWEN22:
MOV KEYNUM3,5fh
mov zhongjianshu,#60;;;;;;;保持时间
jnb 32h,tiaoguoxiayibzjc ;检测达到加3温度没有,没有继续加温
MOV DPTR,#2003H
MOV A,#80H
MOVX @DPTR,A
mov dptr,#2000h
mov a,#00h
movx @dptr,a;;停止 降温
tiaoguoxiayibzjc: call fengmingqi
ll0001:
setb ET0
call del ;延时0.5秒
call del ;延时0.5秒
call del ;延时0.5秒
call del ;延时0.5秒
call del ;延时0.5秒
ll0003: clr et0
lcall del160ms
lcall ADCHULI ;;;温度查表和显示
lcall DISWENDU
lcall bijiaowendu
SETB ET0
lcall del160ms
lcall del160ms
lcall del160ms
jb dadaoyuzhiwendu,ly001
; call del ;延时0.5秒
; call del ;延时0.5秒
djnz zhongjianshu,ll0002
MOV DPTR,#2003H
MOV A,#80H
MOVX @DPTR,A
mov dptr,#2000h
mov a,#00h
movx @dptr,a
jmp baowenwan
ll0002: MOV DPTR,#2003H
MOV A,#80H
MOVX @DPTR,A
mov dptr,#2000h
mov a,#04h ;;降温
movx @dptr,a
call del ;延时0.5秒
call del ;延时0.5秒
call del ;延时0.5秒
call del ;延时0.5秒
call del ;延时0.5秒
;;降温
ajmp ll0003
ly001:
MOV DPTR,#2003H
MOV A,#80H
MOVX @DPTR,A
mov dptr,#2000h
mov a,#00h
movx @dptr,a;;停止 降温
djnz zhongjianshu,ll0001
; ljmp baowenwan
baowenwan: nop
ll001:
mov dptr,#2003h
mov a,#89h
movx @dptr,a
mov dptr,#2000h ;;;;停止降温
mov a,#00h
movx @dptr,a
mov dptr,#2000h ;;;;;;电机后退;
mov a,#01h
movx @dptr,a
mov dptr,#2002h
djht112: movx a,@dptr
jnb acc.1,djht112
nop ;;;;;;;;;;;;;错误判断
clr wancheng
setb cuowujiance ;;开始错误检测
clr jiancedaocuowu
clr et0;;;;;;;;;;;;;延时要关掉测温中断
setb ex1 ;;允许外部中断
setb ea
ll002: lcall del1s
lcall del1s
lcall del1s
lcall del1s
lcall del1s
lcall del1s
lcall del1s
lcall del1s
lcall del1s
lcall del1s
clr ex1
nop
nop
jb jiancedaocuowu,ll005
nop
nop
clr cuowujiance
setb ex1
ll003: clr et0
lcall ADCHULI ;;;温度查表和显示
lcall DISWENDU
jb wancheng,ll004 ;等待检测凝点
clr lingshangbiaozhi
clr lingxiabiaozhi
mov zancun,#02h
setb et0
nop
nop
ajmp ll003; 等待完成检测
ll005: clr et0
clr jiancedaocuowu ;;;;检测到错误处理
clr querenjiany
key0852: setb querenjian
lcall key1
call fengmingqi
jb querenjiany,ll006;;;;;;;;
ajmp key0852
ll006:clr querenjiany
setb et0
ljmp zhuyemian
yoopp22:setb et0
lcall del160ms
clr et0
lcall ADCHULI ;;;温度查表和显示
ll004:;;;;;;;;;;;;检测到凝点
call shicewenduxzzcx ;调修正值修正子程序
LCALL INTDISWENDU;;;显示凝点温度
jnb lingxiabiaozhi,yoopp
mov wendubiaozhi,#2dh;;;;;;;;;;;;;;;;温度都设为零下
jmp yoopp1
yoopp: jnb lingshangbiaozhi,yoopp22
mov wendubiaozhi,#2bh
yoopp1: mov dptr,#009dh ; 存放样品序号
movx a,@dptr
inc a
movx @dptr,a ;;;;序号自动加一
HBCD: MOV B,#100 ;分离出百位,存放在 R3 中
DIV AB
MOV R3,A
MOV A,#10 ;余数继续分离十位和个位
XCH A,B
DIV Ab
mov dptr,#009bh ; 存放样品序号的十位
movx @dptr,a
mov a,b
inc dptr
movx @dptr,a
call del1s
call fengmingqi1
call del1s
call fengmingqi1
call del1s
; mov guangbiaobiaozhi,#13h
; MOV GUANGBIAOL,#0c8H
; MOV GUANGBIAOH,#03H
; LCALL disguangbiao ;
LCALL del160ms
MOV SDPL,#085H
MOV SDPH,#5bH
LCALL zhishi11
MOV WAIBUZHONGDUAN,#01H
clr wancheng
mov dptr,#0006h;;;;;;;判是否打印
movx a,@dptr
cjne a,#00h,KEY005
lcall save ;;;;;;;;;;;;;存储实验结果
lcall dayin
KEY005:;;;;;;;;setb querenjian;;;;;;;;;;;;;;;;;;;;???????????????????/
clr jiangwenzhi
setb qidongjian
setb qingchujian
setb xianshidengdai
nop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -