基于AT89S52单片机数据通信终端设计
扫描二维码
随时随地手机看文章
摘要:目前,以单片机为核心的应用技术越来越广。文中基于AT89S52单片机控制技术,设计了一个数据通信终端,对其系统的原理、构成和技术特点进行介绍。达到可以实时、稳定传输数据的预期,在无线遥控方面有一定的应用。
随着计算机技术尤其是单片微型机技术的发展,人们已越来越多的采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。这种方便简单的操作,能方便人们的生活工作,具有非常重要的现实意义。
近年来,通信技术发展迅猛,给人们工作、生活带来极大的便利。随着数据通信业务需求的发展,对数据传输提出了更高的要求。针对通信数据终端传输要求,基于AT89S52单片机设计了一个无线传输系统。
1 系统总体设计
AT89S52单片机功耗低,采用高性能的CMOS技术制成的8位单片机,有8K的存储空间。采用先进的高密度和非易失性存储技术,对通用的单片机指令系统和引脚分布都兼容,这样更加完善了芯片的功能和丰富了它的灵活应用,在嵌入式控制系统中有着广泛的应用前景。
NRF24L01芯片它的工作频率是在2.4到2.5 GHz,ISM频段的单片机无线收发器芯片,它由频率发生器,模式控制器,功率放大器,晶体振荡器,调制器,解调器这几个部分组成。在电流很低的时候,发射功率为-6DBM它的消耗电流时9 mA,接收电流为12.3 mA,在待机模式或者停电模式下它的消耗更低。
以AT89S52单片机为核心,在输入模块用的是物理按键进行数据的输入,并通过数码管显示。显示模块是用的是四位共阳数码管,发送接收模块用的是NRF2041无线发送接收芯片。采用HT7133A作为稳压芯片。以单片机AT89S52为控制核心的数据通信终端主要包括以下几大模块:1)输入模块;2)显示模块;3)发送模块;4)接收模块。系统设计框图如图1所示。
2 硬件设计及实现
Protel2004 DXP是Altium公司基于Prote199SE基础,于2004年推出的新版本的电路设计软件,该软件具备从概念设计,顶层设计直到输出生产数据以及这之间的所有分析验证和设计数据的管理功能。
该数据通信终端分为发送模块和接收模块两个部分,两个模块电路相似。以发送电路为例,基于Protel2004 DXP设计的电路原理图如图2所示。
在发送数据是把它设置成发送模式,然后把节点地址和有效数据,按照时钟顺序写入无线发送模块的缓存区域,有效数据应该在CSN为低电平时连续写入,节点地址在发送时写一次就行,接着CE管脚保持10μs高电平并延迟130μs后发射数据;如果开启了自动应答,则nRF24L01在发射数据后随即开始准备接收信号,自动应答接收地址应该与接收节点地址TX_ADDR一致。如果发送信号得到回应,那么可以得出通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;如果没有收到回复,那么自动重新发送,若重复发送数据达到最大值,MAX_RT置高,TX FIFO中数据保留以便再次重发;MAX_RT或TX_DS置高时,IRQ为低电平,产生中断,报告MCU。最终成功发送时,如果CE为低电平则nRF24L01为空闲状态1;如果发送存储器中还有数据,那么进入下一轮发送模式。
在接收端,同样要将nRF24L01设为接收模式,然后在延迟130μs后开始进入接收状态。当接收方检测到有数据来时,就将数据存储在RXFIFO,此时标志位中断,IRQ变低,产生中断,此时MCU读取数据,如果开启了自动应答模式,接收方则自动进入应答状态。
3 软件设计与实现
3.1 软件设计
软件设计主要基于Keil c51 uVision4 C语言单片机开发环境,是现阶段使用最广泛,也最容易操作学习的软件,基于80C51单片内核的处理软件平台来进行的开发,包含多种工业标准的开发工具,可以完成项目的管理,建立编译、链接、对象代码生成,软件和硬件模拟完整的开发过程,特别是C编译器生成的代码工具的准确性和效率达到了更高的水平,在发展大型的项目非常理想。
STC-ISP是一款单片机下载编程烧录软件,是专门为STC系列单片机设计的,它适用于STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,被广泛的使用。
基于以上两个软件,所设计的数据传输系统流程图如图3所示。
3.2 部分代码
程序设计主要包含无线发送和接收两部分,以无线发送为例,部分代码如下:
4 结束语
基于AT89S52单片机数据通信终端系统设计完成后,将程序编译生成的文件写入单片机,并对系统的运行状况进行观察,实验表明:本系统具有性能稳定、操作简单、性价比好的特点,很好的实现了通信终端数据无线传输的要求。其稳定性好,价格低廉且电路结构简单,适用于智能电子玩具、机器人等近距离无线传输,具有较好的实用价值。