怎样通过串口实现51和ZigBee模块的数据通信 5

 我来答
百度网友969a2e5
2012-11-11 · 超过52用户采纳过TA的回答
知道答主
回答量:89
采纳率:100%
帮助的人:80.7万
展开全部
对ZigBee我不熟悉,但无论对谁通讯,只要是经过串口,51的设置都是相同的:
1。规定通讯规则,比如“A”代表读温度,“B”代表读压力,这个由收发双方约定
2。设置51串口,举例说——假定用6MHz晶振,用1200波特率,设置参数为:
MOV SCON,#50H ;8位+无校验+允许串口接收
MOV TMOD,#21H ;设T1为两个8位寄存器
MOV TH1,#0F3H
MOV TL1,#0F3H ;设波特率=1200
( MOV IE,#90H ;允许串口中断,建议不用中断方式,免去此条)
MOV TCON,#40H ;T1开始工作
3。如果不用中断方式,在需要送串口的地方加上如下指令:
CLR TI
MOV A,#XX ;XX为待送出数据
MOV SBUF,A
JNB TI,$ ;等串口送出完整数据
。。。。。。 ;其它工作
4。在需要判断串口接收的地方加入如下指令:
JNB RI,YYYY
CLR RI
MOV A,SBUF
。。。。。。 ;对接收到ACC的数据进行处理
YYYY: ;其它工作

5。如用中断方式,
a.要在0023H处加一条跳转到中断服务程序入口的指令
b.在中断服务程序中,加入判断,并清除接收标记(RI)及读取串口的指令
c.还要加入判断,并清除发送标记(TI)的指令,之后要判断是否还有待发送的数据
如有,可继续发送。
所以,用中断方式,比较啰嗦。

以上仅供参考
dgfhszdgbs
2012-11-13
知道答主
回答量:32
采纳率:0%
帮助的人:17.2万
展开全部
只要你的通信协议你包含串口通信协议,51和Zigbee之间的电平相同就可以通信了啊,如果你的Zigbee模块的I/O口没有设置串口,那自己在协议里甚至下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式