1.程序结构采用主程序和中断服务子程序结构
2.定时中断程序,并行口输出,控制彩灯移动
定时器0于方式1,16位,10ms中断一次
40H10ms计数单元
41H初值为01101101B
位地址00H=1
定时方式1为10MS:THX=0ECH,TLX=78H
3.参考程序
;
DISPEQU0DE00H;显示子程序入口
;
ORG0000H
START:AJMPMAIN
;
ORG000BH;定时器0中断服务程序入口
AJMPTINT0
;
ORG0030H
MAIN:MOVR0,#39H;显示缓冲区初始化
MAIN_0:MOV@R0,#0
INCR0
CJNER0,#40H,MAIN_0
MOV41H,#01101101B
SETB00H
MOVTMOD,#01H
MOVIE,#10000010B
MOVTH0,#0ECH;10ms:EC78H
MOVTL0,#78H
SETBTR0
MAIN_1:ACALLCONT;主程序循环
SJMPMAIN_1
;
CONT:LCALLDISP;控制程序
RET
;
;定时器0中断服务程序
TINT0:MOVTH0,#0ECH
MOVTL0,#78H
PUSHACC;保护现场
PUSHPSW
INC40H
MOVA,40H
CJNEA,#50,TINT0R
MOV40H,#0
MOVA,41H
MOVC,00H
RRCA
MOV41H,A
MOV00H,C
MOV3FH,A;输出显示缓冲
TINT0R:POPPSW;恢复现场
POPACC
RETI