新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于单片机的无线呼叫系统设计

一种基于单片机的无线呼叫系统设计

作者:时间:2013-02-06来源:网络收藏

  3 系统的软件设计

  系统软件选用德国Keil公司推出的Cx51编译器,在nVision 2集成开发环境下完成从源程序编辑、编译调试,直到生成最终可执行文件代码的全部过程。该系统的重点是控制nRF905的程序设计。首先应对nRF905进行初始配置,配置完成后按需要编写用户数据的发送和接收程序。

  3.1 初始化配置

  初始化配置分为以下3个部分:

  (1)编写SPIWRITE和SPIREAD子函数,即通过软件为配置SPI功能。

  (2)初始化nRF905的射频配置寄存器。这些寄存器中有很多信息,必须根据实际情况进行配置。设计中nRF905外接16 MHz晶体,XOF应配置为01,PA2PWB为发射功率,RX2 RED2 PWB为接收灵敏度,可根据需要配置。另外还有发送地址、接收地址、发送数据和接收数据的长度,可根据实际应用配置。

  (3)配置nRF905的发送地址,最多4 B发送端的发送地址应与接收端设备的接收地址相同。在实际工作中,nRF905可以自动滤除地址不相同的数据,只有地址匹配且校验正确的数据才会被接收,并存储在接收数据寄存器中。

  3.2 发送数据

  nRF905发送数据前,通过条用SPI写函数,在待机模式下先把待发数据填进发送数据寄存器。然后把nRF905的TRX_CE、TX_EN引脚都置为高电平,数据就会自动通过天线发送出去。为了数据可靠地传输,将射频配置寄存器中的自动重发位(AUTO_RE_TRAN)设为有效,这样在TRX_ CE被置高的时间内数据一直在重复不断的发送。程序中设计延时500 ms,之后拉低TRX_CE引脚,回到待机模式。

  3.3 接收数据

  把nRF905的TRX_CE引脚置为高电平,TX_EN引脚置为低电平后,即开始接收数据。在设计中可设定在一定的时间内一直判断nRF905的DR引脚是否变高,若为高,则证明接收到了有效数据,可以退出接收模式;若一直没有接收到,待时间到也退出接收模式。退出后在待机模式,CPU把nRF905内部的接收数据寄存器中的数据读出,即接收到的有效数据。

  3.4 主程序设计

  在该系统中,主程序包括两部分:第一部分是主机()部分,通过无线模块接收下位机(呼叫器)的信息。程序流程图如图5所示;第二部分是下位机(呼叫器)部分,响应客户的呼叫,并通过无线模块将信息传送至主机()。程序流程图如图6所示。

  4 结语

  该呼叫系统运行稳定可靠,并运用无线射频控制技术,通过软件更新可迅速增容,根据企业的规模随时更新软件,保证系统有最优的服务质量。该系统的运用,降低了运行维护费用、节约管理成本,具有较大的经济效益。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭