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
来历;21ic