1.实验规划
守时中止程序,串行口P3.0、P3.1输出,用74LS164移位寄存器驱动发光二极管
守时器0于方法1,16位,10ms中止一次
40H10ms守时计数单元
41H初值为01101101B
位地址00H=1
守时方法1为10MS:THX=0ECH,TLX=78H
串行口以方法0作业,不需初始化
2.参阅程序
LPOUTEQU41H;输出缓冲区
DISPEQU0DE00H;显现子程序进口
ORG0000H
START:AJMPMAIN
ORG000BH;守时器0中止服
AJMPTINT0;务程序进口
ORG0030H
MAIN:MOVR0,#39H;显现缓冲区初始化
MAIN_0:MOV@R0,#0
INCR0
CJNER0,#40H,MAIN_0
MOVLPOUT,#01101101B
SETB00H
MOVTMOD,#01H;
MOVIE,#10000010B
MOVTH0,#0ECH;10ms:EC78H
MOVTL0,#78H
SETBTR0
MAIN_1:ACALLCONT;主程序循环
SJMPMAIN_1
CONT:MOV3FH,LPOUT
LCALLDISP;控制程序
MOVSBUF,LPOUT;串行口输出
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