资源描述:
《智能化仪器仪表课程设计程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、;==============================================================================;
ORG0000H
LJMPMAIN
ORG0013H
LJMPVOT
ORG0030H
MAIN:MOVSP,#30H
MOVDPTR,#7F0AH;寄存器A初始化
MOVA,#20H
MOVX@DPTR,A;寄存器A的值为20H
MOVDPTR,#7F0BH;寄存器B初始化
MOVA,#82H
MOVX@DPTR,A;寄存器B的值为82H,时标寄存器用十进制BCD码
MOVDPTR,#7F00H;DS12887秒地
2、址7F00H
MOVA,#55H
MOVX@DPTR,A;秒初始化55秒
INCDPTR
INCDPTR
MOVA,#58H
MOVX@DPTR,A;分初始化58分
INCDPTR
INCDPTR;DS12887时地址7F04H
MOVA,#23H
MOVX@DPTR,A;时初始化23时
INCDPTR
INCDPTR
MOVA,#06H
MOVX@DPTR,A;星期初始化星期6
INCDPTR
MOVA,#05H
MOVX@DPTR,A;日初始化,05日
INCDPTR
MOVA,#06H
MOVX@DPTR,A;月初始化,06月
INCDPTR;DS12887年地址7F0
3、9H
MOVA,#10H
MOVX@DPTR,A;年低位初始化10年
MOVDPTR,#7F0EH;年高位初始化(使用用户RAM区)
MOVA,#20H
MOVX@DPTR,A;年高位初始化20
MOVDPTR,#7F0BH
MOVA,#22H
MOVX@DPTR,A;寄存器B值为22H,允许周期中断,寄存器用十进制BCD码
MOVDPTR,#7F0CH;寄存器C设置中断,
MOVXA,@DPTR;程序访问后寄存器C自动清零
MOVTMOD,#0D0H;初始化定时器,选择T1计数方式1
MOVTL1,#00H
MOVTH1,#00H;计数器1的高位和低位都为00
MOVIE,
4、#81H;CPU开放中断,允许外部中断0中断
SETBIT1;中断为边沿触发方式
MOVR3,#01H;R3为1,使未按下按键时初次显示时间
KK:LCALLKEY;调用判断按键1是否按下的程序
LCALLDISP4
K0:CJNER3,#01H,K1;执行程序没有按按键1时显示时间
LCALLSHIJIAN
LJMPJUDGE
K1:CJNER3,#02H,K2;第一次按下按键1时(R3等于2)显示日期
LCALLRIQI
LJMPJUDGE
K2:CJNER3,#03H,K3;第二次按下按键1时(R3等于3)显示星期
LCALLXINGQI
LJMPJUDGE
K
5、3:CJNER3,#04H,K4;第三次按下按键1时(R3等于4)显示电压
SETBEX1
SETBTR1
LJMPKK
K4:MOVR3,#01H
CLREX1;不允许外部中断1
LJMPKK
;按第二个按键S2进入闪烁
JUDGE:JBP1.1,UUU;判断P1.1即S2是否为0(按下),如果未按下,执行UUU程序
LCALLDELAY10;调用10MS延时程序,以消除抖动等因素
JBP1.1,UUU;再次判断S2是不是按下
LJMPFF1;S2按下,绝对跳转到FF1
UUU:LJMPKK;返回到KK
FF1:JNBP1.1,FF1;判断S2是否弹起,如果没弹起则继续
6、执行FF1
LCALLDELAY10
JNBP1.1,FF1
MMM:MOVR1,#70H;70H赋给R1
AGAIN:
LCALLSHANSHUO
JBP1.2,EE1
LCALLDELAY10
JBP1.2,EE1
;判断第三按键S3是否弹起,若弹起,跳转到YIWEI(闪烁移动)
FF2:JNBP1.2,FF2
LCALLDELAY10
JNBP1.2,FF2
LCALLYIWEI
;判断第四按键S4是否按下,若没按下,调用EE2(判断第2键是否有按下)
EE1:JBP1.3,EE2
LCALLDELAY10
JBP1.3,EE2
CJNER3,#1,ONE;通过R3为标
7、志,判断显示什么,不同显示情况下,加1后的程序不同
LCALLGSHIJIAN;调用时间修改程序
LJMPTOL
ONE:CJNER3,#2,TWO
LCALLGRIQI;调用日期修改程序
LJMPTOL
TWO:LCALLGXINGQI;调用星期修改程序
TOL:LJMPFF3
;判断第四按键S4是否弹起
FF3:JNBP1.3,FF3
LCALLDELAY10
JNBP1.3,FF3
;判断第二按键S2是否按下,若没按下,则转到用AGAIN,继续闪烁
EE2:JBP1.1,AGAIN
LCALLDE