智能公交卡终端系统软件实现_第1页
智能公交卡终端系统软件实现_第2页
智能公交卡终端系统软件实现_第3页
智能公交卡终端系统软件实现_第4页
智能公交卡终端系统软件实现_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

-i智能公交卡终端系统软件实现摘要随着城市规模的扩大,交通已经成为城市发展的一个重要因素。公交车射频卡可以提供更为方便、快捷的服务。面向开放式公交系统的乘客下车站台刷卡系统及数据传输技术的改善,充分运用了交通,电路即传输等专业的知识。本文对公交射频刷卡器的系统设计进行了研究。采用美国ATMEL公司的ATmega16单片机位控制核心,应用PHILIPS公司的MIFARE射频技术实现设计。本设计主要是系统软件设计。这部分描述了所应用的各部分的程序原理和代码,运用模块化结构,使程序设计的逻辑关系更加简洁明了;采用软件AVRstudio4软件进行编程,sscom串口调试助手以及AVRfighter程序烧录软件进行烧录。关键词ATmega16;射频技术;AVR;-iiSmartbuscardterminalsystemsoftwareAbstractAlongwiththeextensionofthecityscale,thetransportationhasalreadybecomeanimportantfactorofthecitydevelopment.Thebusradiofrequencycardcanprovidemoreconvenienceandfasterservance.Passengerstogetoffthesitecreditcardsystemforopenbussystemdevelopmentistheimprovementofexistingpublictransportcircuitandtransmissiontechnology.Thistextcarryonaresearchtothesystemdesignofthebusradiofrequencycardmachine,ItadoptedsinglechipmicrocomputeroftheATmega16oftheAmericanATMELcompanyasthecontrolcoreandappliedtheMIFAREradiofrequencytechniqueofthePHILIPScompanytorealizethedesign,Thisdesignofthesystemincludetwoparts:thehardwaredesignandthesoftwaredesign.Thehardwaredesignpartdescribedthehardwarecircuitsandtheprincipleofeachpart,mainlyinclude:displaycircuits,Thewatchdogcircuit,the93C46serialEEPROM,thebuffercircuitandreadcardmachine.Also,itgavethesystemhardwareoftheintegraldesignprinciplediagram.Aadoptingassemblelanguagetoeditthesoftware,usingblockingstructureandgivingtheflowchartofeachblockmakethelogicalRelationoftheprogramdesignmoresimplyanddirectlytounderstand.ItadoptedAVRstudio4todebugtheprogram.Moreover,thistextalsogavedetailedprogramlist.Keywords:ATmega16;射频技术;AVR;-目录摘要.iAbstract.ii第一章绪论.11.1研究背景.11.2设计的意义和目的.11.3系统设计总体要求.21.4系统设计的方案选择.21.4.1IC卡的选择.21.4.2用户信息的存储.21.4.3程序编写.3第二章软件的总体设计.42.1系统软件设计思想.42.2系统软件逻辑组成.42.3系统流程图.4第三章软件各个模块的设计.63.1主程序.63.2rc522.c程序.63.2.1SPI相关操作.63.2.2读RC632寄存器ReadRaw(add).93.2.3写RC632寄存器Write(add,data).93.2.4清除RC632寄存器ClearBitMask(reg,mask).93.2.5设置RC632寄存器SetBitMask(reg,mask).93.2.6通讯PcdComMF522().93.2.7寻卡PcdRuquest(reg,*pTagType).93.2.8放冲撞PcdAnticoll(*psnr).103.2.9Mc522复位PcdReset().103.2.10开启天线PcdAntennaOn().103.2.11关闭天线PcdAntennaOff().103.2.12端口的初始化init_port_rc522().103.3LCD.c.113.3.1LCD12864写数据(write_com(cmd).113.3.2LCD12864写数据(write_data(dat)).113.3.3LCD12864定位显示数据write_lcd(line,row,*str,len).123.3.4LCD12863定位显示数据.123.3.5清屏LCD12864(clr_screen()).123.3.6LCD12864初始化(init_lcd).123.4bell.c(蜂鸣器).123.4.1初始化蜂鸣器(init_bell().133.4.2蜂鸣器响(bell_poll().133.5usart.c(串口通信).13-3.5.1USART数据寄存器-UDR.143.5.2USART控制和状态寄存器-UCSRA.143.5.3USART控制和状态寄存器-UCSRB.153.5.4USART控制和状态寄存器-UCSRC.163.5.5波特率寄存器UBRRL和UBRRH.163.5.6初始化串口(init_usart().173.5.7发送数据(send_data(data).173.5.8接受数据receive_data.173.6连接数据库以及PC的串口程序.173.6.1连接数据库.173.6.2PC串口程序.193.7Mifare1非接触式卡说明.203.7.1Mifare1非接触式卡包含两个部分:RF射频接口电路和数字电路.203.7.2Mifare1卡的存储结构.21第四章软件测试.224.1数据库单元测试.224.1.1插入元素测试.224.1.2更新数据测试.234.2串口发送卡号单元测试.244.3集成测试.24结论.25参考文献.26致谢.27外文原文.28外文翻译.42-0第一章绪论1.1研究背景随着我国经济的快速发展,各个大中小型城市的发展日新月异,人民生活水平逐渐提高,我国的汽车保有量也在持续的快速的增长,许多国家公共交通部门开始应用先进的信息与通信技术进行公交车定位、车辆监控、自动驾驶、计算机辅助调度及提供各种公共交通信息以提高公共服务水平。其中如美国,日本,加拿大,英国,法国,韩国等国家都投入了较大的人力和物力从事智能公交系统的研究,在国际处于领先地位,并已取得显著的成果。美国城市公共交通管理局(UMTA)已经启动了智能公交系统项目“AdvancedPublicTransportationSystems(APTS)”,经过现场实验,UMTA关于APTS的评价是:”APTS可以显著提高公交交通服务水平,吸引更多乘客采用公交和合伙乘车的出行模式,从而带来了减少交通拥挤,空气污染和能源消耗等一系列社会效益”。根据1998年美国运输部的联邦公交交通信息的实时信息发布理论,以及使用先进的电子,通讯技术提高公交效率和服务水平的实施技术。具体包括车队管理,出行者信息,电子收费和交通需求管理等几个方面的研究。其中车队管理主要研究通信系统,地理信息系统,自动车辆定位系统,自动乘客计数,公交运营软件和交通信号优先。日本城市公交交通智能化的发展经历了三个阶段:二十世纪70年代末开始应用公交汽车定位系统公交汽车接近显示系统;80年代初开始应用公交交通运行管理系统,其中包括乘客自动统计,运行监视和运行控制;进入90年代,由于机动车数量的增长和严重交通拥挤的影响,要保持正常的行车速度是十分困难的,由此引起的公交交通的不便性和不可靠性导致乘客数量的急剧减少。东京都交通局开发了城市公共交通运输控制系统(CTCS),旨在改进公共汽车服务,重新赢得乘客。在CTCS中,公共交通运营管理系统的一个基本的框架,其目的是通过掌握运行情况以及乘客数据实现精确平稳的公共交通运营服务。它将运营中的公共汽车和控制室之间建立信息交换,并利用诱导和双向通讯的方法,将服务信息提供给服务人员和驾驶人员,同时这些信息也通过进站汽车指示系统和公交与铁路接驳信息系统提供给乘客。公共交通综合管理系统包括运营数据,乘客计数,监视和控制公共汽车运营和乘客服务等功能,其中乘客服务功能中包括进站汽车指示,信息查询和公共交通与铁路接驳信息提示。公共交通综合管理系统的硬件包括公交主控中心,区域中心以及路边,车库和车载设备等。-11.2设计的意义和目的设计意义:公交卡的广泛推广,将使公交管理迈上一个新台阶。公交射频卡不仅避免了因找零引起的尴尬;此外,射频卡的小巧、轻便、美观,便于乘客携带;同时,使用公交射频卡,可减少现金流通量,也减少了疾病传播的途径;减少了乘客上车付费的时间,缩短了公交车到站停靠的时间,一定程度上缓解了城市的交通压力。设计的目的:通过此次的系统设计,了解射频卡以及GPS模块的使用原理;掌握单片机原理和接口设计;掌握实用电子信息系统设计与实现的方法。1.3系统设计总体要求总体要求:(一)打开刷卡机,连接上数据库,当读卡器寻到卡时,读卡器会通过串口给PC机发送卡号,然后PC通过接受的卡号,查询数据库,把对应的卡号金额减1,然后通过数据库把计算后的金额发送给单片机,在LCD12864上显示对应的卡号和卡内剩余金额。(二)卡内金额的充值,打开串口,数据库,读卡器寻到卡时,会将卡号发送给PC机,PC根据数据库中的数据匹配卡号,然后输入充值金额,完成充值。(三)卡的注册,打开串口,数据库,读卡器寻到卡时,会将卡号发送给PC机,输入身份证号码,PC将卡号和身份证号码插入数据库。(四)卡的挂失,打开串口,数据库,读卡器寻到卡时,会将卡号发送给PC机,删除数据库中相应的卡号和卡的信息。1.4系统设计的方案选择1.4.1IC卡的选择方案一:采用接触式IC卡实现设计方案二:采用非接触式IC卡实现设计分析:接触式的IC卡通过机械触电从读卡器获取能量和交换数据;非接触式IC卡通过线圈射频感应从读卡器获取能量和交换数据,所以又称射频卡。与接触式IC卡相比非接触式卡更有优势:可靠性高,非接触式IC卡与读卡器之间无机械接触,避免了由于接触读写而产生的各种故障;由于非接触通讯,读卡器在10cm范围内就可以对卡片操作,所以不必插拔卡,非常方便用户使用;加密性好,非接触式IC卡有IC芯片,感应天线组成,并完全密封在一个标准PVC卡片中,无外漏部分。显然,射频卡在实际应用中更有优势。因此,在设计过程中,选择第二中方案。-21.4.2用户信息的存储方案一:存储在公交卡内方案二:存储在数据库中分析:公交刷卡机是应用于公交车上的,各车上的用户数据难以保持同步,除非无线通信,考虑当用户的公交卡丢失时,采用方案一卡中的信息可能造成泄漏,并且挂失的时候由于没有存储用户信息而造成很多困难,可靠性安全性能低。而方案二实现了对公交卡的统一管理,操作方便,可靠性高,易于管理维护。所以选择方案二。1.4.3程序编写方案一:用汇编编程实现编码程序方案二:用C语言实现程序的编写分析:单片机可以采用汇编语言和C语言进行编程。汇编语言是机器语言,指令的执行速度快,节省存储空间。在本次设计中,C语言比较好理解,易于编程人员和其他人员看懂,基于C语言的通俗易懂符合人的正常逻辑,所以选择用C语言来编写程序。-3第二章软件的总体设计2.1系统软件设计思想系统软件按各电路分模块编写,形成各具独立功能的子程序。主程序则对这些子程序进行调用,以实现功能。当读卡器调用PcdRequest()函数来寻进入天线内的卡片,寻到卡后,调用PcdAnticoll()函数来防冲撞,防完冲撞后,会把卡的序列号(卡的唯一标识)放入数组CardRevBuf中,四个字节。然后调用函数send_data()函数通过串口把卡的序列号发送给PC,PC的串口接收程序是用JAVA来实现,通过调用函数readPort()来接收卡的序列号实现对数据库的相关操作(增,删,改,查)。通过调用writePort()函数来把更新后的卡中的金额写回卡中,并且通过调用lcd_show_val()函数来把卡的卡号,金额显示在LCD12864上,随之蜂鸣器响来表示操作成功。2.2系统软件逻辑组成主要分为RFID程序;RC522程序;LCD程序;USART程序;BELL程序。分析:RFID程序为主程序,系统执行的入口,通过调用其它模块的函数实现功能。RC522程序为读卡器程序,来寻到进入天线内的卡,获得卡号。LCD程序为液晶显示程序,来显示主界面和卡的相关信息。USART程序为串口通信程序,来实现单片机与PC中数据库的交互。BELL程序为蜂鸣器程序,来实现提示相关操作成功。2.3系统流程图如图2-1所示-4刷卡刷卡寻卡防冲撞YN发送卡号YN卡注册N卡中金额减1发送当前金额Y单片机接受LCD12864显示蜂鸣器响-操作成功结束图2-1主程序流程图用户从开始刷卡,然后读卡器寻卡,寻到卡后把卡号发送到数据库,如果卡号已经在数据库中存在并且金额大于等于1,则进行扣费,否则,数据库不会进行任何操作。-5第三章软件各个模块的设计3.1主程序分析:包含对读卡器,LCD12864,串口的初始化函数。显示界面,以及调用寻卡,防冲撞函数,发送卡的序列号,接受返回的金额数据,蜂鸣器的响来知识操作成功。3.2rc522.c程序分析:读卡器是通过SPI总线来与单片机通信读SPI数据,写SPI数据,读RC632寄存器,写RC532寄存器,清除RC532寄存器,设置RC532寄存器,计算CRC16,通过RC522和ISO14443卡通讯,寻卡,防冲撞,选定卡片,复位RC522,设置RC522的工作方式,开启天线,关闭天线,初始化RC522端口,初始化RC522模块。3.2.1SPI相关操作SPI(SerialPeripheralInterface-串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。SPI包含4条线MOSI输出数据,MISO输入数据,SCK时钟,SS使能主要特征:(一)全双工,3线同步数据传输(二)可选择的主/从操作模式(三)数据传送时,可选择LSB(低位在前)方式或MSB(高位在前)方式(四)7种可编程的位传送速率(五)数据传送结束中断标志(六)写冲突标志位保护(七)从闲置模式下被唤醒(八)倍速(CK/2)SPI传送(主机模式下)(1)数据寄存器SPDR如图3-1所示图3-1SPDRSPI数据寄存器为可读/写的寄存器,用于在通用寄存器组与SPI移位寄存器之间传送数据。写数据到该寄存器时,将启动或准备数据传送;读该寄存器时,读到的是移位寄存器配备的接受缓冲区中的值-6(2)控制寄存器SPCR如图3-2所示图3-2SPCR位7-SPIE:SPI中断允许。当全局中断触发允许标志位I位1,且SPIE为1时,如果SPCR寄存器的中断标志SPIF位为1,则系统响应SPI中断。位6-SPE:SPI允许。当该位写入1时,允许SPI接口。在进行SPI的任何操作时,必须将该位置位。位5-DORD:数据溢出顺序。当DORD=1时,数据传送为LSB方式,即低位在先;当DORD=0时,数据传送为MSB方式,即高位在先。位4-MSTR:主/从机选择方式。如果SS端口设置为输入,且在MSTR为1时被外部拉低,则MSTR将清除,同时SPSR中的SPIF位置为1,此时SPI由主机模式转换为从机模式。此后用户需要重新设置位MSTR,才能再次将SPI设置为主机方式。位3-CPOL:SCK时钟极性选择。当该位被设置为时,SCK在闲置时是高电平;为0时,SCK在闲置时是低电平。如表3-1所示表3-1CPOLCPOL起始沿结束沿0上升沿下降沿1下降沿上升沿位2-CPHA:SCK时钟相位选择。CPHA位的设置决定了串行数据的锁存采样是在SCK时钟的前沿还是后沿。CPOL和CPHA决定了SPI的工作模式。如表3-2所示表3-1CPHA0采样设置1设置采样位1:0-SPR1和SPR0:SPI时钟速率选择。这两个标志位与寄存器SPSR中的SPI2X位一起,用于设置主机模式下产生的串行时钟SCK速率。SPR1和SPR0对于从机模式无影响。如表3-3所示表3-3SPRSPI2XSPR1SPR0SCK频率000fosc/4001fosc/16010fosc/64011fosc/12100fosc/2101fosc/8110fosc/32111fosc/64(3)SPI的状态寄存器SPSR如图3-3所示-7图3-3SPSR位7-SPIF:SPI中断标志。当串行传送完成时,SPIF位置1.如果SPSR中的SPIF位为1,且全局中断允许位I位1,则产生中断。如果SS设置位输入,且在SPI为主机模式时被外部拉低,则也会置位SPIF标志。SPIF标志位的属性为只读。清0SPIF有以下两种方式:硬件方式。MCU响应SPI中断,转入SPI中断向量的同时,SPIF位由硬件自动清除。软件方式。先读取SPI状态寄存器SPSR,然后再进行一次对SPI数据寄存器SPDR的操作。位6-WCOL:写冲突标志。如果在SPI接口的数据传送过程中向SPI的数据寄存器SPDR写入数据,则会置位WCOL。清0WCOL标志只能通过以下软件方式:先读取SPI状态寄存器SPCR,然后再实行一次对SPI数据寄存器SPDR的操作。位5:1-保留位:位0-SPI2X:倍速SPI选择。在主机SPI模式下,当该位写为逻辑“1”时,SPI的速度将加倍,这就意味着产生最小的SCK周期为MCU时钟周期的2倍。当SPI设置为从机模式时,SCK必须低于fosc/4,才能确保有效数据传送。(4)SPI读时序SPIReadByte()如图3-4所示图3-4SPI读时序可以看出先使能SS,然后把时钟线SCK拉低,在输入线上MISO读0或1一个bit,然后把SCK拉高,即可,一次读一个字节。(5)SPI写时序SPIWriteByte(data)如图3-5所示图3-5SPI写时序写的时候先使能SS,然后把时钟线SCK拉低,在输出线上MOSI写0或1一个bit,然后把SCK拉高,即可,一次写一个字节。-83.2.2读RC632寄存器ReadRaw(add)即从寄存器中相应的地址读取数据,地址格式:1-6位是地址位,7位为1是读,8位是0。然后调用SPIWriteByte(address)把地址写到总线上。然后调用SPIReadByte()函数读取相应寄存器里面的数据。3.2.3写RC632寄存器Write(add,data)即把数据写到相应的寄存器中,地址格式:1-6位是地址位,7位为0是写,8位是0,然后调用SPIWriteByte(address)先写入寄存器地址。然后再调用SPIWriteByte(data)函数把数据写入寄存器。3.2.4清除RC632寄存器ClearBitMask(reg,mask)先调用ReadRaw(reg)=tmp读取相应寄存器中的数据,然后调用WriteRaw(reg,tmp&mask)函数把相应寄存器中的值设定为与完后的值。3.2.5设置RC632寄存器SetBitMask(reg,mask)先调用ReadRaw(reg)=tmp读取相应寄存器中的数据,然后调用WriteRaw(reg,tmp|mask)函数把相应寄存器中的值设定为或完后的值。3.2.6通讯PcdComMF522()先判断命令com是PCD_AUTHENT(验证秘钥)还是PCD_TRANSCEIVE(发送并接受数据),然后经过相应的写RC632寄存器(往寄存器comienreg中断请求传递的使能和禁能控制位),清除RC632相应的位,写RC632寄存器(往寄存器commandreg启动和停止命令的执行)PCD_IDLE(取消当前命令),初始化工作。然后把数据写入数据寄存器FIFODataReg,把BitFramingReg第一位值位1(启动数据发送)。调整时钟频率,获取完输出的数据后,把ControlReg寄存器的最高位置1,关闭时钟。3.2.7寻卡PcdRuquest(reg,*pTagType)先清除Status2Reg(包含接收器,发送器和数据模式检测)的最高位(内部温度开启),写RC632寄存器(BitFramingReg),把TxControlReg的最后两位置位(TX1和TX2-9管脚的输出信号将传递发送数据调制的13.56HZ的能量载波信号),初始化工作。调用PcdComMF522函数,最后把卡的类型(2字节)复制给pTagType指针所指的地址中。3.2.8放冲撞PcdAnticoll(*psnr)先清除Status2Reg(包含接收器,发送器和数据模式检测)的最高位(内部温度开启),写RC632寄存器(BitFramingReg),把TxControlReg的最后两位清0,清除寄存器CollReg寄存器的最高位(所有接受的位在在冲突后将被清除)。调用PcdcomMF522函数,最后后的卡的序列号(卡的唯一标识)4字节写入指针psnr指针所指的内存地址。3.2.9Mc522复位PcdReset()先使能复位线PC5,写寄存器CommandReg(启动和停止命令寄存器)的值为PCD_RESETPHASE(0x0f复位)。写寄存器ModeReg(定义接受和发送常模式),写寄存器TReloadReg(描述16位长的定时器重装值),写寄存器TModeReg(定义内部定时器设置),写TPrescalerReg寄存器(访问权限),开启天线。3.2.10开启天线PcdAntennaOn()读寄存器TxControlReg(控制天线驱动Tx1和Tx2管脚的逻辑操作)。如果TxControlReg的Tx1和Tx2管脚为开启,则设置位(最后两位)。3.2.11关闭天线PcdAntennaOff()即清除寄存器TxControlReg的最后两位。3.2.12端口的初始化init_port_rc522()MOSI对应PC2,MISO对应PC3,SCK对应PC1,SS对应PC0复位对应PC5原理图:如图3-6所示-10图3-6RFID原理图3.3LCD.c分析LCD12864主要是把卡的相关信息显示出来,用户可以找到自己的卡号和卡内剩余金额。lCD显示用到PA0到PA7用于接收要显示的数据。PC5控制使能,PC6控制读写,PC7控制操作数据寄存器还是状态(命令)寄存器。原理图:如图3-7所示图3-7LCD原理图3.3.1LCD12864写数据(write_com(cmd)分析:先设置PC6为0即写,在设置PC7为0即写的是命令寄存器,在设置PC5为1即使能,然后把数据写给PORTA,完成。3.3.2LCD12864写数据(write_data(dat))分析:先设置PC6为0即写,在设置PC7为1即写的是数据寄存器,在设置PC5为1即使能,然后把数据写给PORTA,完成。-113.3.3LCD12864定位显示数据write_lcd(line,row,*str,len)分析:LCD12864有4行(0行开始),有8列(0列开始)。先写命令write_com(cmd)即告诉LCD12864要在第几行几列显示。再写数据write_data(*str)LCD12864在指定位值显示相应数据。3.3.4LCD12863定位显示数据分析:就是把接受到的字节转化成对应的字符对应关系:如表3-4所示表3-4对应关系字节0123456789101112131415字符0123456789ABCDEF3.3.5清屏LCD12864(clr_screen())分析:当LCD12864要显示不同的内容的时候,先清屏,再显示。3.3.6LCD12864初始化(init_lcd)写命令write_com(0x30);选择8bit数据流;写命令write_com(0x0c);开显示(无游标、不反白);写命令write_com(0x01);清除显示,并且设定地址指针为00H;写命令write_com(0x06);指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位。3.4bell.c(蜂鸣器)分析:蜂鸣器响意味着操作成功。PB1输出控制着蜂鸣器。原理图:如图3-8所示-12图3-8蜂鸣器原理图3.4.1初始化蜂鸣器(init_bell()分析:即把PB1设为输出。3.4.2蜂鸣器响(bell_poll()分析:PORTB=_BV(PB1);PB11010循环蜂鸣器响。_delay_ms(100);3.5usart.c(串口通信)分析:RX发送口PD0,TX接受口PD1。用于向电脑发送数据(即卡的序列号)。原理图:如图3-9所示图3-9usart原理图AVR的异步传输接口USART功能(1)全双工通信(相互独立的接受数据寄存器和发送数据寄存器)(2)支持同步或异步传输操作。(3)同步传输操作时,可采用主机时钟同步,也可采用从机时钟同步。(4)独立的高精度波特率发生器,不占用定时/计数器(5)扩展的,支持5-9为数据位和1位或2位停止位的串行数据帧结构。-13(6)有硬件支持的奇偶校验位和数据校验。(7)硬件实现的数据溢出检测。(8)硬件实现的帧错误检测。(9)包括错误起始位检测的噪声滤波器和数字低通滤波器。(10)配备3个完全独立的中断源:TX发送完成,TX发送数据寄存器和RX接收完成(11)支持多机通信模式(12)支持倍速异步通信模式3.5.1USART数据寄存器-UDRUDR寄存器有2个物理上分离的寄存器RXB,TXB构成,他们使用相同的I/O地址。写UDR的操作,是将发送的数据写入到寄存器TXB中;读UDR的操作,读取的是接受寄存器RXB的内容。当设定使用5,6的数据帧时,高位未用到的位在发送时被忽略,在接受时有硬件自动清0.只有在USART寄存器中的UDRE位置1时(数据寄存器位空),UDR才能被写入;否则写入的数据将被USART忽略。在发送使能的情况下,写入UDR的数据将进入发送器的移位寄存器,由引脚TXD串行移出。3.5.2USART控制和状态寄存器-UCSRA如图3-10所示图3-10UCSRA位7-RXC:USART接受完成。当收到的字符从接受移位寄存器传到UDR中(RXB)且未被读取时,该位置1.不论是否有接受错误,该位都设置。当设置禁止接受时,UDR中的数据就会刷新,同时清0RXC标志。RXC的置位会产生完成的中断请求。RXC在读UDR时自动清0.位6-TXC:USART发送完成。当发送移位寄存器的全部数据移出后,且在数据寄存器UDR中(TXB)没有待发送的数据时,该位置1.TXC由硬件自动清0.TXC位也可以通过向该位写一个逻辑“1”而清“0”。位5-UDRE:USART数据寄存器空,当写入UDR(TXB)的字符被传送到发送移位寄存器中时,该位置1,表示UDR可以写入新的发送数据。UDRE的置1会产生发送数据寄存器空的中断请求。系统复位时,UDRE置1,表示USART数据寄存器为空,数据发送已准备好。位4-FE:接受帧出错。如果在接受缓冲器中刚收到的数据帧被检测到帧出错,则该位置1.FE在收到数据帧的停

温馨提示

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

评论

0/150

提交评论