资源描述
一、实验项目名称
串口通信实验
二、实验内容
现有两台单片机应用系统。甲机发送内存中以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、其他。
八、 教师评语及成绩不允许同学之间相互抄袭。发现类同,本次报告按不合格处理!
展开阅读全文