单片机汇编 串口通信实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验项目名称
串口通信实验
二、实验内容
现有两台单片机应用系统。甲机发送内存中以TR_BUF为首地址的10个数据串,乙机把接收到的数据存入以RC_BUF为首地址的内存单元中。设甲、乙两机的振荡频率为12MHz,串行口均工作在方式1下。要求甲机用查询方式编程,乙机用中断方式编程。
三、实验原理图(纯软件部分实验报告可不要本部分)
四、编程思路及算法分析
流程图:
五、程序清单
甲机发送内存中以TR_BUF为首地址的10个数据串. org 0000h
mov r2,#10
mov r1,#tr_buf
mov a,#0feh
lp1: mov @r1,a
rl a
inc r1
djnz r2,lp1
mov TMOD,#20H
mov th1,#0fdh
mov tl1,#0fdh
setb tr1
mov scon,#40h
mov r0,#tr_buf
mov r7,#100
acall dy1s
lp: mov sbuf,@r0
jnb ti,$
clr ti
inc r0
djnz r7,lp
sjmp $
dy1s: mov r6,#200
m1: mov r5,#0fah
djnz r5,$
djnz R6,m1
ret
End
乙机把接收到的数据存入以RC_BUF为首地址的内存单元中org 0000h
ajmp main
org 0023h
ajmp s20fw
org 0030h
main: mov TMOD,#20H
mov th1,#0fdh
mov tl1,#0fdh
setb tr1
setb es
setb ea
mov scon,#50h
mov r0,#rc_buf
mov r2,#10
sjmp $
s20fw: clr ri
mov @r0,sbuf
inc r0
djnz r2,fan
mov r3,#10
mov r1,#rc_buf
lp1: mov a,@r1
mov p1,a
acall dy1s
inc r1
djnz r3,lp1
fan: reti
dy1s: mov r6,#200
m1: mov r5,#0fah
djnz r5,$
djnz R6,m1
ret
end
六、实验仿真结果
要有适当的图文解释。
七、实验总结
熟悉并掌握串行通信的工作原理以及编程方法和技巧。加深对MCS-51系列单片机UART硬件结构的认识。
2、实验注意事项;
1)、重点掌握串口方式1的波特率的计算方法。
2)、注意串行口在异步通信时中断的使用方法和查询的使用方法。
3)、注意中断标志的软件清除处理方法。
4)、注意通信双方的计算机的通信速率是否一致。
5)、注意必须接收机先工作,处于接收状态后,发送机才能发数
3、其他。
八、教师评语及成绩