1、东北大学本科毕业设计(论文) 摘 要摘 要单片机自问世以来,就以其体积小、功能强、功耗低等优点在电子技术等相关领域得到了广泛的发展。在一般的通信系统中,传输数据采用的是有线方式,成本高、维护不方便,且在某些特殊的场合,布线困难甚至无法布线。随着无线通信技术的发展,数据传输可通过无线的方式实现,从而克服了上述的缺点。本文介绍了一个基于DF射频芯片的短距离无线数据传输系统,通过AT89S52单片机控制射频芯片DF(无线收发模块内部集成ASK调制/解调,包括通信协议及纠错处理功能),实现了两个射频芯片之间在异步传输模式下进行数据的发射和接收,同时接收方通过AT89S52单片机的串口将收到的数据经RS
2、232接口电平转换后传给主机,主机调用Visual Basic 编写的串口调试窗口把收到的字符串以字符的形式显示在屏幕上。在系统的上位机部分,利用Visual Basic 6.0的MSComm控件作为开发工具,设计了一组人机交换界面,此调试界面不仅可以将从单片机传送来的信号数据送入计算机,按十六进制或两格十进制数据进行实时显示,而且能够收到的十进制数据储存为文本形式,以备之后再次的调用分析。在文章的结尾部分,通过对系统的反复测试并分析其结果,确定了此无线数据传输系统正常工作时的最远距离。经软硬件调试,该系统在PC与外设的数据交换中有一定的使用价值。 关键词:无线通信,AT89S52, DF无线
3、模块,Visual Basic 程序设计-III-东北大学本科毕业设计(论文) Abstract东北大学本科毕业设计(论文) 目 录目 录毕业设计(论文)任务书I摘 要II第1章 绪 论11.1 无线通信技术概述11.2 短距离无线通信的特征21.3 课题背景及主要工作3第2章 系统相关技术介绍52.1 通信相关知识介绍52.2 并行通信和串行通信62.2.1 并行通信。62.2.2 串行通信。72.3 异步传输和同步传输72.4 DF无线传输模块介绍82.5 AT89S52单片机的简单介绍102.5.1 内部结构102.5.2 AT89S52单片机的引脚功能描述112.6 串口通信控件132
4、.6.1 MSComm控件处理通信方式142.6.2 MSComm控件的常用属性152.5 本章小结15第3章 系统的硬件设计和软件实现163.1 单片机串口结构以及串口设置163.1.1 单片机的串口结构163.1.2 串行通信过程17(1) 串行口简介17(2) 串行口的控制173.1.3 单片机与PC机电平转换接口简介203.2 系统整体设计213.2.1 主机设计223.2.2 从机设计233.3 系统软件设计243.4 本章小结26第4章 系统测试与分析274.1 系统整体调试结果显示274.1.1 建立基于对话框的程序工程274.1.2 MSComm控件的事件及串行通信控件的使用2
5、84.2 程序运行实测284.3 本章小结30第5章 总结及展望315.1 系统设计与实现过程中遇到的困难315.2 不足之处和需要改进的方向335.3 工作展望33参考文献34致 谢36东北大学本科毕业设计(论文) 第1章 绪 论第1章 绪 论1.1 无线通信技术概述无线通信系统(Wireless Communication System) 也称为无线电通信系统,是由发送设备、接收设备、无线信道三部分组成,是利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信方式,在移动中实现的无线通信又被称移动通信,该技术的发展始于上世纪20年代,经历了五个发展阶段1。第一阶段从上世纪20年代到
6、40年代,为早期发展阶段。在这期间,首先在短波几个频段上开发出专用移动通信系统,起代表是美国底特律市警察使用的车载无线电系统。该系统工作频率为2MHz,到40年代提高到3040MHz。可以认为这个阶段是现代移动通信的起步阶段,特点是专用系统开发,工作频率较低。第二阶段从40年代中期至60年代初期。在此期间内,公用移动通信业务开始问世。这一阶段的特点是从专用移动向公用移动网过度,接续方式为人工,网容量较小。第三阶段从60年代中期至70年代中期,使用150MHz和450MHz频段,实现了无线频道自动选择并能够自动接续到公用电话网。这一阶段是移动通信系统改进和完善的阶段,其特点是采用大区制,中小容量
7、,使用450MHz频段,实现了自动选频和自动接续。第四阶段从70年代中期至80年代中期,这是移动通信蓬勃发展时期。1978年底,美国贝尔实验室研制成功先进移动电话系统(AMPS),建成了蜂窝状移动通信网,大大提高了系统容量。第五阶段从80年代中期开始,这是数字移动通信系统发展和成熟时期,开发了新一代数字蜂窝移动通信系统。数字无线传输的频谱利用率高,可大大提高系统容量。另外,数字网能提供语音、数据多种业务服务,并与ISDN等兼容。实际上,早在70年代末期,当模拟蜂窝系统还处于开发阶段时,一些发达国家就着手数字蜂窝移动通信系统的研究。到80年代中期,欧洲首先推出了泛欧数字移动通信网(GSM)的体系
8、。目前,正处在第五阶段的第三代数字移动通信系统时代。这一时代的特点是通信频带进一步加宽,数据业务所占的比重大幅度增加,全面走向移动多媒体通信。当今无线移动通信的发展主要体现在五大技术的发展中:一是举世瞩目的3G技术,二是3.5Gghz宽带固定无线接入的推广应用,三是WLAN标准的选用,四是宽带无线技术新宠WIMAX,五是超宽带无线接入技术UWB2。这些技术的发展和应用促使无线移动通信的总体走势是接入多元、网络一体和综合布局。1.2 短距离无线通信的特征低成本、低功耗和对等通信,是短距离无线通信技术的三大重要特征和优势3。首先,低成本是短距离无线通信的客观要求,因为各种通信终端的产销量都很大,要
9、提供终端间的直通能力,没有足够低的成本是很难推广的。其次,低功耗是相对其他无线通信技术而言的一个特点,这与其通信距离短这个先天特点密切相关,由于传播距离近,遇到障碍物的几率也小,发射功率普遍都很低,通常在1毫瓦量级。短距离无线通信技术的范围很广,在一般意义上,只要通信收发双方通过无线电波传输信息,并且传输距离限制在较短的范围内,通常是几十米内,就可以称为短距离无线通信。目前几种主流的短距离无线通信技术包括:高速WPAN技术;UWB高速无线通信技术,包括MB-OFDM、DS-UWB;WirelessUSB是一个全新无线传输标准,可提供简单、可靠的低成本无线解决方案,帮助用户实现无线功能。因此低速
10、WPAN技术和IEEE802.154Zigbee,Zigbee是一种低速短距离无线通信技术。它的出发点是希望发展一种拓展性强、易建的低成本无线网络,强调低耗电、 双向传输和感应功能等特色。ZigbeePHY和MAC层由IEEE802.15.4标准定义。IEEE802.15.4a是作为IEEE802.15.4的一个补充,其物理层的标准可能采用低速UWB技术。蓝牙底层PHY层和MAC层协议的标准版本为IEEE802.15.1,大多数标准的制订工作还由蓝牙开发小组SIG负责4。RFID是一种非接触的自动识别技术,其基本原理是利用射频信号和空间耦合(电感或电磁耦合)传输性来实现对被识别物体的自动识别。
11、RFID技术的发展得益于多项技术的综合发展,包括芯片技术、天线技术、无线技术、电磁传播技术、数据交换与编码技术等。一套典型的RFID系统有电子标签、读写器和信息处理系统组成。电子标签与读写器配合完成对被识别对象的信息采集功能;信息处理系统则根据需求承担相应的信息控制和处理工作。高速WPAN,目前主要应用于连接下一代便携式消费和通信设备。它支持各种高速率的多媒体应用、高质量声像配送、多兆字节音乐和图像文档传送等。低速WPAN,主要用于家庭、工厂与仓库的自动控制,安全监视、保健监视、环境监视,军事行动、消防队员操作指挥,货单自动更新、库存实时跟踪以及游戏和互动玩具等方面的低俗应用。1.3 课题背景
12、及主要工作目前,市场上的近距离无线通信技术主要有无线局域网Wi-Fi、蓝牙和一些专用标准 (如Adhoc网等) 的产品。一些大公司为开拓市场和应用领域,也在积极研究和制定一些新的无线组网通信技术标准,如无线USB、超宽带通信UWB和WiMAX等。无线数据传输广泛运用在车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等领域中。本文将重点研究短距离无线数据传输系统的实现,
13、主要包括以下几个方面。 (1) 在调研无线数据传输系统的实际应用基础上,本文完成了基于单片机的无线数据传输系统,并通过串口通信的方式把数据发送到PC机上,再调用串口调试工具将数据显示出来。自己动手焊了本无线数据传输系统的硬件电路,包括主机电路板和从机电路板;并编写了主机发送程序,从机接收程序,上位机显示程序。为实现此系统功能,对硬件设备进行如下选型,采用AT89S52单片机作为DF无线收发模块的编解码控制芯片,主机和从机分别焊接一个串口,单片机和串口之间通过RS232芯片进行电压转换。 (2) 硬件电路焊接完成后,开始设计系统软件,在Keil C开发环境下,用C语言编写单片机的内核程序;涉及到
14、系统的上位机程序,在Visual Basic 6.0环境下调用MSComm串口通信控件,编写一个串口调试工具,用此软件将收到的下位机字符串以文本的形式显示出来。(3) 在proteus 7.0上进行系统功能仿真,以保证所用程序正确、有效地执行,仿真完成后进行系统的实物调试。基本实现了预期的功能后,对该系统进行可靠性和有效性评估,主要是对其有效传输距离的测量,以及误码率的测试。(4) 最后,针对系统调试时反应出来的缺陷和不足,提出了优化方法,使其在操作上更简单,功能上更加复杂,对系统的软件也相应的作了升级处理,使整个系统具有一定的使用价值,而不仅仅停留在实验模拟的基础上。例如运用此系统控制PC机
15、的自动开机与关机,控制外设与PC机的数据传输以及PC机与外设的自动连接,本系统稍加改进就可以实现遥控器的功能,用于家用电器的自动化控制,高级玩具的智能控制等。-36-东北大学本科毕业设计(论文) 第2章 系统的理论知识介绍第2章 系统相关技术介绍本章首先介绍了无线数据通信方面涉及的基本概念、通信方式、通信系统组成结构;接着详细介绍本系统所用到的DF无线数据收发模块;详细描述了整个系统的控制芯片AT89S52,以及上位机显示窗口核心控件MSComm串口控件。2.1 通信相关知识介绍通信系统的作用是将信息从信源发送到一个或多个目的地。通信系统有以下几种分类方式:(1) 根据通信业务的种类不同,通信
16、系统可以分为电话、电报、传真通信系统, 广播电视通信系统,数据通信系统等。(2) 根据信道中传输的信号是否经过调试,可将通信系统分为基带传输系统和带通传输系统。(3) 按传输媒介,通信系统可分为有线通信系统和无线通信系统两大类。所谓有线通信使用导线 (如架空明线、同轴电缆、光导纤维、波导等)作为传输媒质完成通信的,如室内电话、有线电视、海底电缆通信等。所谓无线通信是依靠电磁波在空间传播达到传递消息的目的,如短波电离层传播、微波视距传播、卫星中继等。在无线模拟通信系统中,信道可以是自由空间;在有线信道中,可以是明线、电缆和光纤。在自由空间中,波长与频率存在以下关系:式中: c为光速,和分别为无线
17、电波的频率和波长,因此,无线电波也可以认为是一种频率相对较低的电磁波。 对频率或波长进行分段,分别称为频段或波段。 不同频段信号的产生、放大和接收的方法不同, 传播的能力和方式也不同, 因而它们的分析方法和应用范围也不同。无线电波只是一种波长比较长的电磁波, 占据的频率范围很广。 电磁波从发射机天线辐射后,不仅电波的能量会扩散,接收机只能收到其中极小的一部分,而且在传播过程中,电波的能量会被地面、建筑物或高空的电离层吸收或反射;或在大气层中产生折射或散射,从而造成强度的衰减。根据无线电波在传播过程所发生的现象 , 电波的传播方式主要有绕射(地波),反射和折射(天波),直射(空间波)。决定传播方
18、式的关键因素是无线电信号的频率。沿大地与空气的分界面传播的电波叫地表面波,简称地波。绕射传播。传播途径主要取决于地面的电特性。地波在传播过程中,由于能量逐渐被大地吸收,很快减弱(波长越短,减弱越快),因而传播距离不远。但地波不受气候影响,可靠性高。超长波、长波、中波无线电信号,都是利用地波传播的。短波近距离通信也利用地波传播。天波是利用天空的电离层折射和反射而传播的电波,也叫天空波。电离层只对短波波段的电磁波产生反射作用,因此天波传播主要用于短波远距离通信。两个突出特点:一是传播距离远,同时产生中间静区地带,二是传播不稳定,随昼夜和季节的变化而变化5。因此,短波通信要经党更换波段,以保证质量。
19、空间波又称为直射波,是由发射点从空间直线传播到接收点的无线电波。直射波传播距离一般限于视距范围。在传播过程中,它的强度衰减较慢,超短波和微波通信就是利用直射波传播的。在地面进行直射波通信,其接收点的场强由两路组成:一路由发射天线直达接收天线,另一路由地面反射后到达接收天线,如果天线高度和方向架设不当,容易造成相互干扰(例如电视的重影)。限制直射波通信距离的因素主要是地球表面弧度和山地、楼房等障碍物,因此超短波和微波天线要求尽量高架。2.2 并行通信和串行通信计算机与外界通信的基本方式一般可以分为两种,分别是并行通信方式和串行通信方式。2.2.1 并行通信。在计算机和终端之间的数据传输通常是靠电
20、缆或者信道上的电流或电压变化实现的。如果一组数据位在多条线上同时被传送,这种传输被称为并行传输。并行传送的数据宽度可以是1位128位,甚至更宽,但是有多少数据位就需要多少根数据线,因此传送成本高。在集成电路芯片的内部,同一插件板上各部件之间,同一机箱内各插件板之间的数据传送都是并行的,如图2.1所示。 发 送 端接收端 1 1 0 0 1 1 0 1图2.1 并行通信并行数据传送的特点是:各数据位同时传送,传送速度快、效率高。多用在实时、快速的场合。并行数据传送只适合用于近距离的通信,通常小于30m。2.2.2 串行通信。 1 1 发 0 送 1 端 0 1 01100 接1 收0 端10串行
21、通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制的0、1为最小单位进行传输。串行数据传送的特点是:数据传输位按位顺序进行,最少只需要一根传输线即可完成,节约传输线。与并行通信相比,串行通信还有较为显著的优点,传输距离长,可以从几米到几千米。在长距离内串行数据传送速率会比并行数据传送快,串行通信的通信时钟频率容易提高,串行通信有较强地抗干扰能力,其信号的互相干扰完全可以忽略。如图2.2所示。 11001010图2.2 串行通信2.3 异步传输和同步传输 (1) 异步传输方式的特点就是通信的双方以一个字符(包括特定的附加位)作为数据传输单位,并且发送方传送字符的间隔
22、是不定的,在传输一个字符的时候总是以起始位开始,以停止位结束。异步传输方式的通信格式如图2.3所示。图2.3 异步传输从图2.3可以看出,一个字符单位除了表示该字符所传递的信息的数据位(位长度5-8位可自行定义)外,还有若干个附加位,图中的起始位(一位,恒为0),奇偶校验位(可选择有无),停止位(长度可以是1-2位,可选,值恒为1)。这样,传送一个字符必须以起始位为开始,以停止位为结束,整串比特流称之为数据帧。(2) 同步传输方式中,比特块以稳定的比特流形式传输,数据被封装成更大的传输单位,称为数据帧。每个帧中含有多个字符代码,而且字符代码与字符代码之间没有空隙以及起始位和停止位。和异步传输相
23、比,数据传输单位的加长容易引起时钟漂移。为了保证接收端能够正确区分数据流中的每个数据位,收发双方必须通过某种方法建立起同步时钟。2.4 DF无线传输模块介绍DF数据发射模块的工作频率为315MHz,采用声表谐振器SAW稳频,频率稳定性极高,当环境温度在-25+85之间变化时,频率飘移仅为3ppm/。特别适合多发一收无线遥控及数据传输系统。一般的LC振荡器频率稳定度及一致性较差,即使采用高品质微调电容,温差变化及振动也很难保证已调好的频点不会发生偏移。DF发射模块未设置编码集成电路,而增加了一只数据调制三极管Q1,这种结构使得它可以方便地和其他固定编码电路、滚动码电路及单片机接口,而不必考虑编码
24、的工作电压和输出幅度信号值的大小。DF数据模块具有较宽的工作电压312V,当电压变化时发射频率基本不变,和发射模块配套的接收模块无需任何调整就能稳定地接收。DF数据模块采用ASK方式调试,以降低功耗,当数据信号停止时发射电流降为零,数据信号与DF发射模块输入端可以用电阻或者直接连接而不能用电容耦合,否则DF发射模块将不能正常工作。数据电平应接近DF数据模块的实际工作电压,以获得较高的调制效果。DF发射模块最好垂直安装在主板的边缘应离开周围器件5mm以上,以免分布参数影响。DF模块的传输距离与调制信号频率及幅度,发射电压及电池容量,发射天线,接收机的灵敏度,收发环境有关。图2.4为DF发射模块的
25、电路原理图。 +5V GND DATA图2.4 DF发射模块电路原理图DF超外差接收模块的工作电压为5V,它为超再生接收电路,接收灵敏度为105dbm,接收天线最好为2530cm的导线,最好能竖立起来。接收模块本身不带解码集成电路,因此接收电路仅是一种组件,只有应用在具体电路中进行二次开发才能发挥应有的作用,它可以和各种解码电路或者单片机配合,DF模块自身辐射极小,加上电路模块背面网状接地铜箔的屏蔽作用,可以减少自身振荡的泄露和外界干扰信号的侵入。图2.5为超外差接收模块的电路原理图。 图2.5 超外差接收模块电路原理图2.5 AT89S52单片机的简单介绍2.5.1 内部结构AT89系列单片
26、机是以Intel公司的MCS-51单片机为核心的部件结构,它与8051其他型号的单片机是兼容的。单片机是把微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。它的结构和指令都是按照工业要求设计的,也称为微控制器。AT89系列单片机的精简结构如2.6所示。振荡器及定时电路8KB程序存储器ROM数据存储器RAM2个16位定时器CPU64KB总线扩展控制可编程I/O口48位可编程串行口 频率基准源 计数器T0/T1内部总线 控制 并行I/O口 串行输入/输出 图2.6 AT89单片机简单结构方框图AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用
27、Atmel公司高密度非易失性存储技术制造。片上Flash允许程序存储器在系统可编程,也适合于常规编程。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,R
28、AM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52型号单片机几乎涵盖了所有结构功能,它的主要功能特点是:(1) 8位字长CPU,指令、引脚、与MCS51全兼容。(2) 8KB系统内可编程Flash存储器。(3) 1000次擦写周期。(4) 4个I/O口共32线。(5) 4.0V5.0V的工作电源电压。(6) 振荡器和时钟电路,全静态操作,033MHz。(7) 3级程序存储器锁存。(8) 2568B片内RAM。(9) 3个可编程定时器:T0、T1和T2。(10) 8个中断源。(11) 全双工串行口通道。(12) 低功耗休闲和降压模式。(13) ISP端
29、口,即在线编程。(14) 定时监视器,又称看门狗。(15) 双数据指针。(16) 电源下降标志。2.5.2 AT89S52单片机的引脚功能描述AT89S52单片机是MSC-51系列产品的升级版,由世界著名半导体公司ATMEL在购买MSC-51设计结构后,利用自身优势技术对旧技术进行改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。图2.7是该单片机引脚排列封装图,使用双列直插DIP-40的封装。图2.7 AT89S52单片机引脚图在单片机的40条引脚中有2条专用于主电源的引脚,2条外接晶振的引脚,4条控制或与其他电源复用的引脚,32条I/O引脚。部分引脚功能是:(1)主电源引脚VSS和
30、VCC Vss或GND:接地脚。 VCC:电源供电,正常为+5V电压。(2)外接晶振引脚XTAL1和XTAL2当外接晶体振荡器时,XTAL1和XTAL2分别接在外接晶体振荡器的两端。片内振荡器由一个单级反相器组成,XTAL1为反相器的输入,XTAL2为输出。当采用外部振荡器提供的时钟信号时,XTAL1端作为输入,而XTAL2脚悬浮。(3)控制引脚RST、ALE/PROGPSEN、EA/VppRST:当振荡器正常工作时,在此引脚上出现两个机器周期以上的高电平是单片机复位。而在定时监视器定时输出后,引脚置成高电平并持续96个振荡周期。在VCC掉电期间,此引脚还外接外加的备用电源,以保持内部的RAM
31、的数据。当VCC下降到低于规定的水平,该引脚在规定的电压范围内,向内部RAM提供备用电源。ALE:地址锁存使能端。PSEN:程序存储器读选通信号,低电平有效。在外接扩展程序存储器和数据存储器时,它们的地址是可以重合的,AT89系列单片机就是通过相应的控制信号来区别P2口和P0口送出的到底是程序存储器的地址还是数据存储器的地址。在访问外部存储器读取指令或者常数时,每个机器周期产生两个有效信号,即输出两个PSEN有效信号,此时地址总线上送出的就是程序存储器的地址。而如果访问外部数据存储器时,不产生两个PSEN信号。同时,在单片机执行访问内部程序存储器时也不产生两个这样的信号。EA/Vpp:EA 是
32、访问内部或外部程序存储器的选择信号。当EA保持高电平时,访问内部程序存储器。而这时如果还有外部扩展程序存储器时,CPU在执行完成内部存储的程序后自动跳转到执行外部存储的程序。而当EA保持低电平时,不管内部有无存储器都只从起始地址开始访问外部程序存储器。VPP为Flash编程电压,就是编程者在对片内的Flash编程时,此引脚施加Flash编程允许的电压,此电压一般为12V。(4)输入输出引脚P0.0P0.7:P0口是一个8位漏极并行准双向I/O口。在访问外部扩展存储器时,它被定义的是低8位的地址/数据线,地址和数据总线分时复用,此时需要外接上拉电阻,置“1”激活上拉电阻成高阻抗输入口。在编程者对
33、片内Flash编程时,P0接收指令字节,在验证程序时则输出指令字节,而验证期间也要外接上拉电阻。P1.0P1.7:P1口自己内部已有上拉电阻,也是8位准双向I/O口。在进行Flash编程和验证时,它接收低8位地址。P2.0P2.7:P2口内部也有上拉电阻,是一个8位准双向I/O口。在访问外部程序存储器和数据存储器时送出高8位地址。用MOVXDPTR类指令访问外部数据存储器时,P2口为高8位地址;但用MOVR0和MOVR1类指令访问外部数据存储器时,P2口上的内容是SFR P2的内容。2.6 串口通信控件串口通信控件(Microsoft Communications Control,MSComm
34、)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件6,为应用程序提供了通过串行接口收发数据的简便方法。MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能,而且在串口编程时相对比较方便,在VC+ 6.0、VB、Delphi等语言中都可以使用。MSComm控件通过串口端口传输和接收数据,为应用程序提供串行通信功能。它提供下列两种处理通信的方式。2.6.1 MSComm控件处理通信方式(1) 事件驱动方式事件驱动通信是处理串行端口交互作用的一种非常有效的方法。在许多情况下,事件发生时程序得到通知,例如,在串口接收缓冲区中有一个字符到达或一个变化发
35、生时,程序都可以利用MSComm控件的OnComm事件捕获并处理这些通信事件,OnComm事件还可以检查和处理通信错误。在程序设计中,可以在OnComm事件处理函数中加入自己的处理代码,一旦事件发生即可自动执行该程序。这种方法的优点是程序响应及时,可靠性高。(2) 查询方式在程序的每个关键功能完成后,可以通过检查CommEvent属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取。例如,如果只写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为惟一等待接收的字符是调制解调器的“OK”响应。查询方式的编程可用计时器或D0Loop程序实现7。在软件中使
36、用的每个MSComm控件都与一个串口对应。如果在应用程序中需要访问多个串口,必须使用多个MSComm控件。可以在Windows 控制面板中修改串口地址的中断地址。下面一段程序是一个使用数据查询方式接收数据的例子。Private Sub test( ) Dim Instring As String MSComm1.CommPort=1 MSComm1.Settings=”2400,N,8,1” MSComm1.InputLen=0 MSComm1.PortOpen=True MSComm1.Output=”AT”+Chr$(13) Do DoEvents Loop Until MSComm1.I
37、nBufferCount=2 Instring=MSComm1.Input MSComm1.PortOpen=FalseEnd Sub2.6.2 MSComm控件的常用属性(1) CommPort 属性语法表达式:MSComm.CommPort=Value,设置或返回通信端口号,必须在打开端口之前设置CommPort属性。(2) Inpot 属性语法表达式MSComm1.Input,返回并接收缓冲区中的数据。(3) Inputmode 属性语法表达式:MSComm1.InputMode=Value,设置或返回接收数据的数据类型。(4) OutPut 属性语法:MSComm1.OutPut=Va
38、lue,向传输缓冲区写数据流。(5) Settings 属性语法表达式:MSComm1.Settings=Value,设置并返回通信参数。(6) PortOpen 属性语法表达式:MSComm1.PortOpen=Value,设置或返回通信端口的状态。2.5 本章小结本章首先对通信系统的相关概念做了简单的叙述,接着对系统传输的码型及相关编码方式进行了介绍,给出了同步传输方式和异步传输方式的概念及各自优缺点。然后对DF收发模块的工作原理以图形界面的方式解释出来,另外介绍了单片机,阐明了基于单片机的无线数据传输系统的概念和优点。最后对上位机 Visual Basic 6.0 中最重要的MSComm
39、控件的相关属性给出相关的解释。东北大学本科毕业设计(论文) 第3章系统的硬件设计和软件实现第3章 系统的硬件设计和软件实现单片机开发部分是整个系统开发流程中重要的一个环节,主要任务是根据用户的需求,准确定义要完成的系统目标,编写开发程序并将其写入单片机中,从而使单片机的运行符合开发人员的要求。3.1 单片机串口结构以及串口设置3.1.1 单片机的串口结构AT89系列单片机本身都具有一个全双工的UART异步串口接口,可以用于串行异步通信进行数据的接受和发送,还可以作为同步移位寄存器使用。这个接口电路不是单独的芯片,而是集成在单片机内部作为单片机一个组成部分的接口电路,它也可以用于网络通信。AT8
40、9单片机的串口主要由发送缓冲器、发送控制器、输出控制门、接收控制器、输入移位寄存器、接收数据缓存器等组成8。两个独立的接收、发送缓冲器(SBUF)属于特殊功能寄存器。发送缓冲器只能写入不能读出,接收缓存器只能读出不能写入,二者共用一个字节地址(99H)。串行口结构示意图如图3.1所示。发送SBUF(99H)接收SBUF(99H)输出移位寄存器TXD串行输出系统总线RXD串行输入TI(发送中断)RI(接收中断)移位时钟图3.1 串行口结构图串行口有接收和发送两个缓冲寄存器。在物理结构上它们是完全独立的,都属于字节寻址寄存器,但是共用一个相同的字节地址(99H)。两个重叠的地址靠读和写指令来进行区
41、分。串行发送时CPU向缓冲寄存器写入数据,此时地址自然就表示发送SBUF,而在串行数据接收时,则为CPU从缓冲寄存器读出数据,此时的99H地址就表示接收SBUF。3.1.2 串行通信过程(1) 串行口简介串行数据接收时,信息从引脚RXD(P3.1)进入。首先传送到一个移位寄存器,这样的结构避免了在数据接收的过程中出现字符帧重叠错误,就是前一帧的数据还没有读到CPU中,后一帧的数据已经进来,覆盖前一帧。使用串行接收以后,串行收、发的工作主要由串行接口来完成。在发送时,由CPU执行一条写指令把数据写入发送缓存器,则启动串行口一位一位地向外发送。与此同时接收端也可以一位一位地接收数据,直到把一组数据
42、接收完,送入接收缓存器,然后通知CPU,CPU执行一条读指令把接收缓存器的内容读入。可见,在整个串行收、发过程中,CPU操作的时间很少,使得CPU还可以从事其他各种操作,从而大大提高CPU的效率9。(2) 串行口的控制串行口的数据通信工作主要受4个控制寄存器的控制9,主要的有串行口控制寄存器(SCON)和电源控制寄存器(PCON),另外中断允许控制寄存器(IE)控制了串行口的中断禁止/允许,中断优先级控制寄存器(IP)控制串行口中断的优先级。SCON用以设定串行口的工作模式、接收/发送控制及设置状态标志,字节地址为98H,可位寻址,位地址为9FH98H,单片机复位时,所有位全为0。寄存器的各位
43、内容如表3.1所示。表3.1 SCON的内容和位地址位序76543210位地址9FH9EH9DH9CH9BH9BH99H98H位符号SM0SM1SM2RENTB8RB8TIRISM0和SM1:串行方式选择位。其状态组合所对应工作方式如3.2所列。表3.2 串行口工作方式选择表 SM0 SM1 工作方式 功能 波特率 0 0 方式08位同步移位寄存器 Fosc/12 0 1 方式110位UART可变(定时器控制) 1 0 方式2 11位UARTFosc/64或Fosc/32 1 1 方式3 11位UART可变(定时器控制)REN:允许/禁止串行接收位。由软件置位或清“0”。REN=1时,允许接收
44、,REN=0时,禁止接收。例如当从机用于接收数据时,使用位操作指令SETB REN,允许从机接收。TI:发送中断标志。在方式0中,发送完8位数据后,由硬件置位;在其他方式中,在发送完停止位之初由硬件置位。因此TI发送完一帧数据的标志,可以用“JBC TI,rel”指令来查询是否发送结束。TI=1时,也可以向CPU申请中断,响应中断后都必须由软件清除TI。RI:接收中断标志。在方式0中,接收完8位数据后,由硬件置位;在其他方式中,在接收停止位的中间由硬件置位。同TI一样,也可以通过“JBC RI rel”指令来查询是否接收完一帧数据。RI=1时,也可申请中断,响应中断后都必须由软件清除RI。PCON主要为CHMOS型单片机的电源控制而设置的专用寄存器,不可以位寻址,字节地址为87H。在HMOS的8051单片机中,PCON除了最高位以外其他位都是虚设的。其中SMON是串行口波特率的倍增位。其各位内容如表3.3所列。表3.3 PCON的内容和位地址位序 7 6 5 4 3 2 1 0位地址 87H 86H