打印

51单片机的串行通信是怎么工作的??欢迎砖家来扔砖头

[复制链接]
2565|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zzty|  楼主 | 2009-7-26 15:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近一个人在弄DMX512通信协议,但是弄了一段时间未果,现诚恳希望能得到砖家们指点指点,先谢谢了。
1单片机的串行通信是怎么工作的??
是不是把SCON和PCON设置好,在需要进入串行中断服务程序(比如:接收数据)的时候,只要SETB ES(注:我用的是汇编)就可以
马上进入串行中断服务程序了,那么在串行中断服务程序里面,一帧数据接收完后,RI就被置1了呢??

还有下面两段话,哪段是正确的:
   SM2:多机通信控制位,由软件设定。串行口的方式2和方式3适用于多机通信。在方式2或方式3中,当SM2=1,若接收到的第9位数据(RB8)为0,则不能置位RI;只有收到RB8=1,才置位RI。SM2=1用于多机通信中,只接收地址帧,不接收数据帧。而当SM2=0时,只要接收到一帧信息(无论是地址还是数据),RI都被置位。双机通信时,通常使SM2=0,在方式0中,SM2必须为0。

   SM2在方式2或方式3下,如果该比特为0,串口以单片机发送或接收方式工作,TI和RI以正常方式被激活,但不引起中断请求;若该比特为1并且SCON中的RB8也被置位时,RI不仅被激活而且可以向CPU请求中断(疑问:这时说的中断请求,是不是说,一帧数据接收完毕,RI被置1??)。方式2的接收过程也与方式1类似,但是方式1中的RB8存放的是停止位,方式2中存放的是第9位数据位。所以在方式2必须满足接收有效字符的条件是:RI=0和SM2=0或者接收到的第9位数据为1。第一个条件是要求SBUF为空,即用户应预先读走SBUF中的信息,好让接收电路确认它已空。第二个条件是提供了利用SM2和第9个数据位共同对接收加以控制。若第9个数据位是奇偶校验,则可让SM2=0以确保串口能可靠接收;如果是接收控制,则可让SM2=1,然后依靠第9位数据的状态来确定接收是否有效。

相关帖子

沙发
zzty|  楼主 | 2009-7-26 16:11 | 只看该作者

RE

因为上面的那两段话是在书上找到的,感觉怪怪的,所以想在这里希望能够得到砖家们的权威肯定。谢谢~~!!!

使用特权

评论回复
板凳
chunyang| | 2009-7-26 17:44 | 只看该作者

楼主应该找本合适的51书

    你的理解可以说是匪夷所思,51的串口操作非常简单,设置好波特率后启动波特率发生器,然后向串口寄存器内写入待发送的数据即可,是否发送完可以查询发送完成标识位或准许该标识引发的中断,然后进行相应处理即可。在掌握基本串行通讯的基础上,理解多机通讯用法就不是什么难事了,但一本好的入门书还是必要的,可以找北航出的相关教材看看。

使用特权

评论回复
地板
李唐春秋| | 2009-7-27 15:04 | 只看该作者

单片机参考书

呵呵  本人推荐你看哈尔滨工业大学出版的   作者:张毅刚  新篇C51单片机   具体书名自己看看吧   那本书里面有很多例子讲得很好!

使用特权

评论回复
5
zzty|  楼主 | 2009-7-28 20:10 | 只看该作者

RE: chunyang 大哥

我用一台DMX512电脑控制台来控制灯具(几十台灯具),那是不是属于多机通 信呢,那灯具里面的接收程序(方式是工作方式2),是不是要把SM2设置成1呢??还有那个RB8是作为奇偶校验,还是作为接收控制??感觉有点迷糊,请多多指教。谢谢~~!!

使用特权

评论回复
6
chunyang| | 2009-7-28 20:20 | 只看该作者

组网可以利用51的多机通讯模式,但只适合简单类型的

    复杂网络或要求较高的场合通常不用多机通讯模式而是靠协议实现。MCS51中,SM2是多机模式使能位,仅在串口模式2、3下有效,RB8在多机模式下为地址/数据标识位。这些问题先去看书,基本概念必须理解并熟练掌握。

使用特权

评论回复
7
zzty|  楼主 | 2009-7-28 20:37 | 只看该作者

RE: chunyang 大哥

噢,多谢了!!!

使用特权

评论回复
8
SedateFire| | 2009-7-29 20:46 | 只看该作者

给个建议

要用硬件实现一对多,我建议你用I2C协议,两根线就够了,它有地址识别
或者用rs422把灯具串联,用通讯协议来作这些控制,每个灯具一个编号,就如ip一样,当收到的编号和自己编号一样时,才做出动作,即使要Ack也没关系,只要编号唯一,就只会出现一个Ack,控制者就如同广播一样,每次向人群中喊话,某某ID灯,你该干嘛?人群中自然只有一人或无人相应...自己想去吧,搞个简单的通讯协议

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

177

帖子

0

粉丝