停车场汽车泊位自动检测系统.doc_第1页
停车场汽车泊位自动检测系统.doc_第2页
停车场汽车泊位自动检测系统.doc_第3页
停车场汽车泊位自动检测系统.doc_第4页
停车场汽车泊位自动检测系统.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)摘 要本文介绍了一种停车场汽车泊位自动检测系统,该系统运用了单片机与红外光电传感器构成现场车位自动检测。现场检测采用行列扫描的方式实现对多点车位的检测,其主要工作原理是从地面发射红外光,位于车位上面的接收头接收红外光,由此能够正确地判断出每个车位有无车辆。传感器检测出结果后,将结果保存在单片机的数据存储器中,然后送上位机显示,上位机是将显示结果送到停车场的大屏幕显示器,指引司机准确停车。在通信中采用RS-485总线,实现单片机与PC之间的通信。它传输距离远,抗干扰能力强,不易受共模干扰的影响,并且传输速率高,非常适合此系统的要求。最后采用Delphi编写单片机与PC之间的通信软件,实现上位机与下位机的通信。这种软件的主要特点是给程序设计人员提供了相当好的开发环境,开发VCL控件也相当简单,而且程序的编写也比较容易,修改方便。 关键词: 单片机;红外光电传感器;RS-485AbstractThis paper is discuss a single-chip Microprocessor automatically tested system, which applies in parking areaThis tested system is made up with single-chip Microprocessor and infrared sensorsIts operating principle is launching infrared light from the earth And the receiving equipment receives infrared singleTherefore judge the parking position accurately from the receiving singleAvoid the interference from the reflection of light and save the powerThe tested result write in the chipThen send the result to the computerThe computer displays itAccording to the indicator, the drivers pull up quicklyThe scan method of site adopts matrix so that test a lot of parking positionsApply RS-485 to communicationThe main feature is the strong ability of interferenceAnd the distance of communication is very farThe software of communication composes by DelphiThis software is simple and convenientThe main feature is the short period of development.Key words: single-chip Microprocessor;infrared sensor;RS-485目 录第1章 绪论1第2章 系统方案2第3章 单片机的选择及相关电路设计43.1 车位检测电路设计43.2 复位电路设计43.3 通信接口电路设计73.4 传感器发射电路设计103.5 电源设计11第4章 串行接口144.1 串行通信的基础知识144.1.1 串行通信的两种基本方式144.1.2 串行通信的数据传送方式164.2 MCS-51系列单片机的串行接口174.2.1 MSC-51系列单片机串行接口结构174.2.2 MSC-51系列单片机串行接口的控制184.3 波特率设计204.4 串行口工作模式214.4.1 模式0214.4.2 模式1224.4.3 模式2234.4.4 模式324第5章 串行通信接口标准255.1 RS-232标准255.1.1 接口及引脚定义255.1.2 电气特性与电平转换265.2 RS-422/423标准275.3 RS-485标准285.3.1 RS-485通信接口标准:295.3.2 应用中的问题30第6章 系统检测336.1 位置检测传感器336.1.1 超声波336.1.2 红外线346.2 红外传感器356.2.1 红外发光二极管356.2.2 红外发光二极管的基本驱动方式376.2.3 光电二极管396.3 红外线接收调解专用集成电路416.3.1 红外接收集成芯片416.3.2 接收电路设计42第7章 结 论45参考文献46致 谢47附 录48IV第1章 绪论目前在我国的大城市里,汽车的拥有量在不断增加,而停车场却严重不足,停车设备也不完善,使得违法占用道路、绿地乱停车以及汽车被盗等现象十分严重。影响了城市交通运输和发展,也影响了社会的安全。随着我国鼓励汽车工业发展的“汽车工业产业政策”的出台和我国加入WTO,都将促进我国汽车销售数量,百姓买车已经不是什么新鲜事了。所以如不加快停车场的发展和建设,上述现象必然会进一步加剧。然而城市的用地十分紧张和昂贵,因此建立空间利用率高的立体停车场已成为当务之急。建立立体化停车场,可以从根本上解决用地问题,为了消除司机停车烦恼,方便司机轻松停车,节省时间,提高效率。对停车场的现代化管理提出了更高的要求。本设计课题研究的就是对停车场车辆泊位的自动化管理,以满足经营单位对停车情况进行自动检测,方便停车场的管理,提高停车场的利用率,降低大中型停车场的经营成本,方便司机安全停车,极大地提高社会效益和经济效益。第2章 系统方案车辆泊位的自动化管理就是对停车场停车情况的自动检测。本次设计中采用红外传感器技术,通过定位于各个车位的传感器,实现对各个车位的自动检测,把采集到的泊车信息送至控制器AT89C52单片机,AT89C52通过软件编程,实现对停车泊位情况的自动检测。设计包括两部分:一部分是硬件电路的设计。其硬件部分包括主机电路、时钟电路、复位电路、电源电路、红外发射/接收电路、通信接口电路。另一部分是软件部分。主要由主程序模块,信息采集子程序模块和通信程序三大模块组成。A T 8 9 C 5 1复位电路通信接口电路红外发射/收电路时钟电路数据存储器 2.1 系统结构框图 主机选用Atmel公司生产的AT89C51来实现,现在比较流行的传感器一种是红外传感器,另一种是超声波传感器。在此系统中采用的是红外光电传感器,它具有响应快(光比声传播速度快),抗干扰能力强,不易受机械噪声,和电磁波的干扰。而且超声波检测一般采用的是反射型,反射点具有不确定性,接收角度不易调整,而且需要大功率驱动。而此系统中采用的是对射型红外传感器,节省功率,只要接收和发射在同一直线上就可以准确接收。在通信中采用RS-485总线,它传输距离远,抗干扰能力强,不易受共模干扰的影响,并且传输速率高。通信软件采用Delphi编写,它比汇编编成简单,而且实际运行中是界面操作,不会编成的人也会使用。程序可读性高,容易改写出适合各种应用要求的应用软件。本设计的停车场汽车泊位自动检测系统成本低,性能稳定可靠,检测方便,而且节省了人力,使用简单,可以应用在一些高档大型的停车场中。第3章 单片机的选择及相关电路设计3.1 车位检测电路设计单片机选用AtmelAT89C51。此系统中AT89C51单片机主要是负责车位的检测及与上位机的通信,车位检测原理见图3.1所示 图3.1 车位检测电路它采用行列扫描的方式,P2口发出控制指令控制一行8个红外传感器启动或停止,然后P0口采集一列8个红外传感器的接收情况,并将采集结果存入单片机。然后调用相应的子程序,将采集结果与各车位号联系起来存入指定地址,就这样将60个车位的停车情况检测出来。3.2 复位电路设计复位电路采用美国MAXIM公司的MAX813L,MAX813L是CMOS监控芯片,能够监控电源电压、电池故障和微处理器或微控制器的工作状态。1.其管脚功能如下:手动复位输入端(MR)当该端输入低电平保持140ms以上,MAX813L就输出复位信号。该输入端的最小输入脉宽要求可以有效地消除开关的颤动,MR与TTL/CMOS兼容。工作电源端(VCC):接+5V电源。电源接地端(GND):接地。电源故障输入端(PF1)当输入电压低于1.25V时,5脚输出端的信号由高电平变为低电平。电源故障输出端(PF0)电源正常时,保持高电平,电源电压变低或掉电时,输出高电平变为低电平。看门狗信号输入端(WD1)程序正常时,必须在小于1.6s的时间间隔内向输入端发送一个脉冲信号,以消除芯片内部的看门狗定时器。若超过1.6s该输入端收不到脉冲信号,则内部定时器溢出,8脚由高电平变为低电平。复位信号输出端(RST)上电时,自动产生200ms的复位脉冲;手动复位输入低电平时该端也产生复位信号输出。看门狗信号输出端(WD0)正常工作时输出保持高电平,看门狗输出时,该脚输出信号由高电平变为低电平。2.看门狗定时器MAX813L的基本原理:MAX183L提供的复位信号RESET为高电平,RESET复位信号用于启动或者重新启动MPU/MCU,令其进入或者返回到预知的循环程序并顺序执行。一旦MPU/MCU处于置位状态,比如程序“跑飞”或进入死循环,就需要将系统复位。MAX813L片内看门狗定时器用于监控MPU/MCU的工作。如果在1.6s内WDI端没有接收到来自MPU/MCU的触发信号,并且WDI处于高阻态,则WDO输出变低。只要复位信号有效或WDI输入高阻,则看门狗定时器功能就被禁止,且保持清零和不计时状态。复位信号的产生会禁止定时器,可一旦复位信号撤消并且WDI输入端检测到短至50ns的低电平跳变,定时器将开始1.6s的计时。既WDI端的跳变会清定时器并启动一次新的计时周期。一旦电源电压Vcc降至复位门限以下,WDO端也将变低并保持低电平。重要Vcc升至门限以上,WDO就会立刻变低,不存在延时。典型的应用中是将WDO端连接到MPU/MCU的非屏蔽端。当Vcc下降到低于复位门限时,即使看门狗定时器还没有完成计时周期,WDO端也将输出低电平。通常这将触发一次非屏蔽中断,但是RESET如果同时变低,则复位功能优先权高于屏蔽中断。如果将WDI脚悬空,WDO脚可以被用作电源跌落检测的一个输出端。由于悬空的WDI将禁止内部定时器工作,所以只有当Vcc下降到低于复位门限时,WDO脚才会变低,从而起到电源跌落检测的作用。3.MAX813L与单片机的接口电路MAX813L与单片机的连接电路,如图3.2所示 图3.2 单片机与看门狗电路第脚接AT89C51的复位端;第脚与单片机的P1.0相连,在软件设计中,P1.0在一定时间内输出脉冲信号,如果因某种原因单片机进入死循环,则P1.0无脉冲输出。于是1.6s后在MAX813L的第脚输出低电平,该电平加到第脚,使MAX813L也产生复位脉冲输出,使单片机处于复位状态,不执行任何指令,然后从开始处重新执行。电路上电自动复位,然后通过看门狗监控程序的执行,一旦程序跑飞,则看门狗自动产生复位信号。3.3 通信接口电路设计此系统中用到RS-485和RS-232,所以必须有相应的器件进行电平转换,系统中主要用到了MAX485和MAX232芯片,其芯片介绍如下。MAX485和MAX232都是通信的接口芯片,它们都是美国Maxim公司生产的。MAX485用于RS-485通信,而MAX232用于RS-232通信;MAX485采用差分信号传送数据,而MAX232是将TTL电平变成RS-232电平或将RS232电平变成TTL电平来传送数据。1.MAX485引脚功能及逻辑图如下3.3所示 图3.3 MAX485逻辑图R0接收数据的TTL电平输出端接收允许端,低电平有效DE发送允许端,高电平有效DI放送数据的TTL电平输入端A485差分信号的正向端B485差分信号的反向端VCC电源端GND接地端图3.4 89C51与MAX485电路连接由于RS-485总线用一对双绞线传输差分信号,属半双工通信,所以应用时需进行接收和发送状态的转换。在MAX485进行RS-485电路设计中,通常将 和DE短接,用一根信号线来控制,这样可以保证收发的正常进行。采用89C51与MAX485的典型通信电路如图3.4所示。MAX485的TTL电平的输入和输出端接到89C51的RXD和TXD上,输入输出由P1.7 控制。为保证通信正常,通将常MAX485处于接收状态。2.MAX232的引脚功能及逻辑图如下3.5所示图3.5 MAX232逻辑图C1+,C1-,C2+,C2-:外接电容端R1IN,R2IN:两路RS-232C电平信号输入端R1OUT,R2OUT:两路转换后的TTL电平输出端,可送单片机的RXD端T1IN,T2IN:两路TTL电平输入端,可接单片机的RXD端T1OUT,T2OUT:两路转换后的RS-232C电平信号输出端V+,V-:分别经电容接电源和地图3.6 MAX232典型电路MAX232的典型电路如图3.6所示。系统中在PC机与RS-485总线连接时,还必须将232电平转换成TTL电平,这样才能在485总线中传输数据,其232与485转换电路设计如下3.7所示图3.7 232与485转换电路232与485转换时必须达到以下目的:232的数据接收RXD485的接收器数据输出RO232的数据发送TXD485的驱动器数据输入DI232的数据终端准备就绪DTR485的接收器输出使能 232的请求发送RTS485的驱动器输出使能DEPC机COM1串口输出的数据接到图中的J2上,然后再通过MAX232将232电平转换为TTL电平,再通过MAX485芯片把数据送到485总线上。其中通过串口的DTR引脚控制MAX485的发送和接收。DTR在上位机中通过TComm控件控制,当DTR属性设为true时,DTR引脚输出12V;当DTR属性设为false时,输出12V。这样再通过一个LF311比较器,当3脚输入大于25V时,7脚输出为负;当3脚输入小于25V时,7脚输出为正,这样就可以控制MAX485芯片的发送和接收。3.4 传感器发射电路设计传感器发射电路主要是以555定时器构成。555定时器是一种多用途的数字-模拟混合集成电路,利用它能极方便地构成施密特触发器、单稳态触发器和多谐振荡器。由于使用灵活方便,所以555定时器在波形的产生与变换、测量与控制、家用电路、电子玩具等领域中都得到应用。正因为如此,自从Signetics公司1972年推出这种产品以后,国际上各主要的电子器件公司也都相继地产生了各自的555定时器产品。尽管产品型号繁多,但所有双极型产品型号最后的3位数码都是555,所有CMOS产品型号最后4位都是7555。而且,它们的功能和外部引脚的排列完全相同,为了提高集成度,随后又产生了双定时器产品556(双极型)和7556(CMOS型)。555定时器主要由比较器C1和C2、基本RS触发器和集电极开路的放电三极管TD三部分组成。通过改变R和C的参数即可改变振荡频率。用CB555组成的多谐振荡器最高振荡频率达500kHz,用CB7555组成的多谐振荡器最高振荡频率可达1MHz。输出脉冲的占空比为 。上式说明,电路输出的脉冲占空比始终大于50%。要获得小于50%占空比的脉冲可以加一级起反向的三极管。 是置零输入端。只要 在端加上低电平,输出端便立即被置成低电平,不受其它输入端状态的影响。正常工作时必须使 处于高电平。红外发射器,它是一个由555电路组成的多谐振器,如图39所示。其振荡频率由R1、R3与C3的数值决定,该电路的振荡频率为38 kHz。有多谐振荡器产生脉冲通过限流电阻R2驱动红外发射管向外发送红外线。图3.10 时钟电路3.5 电源设计系统电源供给分两类,即干电池供电和交流电源供电。干电池供电主要用于袖珍式仪器和手持式仪器,由于电池容量有限,使用时间短,费用较高。交流电源供电由于不受容量的限制且价格便宜,是一种广泛应用的电源。采用交流供电,需将高压交流电源通过电源变压器降压、整流元件整流、电容器滤波后向电路供电。为了使供电电源有较好的稳定性,在整流后需加滤波电容,滤波电容的容量需根据用电负荷的大小来选取,通常采用几十微法至几百微法。有些要求较高的直流电源,还需增设集成稳压器进行稳压,以取得纹波较小的高质量的稳压电源。图3.11为采用交流供电时的几种电源电路。图3.11为桥式全波整流、电容滤波直流电源,输出直流电压等于电源变压器次级电压的0.9倍。图3.12为全波整流、电容滤波直流电源。交流电源变压器次级采用对称双次级,输出直流电压为变压器次级电压的0.9倍。图3.13采用集成稳压器的电源电路,变压器的次级输出电压为9V,经全波整流后输出的直流电压为90.9=8.1V。经集成稳压器MC7805稳压后,输出5V的直流电压。3.11桥式全波整流电源电路3.12全波整流电源电路3.13集成稳压器电源电路集成稳压器的电源电路要求集成稳压器的输入、输出电压之差应在37V之间,至少不低于3V,否则稳压效果较差。但也不可过高,否则会使内部保护电路工作,限制输出电流,甚至于烧坏稳压器。集成稳压器内部稳压系统及纹波消除系统十分完善,因此滤波电容不必太大。此系统的电源部分就是选用集成稳压器构成。根据以上几种电源的特点选用集成稳压器组成对单片机的供电电源,选用桥式全波电路作为红外传感器的工作电源。系统中还用到了12V电源,12V电源的设计与5V电源的设计相同,其电路图如下3.12所示。图312 12V电源电路第4章 串行接口串行通信是CPU与外界交换信息的一种基本通信方式,也是实现自动化管理的首要问题,本章介绍串行通信的一般知识和MCS-51系列单片机串行接口结构、原理及应用。4.1 串行通信的基础知识计算机与外界的信息交换称为通讯。通讯的基本方式分为并行通讯和串行通行两种。并行通信是指数据的各位是同时进行发送。其优点是传输速度快,缺点是数据有多少位,就需要多少根数据传输线,适合于近距离传输。串行通信是指数据的各位按顺序一位一位传输。其优点是只需要一对传输线(如电话线),占用硬件资源少,从而降低了传输成本,特别是用于远距离通信,缺点是传送速度较慢。此系统采用的就是串行通信。4.1.1 串行通信的两种基本方式串行通信分为同步通信和异步通信两种基本方式。1.异步通信方式异步通信时,数据是以字符为单位进行传送的。一个字符又称为一帧信息,每个字符由四部分组成:起始位、数据位、奇偶校验位和停止位。这一组信息又称为一帧数据或简称一帧,一帧信息由起始位开始,停止位结束。异步通信的字符格式为:D7 D6 D5 D4 D3 D2 D1 D0SMODGF1GF0FDIDL起始位为0信号,占1位,用来表示一帧信息的开始:其后就是数据位,它可以是5位、6位、7位或8位,传送时低位在先、高位在后;在后面的是奇偶校验位(即可编成位),只占1位;最后是停止位,它用逻辑1来表示一帧信息的结束,可以是1位、1位半或2位。异步通信的特点是数据在线上的传送不连续,传送时,字符间隔不固定,个个字符可以是连续传送,也可以是间断传送,这完全取决于通信协议或约定。间断传送时,在停止位后,线路上自动保持为1。在异步通信时,通信双方必须事先约定。1)字符格式。双方先约定字符的编码形式、奇偶校验形式及起始位和停止位的规定。例如用ASC码通信,有效数据位7位,加一个奇偶校验位、一个起始位和一个停止位共10位。当然停止位也可以大于1位。2)波特率。波特率就是传输率,即每秒传送的二进制数,单位为波特率或bit/s。波特率与字符串的传送关系为:波特率等于一个字符的二进制编码位数乘字符/秒,要求发送端与接收端的波特率必须一致。异步通信的波特率一般为509600bit/s,高低不等。常用于计算机到CRT终端和字符打印机之间通信、直通电报、无线电通信的字符串发送及工业现场的数据远传等。2.同步通讯方式异步通信由于要在每个数据前后附加起始位、停止位,每发送一个字符约有20%的附加数据,占用了传送时间,降低了传送率。同步通信则去掉每个数据的起始位和停止位,把要发送的数据顺序连接成一个数据块,其中每个数据也由58位组成。在数据块的开头附加12个同步字符,在数据块的末尾加差错校验字符。同步通信的数据格式为:同步字符数据1数据N检验字符1检验字符2同步字符在数据块内部,数据与数据之间没有间隙。同步通信时,先发送同步字符,数据发送紧随其后。接收方检验到同步字符后,即开始接收数据,按约定的长度拼成一个个数据字节,直到整个数据接收完毕,经校验无传送错误则结束一帧信息的发送。若发送的数据块间有间隙,则发送同步字符填充。同步通信进行数据传输时,发送和接收双方要保持完全同步,因此要求发送和接收设备必须使用同一时钟。在近距离通信时可以采用在传输线中增加一根传输信号线来解决;远距离通信时,可以通过调制解调器从数据流中提取同步信号,用锁相技术使接收方得到和发送方时钟频率完全相同的时钟信号。如上所述,异步通信技术较为简单,应用广泛;同步通信传输率高,适用于高传输率,大容量的数据通信,但硬件复杂。而此系统传输的只是一些开关量,且传输距离长,所以选用串行异步通信。4.1.2 串行通信的数据传送方式串行通信的数据传送方式有3种,见图41所示。1) 单工方式。如图4.1所示,单工方式的数据传送是单向的,一方(A端)固定为发送端,另一端(B端)固定为接收端。单工方式只需要一条数据线。2) 半双工方式。如图4.2所示,半双工方式的数据传送是双向的,数据既可以从A端发送到B端,又可以由B端发送到A端,不过在同一时间只能做一个方向的传送。半双工方式只需要一条数据线。3) 全双工方式。如图4.3所示,全双工方式的数据传送是双向的,A端B端既可同时发送,又可同时接收。全双工方式需要两条数据线。4.1单工方式4.2半双工方式4.3全双工方式4.2 MCS-51系列单片机的串行接口对于单片机来说,为了进行串行通信,同样也需要有相应的串行接口电路。只不过这个接口电路不是单独的芯片,而是集成在单片机的内部,成为单片机芯片的一个组成部分。MCS-51系列单片机有一个全双工的串行口,这个口即可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。4.2.1 MSC-51系列单片机串行接口结构MSC-51系列单片机串行口主要有数据缓冲器、发送控制器、输出控制门、接收控制器、输入移位寄存器、接收数据缓冲器等组成,如图4.4所示。图4.4单片机串行接口结构发送缓冲器只能写入,不能读出,接收缓冲器只能读出,不能写入,故二者使用同一符号(SBUF),占用同一个地址(99H)。通过使用不同的读、写缓冲区的指令来决定对哪一个缓冲器进行操作。例:执行MOV SBUF,A指令,是将数据写入发送缓冲区,执行MOV A,SBUF指令,是从接收缓冲器中读取数据。串行口还有两个专用寄存器SCON、PCON,SCON用来存放串行口的控制和状态信息,PCON用于改变串行通信的波特率,波特率发生器可由定时器T1或T2构成。 MCS-51系列单片机串行口正是通过对上述专用寄存器的设置、检测与读取来管理串行通信。使用串行接口以后,串行收、发的工作主要由串行接口来完成。在发送时,由CPU执行一条写指令把数据写入发送缓冲器,则启动串行接口一位一位地向外发送。与此同时接收端也可以一位一位地接收数据,直到把一组数据接收完,送入接收缓冲区,然后通知CPU,CPU执行一条读指令把接收缓冲区的内容读入。可见,在整个串行收、发过程中,CPU操作的时间很少,使得CPU还可以从事其他各种操作,从而大大提高了CPU的效率。4.2.2 MSC-51系列单片机串行接口的控制串行口的工作主要受串行口控制寄存器SCON的控制,另外也和电源控制寄存器PCON有关。1.串行口控制寄存器SCON串行控制寄存器SCON用以设定串行口的工作模式、接收/发送控制及设置状态标志,字节地址98H,可位寻址,其格式为:D7 D6 D5 D4 D3 D2 D1 D0SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作模式选择位,可选择4工作模式,见表4.1所示。表4.1串行口的工作模式SM0 SM1工作模式功能说明波特率0 0模式0同步移位寄存器方式fosc/120 1模式110位异步接收发送可变(由定时器控制)1 0模式211位异步接收发送fosc/32或fosc/641 1模式311位异步接收发送可变(由定时器控制)SM2:多机通信控制位。组要用于模式2和模式3。若SM2=1,则允许多机通信。在主从式多机通信中,SM2用于从机接收控制,当SM2=1时,从机可接收地址帧,若接收到的第9位数据(RB8)为0时(数据帧),不启动接收中断标志位RI(即RI=0),并且将接收到的前8位数据丢弃;只有当RB8为1时(地址帧),才将接收到的前8位数据送入SBUF中,并置位RI,以产生中断申请。当SM2=0时,从机可接收所有信息,即接收到一帧数据后,不论第9位数据是0还是1,都置RI=1,接收到的数据装入SBUF中。在模式1时,若SM2=1,则只有接收到有效停止位时,RI才置1,以便接收下一帧数据;在模式0时,SM2必须为0。REN:允许接收控制位。只有当REN=1时,允许接收数据;若REN=0时,则禁止接收。该位相当于串行通信的开关,有软件置1或清零。TB8:在模式2和模式3中,TB8是发送数据的第9位,根据发送数据的需要由软件置位或复位。它可作为奇偶校验位(单机通信),也可在多机通信中作为发送地址帧或数据帧的标志位。多机通信时,一般约定为:发送地址帧时,设置TB8=1;发送数据帧时,设置TB8=0。在模式0或模式1中,该位未用。RB8:在模式2或模式3中,RB8位接收数据的第9位,它即可以是约定的奇偶校验位,也可以是约定的地址/数据标志位,可根据RB8置位的情况对接收数据进行某种判断。例如多机通信时,若RB8=1,说明接收到的数据为地址帧;RB8=0,收到的数据为数据帧。在模式1时,若SM2=0(即不是多机通信情况),则RB8是已接收到的停止位。模式0中未用该位。TI:发送标志位,在一帧数据发送结束时硬件置位。在模式0中,串行发送完8位数据时,或其它模式串行发送到停止位的开始时由硬件置位。TI=1表示“发送缓冲区已空”,通知CPU发送下一帧数据。TI位可作为查询,也可作为中断申请标志位,TI不会自动复位,必须有软件清零。RI:接收中断标志,在接收到一帧有效数据后由硬件置位。在模式0中,接收完8位数据后,或其它方式接收到停止位时由硬件置位。RI=1表示一帧数据接收完毕,并已装入数据缓冲区中,即表示“接收缓冲区已满”,通知CPU取走数据。该位可作为查询,也可作为中断标志位,同样RI不会自动复位,必须由软件清零,以准备接收下一帧数据。2.电源控制寄存器PCONPCON为了在CHMOS的MCS-51系列单片机上实现电源控制而设置的,字节地址为87H,不可位寻址,PCON的内容如下:D7 D6 D5 D4 D3 D2 D1 D0SMODGF1GF0PDIDL其中,PCON的低4位是CHMOS器件的掉电方式控制位。SMOD是波特率倍增位,在模式1、模式2、模式3时,若SMOD=1,则波特率提高一倍;若SMOD=0,则不加倍。GF1、GF2:通用标志位,由软件置位复位。PD:掉电方式控制位,PD=1,则进入掉电方式。IDL:待机方式控制位,IDL=1,则进入待机方式。4.3 波特率设计在串行通信中,收发双方对发送或接收的数据率要有一定的约定,通过软件对MCS-51系列单片机的串行接口编程可设置4种工作模式。其中,模式0和模式2的波特率是固定的,而模式1和模式3的波特率是可变的,由定时器T1或T2的溢出率决定。串口的4种模式对应着3种波特率。由于输入的移位时钟来源不同,所以,各种模式的波特率计算公式也不同。1.模式0的波特率在模式0时,每个机器周期产生一个移位时钟,发送或接收移位数据。所以,波特率固定为振荡频率的1/12,且不受SMOD的影响。即模式0的波特率=。式中:fosc 单片机晶振频率。2.模式2的波特率模式2波特率的产生与模式0不同,模式2的波特率由系统的振荡频率fosc和PCON的最高位SMOD确定,当SMOD=0时,波特率为fosc/64;SMOD=1,则波特率fosc/32,即模式2的波特率= 。式中:fosc 单片机晶振频率。 SMOD波特率倍增位。3.模式1和模式3的波特率模式1和模式3的移位时钟脉冲T1的溢出决定,故波特率由定时器T1的溢出率与SMOD值共同决定,即模式1和模式3的波特率= 。当T1做波特率发生器使用时,最典型的用法是使T1工作在模式2(初值自动加载),定时方式,若计数初值为X,则每过“”个机器周期,定时器T1就会产生一次溢出。为了避免因溢出而引起中断,此时应禁止中断。这时,溢出周期为。此时,定时器T1工作在模式2时的初值为 。4.4 串行口工作模式4.4.1 模式0模式0是同步移位寄存器输入/输出方式,用于扩展I/O口。8位串行数据的输入或输出都是通过RXD端,而TXD端用于送出同步移位脉冲,作为外接器件的同步移位信号。波特率固定为fosc/12。模式0以8位为一帧数据,没有起始位和停止位,低位在前、高位在后,其帧格式为:D0D1D2D3D4D5D6D7模式0的发送是在TI=0的情况下,有一条发送缓冲器的指令开始。例如:MOV SBUF, ACPU执行完该指令,串口即将8位数据从RXD端送出(低位在前),同时在TXD端发送同步移位脉冲。8位数据发送完毕后,由硬件置位TI=1,可通过查询TI位来确定是否发送完一帧数据,TI=1表示发送缓冲区已空;TI=1也可作为中断申请信号,申请串行口发送中断。当要发送下一组数据时,需要软件使TI清零,然后才可发送下一组数据。模式0的接收是在RI=0和REN=1的条件下,启动串口接收。接收数据由RXD端输入(低位在前),TXD仍发出同步移位脉冲。接收到8位数据后,由硬件使RI=1。可通过查询RI位来确定是否接收到一组数据,RI=1表示接收数据已装入接收缓冲器,可以由CPU用指令读取;RI=1也可作为中断申请信号,申请串行口接收中断。当CPU读取数据后,须用软件使RI清零,以准备接收下一组数据。在模式0中,SCON寄存器中的SM2、TB8、RB8都不起作用,一般设为零。4.4.2 模式1串行口定义为模式1时,是串行异步通信方式。TXD位数据发送端,RXD位数据接收端。波特率可变,由定时器T1的溢出率及SMOD位决定。一帧数据由10位组成,包括1位起始位、8位数据位、1位停止位,其帧格式为起始D0D1D2D3D4D5D6D7停止模式1的发送也是在TI=0时有一条写发送缓冲器SBUF的指令开始的。启动发送后,串行口自动地插入一位起始位(逻辑0),接着是8位数据(地位在前),然后又插入一位停止位(逻辑1),再发送移位脉冲的作用下,依次由TXD段发送出。一帧信息发送完毕,自动维持TXD段的信号为1。在8位数据发送完之后,也就是在插入停止位时,使TI置1,以通知CPU发送下一帧数据。模式1发送时的时钟信号,也就是发送移位脉冲,是由定时器送来的时钟信号经过16或32分频(取决于SMOD的值是1还是0)而取得。因此,模式1的波特率受定时器控制,可以随着定时器初值的不同而变化。模式1的接收是在REN置1的前提下,串行口采样引脚RXD(P30)。在无信号时,RXD端状态为1,当采样到1至0的跳变时,确认是起始位“0”,就开始接收一帧数据。在接收移位脉冲的作用下,把接收到的数据一位一位送入输入移位寄存器,直到第9位全部收齐(包括一位停止位)。当RI=0且停止位为1或者SM2=0时,8位数据送入接收缓冲寄存器SBUF,停止位进入RB8,同时使RI置1;否则,8位数据不进入SBUF,放弃接收的结果。所以,模式1接收时,应先用软件清RI或SM2标志。在接收时,定时信号有两种:一种是接收移位脉冲,它的频率和发送的波特率相同,也由定时器T1的溢出信号经过16或32分频而得到;另一种是接收字符的检测脉冲,它的频率是接收移位脉冲的16倍,即在接收一位数据的期间,有16个检测脉冲,并以其中的第7、8、9这3个脉冲作为真正的对接收信号的采样脉冲。对这3个采样结果采取三种取二的原则来决定所检测到的值。采取这种措施的目的在于抑制干扰。由于采样信号总是在接收位的中间位置,这样可以避开信号两端的边沿失真,也可以防止由于接收时时钟频率不完全一致而带来的接收错误。4.4.3 模式2模式2也是串行异步通信方式。TXD位数据发送端,RXD数据接收端。一帧数据由11位组成,包括1位起始位、8位数据位、1位可编程位、1位停止位,其帧格式为:起始D0D1D2D3D4D5D6D70/1停止模式2的波特率是固定的,且有两种:一种是fosc/32,另一种是fosc/64。模式2的发送位包括9位有效数据,在启动发送之前,要把发送的第9位数值装入SCON寄存器中的TB8位,这第9位数据起什么作用串行口不作规定,完全由用户来决定。用户需要根据通信协议用软件设置TB8(如做奇偶校验位或数据/地址标志位)。准备好TB8的值以后,在TI=0的条件下,就可以执行一条写发送缓冲器SBUF的指令来启动发送。串行口能自动把TB8取出,并装入到第9位数据的位置,逐一发送出去。发送完毕,使TI=1。这些过程与模式1基本相同。模式2的接收与模式1的基本相同。不同之处是要接收第9位有效数据。在模式1时是把停止位当作第9位数据来处理,而在模式2(或模式3)中存在着真正的第9位数据。所以,接收数据真正有效的条件为:1)RI=02)SM2=0或接收到的第9位数据为1第一个条件是提供“接收缓冲器已空”的信息,即CPU已把SBUF中上次接收到的数据读走,允许再次写入;第二个条件则提供了根据SM2的状态和所接收到的第9位状态来决定接收数据是否有效。若第9位是一般的奇偶校验位(单机通信时),应令SM2=0,以保证可靠的接收;若第9位作为地址/数据标志位(多机通信时),应令SM2=1,则当第9位为1时,接受的信息为地址帧,串行口将接收该位信息。若上述两个条件成立,接受的前8位数据进入SBUF以准备让CPU读取,接受的第9位数据进入RB8,同时职位RI。若以上条件不成立,则这次接收无效,放弃接收的结果,即8位数据不进入SBUF,也不置位RI。4.4.4 模式3模式3同样是串行异步通信方式,其一帧数据格式,接收、发送过程和模式2完全相同。所不同的仅在于波特率。模式2的波特率只有固定的两种,而模式3的波特率由定时器T1的溢出率及SMOD决定,这一点与模式1相同。综上所述,串行异步通信完全能满足系统的通信要求。系统要求通信距离在200m左右,而且传输的数据只是60个“0”、“1”数据和几条控制命令,数据量不大,非常适合串行异步通信,所以选用串行异步通信。而系统选用模式3工作,因为模式3的波特率可变,符合系统波特率的要求,所以此系统设计为串行异步通信,工作方式为模式3。第5章 串行通信接口标准串行通信接口是指设备之间的接口。人们最熟悉的关于串行通信接口的名词可能是COM与USB了,因为它们都是当代PC机必备的串行通信接口。COM1COM4都是RS-232串行通信接口,较早出现的并且获得广泛的标准还有RS422/423与RS-485等,其性能优于RS-232。5.1 RS-232标准RS-232是异步串行通信中应用最早,也是目前应用最为广泛的标准串行总线接口之一,它有多个版本,其中应用最广的是修订版C,即RS-232C。5.1.1 接口及引脚定义80386/486/奔腾个人计算机一般提供了COM1和COM2两个串行接口,一个为9针D型连接器,另一个为25针D型连接器,便于用户随意连接9针或25针的外部设备。实际上,25针与9针连接器并无本质区别,25针的连接器仍然只有9根线,因而容易实现相互转换。表5.1是RS-232接口引脚信号的定义。表5.1 RS-232接口引脚信号的定义9针25针信号方向功能32TXDO发送数据23RXDI接收数据74RTSO请求传送85CTSI清除传送66DSRI数据通信装置(DCE)准备就绪57SG信号公共参考地18DCDI数据载波检测420DTRO数据终端设备(DTE)准备就绪922RII振铃指示5.1.2 电气特性与电平转换RS-232原是基于公用电话的一种串行通信标准,最大电缆长度15m(50英尺),即传输距离一般不超过15m。它的逻辑电平以公共地为对称,其逻辑“0”电平规定在+3+25V之间,逻辑“1”电平则在-3-25V之间,因而它不仅要使用正负极性的双电源,而且与传统的TTL等数字电平的逻辑电平不兼容,两者之间必须使用电平转换。表5.2列出了RS-232标准的主要电气特性参数。表5.2 RS-232标准电气特性项目参数标准带37负载时驱动器的输出电平逻辑0为+3+25V,逻辑1为-3-25V不带负载时驱动器的输出电平-25+25V驱动器通断时的输出阻抗300输出短路电流0.5A驱动器转换速率30V/接收器输入阻抗37接收器输入电压-25+25V输入开路时接收器的输出逻辑1输入经300接地时接收器的输出逻辑1+3V输入时接收器的输出逻辑0-3V输入时接收器的输出逻辑1最大负载电容2500nF不能识别的过渡区-3+3V常用的电平转器件有以MC1488与MC1489为代表的集成电路。MC1488实质上是由3个与非门和1个反相器组成,通过它们可将4路TTL电平转换为RS-232电平,它需要15V或12V双路电源,适用于数据发送。MC1489实质上是4个带控制门的反相器,可将4路RS-232C电平转换成TTL电平,它只使用单一的5V电源,适用于数据接收,其控制端通常接一滤波电容到地,如果将它们连接到电源正极,则可改变输入信号的门限特性。由于MC1488/1489是功能单一的发送/接收器,所以双向数据传输中各端都要同时使用这两个器件,如图5.1示为PC机与单片机MCS-51多机通信示意图图5.1 PC机与MSC-51多机通信此外又必须同时具备正负两组电源,因而在很多应用场合下显得不方便。为此推出了只用单一电源且具有发送/接收双重功能电路的RS-232接收器。这种器件的内部集成了一个充电泵电压转换器,它能将+5V或者更低的电源电压变换为RS-232所需的10V以上的电压。因此在使用者看来,RS-232电平就几乎与TTL电平“兼容”了。此器件在前面章节已作过介绍。RS-232所使用的电缆通常均有每英尺4050pF的分布电容,该标准规定最大电容为2500pF,所以其传输距离只能局限于15m范围内,其数据传输速率上限只有20kb/s。由于采用非平衡传输方式,接地问题显得特别重要,当传输电缆两端存在较大的地电位差时,它将与信号叠加而使逻辑0与逻辑1之间的实际过渡区变窄,从而有可能造成逻辑电平的误判而使数据传输出错。RS-232需要较高的正负电源,拥有3V的盲区,虽然抗干扰能力较强,但消耗的电源功率较大。5.2 RS-422/423标准5.1节介绍了RS-232的特点,其实它的关键之处是一种基于单端非对称电路的接口,即一对信号线与一根地线,这种结构对共模信号没有抑制能力,它同差模信号叠加在一起,在传输电缆上产生较大的压降损耗,压缩了有用信号的动态范围,因而不可能实现远距离与高速传输。为了克服RS-232的这类缺陷,20世纪70年代初期又推出了RS-422、RS-423等标准,下面作一个简要的介绍。RS-422标准有RS-422A与RS-422B等版本,它采用了平衡差分传输技术,即每路信号都使用一对以地为参考的正负信号线。从理论上讲,

温馨提示

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

评论

0/150

提交评论