第1个回答 2008-11-09
ORG 0000H
AJMP START ;转到初始化程序
ORG 0023H
AJMP PGUART ;转到串行中断服务子程序
START: MOV SP,#60H ;堆栈指针初始化
MOV P0,#0FFH ;P0端口初始化
MOV P1,#0FFH ;P1端口初始化
MOV P2,#0FFH ;P2端口初始化
MOV P3,#0FFH ;P3端口初始化
MOV TMOD,#20H ;定时器T1工作于模式2,自动重装载
MOV TH1,#0FDH ;TH1初值为"0FDH",
MOV TL1,#0FDH ;TL1初值为"0FDH",
MOV SCON,#50H ;串行口工作于方式1,允许接收
SETB TR1 ;启动定时器T1
SETB ES ;允许串行口中断
SETB EA ;开总中断
CLR UABIT
;----------------------RS-232接口与单片机串行通信程序设计-------------------------------
MAIN: ...... ;主程序处理其他任务,等待串口中断
AJMP MAIN
PGUART: ...... ;串口中断服务子程序,接收处理数据
RETI
END本回答被提问者和网友采纳