已知单片机晶振频率6MHZ,串口工作于方式1,波特率1200,允许中断方式接收,编程对串口进行初始化。

怎么用汇编语言编程啊?帮帮忙吧!

UARTINIT: ;1200bps@6MHz
ANL PCON,#7FH ;波特率不倍速
MOV SCON,#50H ;8位数据,可变波特率
ORL AUXR,#40H ;定时器1时钟为Fosc,即1T
ANL AUXR,#0FEH ;串口1选择定时器1为波特率发生器
ANL TMOD,#0FH ;清除定时器1模式位
ORL TMOD,#20H ;设定定时器1为8位自动重装方式
MOV TL1,#064H ;设定定时初值
MOV TH1,#064H ;设定定时器重装值
CLR ET1 ;禁止定时器1中断
SETB TR1 ;启动定时器1
RET
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-31
ORG 0023H
LJMP UARTInterrupt

InitUART:;串口初始化
MOV TMOD,#20H
MOV SCON,#50H
MOV TH1,#0F3H
MOV TL1,TH1
MOV PCON,#00H
SETB EA
SETB ES
SETB TR1
RET

UARTInterrupt:
JB RI,IsUART_Receive
CLR TI
RETI

IsUART_Receive:;串口接收一个字节
CLR RI
PUSH ACC
MOV A,SBUF
;========================
;add your code here!
;========================
POP ACC
RETI

SendOneByte: ;串口发送一个字节
CLR ES
CLR TI
MOV SBUF,A
WaitSendFinish:
JNB TI,WaitSendFinish
CLR TI
SETB ES
RET