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

发布者:创意小巨人最新更新时间:2011-10-11 关键字:单片机  无线呼叫 手机看文章 扫描二维码
随时随地手机看文章

随着科技的进步以及生活质量的不断提高,人们要求在消费中得到的服务更加快捷、方便、舒适;同时处于激烈竞争中的服务性企业也需要进一步吸引顾客,提高企业自身的服务档次和形象。在这样的背景下,产生了各种不同类型的呼叫系统。传统的呼叫系统多是有线的,比如采用分布控制方式的单片机系统,主机和呼叫器的应答通过一根三芯导线,包括电源线、信号线、地线来完成,各呼叫器并行挂接。这样的系统存在着布线繁琐,安装麻烦、成本高等问题,针对这些问题,无线呼叫系统逐渐发展起来,越来越多的研究者将目光投向了无线领域。

1 系统设计方案

低功耗无线呼叫系统的发送和接收模块的框图如图1,图2所示。

QQ截图未命名11_副本.jpg

其中图1为无线发送模块,以STC89C52RC为主控制核心,及时响应终端的呼叫信息,然后利用nRF905无线传输模块将呼叫信息发送给无线接收模块进行处理。

图2为无线接收模块,以STC89C52RC为主控制核心,利用nRF905无线传输模块接收呼叫信息,然后利用串口转USB线上传给PC,利用上位机软件可以实时监测。

2 系统硬件电路设计

2.1 3.3 V供电电源模块

该设计可用3.3 V电压供电,故采用ASM1117-3.3电源供电系统,如图3所示。无线发送模块和STC89C52RC单片机皆为低功耗器件。对发送端而言,在对通信距离要求较远时,也可采用5 V供电。接收端可通过与PC连接的USB提供5 V电源。核心部件LM1117-3.3是一个低压差电压调节器系列。压差在1.2 V输出,此时相应的负载电流为800mA。

QQ截图未命名12_副本.jpg[page]

 

2.2 单片机控制电路

从电源供给及功耗等各方面的考虑,数据处理部分采用STFC89C51RC/RD+系列的STC89C52RC单片机。

STC89C52RC单片机除具有MCS-51系列单片机FLASH、RAM、分频器、位定时器/计数器等结构外,具有如下

主要特点:加密性强,无法解密;超强抗干扰;对外部的电磁辐射低;超低功耗,正常工作模式时典型功

耗为4~7mA。

STC89C52RC单片机与单片射频收发器nRF905连接如图4所示。

QQ截图未命名13_副本.jpg

2.3 数据传输模块的选择

数据传输模块采用NewMsg_RF905SE模块,该模块采用挪威Nordic公司推出的单片射频收发器nRF905芯片开发而成。NewMsg RF905单片无线收发器工作电压为1.9~3.6 V,工作在433/868/915 MHz的ISM频段,最大数据速率为100 Kb/s。芯片内部由1个完全集成的频率调制器、1个带解调器的接收器、1个功率放大器、1个晶体振荡器和1个调节器组成。ShockBurst工作模式的特点是自动产生前导码和CRC可以很容易通过SPI接口进行编程配置电流消耗很低,在发射功率为+10 dBm时,发射电流为30 mA接收电流为12.5 mA。进入POWERDOWN模式可以很容易实现节电。nRF905是单工工作方式,且在待机模式、接收模式、发送模式之间切换需要延时,所以在无线通信过程中,通信软件应该有合理的时序。表1为nRF905的工作模式及相应功能。

QQ截图未命名14_副本.jpgQQ截图未命名14_副本.jpg[page]

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 接收数据

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

3.4 主程序设计

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

QQ截图未命名15_副本.jpg

4 结语

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

 

关键字:单片机  无线呼叫 引用地址:基于单片机的无线呼叫系统设计

上一篇:基于STC12C5410AD单片机的镶嵌控制系统设计与实现
下一篇:应用多个单片机的液位监控仪

推荐阅读最新更新时间:2024-03-16 12:43

STC12C5A60S2系列单片机PCA时钟源设置
在使用STC12C5A60S2系列单片机PCA输出PWM时需要设置PCA时钟源,如以下代码 void PCA_Init(void) { CCON = 0; //PCA初始化 CMOD = 0x00; //空闲时不计数,不产生中断,时钟源为Sysclk/12,PWM频率大约为4KHz CL = 0x00; //PCA低8位清零 CH = 0x00; //PCA高8位清零 CCAPM0 = 0x42; //8位PWM模式,无中断 CCAP0H = 0xc0; //PWM0占空比(调节此处值调节PWM占空比) CCAP0L = 0xc0; //PWM0占空比(调节此处值调节PWM占空比) CCAPM1
[单片机]
STC12C5A60S2系列<font color='red'>单片机</font>PCA时钟源设置
单片机C语言中标志位的经典应用
/* 本例程是C语言的位域操作示例 这里为什么位域结构体与联合体一起使用? -- 因为这样定义后,即可以单独使用标志位 也可同时使用整个字节数据 主要应用:单片机C语言 好处:用标志位可以节省RAM空间 操作灵活 执行速度快 */ //====标志位应用 定义联合体实体==== typedef union uFLG{ uint8 Flg ; //定义整形数据 struct FLAG{ //位域定义 uint8 Flg1 : 1; uint8 Flg2 : 1; uint8 Flg3 : 1; uint8 Flg4 : 1; uint8 Flg5 : 1; uint8
[单片机]
PIC18F4520单片机超声波测距主要部分程序
测试环境:MPLAB IDE v8.73a 单片机型号:PIC18F4520 所需器件:超声波模块 电路连接图如下: 超声波测距子函数: unsigned int chaosheng() { unsigned int temp1,temp2;//定义两个无符号整型的变量用于存储距离值 INPUT = 1; delay(50);//延时 INPUT = 0; while(!OUTPUT);//当超声波的输出引脚输出高电平时,打开定时器0,开始计时 TMR1ON = 1; while(OUTPUT);//当超声波的输出引脚输出低电平时,关闭定时器0,停止计时 TMR1ON = 0; //计算超声波测出的距离
[单片机]
PIC18F4520<font color='red'>单片机</font>超声波测距主要部分程序
单片机串行通信基础知识
1、引脚信号 在实际工作中,CPU与其他外部设备间的信息交换,或一台计算机与另一台计算机之间信息交换均称为 通信 。 并行通信是数据的各位同时传送。并行通信的特点是传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,适合近距离传输。在集成电路芯片的内部、同一插件板上各部件之间、同一机箱内各插件板之间的数据传送都是并行的。 串行通信是数据一位一位顺序传送。串行通信的特点是数据传送按位顺序进行,最少只需一根传输线即可完成,成本低但速度慢。计算机与远程终端或终端与终端之间的数据传送通常都是串行的。串行通信的距离可以从几米到几千公里。 串行通信又分为异步通信和同步通信两种方式。在单片机中,主要使用异步通信方式。
[单片机]
国产芯片怎么做车规认证?
微控制器(MCU)在汽车中的应用非常广泛,是汽车电子中最重要的芯片之一。从高端的预控制器,到最简单的门窗控制,全部都要用到MCU。跟消费类、工业类甚至军品MCU相比,车规MCU具有以下特点: 高可靠性,对在室外环境下的EMC要求非常严苛; 高安全,尤其是在自动辅助驾驶逐渐普及的今天,复杂电路的功能安全尤其重要; 零缺陷率,不能有错,十全十美,通过设计、管理、工艺等方面来达到这样的目标; 批一致性,对工艺、材料稳定性要求极高; 长期供货,保证10-15年供货期。 根据汽车产业链特点,并围绕上述国际车企基本需求,车规芯片需满足相关规范。其中包括ISO26262这一电子电器产品设计阶段应遵守的国际安全可靠标准,2008年以后还专
[嵌入式]
国产芯片怎么做车规认证?
51单片机利用定时器和1602液晶显示实现一个计时器
1.平台:windows10 64位教育版 2.工具:普中科技HC6800-ES V2.0 、keil uVision 2 3.注意:芯片STC89C52,8位1602液晶显示 4.实现效果: 通电之后,1602开始显示计时,按下第一个按键进入设置,按下第二个按键设置时分秒的各个位置,按下第三个按键在对应的时分秒的位置数字加1,按下第四个按键在对应的时分秒的位置数字减1 原理 笔者参考的是郭天祥的《新概念51单片机C语言教程》和网上的普中科技的单片机的使用教程,具体使用教程,在哔哩哔哩上面搜“普中科技51单片机”也有。要找到能用的代码,网上是很多的,不过笔者是自己在明白原理之后,自己编写程序实现的,自己独立思考的过程很重要
[单片机]
51<font color='red'>单片机</font>利用定时器和1602液晶显示实现一个计时器
用8位单片机实现串口-以太网转换器
    摘要: 用8位单片机8031和ISA总线网卡,实现RS485串行设备与以太网的连接,以传送控制信令和数据文件。程序设计采用C51语言,便于移植和调试。     关键词: 以太网 串行通讯 单片机 C51 单片机或微控制器(MCU)(也称为嵌入式系统)已经在各个领域得到了广泛的应用。目前绝大多数系统都是以MCU为核心,与监测、伺服、指示设备配合实现一定的功能。以太网是当今最受欢迎的局域网之一,现已成为社会重要的基础信息设施,是信息流通的重要渠道。如果嵌入式系统能够连接到Internet,则可以方便、低廉地将信息传送到世界上的任何一个地方。 将嵌入式系统与Internet相连的主要困难在于:Inter
[应用]
单片机存储器一些相关知识的学习
接着上一期内容我们继续来认识一下单片机存储器,学习一些相关知识。 片内的ROM和片外的ROM有两种组合方案,第一个方案是51单片机内部的ROM一共有4K,4K是它的存储容量,它的存储空间分布地址分布式从0000H到0FFFH,大家要理解什么叫做存储容量,什么叫做地址分布,比如说一个空间里面可以容纳4085个人,这4085个人指这个空间的容量是4085个人,把十进制的4085转换成这个二进制转换成二进制的这种方式称之为4K,也就是按照二进制进行编码,一共会占到12个1,就是2的平方乘以2的10次方,这样的话它的地址空间就是从0000H到0FFFH,也就相当于是这个空间一共是4096个座位,每个座位上可以做一个8位的二进制数,这个座位
[单片机]
<font color='red'>单片机</font>存储器一些相关知识的学习
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved