51单片机—串口通信
生活随笔
收集整理的这篇文章主要介绍了
51单片机—串口通信
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
计算机串行通信:
并行通信:
串行通信:
异步通信:
同步通信:
串行通信的传输方向:
串行通信常见的错误校验:
传输速率比特率(波特率):
(fosc是晶振频率,要将Mhz转化为hz(乘10的6次方),若不设置SMOD则默认是0,有想设置的波特率就可以求出T初了,将它赋给TH和TL就行了)
串行通信接口标准:
传输距离与传输速率的关系:
采用RS-232C接口存在的问题:
串行接口的结构:
使用串口前的准备工作:
与串行通信相关的寄存器:
可位寻址的意思是可以写为像以下这样的形式:
定时计数器控制寄存器TCON:
单片机同优先级中内部查询顺序:
串口通信示例(通过定时中断刷新数码管显示PC端发送的数据):
当单片机接收到一帧数据后,RI会置1,向CPU申请中断,若之前有中断允许,则产生了中断,进入中断服务程序。当然,单片机发送完一帧数据,TI也会置1,同样会产生中断!
补充:其实,不管你有没有允许中断,上位机(此时即给单片机发送信息的机器)只要给单片机发送数据,单片机就会自动接收数据,并把它放在数据缓冲器SBUF中,如果你之前有允许串行口中断,RI就会置1,向单片机CPU申请中断,并进入中断服务程序,即你问题中的serial()函数,做完这个函数后就会自动返回断点。如果你没有允许中断,便不会产生串行中断。
总结
以上是生活随笔为你收集整理的51单片机—串口通信的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 在Android上使用AutoNavi
- 下一篇: exp/imp和expdp/impdp在