MCS-51单片机的串行口应用的程序设计举例
扫描二维码
随时随地手机看文章
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