基于单片机及nRF2401的无线通信模块_第1页
基于单片机及nRF2401的无线通信模块_第2页
基于单片机及nRF2401的无线通信模块_第3页
基于单片机及nRF2401的无线通信模块_第4页
基于单片机及nRF2401的无线通信模块_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要本文设计了一种以AT89S52单片机为控制核心的无线通信控制模块,详细说明了该系统的根本原理、主要电路、硬件框架以及软件框架。整个系统采用模块化设计,主要包括单片机与下位机之间的无线通信控制电路,以及无线通信模块与PC上位机之间基于串行接口RS-232标准的串行通信接口电路和USB高速通信接口电路。该通信控制系统通过PC上位机的RS-232串行通信和USB高速通信,从而通过无线通信控制模块形成与下位机的联系,控制下位机运动控制器,并且将通信接收的数据保存到扩展的存储器内。本模块的通信方法简便,除了可以进行远程实时控制外,还可广泛的应用于工业监控和数据采集系统。本系统具有性能可靠、抗干扰能力强、功耗低、性价比高等优点,在无线通信领域具有重要的应用价值和良好的开展前景。关键字:无线通信控制;AT89S52;nRF2401;串行通信AbstractThispaperintroducesadesignAT89S52singlechipcontrolwiththecoreofwirelesscommunicationcontrolmoduledesignsystem,detailedinstructionsonthesystemofbasicprinciple,hardwareframe,maincircuitandsoftwareframe.Thewholesystemusesmodulardesign,includingbetweenmicrocontrollerandlowerlevelcomputerwirelesscommunicationcontrolcircuit,andwirelesscommunicationmodulewithPCbasedonserialinterfacebetweentheRS-232standardserialcommunicationinterfacecircuitandUSBhigh-speedcommunicationinterfacecircuit.ThiscommunicationcontrolsystemthroughthePC'sRS-232serialcommunicationandUSBhigh-speedcommunications,thusthroughwirelesscommunicationcontrolmoduleformationandlowerlevelcomputerconnection,control,andamachinemotioncontrollerwillreceivedatastoragetocommunicationwithinthememoryexpansion.Thismodulecommunicationmethodissimple,remotingreal-timecontroloutside,stillcanbewidelyusedinindustrialsupervisorycontrolanddataacquisitionsystem.Thissystemhasreliableperformance,stronganti-jammingcapability,lowpowerconsumption,highperformance-to-priceadvantagesinwirelesscommunicationdomain,hasimportantapplicationvalueandgooddevelopmentprospect.Keywords:wirelesscommunicationcontrol;AT89S52;nRF2401;serialcomm-unication目录1概述11.1单片机控制的无线数据传输的意义11.2无线通信系统的现状及开展21.3本设计的内容及设计指标31.4设计的根底知识32系统设计方案42.1设计方案选择和论证4无线通信方式的比较和选择4微控制器的比较和选择5无线收发芯片的比较和选择62.1.4串行通信方式比较和选择72.2系统组成和功能概述83系统硬件设计103.1RS-232串行通信接口电路设计103.2USB通信接口电路设计11设计思路123.2.2USB转接芯片的选择12硬件电路设计14硬件驱动程序安装153.3nRF2401射频模块电路设计15芯片结构15引脚说明16主要特点18工作模式19器件配置20应用电路213.4外部数据存储器扩展电路设计223.5单片机最小系统电路设计26电源电路26时钟电路设计27复位电路的设计28下载线接口电路设计283.6各功能模块的整合及实现294系统软件设计304.1主程序模块304.2串行通信模块33串行口的初始化33串行口数据的收发354.3nRF2401的无线通信模块364.3.1nRF2401的初始化364.3.2nRF2401数据的ShockBurstTM收发384.4外部数据存储器的扩展模块424.5串行口调试软件简介435系统性能改善455.1提高系统可靠性措施455.2降低功耗的措施466总结与展望476.1总结476.2展望47参考文献49致谢51外文文献52中文翻译601概述1.1单片机控制的无线数据传输的意义在社会高速开展的今天,随着电子技术日新月异的开展,数据通信被广泛的应用到各个领域中。通信可以分为有线通信和无线通信,采用传统的有线监控系统除了通信设备之间的物理线路连接,还需要供电电路的支持。而采用无线技术后,系统精简了通信和供电线路的铺设,方便了系统的维护和扩展,对生产管理水平具有重要的意义。采用无线通信技术可以有效的解决采用有线通信所存在的问题,而且具有本钱更低、不需要布线、可以任意增加或减少测量节点、维护方便等优点。当数据采集点处于非固定位置或运动状态时,数据采集系统必须与主机别离,同时还需利用电池供电。因此,由无线收发电路或模块所组成的数据采集及传输系统是有效的解决方式。现在很多的无线通信控制系统不受体积、功耗、本钱的限制,并且短距离的无线数据传输技术已经较为成熟,功能简单,携带方便,在应用时将系统作为一个模块可方便地移植,以便构建更为复杂的无线通信网络,可很好的应用于各种无线产品中以及应用于小型无线网络、无线抄表、小区传呼、工业数据采集系统、平安防火系统等领域[1]。近十几年来,随着移动通信技术飞速开展,越来越多的信息采集和远程控制系统采用了无线数据传送技术,它与有线数传相比主要有布线本钱低、安装简便、便于移动的优点,而且随着互联网技术的迅猛开展和快速普及,越来越多的基于单片机为微控制器的的测控设备或智能仪器仪表都需要通过互联网上进行数据交换或传输数据。1.2无线通信系统的现状及开展了解和比较国内外的无线通信控制系统设计技术的现状,分析其优缺点,对于我们的研究无疑是非常必要的。从七十年代,国内外人们就开始了无线通信系统的研究。在整个八十年代,伴随着以太局域网的迅猛开展,以具有不用架线、灵活性强等优点的无线通信网络以己之长补“有线〞所短,也赢得了特定市场的认可,但也正是因为当时的无线网是作为有线以太网的一种补充,遵循了IEEE802.3标准,使直接架构于802.3上的无线网产品存在着易受其他微波噪声干扰,性能不稳定,传输速率低且不易升级等弱点,不同厂商的产品相互也不兼容,这一切都限制了无线通信网络的进一步应用。随着电子技术的开展,基于射频技术的无线收发芯片的集成度、性能都大幅度提高,芯片的种类和数量比较多,性能也各有特色。目前,世界各大芯片制造商研制开发出了各种新型射频芯片,使短距离无线通信装置的设计开发趋于容易、便捷、周期短、本钱低。此类芯片收发合一,工作频率一般为国际通用的ISM频段,无需申请许可证,采用低发射功率、高接收灵敏度的设计,使用时对周围干扰很小,调制方式大多为ASK,FSK,传输速率为几K到几百Kbit/s,传输距离受环境影响,一般在几十米到数百米[2]。无线通信是当前开展最快的技术之一,已渗透到社会的各个角落,有着广阔的市场和业务需要。短距离无线传输具有抗干扰性能强、可靠性高、平安性好、受地理条件限制少、安装灵活等优点,在许多领域有着广泛的应用前景。低功耗、微型化是用户对当前无线通信产品尤其是便携产品的实际需求,短距离无线通信逐渐引起关注。1.3本设计的内容及设计指标本设计需要完成的模块功能及设计指标:1.通过RS-232串行接口或USB接口实现PC机与单片机AT89S52的串行通信。2.通过nRF2401芯片与单片机AT89S52的IO口连接实现两者的数据传输。3.通过对nRF2401进行配置实现两个单片机之间的无线数据传输。4.将下位机接收到的数据存储到扩展的外部数据存储器中。本设计的特点:系统由单片机AT89S52控制无线数字传输芯片nRF2401,通过无线方式进行数据双向远程传输,两端采用半双工方式通信,该系统具有本钱低,功耗低,软件设计简单以及通信可靠等优点。1.4设计的根底知识做好本次设计需要多个方面的只是有全面的了解和掌握。不仅需要硬件电路方面的设计,对于软件编程局部也要有良好的根底。还需要对单片机的应用有深刻的理解和牢固的掌握,例如PC与单片机的串行通信,单片机的外部数据存储器的扩展等。本设计是基于nRF2401射频芯片的无线通信系统,还需要对该芯片有深入的了解。掌握其各个引脚的作用及各种工作方式和原理。同时还要能够运用Protel系列软件进行电路图及PCB板的绘制和布线以及使用Proteus等仿真软件进行系统仿真。软件局部的编程也需要能够熟练使用KEILC51软件。2系统设计方案2.1设计方案选择和论证无线通信技术迅速开展,有多种通讯方案可供选择,这里从实用,经济和实现等方面进行综合的考虑分析,选出适宜的设计方案。无线通信方式的比较和选择目前常用的短距离无线通信主要有:蓝牙(Bluetooth),红外数据传输〔IrDA〕,无线局域网〔Wi-Fi〕以及一些无线收发芯片等。蓝牙:Bluetooth是一种无线数据与语音通信的开放性全球标准,其实质是为固定设备或移动设备之间的通信环境建立通用的近距无线接口,但由于芯片大小和价格难以下调,使得许多用户不愿意花大价钱来购置这种无线设备。IrDA:IrDA是一种利用红外线进行点对点通信的技术,是第一个实现无线个人局域网(PAN)的技术,但它对于点对多点的通信显得无能为力,且红外技术只能在视线可以到达的范围内定向传输,中间不能有任何阻挡,同时要求通信设备的位置相对固定,这样就无法应用于移动设备。Wi-Fi:Wi-Fi是以太网的一种无线扩展,主要目的是提供WLAN接人,但由于其硬件实现需要很大的容纳空间,且往往在商用计算机系统中实现,这就限制了其在工业领域,尤其是在某些不依赖通用计算机的特殊工业场合的应用。本设计采用射频芯片nRF2401作为无线收发芯片,内置多种功能模块,功耗非常低,节能设计更方便,可以克服以上通信方式的缺点,适用于多种无线通信场合,如无线数据传输系统、无线鼠标、遥控开锁、遥控玩具等[3]。微控制器的比较和选择八位单片机由于内部构造简单,体积小,本钱低廉,在一些较简单的控制器中应用很广。即便到了本世纪,在单片机应用中,仍占有相当的份额。应用最广泛的八位单片机首推Intel的51系列,由于产品硬件结构合理,指令系统标准,加之生产历史“悠久〞,有先入为主的优势。世界有许多著名的芯片公司都购置了51芯片的核心专利技术,并在其根底上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。有人推测,51芯片可能最终形成事实上的标准MCU芯片[4]。这里只对51系列单片机进行比较。AT89CXX系列单片机:该系列单片机是美国ATMEL公司生产的低电压,高性能CMOS8位单片机。器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8为中央处理器〔CPU〕和Flash存储单元,可灵活应用于各种控制领域[5]。但是该系列单片机最高工作频率为24MHz,处理速度缓慢。且不支持ISP在线编程功能,使开发周期变长。C8051F系列单片机:美国Silabs公司推出的C8051F系列单片机是一种高集成度的SOC型芯片,除兼容MCS-51的微控制器内核、指令系统、数字外设部件外,还具有数据采集和控制系统的模拟部件以及其他数字外设部件,是单片机既能处理数字信号又能处理模拟信号[6]。但是该系列单片机比较昂贵,考虑到性价比,该系列的单片机并不适用于该无线通信系统。AT89SXX系列单片机:该系列单片机基于AT89C系列改良而来。在保持原有的功能根底上又增加了一些新的功能,性能有很大的提升。主要有增加了ISP在线编程功能,是程序的烧写变得简单易行。最高工作频率由原来的24MHz提升到33MHz,使单片机的运算速度有了很大的提升。同时芯片内部集成了看门狗计时器,不再像AT89C那样外接看门狗计时器电路。全新的加密算法,使程序的保密性大大加强[7]。该系列的单片机在价格上根本不变甚至比AT89C的价格更低,功能上也可以完全满足该通信系统的要求。综合考虑性价比和功能的实现要求,本设计采用该系列的AT89S52单片机。无线收发芯片的比较和选择方案一:cc1100微功率无线数传模块。根本特点有315、433、868、915MHz的ISM和SRD频段,最高工作速率500Kbps,支持2-FSK、GFSK和MSK调制方式,可软件修改波特率参数,更好地满足客户在不同条件下的使用要求高波特率,更快的数据传输速率低波特率,更强的抗干扰性和穿透能力,更远的传输距离,较低的电流消耗〔RX5.6mA,2.4kbps,433MHz〕,可编程控制的输出功率,对所有的支持频率可达+10dBm,无线唤醒功能,支持低功率电磁波激活功能,无线唤醒低功耗睡眠状态的设备,支持传输前自动清理信道访问〔CCA〕,即载波侦听系统,快速频率变动合成器带来的适宜的频率跳跃系统,模块可软件设地址,软件编程非常方便,标准DIP间距接口,便于嵌入式应用,单独的64字节RX和TX数据FIFO[8]。但是该模块在过高的数据速率会降低接收灵敏度及增大误码率甚至根本无法工作,并且和单片机工作时需要合理的信息码格式,否那么会直接影响到数据的可靠收发。方案二:NRF905无线收发模块。根本特点有433Mhz开放ISM频段免许可证使用,接收发送功能合一,收发完成中断标志,170个频道,可满足多点通讯和跳频通讯需求,实现组网通讯,内置硬件8/16位CRC校验,开发更简单,数据传输可靠稳定,工作电压1.9-3.6V,低功耗,待机模式仅2.5uA,接收灵敏度达-100dBm,收发模式切换时间<650us,每次最多可发送接收32字节,并可软件设置发送/接收缓冲区大小2/4/8/16/32字节,模块可软件设地址,只有收到本机地址时才会输出数据〔提供中断指示〕,可直接接各种单片机使用,软件编程非常方便,最大发射功率10毫瓦,发射模式:最大电流<30mA,接收模式为电流12.2mA,内置SPI接口,也可通过I/O口模拟SPI实现。最高SPI时钟可达10M,标准DIP间距接口,便于嵌入式应用,芯片可以软件设置空闲模式和关机模式,易于节能设计,适合工业数据采集、无线报警及平安系统等诸多领域。但是该模块比较简约,没有RSSI功能,和2.4GHZ频段的无线芯片相比,速度相比照较慢,并且芯片的价格相对来说较贵。方案三:nRF2401无线通信控制模块。根本特点有2.4Ghz全球开放ISM频段免许可证使用,最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,适合工业控制场合,125频道,满足多点网络通信需要,内置硬件8/16位CRC校验和点对多点通信地址控制,结合TDMA-CDMA-FDMA原理,可实现无线网络通讯,低功耗1.9-3.6V工作,待机模式下状态仅为1uA,模块可软件设地址,只有收到本机地址时才会输出数据〔提供中断指示〕,可直接接各种单片机使用,软件编程较为方便,收发完成中断标志,每次最多可发28字节,内置专门稳压电路,使用各种电源包括DC/DC开关电源均有很好的通信效果,标准DIP间距接口〔5*2〕,便于嵌入式应用,CLK、DATA、DR三线接口,软件编写较为简单,双通道数据接收,标配外置柱状天线,开阔地无干扰条件通信距离可达100米[9]。该无线通信模块通过ShockBurstTM收发模式进行无线数据发送,收发可靠,其外形尺寸小,需要的外围元器件也少,本钱较低,并且使用和携带较为方便。该设计选用该芯片。串行通信方式比较和选择RS-485串行通信:该接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。具有多机通信能力,这样用户可以利用单一的RS-485

接口方便地建立起设备网络。接口组成的半双工网络,一般只需二根信号线,所以它的接口均采用屏蔽双绞线传输,数据信号采用差分传输方式。但是由于电脑上没有485接口,所以设计的时候还需要一个485转232转换器,较为麻烦。RS-232串行通信:它是无处不在的,每一台PC机都有一个或者更多的接口。在微控制器中,接口芯片使得将一个5V串口转换成RS-232变的更容易。连接距离可以到达50到100ft,大多数的外设接口都不会用于太长的距离。对于一个双向选择,只需要3条导线。一个并行连接器一般需要8条数据线,两条或者更多的控制信号线和几根接地线。它作为一种标准,与很多设备兼容,目前已经在很多的微机通信接口中广泛的被采用[10]。这里采用该通信方式。USB接口通信:1.USB接口支持即插即用和热插拔,而RS-232(DB-9)串口不支持即插即用和热插拔,设备安装后需重启计算机方可使用。2.USB接口的传输速率较快,可达480Mbps(V2.0),而RS-232(DB-9)串口的最高速率仅为19200波特。3.USB接口占用体积较小,插拔方便;而RS-232(DB-9)串口的的插拔需要使用改锥,且在机箱后操作,比较麻烦。该设计中也可也采用这种通信方式。2.2系统组成和功能概述系统主要包括两个分别具有收发功能的无线通信模块,每个模块均由单片机和无线收发芯片nRF2401组成。系统的原理框图如下图,发送时,单片机通过IO总线向nRF2401写人控制命令及所需发送的数据,nRF2401通过天线发送出去;接收时,单片机通过IO总线读取nRF2401的工作状态,获取芯片相关信息及接收到的数据。两个收发模块之间相互通信,从而实现数据的无线传输。同时接收端将接收到的数据存储到扩展的片外数据存储器中。AT89S52AT89S52单片机nRF2401射频频模块PC图2-SEQ图1-\*ARABIC1数据发送端框图AT89S52AT89S52单片机nRF2401射频频模块图2-SEQ图1-\*ARABIC2数据接收端框图3系统硬件设计该无线数据传输系统采用AT89S52单片机作为整个系统的控制核心,通过射频芯片nRF2401实现数据的无线传输。通过RS232标准串行接口实现PC与单片机的串行通信。也可以通过USB实现PC与单片机的通信。当进行大的数据传输时,AT89S52的数据存储器的存储容量将不能满足。此时那么需要对外部数据存储器进行扩展。这里使用容量为512K×8的静态RAM芯片进行存储空间的扩展。同时对单片机能够正常运行的最小系统进行设计。3.1RS-232串行通信接口电路设计由于不同设备串行接口的信号线定义、电气规那么等特性都不尽相同,因此要使这些设备能够互相连接,需要统一的串行通信接口。采用标准接口还能提高通信速度和传输距离。RS-232定义了数据终端设备〔DTE〕与数据通信设备〔DCE〕之间的物理接口标准,接口标准包括引脚定义,电气特征和电平转换几方面内容。在微型计算机通信中RS-232接口常使用的有9根信号引脚。由于RS-232是早期为促进公用网络进行数据通信而制定的标准,其逻辑电平对地是对称的,要用负逻辑,逻辑0电平规定为+5V~+15V,逻辑1电平为-5V~-15V,因此51系列的单片机与微型计算机的RS-232接口不能直接对接,必须进行电平转换。常见的电平转换器有MC1488,MC1489和MAX202/232/232A等芯片。该设计选用MAX232芯片作为电平转换器,它能满足RS-232的电气标准,内置电子泵电压转换器将+5V转换为-10~+10V,该芯片与TTL/COMS电平兼容,片内有两个发射器,两个接收器,在单片机应用系统中得到广泛应用[6]。MAX232的内部逻辑功能和电平转换硬件接口电路如图图3-SEQ图3-\*ARABIC1MAX232引脚及内部结构图3-SEQ图3-\*ARABIC2RS232-TTL电平转换电路上图中MAX232的R2IN和T2OUT引脚分别与RS-232接口的第2和第3引脚相连,R2IN和R2OUT引脚分别与AT89S52的TXD和RXD引脚相连。3.2USB通信接口电路设计目前,51单片机同PC机的通信在大多数情况下仍然是使用RS-232(DB-9)串口作为通信接口实现的。而随着USB接口技术的成熟和使用的普及,由于USB接口大有着一系列RS-232(DB-9)串口无法比较的优点,RS-232(DB-9)串口正在逐步的为USB接口所替代。而在现在的大多数笔记本电脑中,出于节省物理空间和用处不大等原因,RS-232(DB-9)串口已不再设置,这就约束了基于RS-232(DB-9)串口与PC机联络的单片机设备的使用范围。设计思路使用USB-RS232转接芯片实现PC机同单片机物理层的连接,通过编写单片机指令实现数据帧格式的匹配。USB转接芯片的选择目前常用的USB转接芯片包括PL2303,CH341,CP2101,FT232等。在综合考虑了各方面因素后,CH341成为了本次电路设计的首选芯片。CH341是南京沁恒电子公司生产的USB总线的转接芯片,通过USB总线提供异步串口,打印口,并口及常用的2线和4线等同步串行端口。其特点有:1.提供全速USB设备借口,兼容USB2.0,外围设备只需要晶体和电容;2.可通过外部的低本钱串行EPROM定义厂商ID,产品ID,序列号等;3.本钱低廉,可直接转换原串口外围设备;4.采用SOP-28封装,串口应用还提供小型的SSOP-20封装。正是由于在PC机同单片机通信电路中,USB转接芯片CH341具有以上其他芯片无法比较的优点,同时价格低廉并且提供中文技术支持,因此它成为了本电路USB转接芯片的最优选择。本电路采用的是SSOP-20封装的CH341T,其引脚图如下图。其中,芯片的驱动程序由南京沁恒电子公司提供。图3-SEQ图3-\*ARABIC3CH341T引脚CH341T是一个USB总线的转接芯片。在异步串口方式下,CH341T提供串口发送使能、串口接收就绪等交互式的速率控制信号以及常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。在打印口方式下,CH341T提供了兼容USB相关标准和Windows操作系统的标准USB打印口,用于将普通的并口打印机直接升级到USB总线。在并口方式下,CH341提供了EPP方式或MEM方式的8位并行接口,用于在不需要单片机/DSP/MCU的环境下,直接输入输出数据。除此之外,CH341T芯片还支持一些常用的同步串行接口,例如2线接口〔SCL线、SDA线〕和4线接口〔CS线、SCK/CLK线、MISO/SDI/DIN线、MOSI/SDO/DOUT线〕等。连接框图如图图3-SEQ图3-\*ARABIC4CH341T连接框图硬件电路设计USB通信模块电路连接如图,图中CH341的TXD和RXD引脚分别与单片机的RXD和TXD引脚连接。VCC和GND引脚分别与单片机的VCC和GND引脚连接。在5V电源的情况下,V3口需要外接0.01uF的退耦电容。TEN#为串口发送数据使能端,低电平有效。CH341T必须使用12Mhz的晶振,否那么无法正常工作。为保证单片机能够产生与计算机匹配的波特率,单片机采用11.0592Mhz的晶振。图3-SEQ图3-\*ARABIC5USB通信模块硬件驱动程序安装通过登录南京沁恒电子公司网站://download/index.htm可下载CH341T驱动程序CH341SER.EXE,在确认驱动程序和硬件电路无误后,翻开驱动程序。弹出安装对话框后选择INSTALL,设备将自动安装驱动程序。安装完成后计算机将提示安装成功[11]。3.3nRF2401射频模块电路设计nRF2401无线收发一体芯片和蓝牙一样,都工作在2.4GHz自由频段,能够在全球无线市场畅通无阻。nRF2401支持多点间通信,最高传输速率超过1Mbit/s,而且比蓝牙具有更高的传输速度。它采用SoC方法设计,只需少量外围元件便可组成射频收发电路.。与蓝牙不同的是,nRF2401没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信.。更重要的是,nRF2401比蓝牙产品更廉价.。所以nRF2401是业界体积最小、功耗最少、外围元件最少的低本钱射频系统级芯片[12]。芯片结构nRF2401内置地址解码器、先入先出堆栈区、解调处理器、时钟处理器、GFSK滤波器、低噪声放大器、频率合成器,功率放大器等功能模块,需要很少的外围元件,因此使用起来非常方便。QFN24引脚封装,外形尺寸只有5×5mm。nRF2401的功能模块如图。图3-SEQ图3-\*ARABIC6nRF2401功能结构引脚说明芯片引脚排列如图图3-SEQ图3-\*ARABIC7nRF2401引脚各引脚功能说明如表图3-SEQ图3-\*ARABIC8nRF2401引脚功能主要特点1.采用全球开放的2.4G比频段,有125个频道,可满足多频及跳频需要;2.速率(1Mbps)高于蓝牙,且具有高数据吞吐量;3.外围元件极少,只需一个晶振和一个电阻即可设计射频电路;4.发射功率和工作频率等所有工作参数可全部通过软件设置;5.每个芯片均可以通过软件设置最多40bit地址,而且只有收到本机地址时才会输出数据(提供一个中断指示),同时编程也很方便;6.采用ShockBurstlM模式时,能适用极低的功率操作和不严格的MCU执行;7.带有集成增强型8051内核、9路10bitADC、UART异步串口、SPI串口和PWM输出;8.内置看门狗[12];工作模式nRF2401有工作模式有四种:收发模式、配置模式、空闲模式和关机模式。nRF2401的工作模式由PWR_UP、CE、TX_EN和CS三个引脚决定,如表。工作模式PWR_YPCECS收发模式110配置模式101空闲模式100关机模式0XXnRF2401工作模式收发模式:nRF2401的收发模式有ShockBurstTM收发模式和直接收发模式两种,收发模式由器件配置字决定。这里只介绍ShockBurstTM收发模式。ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。nRF2401的ShockBurstTM技术同时也减小了整个系统的平均工作电流。在ShockBurstTM收发模式下,nRF2401自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。配置模式:在配置模式,15字节的配置字被送到nRF2401,这通过CS、CLK1和DATA三个引脚完成。空闲模式:nRF2401的空闲模式是为了减小平均工作电流而设计,其最大的优点是,实现节能的同时,缩短芯片的起动时间。在空闲模式下,局部片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关,如外部晶振为4MHz时工作电流为12uA,外部晶振为16MHz时工作电流为32uA。在空闲模式下,配置字的内容保持在nRF2401片内。关机模式:在关机模式下,为了得到最小的工作电流,一般此时的工作电流小于1uA。关机模式下,配置字的内容也会被保持在nRF2401片内,这是该模式与断电状态最大的区别[13]。器件配置nRF2401的所有配置工作都是通过CS、CLK1和DATA三个引脚完成,把其配置为ShockBurstTM收发模式需要15字节的配置字,而如把其配置为直接收发模式只需要2字节的配置字。在配置模式下,注意保证PWR_UP引脚为高电平,CE引脚为低电平。配置字从最高位开始,依次送入nRF2401。在CS引脚的下降沿,新送入的配置字开始工作。将在nRF2401的初始化处做详细介绍。nRF2401配置字的各个位的描述如图图3-SEQ图3-\*ARABIC9nRF2401配置字应用电路+5V单片机I/O口与Nrf2401芯片引脚的借口需要进行分压处理,单片机向nRF2401发送控制信号时采用电阻分压,nRF2401向单片机传送数据时或者发送数据状态信号时采用74HC04反相器两级向,这样就可以实现两个芯片在电压允许范围内的双向通信。图3-SEQ图3-\*ARABIC10应用电路3.4外部数据存储器扩展电路设计AT89S52的内部RAM空间为256字节,当接收的数据量较大时,单片机内部的数据存储器那么不能满足存储要求,这时就需要进行外部数据存储器的扩展。常用的外部数据存储器有静态RAM和动态RAM两种。前者读写速度高,使用方便,但本钱高,功耗大;后者集成度高,本钱低,功耗相对较低。缺点是需要加一个刷新电路,附加另外本钱。考虑到使用的方便性,该设计采用静态RAM进行扩展。CY62148E芯片是512K×8位静态随机存储器芯片,采用CMOS工艺制造,4.5V~5.5V供电,32线双列直插式封装。A0-A18为地址线,CE是片选线,OE是读允许线,WE是写允许线。MCS-51单片机对外没有专用的地址总线〔AB〕、数据总线〔DB〕和控制总线〔CB〕,所以在进行系统扩展时,首先需要扩展系统的三总线。在该设计当中,单片机通过8255A芯片与2片扩展RAM相连。CY62148E的数据总线与8255A端口相连,而芯片CY62148E的读写控制那么直接与单片机的读写端相连。CY62148E可实现1M字节数据的存储,可以满足系统的需要。CY62148E芯片的内部结构如下列图所示:图3-SEQ图3-\*ARABIC11功能结构由于1MB空间需要20根地址线来寻址,单片机的16根地址线只能寻址64KB的空间,要对I/O口进行扩展。这里用8255A进行并行口的扩展,使用8255A的PA口、PB口和PC口的PC0~PC3作为地址线。8255A是Intel公司的一种通用的可编程并行接口电路,它具有三个8位平行口PA、PB、PC。8255A的引脚图如下图。/CS为片选信号,低电平有效;reset为复位信号,高电平有效,复位后PA、PB、PC均为输入方式;D0-D7为双向三态数据总线;PA、PB、PC为三个8位I/O口;/RD、/WR分别为读选通、写选通信号,均为低电平有效;A1、A0为端口地址输入线,用于选择PA、PB、PC存放器或控制存放器;VCC为+5V电源,GND为接地端。8255A有三种工作方式,及方式0,1,2。方式0为根本I/O方式,这时PA、PB、PC可分别被定义为输入或输出,其中输出具有锁存功能,输入没有锁存功能。方式1为应答I/O方式。方式2为双向宣统I/O方式,是方式1输入和方式1输出的结合,仅对PA有意义。8255A的控制字有两种,一种为方式控制字,另一种为PC口职位/复位控制字。方式控制字为1Byte,其特征是D7=1;D6D5为A组方式控制,00即方式0,01为方式1,1×为方式2;D4为0表示PA口输出,为1那么为输入;D3为0表示PC7-4为输出,为1那么为输入;D2为0表示B组为方式0,为1那么方式1;D1为0表示PB输出,为1那么为输入;D0为0表示PC3-0输出,为1那么为输入。PC口置位/复位控制字也为1Byte,其特征是D7=0,D6-D4无效,D3D2D1的置分别对应PC0置PC7,D0为0表示该位清零,为1表示置1[14]。整个存储器扩展电路由单片机、锁存芯片74LS373、8255A芯片、及外部RAM扩展芯片CY62148E构成。存储器扩展电路的电路图如下图3-SEQ图3-\*ARABIC12应用电路3.5单片机最小系统电路设计单片机最小系统,是指用最少的元件组成以单片机为核心元件的可以正常工作具有特定功能的单片机系统,是单片机产品开发的核心电路。要使整个无线通信系统正常工作,必须构成单片机最小系统。单片机最小系统一般应该包括电源电路、晶振电路、复位电路等。电源电路单片机AT89S52芯片的第40脚为正电源引脚VCC,外接+5V电压。第20脚为接地引脚GND。本设计里与PC连接的单片机采用USB供电,也可以采用外加电源或电池供电。同时nRF2401芯片采用3.3V电压供电。电路设计如图图3-SEQ图3-\*ARABIC13USB电源电路当采用外电源供电时,可采用下面的电路对220V的交流市电进行变压器降压、桥式整流、滤波、倍压整流,最后送入集成稳压电路输出满足要求的电压。图3-SEQ图3-\*ARABIC14外接电源电路时钟电路设计单片机是一种时序电路,必须要有时钟信号才能正常工作。芯片的18脚〔XTAL2〕、19脚〔XTAL1〕分别为片内反向放大器的输出端和输入端,只要在18脚〔XTAL2〕和19脚〔XTAL1〕之间接上一个晶振,晶振一般选用11.0592MHz,因为它能准确地划分成时钟频率,可以准确得到9600波特率和19200波特率,与通信口的波特率相关,方便通信。再加上2个30PF的瓷片电容即可构成单片机所需的时钟电路。注意,当采用外部时钟时,19脚〔XTAL1〕接地,18脚〔XTAL2〕接外部时钟信号。电路设计如图。图3-SEQ图3-\*ARABIC15晶振电路复位电路的设计单片机芯片的第9脚RST〔Reset〕是复位信号输入端。在开机或工作中因干扰而使程序失控,或工作中程序处于某种死循环状态等情况下都需要复位。MCS-51系列单片机的复位靠外部电路实现,信号从RST引脚输入,高电平有效,只要保持RST引脚高电平2个机器周期,单片机就能正常复位。常见的复位电路有上电复位电路和按键复位电路二种。本设计使用按键复位,电路设计如图。图3-SEQ图3-\*ARABIC16复位电路下载线接口电路设计AT89S51与S52系列引脚与下载线对应连接定义:MOSI—>P1.5、MISO—>P1.6、SCK—>P1.7、/RES—>RST、GND—>GND、5V—>VCC。接口电路如图。图3-SEQ图3-\*ARABIC17下载接口3.6各功能模块的整合及实现将各个功能模块连接起来,构成完整的无线通信系统的原理图。见附录。4系统软件设计程序设计采用模块化设计方法,依据了“任何复杂的程序都可以分解为顺序结构局部、分支结构局部、循环结构局部和子程序局部〞的原那么,将程序进行分解设计。结构化程序设计具有结构清晰、易于读写、易于验证和可靠性高等特点,在程序设计中被广泛使用,易于文件标准管理。4.1主程序模块模块化程序设计思想是采用自顶向下、逐步求精的方法,将一个复杂的问题分解成假设干独立的子问题,每个子问题对应一个功能独立的程序模块,将这些模块有机的连接在一起,构成完整的程序。先进行主程序模块的设计,描述程序的总体框架,在进行子模块的设计,完成相应的子功能。该系统中需要分别设计发送端和接收端的程序。在发送端,首先使其进入发送工作模式CE=1,通过I/O接口装入接收端地址和有效数据,然后启动发送CE=0,发送端等待数据发送完成。当发送完成后模块进入接收状态,接收接收端的应答数据。如果接收到应答数据那么返回主函数并通过串口调试助手显示接收到的应答数据。发送端每隔1s检测是否有应答数据,5s内没有收到接收端应答数据,发送端重新发送数据。发送端程序流程图如图。图4-SEQ图4-\*ARABIC1发送端流程图在接收端,使能接收。如果接收到发送端数据,那么将接收到的数据送入扩展的外部RAM中,并且向发送端发送应答数据。接收端程序流程图如图。图4-SEQ图4-\*ARABIC2接收端流程图4.2串行通信模块串行通信模块的程序包括串行口的初始化程序和串行口的数据的收发程序。串行口的初始化AT89S52单片机内部有一个全双工串行接口,能同时接收和发送数据。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件本钱,适合远距离通信。其缺点是传输速度较低。单片机串口相关的存放器有SCON和PCON。串行口工作方式有四种方式,由串行口控制器SCON的SM0、SM1控制。定义如表所示。SM0SM1工作方式功能波特率00方式0同步移位存放器输出方式fosc/1201方式110异步通信方式可变,取决于t1的波特率10方式211异步通信方式fosc/32或fosc/6411方式311异步通信方式可变,取决于定时器1溢出率电源控制存放器PCON的SMOD位决定单片机波特率,SMOD=1,当串行口工作于方式1、2、3时,波特率加倍。SMOD=0,波特率不变。串行口的初始化主要是对串行口控制器SCON和电源控制存放器PCON进行初始化,对定时器T1的工作方式和波特率进行设置。MCS-51系列单片机的波特率的设置与工作方式有关,串行口在方式1和方式3时,波特率是控制时钟的1/16。而控制时钟频率=〔T1溢出率〕/〔2^SMOOD〕。所以波特率=〔1/16〕×〔T1的溢出率〕/〔2^SMOD〕=(2^SMOD/32)×〔T1溢出率〕SMOD是PCON的最高位,SMOD=1是SMOD=0时的波特率的两倍,可将SMOD称为波特率加倍因子。定时器T1初值的计算:TH1从初值计数到产生溢出,它每秒溢出的次数称为波特率。T1溢出率=fosc/{12×[256-〔TH1〕]} ①下面推导串行口方式1和方式2下计算定时器T1初值TH1的公式。波特率v=〔2^SMOD/32〕×T1溢出率 ②T1溢出率=32v/〔2^SMOD〕 ③由①,③得fosc/{12×[256-(TH1)]}=32v/(2^SMOD) ④由④得TH1初值〔TH1〕=256-[〔2^SMOD〕×fosc]/[384v] ⑤在计算机与单片机进行通信时,常选择单片机的晶振频率为11.0592MHz,两者容易匹配比特率。本设计中将计算机与单片机的波特率设置为9600b/s,SMOD=0,通过式⑤可计算出TH1初值为250,十六进制为FDH。串行口初始化流程图,图4-SEQ图4-\*ARABIC3串口初始化流程图串行口数据的收发单片机的全双工串行口可编程为四种工作方式,现分述如下:方式0:方式0为移位存放器输入/输出方式。可外接移位存放器以扩展I/O口,也可以外接同步输入/输出设备。波特率固定为fosc/12,其中fosc为时钟频率。方式1:方式1为波特率可变的10位异步通讯接口方式。发送或接收一帧信息,包括1个起始位0,8个数据位和1个停止位1。其中起始位和停止位在发送时自动插入。方式2::方式2为固定波特率的11位UART方式。它比方式1增加了一位可程控为1或0的第9位数据。方式3:方式3为波特率可变的11位UART方式。除波特率外,其余与方式2相同。 单片机串口收发数据流程图如图。图4-SEQ图4-\*ARABIC4单片机串口收发数据流程图4.3nRF2401的无线通信模块nRF2401的初始化nFR2401的初始化主要是对nFR2401的工作方式,接收频道地址,有效数据的长度,发送速率,CRC校验等进行设置。MCU通过对nRF2401配置字存放器写入相关配置字实现对其的初始化。该设计中使nRF2401工作于ShockBurstTM收发模式,在这种工作模式下,系统的程序编制会更加简单,并且稳定性也会更高。ShockBurstTM的配置字使nRF2401能够处理射频协议,在配置完成后,在nRF2401工作的过程中,只需改变其最低一个字节中的内容,以实现接收模式和发送模式之间的切换。ShockBurstTM的配置字可以分为以下四个局部:数据宽度:声明射频数据包中数据占用的位数。这使得nRF2401能够区分接收数据包中的数据和CRC校验码。地址宽度:声明射频数据包中地址占用的位数。这使得nRF2401能够区分地址和数据。地址:接收数据的地址,有通道1的地址和通道2的地址。CRC:使nRF2401能够生成CRC校验码和解码。当使用nRF2401片内的CRC技术时,要确保在配置字中CRC校验使能,并且发送和接收使用相同的协议。在配置模式下,注意保证PWR_UP引脚为高电平,CE引脚为低电平。配置字从最高位开始,一次送入nRF2401。在CS引脚的下降沿,新送入的配置字开始工作。nRF2401初始化流程图如图。图4-SEQ图4-\*ARABIC5nRF2401配置流程图nRF2401数据的ShockBurstTM收发ShockBurstTM发射流程1.接口引脚为CE,CLK1,DATA2.当微控制器有数据要发送时,其把CE置高,使nRF2401工作;3.把接收机的地址和要发送的数据按时序送入nRF2401;4.微控制器把CE置低,激发nRF2401进行ShockBurstTM发射;5.nRF2401的ShockBurstTM发射6.给射频前端供电;7.射频数据打包(加字头、CRC校验码);8.高速发射数据包;9.发射完成,nRF2401进入空闲状态。ShockBurstTM发射流程图如图。图4-SEQ图4-\*ARABIC6nRF2401发送数据流程图ShockBurstTM接收流程1.接口引脚CE、DR1、CLK1和DATA(接收通道1)2.配置本机地址和要接收的数据包大小;3.进入接收状态,把CE置高;4.200us后,nRF2401进入监视状态,等待数据包的到来;5.当接收到正确的数据包(正确的地址和CRC校验码),nRF2401自动把字头、地址和CRC校验位移去;6.nRF2401通过把DR1(这个引脚一般引起微控制器中断)置高通知微控制器;7.微控制器把数据从nRF2401移出;8.所有数据移完,nRF2401把DR1置低,此时,如果CE为高,那么等待下一个数据包,如果CE为低,开始其它工作流程。ShockBurstTM接收流程图如图。图4-SEQ图4-\*ARABIC7nRF2401接收数据流程图4.4外部数据存储器的扩展模块采用两片CY62148E进行1MBXRAM的扩展。同时在单片机的ROM中初始化三个字节的空间作为20位地址的存储空间。通过锁存器的使用完成数据的传输。程序流程图如下。图4-SEQ图4-\*ARABIC8扩展SRAM流程图4.5串行口调试软件简介串行口调试软件也称为串口调试助手,是一种在微型计算机上运行的串行口发送和接收数据的软件。常被作为通信的一方,可用于帮助单片机通信程序的调试。〔1〕软件主界面图4-SEQ图4-\*ARABIC9串口调试助手界面〔2〕各分布区功能简介控制区:设置显示的格式、波特率、数据保存的位置和接发数据的次数等信息。显示区:显示接收和发送的数据等相关信息,如接发数据的时间等。发送控制区:发送数据。主要有三种发送功能,即手动发送、自动发送和轮流发送。〔3〕发送数据格式要求发送区发送数据格式分为两种,一种是十六进制,一种是ASCII码。这两种方式有以下要求。①十六进制:在十六进制情况下,只能输入0-9,A-F,a-f以及空格字符。对于十六进制发送格式,不区分大小写。②ASCII码:任意的文本字符。5系统性能改善5.1提高系统可靠性措施1.模拟地和数字地别离系统中包含大量的模拟电路和数字电路,使用中有大量的噪声产生。在各种噪声中,由数字电路产生并串入模拟电路的噪声普遍存在且较难克服。数字电平上下跳变时集成电路耗电发生突变,引起电源产生毛刺。一般数字电路越复杂,数据频率越高,积累的电流跳变越强烈,高频分量越丰富。而当分布电感较大时,地线不能完全吸收逻辑电平跳变产生的电流高频分量,产生电压的毛刺,而这种毛刺进入地线后就不能靠旁路电容吸收了,而且会通过共同的地线或穿过变压器,干扰模拟电路工作,其幅度可高达几百毫伏,干扰非常大。为解决这个问题,平台设计中使用了两个不同的地:模拟地和数字地。2.采用非易失性存储器存储器扩展局部使用串行电可擦除的可编程只读存储器62256,它是用先进的铁电技术制造的非易失性存储器。在掉电时,62256的高速写入解决了数据丧失的烦恼。而且在高噪声环境中,由于读写速度非常快,噪声和电源波动来不及干扰,提高了写入数据的准确性。3.无线通信距离由于该系统属于短距离无线通信,所以尽量把通信距离控制在100m之内,防止因为距离过远,造成通信较差,不利于数据的接收和发射,不利于各模块之间的联系。5.2降低功耗的措施1.降低电源电压电路中的电流与电源电压成正比,而功耗与电源电压成反比。因此,降低器件的供电电压可以减小功耗。2.合理选择电源管理方式。3.各设计模块采用尽量少的外围电路,可以起到了降低功耗的作用。6总结与展望6.1总结毕业设计是大学四年学习的最后一个重要内容,经过这几个月的学习,我将课堂上学到的理论知识和实践结合起来,我学会了如何运用所掌握的理论知识分析解决工程实际问题,如何设计一个应用系统以及如何是自己所学的理论知识在现实生活中表达出价值,最终完成了无线通信控制系统的硬件电路和软件编程的设计。通过一段时间的学习,我的设计工作在理论上和实践上都取得了一些成果,主要表达以下几个方面:〔1〕结合了一些参考资料及文献,提出了系统的整体方案。〔2〕列出了各局部的软件流程图,并对各自工作原理进行了探讨。〔3〕在KEIL开发环境下,编写各个软件程序模块,并分别进行调试。但是,在由于自己的水平有限,设计也存在明显的缺乏:在硬件电路的设计上,还存在器件选用不够理想,设计思路不够完善,电路图绘制不精细等问题,在软件设计中,也同样存在程序不够精简、完善等问题。在以后的工作和学习中,在这方面还需要加强和提高。在与同课题组同学和指导老师进行交流沟通的过程中,增强了团队意识和合作精神,体会到了合作的乐趣并且发现了更多创新和闪光的思路。启示以严谨的作风和高度的责任感投入未来的学习和研究工作中。6.2展望nRF2401是无线收发一体芯片,工作在2.4GHz自由频段,能够在全球无线市场畅通无阻。nRF2401支持多点间通信,最高传输速率超过1Mbit/S,并且采用SOC方法设计,只需少量外围元件便可组成射频收发电路。nRF2401没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。更重要的是,价格更廉价。所以nRF2401是业界体积最小、功耗最少、外围元件最少的低本钱射频系统级芯片。本文采用的是nRF2401和I/O口直接连接的方式,这种方式会使CPU与nRF2401的数据传输速度成为整个系统传输速度的瓶颈,导致传输速度下降。所以我们也可以采用SPI接口连接,由于时间问题,没有进行深入的研究。这样连接可以充分发挥SPI接口的高效以及nRF2401高速无线传输的优点,具有大的数据吞吐量,而且CPU只要将要发送的数据写入SPI缓存,就可以执行其他程序,不用浪费CPU的高贵时间。本文与传统无线收发模块相比,在需要大规模、密集型部署、近距离无线通信,并且电路体积、功耗、本钱受限制的场合,基于单片机的nRF2401无线收发电路就有广阔的应用前景。参考文献[1]黄婷,施国梁,黄坤.单片机无线通信系统的设计与实现[J].微处理机,2023,8(3):27-31.[2]李文仲.C8051F系列单片机与短距离无线数据通信[M].北京:北京航空航天大学出版社,2007.[3]李斌.基于蓝牙的车间环境下无线通信技术研究与应用[D].西安:西安理工大学,2023:3-4.[4]陈再清.三种常用的八位单片机性能比较[J].电子世界,2005,10:28-30.[5]AT89C系列单片机产品说明手册.[6]公茂法,黄鹤松,杨学蔚.MCS-51/52单片机原理与实践[M].北京:北京航空航天大学出版社,2023.[7]AT89S系列单片机产品说明手册.[8]芬肯泽勒.射频识别〔RFID)技术[M].北京:电子工业出版社,2001.[9]丁永红,孙运强.基于nRF2401的无线数传系统设计[J].国外电子测量技术,2023.[10]VisualBasic与RS-232串行通信控制[M].北京:中国青年出版社,2002.[11]史迩冬,李清栋,周雪莉.基于USB接口的51单片机与PC及通信的方法[J].群众科技,2023,11:55-56.[12]张崇,于晓琳,刘建平.单片2.4GHz无线收发一体芯片nRF2401及其应用[J].国外电子元器件,2004,6:34-36.[13]nRF2401产品说明手册.[14]袁三男.可编程并行接口8255A在单片机和高档微机并行通信中的应用[J].电子技术,1995,1:11-15.致谢时光飞逝、岁月如梭,四年的本科学习生活即将结束,欣喜之余也充满着颇多感动。在这四年的时间里,我的收获很大、进步很快,这些都与身边一直关心、帮助、支持我的老师、同学和朋友们是分不开的,是他们的关心和帮助才使我能顺利完成学业,让我度过这段美好的、令人难忘的时光。首先要特别感谢敬爱的刘守山老师的指导。四年的本科学习中,我始终受到了刘守山老师的悉心指导和谆谆教诲,这不仅使我在学业上获益匪浅,这种治学精神更将使我受益终身。刘老师知识渊博、治学严谨、做研究、做学问兢兢业业,在论文的选题、资料查询、开题、设计及论文撰写的每个环节,我无不得到了刘老师的悉心指导和帮助,才使得论文得以完成。在此,谨向刘老师表示衷心的感谢!在专业课程学习期间还得到了陶安利老师、吕常智老师及学院的各位领导、老师的悉心指导,谨表衷心感谢!感谢共同学习和讨论的同学,各位师兄师姐同学,在学习讨论中我们通力合作,在日常生活中我们其乐融融,在此感谢他们在长期学习生活中给予我的支持和帮助,他们的支持和关爱是我求学和成长的动力。最后,让我再一次对培养我的山东科技大学、信息与电气工程学院,对所有关心帮助过我的老师和同学们致以最诚挚的谢意!外文文献TheAT89S52isalow-power,high-performanceCMOS8-bitmicrocontrollerwith8Kbytesofin-systemprogrammableFlashmemory.ThedeviceismanufacturedusingAtmel’shigh-densitynonvolatilememorytechnologyandiscompatiblewiththeindustry-standard80C51instructionsetandpinout.Theon-chipFlashallowstheprogrammemorytobereprogrammedin-systemorbyaconventionalnonvolatilememoryprogrammer.Bycombiningaversatile8-bitCPUwithin-systemprogrammableFlashonamonolithicchip,theAtmelAT89S52isapowerfulmicrocontrollerwhichprovidesahighly-flexibleandcost-effectivesolutiontomanyembeddedcontrolapplications.TheAT89S52providesthefollowingstandardfeatures:8KbytesofFlash,256bytesofRAM,32I/Olines,Watchdogtimer,twodatapointers,three16-bittimer/counters,asix-vectortwo-levelinterruptarchitecture,afullduplexserialport,on-chiposcillator,andclockcircuitry.Inaddition,theAT89S52isdesignedwithstaticlogicforoperationdowntozerofrequencyandsupportstwosoftwareselectablepowersavingmodes.TheIdleModestopstheCPUwhileallowingtheRAM,timer/counters,serialport,andinterruptsystemtocontinuefunctioning.ThePower-downmodesavestheRAMcontentsbutfreezestheoscillator,disablingallotherchipfunctionsuntilthenextinterruptorhardwarereset.PinDescriptionVCC:Supplyvoltage.GND:Ground.Port0:Port0isan8-bitopendrainbidirectionalI/Oport.Asanoutputport,eachpincansinkeightTTLinputs.When1sarewrittentoport0pins,thepinscanbeusedashighimpedanceinputs.Port0canalsobeconfiguredtobethemultiplexedloworderaddress/databusduringaccessestoexternalprogramanddatamemory.Inthismode,P0hasinternalpullups.Port0alsoreceivesthecodebytesduringFlashprogrammingandoutputsthecodebytesduringprogramverification.Externalpullupsarerequiredduringprogramverification.Port1:Port1isan8-bitbidirectionalI/Oportwithinternalpullups.ThePort2:Port2isan8-bitbidirectionalI/Oportwithinternalpullups.ThePort3:Port3isan8-bitbidirectionalI/Oportwithinternalpullups.TheRST:Resetinput.Ahighonthispinfortwomachinecycleswhiletheoscillatorisrunningresetsthedevice.ThispindrivesHighfor96oscillatorperiodsaftertheWatchdogtimesout.TheDISRTObitinSFRAUXR(address8EH)canbeusedtodisablethisfeature.InthedefaultstateofbitDISRTO,theRESETHIGHoutfeatureisenabled.ALE/PROG:AddressLatchEnable(ALE)isanoutputpulseforlatchingthelowbyteoftheaddressduringaccessestoexternalmemory.Thispinisalsotheprogrampulseinput(PROG)duringFlashprogramming.Innormaloperation,ALEisemittedataconstantrateof1/6theoscillatorfrequencyandmaybeusedforexternaltimingorclockingpurposes.Note,however,thatoneALEpulseisskippedduringeachaccesstoexternaldatamemory.Ifdesired,ALEoperationcanbedisabledbysettingbit0ofSFRlocation8EH.Withthebitset,ALEisactiveonlyduringaMOVXorMOVCinstruction.Otherwise,thepinisweaklypulledhigh.SettingtheALE-disablebithasnoeffectifthemicrocontrollerisinexternalexecutionmode.PSEN:ProgramStoreEnable(PSEN)isthereadstrobetoexternalprogrammemory.WhentheAT89S52isexecutingcodefromexternalprogrammemory,PSENisactivatedtwiceeachmachinecycle,exceptthattwoPSENactivationsareskippedduringeachaccesstoexternaldatamemory.EA/VPP:ExternalAccessEnable.EAmustbestrappedtoGNDinordertoenablethedevicetofetchcodefromexternalprogrammemorylocationsstartingat0000HuptoFFFFH.Note,however,thatiflockbit1isprogrammed,EAwillbeinternallylatchedonreset.EAshouldbestrappedtoVCCforinternalprogramexecutions.Thispinalsoreceivesthe12-voltprogrammingenablevoltage(VPP)duringFlashprogramming.XTAL1:Inputtotheinvertingoscillatoramplifierandinputtotheinternalclockoperatingcircuit.XTAL2:Outputfromtheinvertingoscillatoramplifier.SpecialFunctionRegistersTheSpecialFunctionRegister(SFR)spaceisnotalloftheaddressesoccupied,andunoccupiedaddressesmaynotbeimplementedonthechip.Readaccessestotheseaddresseswillingeneralreturnrandomdata,andwriteaccesseswillhaveanindeterminateeffect.Usersoftwareshouldnotwrite1stotheseunlistedlocations,sincetheymaybeusedinfutureproductstoinvokenewfeatures.Inthatcase,theresetorinactivevaluesofthenewbitswillalwaysbe0.Timer2Registers:ControlandstatusbitsarecontainedinregistersT2CONandT2MODforTimer2.Theregisterpair(RCAP2H,RCAP2L)aretheCapture/ReloadregistersforTimer2in16-bitcapturemodeor16-bitauto-reloadmode.InterruptRegisters:TheindividualinterruptenablebitsareintheIEregister.TwoprioritiescanbesetforeachofthesixinterruptsourcesintheIPregister.DualDataPointerRegisters:Tofacilitateaccessingbothinternalandexternaldatamemory,twobanksof16-bitDataPointerRegistersareprovided:DP0atSFRaddresslocations82H-83HandDP1at84H-85H.BitDPS=0inSFRAUXR1selectsDP0andDPS=1selectsDP1.TheusershouldalwaysinitializetheDPSbittotheappropriatevaluebeforeaccessingtherespectiveDataPointerRegister.PowerOffFlag:ThePowerOffFlag(POF)islocatedatbit4(PCON.4)inthePCONSFR.POFissetto“1〞duringpowerup.Itcanbesetandrestundersoftwarecontrolandisnotaffectedbyreset.MemoryOrganizationMCS-51deviceshaveaseparateaddressspaceforProgramand

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论