📄 dz.asm
字号:
;项目说明
;此程序为振荡仪程序,能恒温在55度与50度,精度要求+-0.3度
ZDDZ BIT P1.3 ;振荡电机控制端子,低电平有效
JRDZ BIT P1.2 ;加热控制端子, 低电平有效
FJDZ BIT P1.1 ;风机控制端子, 高电平有效
FMQ BIT P1.7 ;蜂鸣器控制端子, 高电平有效
SHANG BIT 00H
XIA BIT 01H
ZUO BIT 02H
YOU BIT 03H
QIDONG BIT 04H
QUEREN BIT 05H
QINGCHU BIT 06H
XS1 BIT 07H
XS2 BIT 08H
XS3 BIT 09H
XS4 BIT 0AH
XS21 BIT 0BH
XS22 BIT 0CH
XS23 BIT 0DH
WFPCFH BIT 0EH
XS31 BIT 0FH
XS32 BIT 10H
XS33 BIT 11H
XS34 BIT 12H
XS41 BIT 13H
XS42 BIT 14H
XS43 BIT 15H
XS24 BIT 16H
XS5 BIT 17H
AQDHZDBZ BIT 18H ;按启动键开始振荡字符出现后,此位置位
GONGZUOWCBZ BIT 19H ;一次震荡完成后置位,工作结束标志
JINGZHIBZ BIT 1AH
PIDBZ BIT 1BH
ZHENDANGBZ BIT 1CH
QIDONGBZ BIT 1DH
SHANDONGWEI BIT 1EH
BLPCFH BIT 1FH
SCBLPCFH BIT 20H
kwbz bit 21h
hengwenbz bit 22h
buxianshiwdbz bit 23h
YJCS BIT P1.6
YJA0 BIT P1.5
ZHONGDUANBZ BIT 88H
C24Z EQU 45H
CDPH EQU 46H
CDPL EQU 47H
SDPH EQU 48H
SDPL EQU 49H
ZIJIESHU EQU 4AH
ZISHU EQU 4BH
ZGDS EQU 4CH
DSCZ EQU 4DH ;用于定时1秒的计数周期,赋值20
VFCUNL EQU 4EH ;用于1秒定时到后存计数值的低位
VFCUNH EQU 4FH ;用于1秒定时到后存计数值的高位
BCWDZL EQU 50H ;保存本次温度值低位
BCWDZH EQU 51H ;保存本次温度值高位
SCWDPCL EQU 52H ;保存上次温度值与预设值的偏差低位
SCWDPCH EQU 53H ;保存上次温度值与预设值的偏差高位
BCWDPCL EQU 54H
BCWDPCH EQU 55H ;保存本次温度偏差
SDWDZL EQU 56H
SDWDZH EQU 57H ;用于保存设定温度值
PCWFL EQU 58H
PCWFH EQU 59H ;保存微分项的偏差计算结果
BLXS EQU 5AH ;比例系数
WFXS EQU 5BH ;微分系数
BLCSL EQU 5CH ;存KP*e(t)结果
BLCSH EQU 5DH
WFCSL EQU 5EH ;存KD*(e(t)-e(t-1))的结果
WFCSH EQU 5FH
ZSJCSL EQU 60H ;存KP*e(t)+ KD*(e(t)-e(t-1))的结果
ZSJCSH EQU 61H
POUTH EQU 62H ;电炉加热时间
POUTL EQU 63H ;电炉停止加热时间 共2分钟分200等份,1等份600MS
DSCZ1 EQU 64H ;600MS的定时周期 赋值12
DSCZ3 EQU 65H ;1分钟定时周期,赋值120
;ZDSJ EQU 66H
;JZSJ EQU 67H
WDSHIWEI EQU 68H
WDGEWEI EQU 69H
SDZDSJ EQU 6AH
SDJZSJ EQU 6BH
DSCZ4 EQU 6CH
ZANCUN EQU 6DH
ZCSDWDL EQU 6EH
ZCSDWDH EQU 6FH
ZANCUN1 EQU 70H
ZDSJ3 EQU 71H
JZSJ3 EQU 72H
ZDSJ4 EQU 73H
JZSJ4 EQU 74H
ZDS EQU 75H
JZS EQU 76H
YSCC1 EQU 77H
YSCC2 EQU 78H
ORG 0000H
AJMP MAIN ;跳转到主程序
ORG 0003H
RETI
ORG 000BH
RETI
ORG 0013H
RETI
ORG 001BH
JMP VFZH
ORG 0023H
RETI
ORG 0030H
MAIN: MOV SP,#30H ;堆栈指针地址固定为30H-44H,数据存储地址从45H开始
MOV A,#00H ;数据存储器从45H-7FH清零
MOV R0,#3BH
MOV R1,#44H
LOOP1: INC R1
MOV @R1,A
DJNZ R0,LOOP1
NOP
NOP
CLR RS0
CLR RS1
CLR YJCS ;关液晶显示片选
CLR FJDZ ;风机停止
CLR XS1 ;第一页标志位
CLR XS2 ;第二页标志位
CLR XS3 ;第三页标志位
CLR XS4 ;第四页标志位
CLR XS5
clr kwbz
clr hengwenbz
SETB JRDZ
SETB ZDDZ
SETB P1.0 ;一不用端口复位
CLR AQDHZDBZ
CLR QIDONGBZ
CLR ZHENDANGBZ
CLR JINGZHIBZ
clr buxianshiwdbz
CLR PIDBZ
CLR WFPCFH ;微分偏差符号,为0表示正数为1表示负数
MOV BCWDZL,#0
MOV BCWDZH,#0
MOV SCWDPCL,#0
MOV SCWDPCH,#0
MOV BCWDPCL,#0
MOV BCWDPCH,#0
MOV PCWFL,#0
MOV PCWFH,#0
MOV SDWDZL,#00
MOV SDWDZH,#05 ;设定温度50度
MOV POUTL,#01H
MOV POUTH,#01H
MOV DSCZ,#40 ;1S的定时周期
; MOV DSCZ1,#12
MOV DSCZ3,#240 ;1分钟定时
MOV DSCZ4,#10
MOV ZANCUN1,#03
CALL FENGMINGQI
MOV BLXS,#50;45;30;30
MOV WFXS,#255;255;250;220;200
MOV SDZDSJ,#20H
MOV SDJZSJ,#10H
MOV ZDSJ3,#20H
MOV JZSJ3,#10H
MOV ZDSJ4,#05H
MOV JZSJ4,#00H
CLR QIDONGBZ
CLR ZHENDANGBZ
CLR JINGZHIBZ
CLR AQDHZDBZ
CLR GONGZUOWCBZ
CALL YS50MS
CALL YS50MS
CALL FENGMINGQI
CALL YS50MS
CALL YS50MS
NOP
NOP
MOV TMOD,#15H
MOV TL1,#58h;0B0H ;定时25MS 晶振为12MHZ
MOV TH1,#9eh;3CH
MOV TL0,#00H
MOV TH0,#00H
SETB EA
SETB ET1
CLR ET0
SETB TR1
SETB TR0
CLR SHANG
CLR XIA
CLR ZUO
CLR YOU
CLR QUEREN
CLR QINGCHU
CLR QIDONG
CLR YJCS
CALL CSH1335 ;调液晶屏初始化子程序
call CLEAR
NOP
SYFH: NOP
CALL FENGMINGQI
NOP
NOP
CALL HUAMIAN1
HERE: NOP
NOP
CALL YS50MS
CALL YS50MS
CALL YS50MS
CALL YS50MS
CALL KEY
;调用键盘子程序
NOP
NOP
JB QIDONG,QIDONGJAB
JB QUEREN,QUERENJAB
JB QINGCHU,QINGCHUJ
JB SHANG,SHANGJAB
JB XIA,XIAJAB
JB ZUO,ZUOJAB
JB YOU,YOUJAB
JB GONGZUOWCBZ,HERE1 ; ###################$$$$$$$$$$$$$$##########################333
JMP HERE
NOP
NOP
HERE1: CLR QIDONGBZ
CLR ZHENDANGBZ
CLR JINGZHIBZ
JMP HERE
SHANGJAB: JMP SHANGJ
QUERENJAB: JMP QUERENJ
XIAJAB: JMP XIAJ
YOUJAB: JMP YOUJ
ZUOJAB: JMP ZUOJ
QIDONGJAB: JMP QIDONGJ
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;清除键功能;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
QINGCHUJ: CLR QIDONGBZ
CLR GONGZUOWCBZ
CLR QINGCHU
CALL QK8ZJ
clr p1.7
jnb xs3,ytytll1
clr zhendangbz
clr jingzhibz
setb zddz
jmp huamian3
ytytll1: jnb xs4,ytytll2
clr zhendangbz
clr jingzhibz
setb zddz
jmp huamian4
ytytll2: jnb xs5,ytytll3
clr zhendangbz
clr jingzhibz
setb zddz
clr kwbz ;在画面5中按清除键不控温,若想控温需按下确认键
jmp huamian5
ytytll3:
JMP HERE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;启动键功能;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
QIDONGJ: JB QIDONGBZ,QIDONGFH
JB XS5,QIDONG1
JB XS4,QIDONG2
JB XS3,QIDONG3
QIDONGFH:
CLR QIDONG
JMP HERE
QIDONG1: ; JNB AQDHZDBZ,QIDONGFH
CALL QK8ZJ
CALL GONGZUOZHONG
SETB QIDONGBZ
CLR QIDONG
JMP HERE
QIDONG2: CALL GONGZUOZHONG
SETB QIDONGBZ
CLR QIDONG
JMP HERE
QIDONG3: CALL GONGZUOZHONG
SETB QIDONGBZ
CLR QIDONG
JMP HERE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -