单片机课程设计电子钟源程序_单片机课程设计电子钟
单片机课程设计电子钟源程序由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机课程设计电子钟”。
ORG0000H
LJMPMAIN
ORG001BH
LJMPLOOP
ORG0100H
MAIN:MOV21H,#17H
MOV22H,#3AH
MOV23H,#00H;设定时间初值
MOV36H,#10
MOV39H,#10
MOVR7,#14H;循环20次50*20=1000msMOVDPTR,#0F003H
MOVA,#10000000B;8255命令口地址MOVX@DPTR,A
MOVTMOD,#10H
MOVTH1,#3CH
MOVTL1,#0B0H;设定计时初值
MOVIE,#88H;设定中断运行位
SETBTR1
LOP:LCALLSTART
LCALLDSN;调用显示程序
LJMPLOP
LOOP:MOVTH1,#3CH;重装时间初值
MOVTL1,#0B0H
DJNZR7,LOOP1;循环结束
MOVR7,#14H
INC23H
MOVA,23H
CJNEA,#3CH,LOOP1
MOV23H,#00H
INC22H
MOVA,22H
CJNEA,#3CH,LOOP1
MOV22H,#00H
INC21H
MOVA,21H
CJNEA,#18H,LOOP1
MOV21H,#00H
MOV22H,#00H
MOV23H,#00H
LOOP1: RETI
START: MOVR1,#21H;将小时放在两个位地址中MOVA,@R1
MOVB,#0AH
DIVAB
MOV3BH,A
MOV3AH,B
INCR1
MOVA,@R1
MOVB,#0AH
DIVAB
MOV38H,A
MOV37H,B
INCR1
MOVA,@R1
MOVB,#0AH
DIVAB
MOV35H,A
MOV34H,B
RET
DSN:MOVR0,#34H;显示子程序;显示数据缓冲区首址送R0
MOVR3,#7FH;使显示器最左边位亮
LP1:MOVDPTR,#0F000H;数据指针指向A口
MOVA,R3
MOVX@DPTR,A;送扫描值
INCDPTR;数据指针指向B口MOVA,@R0;取欲显示数据的字形码表位
PUSHDPH
PUSHDPL;显示查表指令地址偏移量
MOVDPTR,#TAB
MOVCA,@A+DPTR;取出字形码
POPDPL
POPDPH
MOVX@DPTR,A;送出显示
ACALLDELAY;调用延时子程序
INCR0;指向下一个显示缓冲区地址MOVA,R3
JNBACC.0,LP2;扫描到第八个显示器?
RRA;未到,扫描码右移一位
MOVR3,A
AJMPLP1
LP2:RET
TAB:DB0FCH,60H,0DAH,0F2H,66H,0B6H
DB0BEH,0E0H,0FEH,0F6H,02H,0DFH
DELAY: MOVR5,#05H;延时子程序
DL1:MOVR6,#0FFH
DL2:DJNZR6,DL2
DJNZR5,DL1RET
END