IAR是一套开发系统,可以用于好多种单片机的开基余发,AVR、430、ARM,当然,8051也可以。
zigbee是一套无线通信技术,可以无线组网戚锋纤、传送数据。。。
8051是一个经典的单片机内核,有许多单片高仿机用的是8051内核。
你具体是要问什么呢?
首先,PC之间直接用zigbee通信的程序应该是有示例代码的;如果这个虚宏键做好差巧了的话,接下来可以把单绝型片机看成透明的(推荐使用STC的12或是15系列的51单片机,因为这个51具有双串口);然后,通过max232连接单片机串口1,单片机串口2连接ZigBee,串口1接收什么,串口2就往外发送什么。在串口1接收的中断服务程序中加入显示的代码,就能实现51单片机与zigbee的连接。对ZigBee我不熟悉,但无论对谁通讯,只要是经过串口,51的设置都是相同的:1。规定通讯规则,比如“A”代表读温度,“B”代表读压力,这个由收发双方约定
2。设置51串口,举例说——假定用6MHz晶振,用1200波特率,设置参数为:
MOVSCON,#50H8位+无校验+允许串口接收
MOVTMOD,#21H设T1为两个8位寄存器
MOVTH1,#0F3H
MOVTL1,#0F3H设波特率=1200
(MOVIE,#90H 允许串口中断,建议不用中断方式,免去此条)
MOVTCON,#40H T1开始工作
3。如果不用中断方式,在需要送串口的地方加上蠢碰模如下指令:
CLRTI
MOVA,#XXXX为待送出数据
MOVSBUF,A
JNBTI,$等串口送吵历出完整数据
。。。。。。其它工作
4。在需要判断串口接收的地方加入如下指令:
JNBRI,YYYY
CLRRI
MOVA,SBUF
。。。。。。对接收到ACC的数据进行处理
YYYY:其带缓它工作
5。如用中断方式,
a.要在0023H处加一条跳转到中断服务程序入口的指令
b.在中断服务程序中,加入判断,并清除接收标记(RI)及读取串口的指令
c.还要加入判断,并清除发送标记(TI)的指令,之后要判断是否还有待发送的数据
如有,可继续发送。
所以,用中断方式,比较啰嗦。
以上仅供参考
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)