写了个程序,用汇编语言写的,用串口助手显示单片机的数据,串口并没有显示,不知什么原因,求教,谢谢
; *********************************************
//JMP MAIN
//ORG 0023H ;串行中断入口地址
//CALL URT_INT ;调用串口中断服务子程序
//ORG 0030H
MAIN:
CALL URT_INIT ;调用初始化子程序
JMP $ ;等待中断
;初始化子程序
URT_INIT:
MOV SCON,#50H ;设置成串口工作方式在8位URT,并允许接收
MOV PCON,#00H
MOV TMOD,#20H ;设置T1为可重装8位定时器
MOV TL1,#0FDH ;11.0592MHz,波特率9600时定时器1的初值设置
MOV TH1,#0FDH
SETB TR1 ;开启定时器
//SETB ES ;开启串口中断
//SETB EA ;开总中断
// RET
MOV P1,#0ffh;
MOV A,#00H;
RET
;串口中断服务子程序
URT_INT:
CLR EA ;关全局中断
CLR RI ;清接收中断标志
PUSH DPL ;现场保护
PUSH DPH
PUSH ACC
MOV A,SBUF ;接收到数据后将数据返回
MOV P1,A ;接受到的数据送到P1口显示
INC A ;将接受的数据加1
MOV SBUF,A ;将接受的数据加1后送回PC机器
JNB TI,$ ;等待发送是否完成
CLR TI ;发送完成,则清发送中断标志
POP ACC ;恢复保护
POP DPH
POP DPL
SETB EA ;开全局中断
RETI
END
|