已知单片机晶振频率6MHZ,串口工作于方式1,波特率1200,允许中断方式接收,编程对串口进行初始化.怎么用汇编语言编程啊?
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 17:29:57
![已知单片机晶振频率6MHZ,串口工作于方式1,波特率1200,允许中断方式接收,编程对串口进行初始化.怎么用汇编语言编程啊?](/uploads/image/z/1767301-61-1.jpg?t=%E5%B7%B2%E7%9F%A5%E5%8D%95%E7%89%87%E6%9C%BA%E6%99%B6%E6%8C%AF%E9%A2%91%E7%8E%876MHZ%2C%E4%B8%B2%E5%8F%A3%E5%B7%A5%E4%BD%9C%E4%BA%8E%E6%96%B9%E5%BC%8F1%2C%E6%B3%A2%E7%89%B9%E7%8E%871200%2C%E5%85%81%E8%AE%B8%E4%B8%AD%E6%96%AD%E6%96%B9%E5%BC%8F%E6%8E%A5%E6%94%B6%2C%E7%BC%96%E7%A8%8B%E5%AF%B9%E4%B8%B2%E5%8F%A3%E8%BF%9B%E8%A1%8C%E5%88%9D%E5%A7%8B%E5%8C%96.%E6%80%8E%E4%B9%88%E7%94%A8%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A8%8B%E5%95%8A%3F)
已知单片机晶振频率6MHZ,串口工作于方式1,波特率1200,允许中断方式接收,编程对串口进行初始化.怎么用汇编语言编程啊?
已知单片机晶振频率6MHZ,串口工作于方式1,波特率1200,允许中断方式接收,编程对串口进行初始化.
怎么用汇编语言编程啊?
已知单片机晶振频率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
ORG 0023H
LJMP UARTInterrupt
InitUART:;串口初始化
MOV TMOD,#20H
MOV SCON,#50H
MOV TH1,#0F3H
MOV TL1,TH1
MOV PCON,#00H
SETB EA
SETB ES
...
全部展开
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
收起