实验五 电子钟设计
一.实验目的
掌握MCS-51单片机定时计数器的程序设计和调试方法;
熟悉用IBM-PC交叉汇编调试软件MBUG机器汇编及ME-5103在线仿真器调试。
二.实验设备
ME-5103在线仿真器1台;
IBM-PC微机1台;
直流稳压电源1台。
三.实验内容
1.程序结构采用主程序和中断服务子程序结构.
2.定时中断程序
定时器1于方式1,16位,10ms中断一次
40H 10ms计数单元
41H 秒计数单元
42H 分计数单元
43H 时计数单元
定时方式1为10MS:THX=0ECH,TLX=78H
方式0为10MS: THX=63H,TLX=18H
3.参考程序
;
DISP EQU 0DE00H ;显示子程序入口
;
ORG 0000H
START: AJMP MAIN
;
ORG 001BH ;定时器1中断服
AJMP TINT1 ;务程序入口
;
ORG 0030H
MAIN: MOV R0,#39H ;显示缓冲区初始化
MAIN_0: MOV @R0,#0
INC R0
CJNE R0,#44H,#0
MOV TMOD,#10H
MOV IE,#10001000B
MOV TH1,#0ECH;10ms:EC78H
MOV TL1,#78H
SETB TR1
MAIN_1: LCALL DISP ;主程序循环
SJMP MAIN_1
;
;定时器1中断服务程序
TINT1: MOV TH1,#0ECH
MOV TL1,#78H
PUSH ACC
PUSH PSW
INC 40H
MOV A,40H
CJNE A,#100,TINT1R
MOV 40H,#0
MOV A,41H ;秒单元加1
INC A
DA A
MOV 41H,A
CJNE A,#60H,TINT10
MOV 41H,#0
MOV A,42H ;分单元加1
INC A
DA A
MOV 42H,A
CJNE A,#60H,TINT10
MOV 42H,#0
MOV A,43H ;小时单元加1
INC A
DA A
MOV 43H,A
CJNE A,#24H,TINT10
MOV 43H,#0
TINT10: MOV A,41H ;秒拆字
ANL A,#0FH
MOV 39H,A
MOV A,41H
ANL A,#0F0H
SWAP A
MOV 3AH,A
MOV A,42H ;分拆字
ANL A,#0FH
MOV 3BH,A
MOV A,42H
ANL A,#0F0H
SWAP A
MOV 3CH,A
MOV A,43H ;小时拆字
ANL A,#0FH
MOV 3DH,A
MOV A,43H
ANL A,#0F0H
SWAP A
MOV 3EH,A
TINT1R: POP PSW
POP ACC
RETI
四.实验报告
1.写出本程序调试过程和运行结果.
2.用定时方式0修改什么地方?
3.改用定时器0修改什么地方?