




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的公交非接触IC卡的应用设计学生指导教师内容摘要非接触式IC卡(俗称感应卡或射频卡)的发展历史仅十余年,至今已成功地应用在经济、行政、通讯等许多场合,特别是公交行业、卫生保健、身份识别、小区管理等,非接触式IC卡有着磁卡和接触式IC卡不可比拟的优点,所以非接触式IC卡一经问世,便立即引起了广泛的关注,并以惊人的速度得到推广和应用。本设计采用PHILIPS公司的MIFARE卡作IC卡,设计以射频技术为核心以单片机为控制器的IC卡读写器在公交自动收费系统中的应用。制作的IC卡读写器可以实现制卡、售卡、自动收费等功能,具有安全、实用、方便、快捷、可靠性高的特点,解决了城市公共交通服务行业既频繁又琐碎的收费管理问题,有广泛的应用前景。关键词单片机非接触式IC卡读写器BASEDONSINGLECHIPBUSNONCONTACTICCARDAPPLICATIONDESIGNABSTRACTNONCONTACTICCARDCOMMONLYKNOWNASPROXIMITYCARDSORRFCARDTHEDEVELOPMENTHISTORYOFMORETHANTENYEARSALONE,HASBEENSUCCESSFULLYAPPLIEDINTHEECONOMIC,ADMINISTRATIVE,COMMUNICATIONSANDMANYOTHEROCCASIONS,ESPECIALLYTHEBUSINDUSTRY,HEALTHCARE,IDENTIFICATION,COMMUNITYMANAGEMENT,NONCONTACTICCARDHASAMAGNETICCARDANDCONTACTLESSICCARDUNPARALLELEDADVANTAGES,SONONCONTACTICCARDBYTHEADVENTOFONEIMMEDIATELYATTRACTEDWIDEATTENTION,ANDATANALARMINGRATETOBETHEPROMOTIONANDAPPLICATIONINTHISPAPER,PHILIPSSMIFARECARDSFORICCARDS,THEDESIGNOFRADIOFREQUENCYTECHNOLOGYASTHECOREFORASINGLECHIPCONTROLLERICCARDREADERAUTOMATICALLYCHARGESINTHEBUSSYSTEMTHEPRODUCTIONOFICCARDREADERSYSTEMCANBEACHIEVEDCARDS,CARDVENDING,AUTOMATICTOLLCOLLECTIONANDOTHERFUNCTIONS,ASAFE,PRACTICAL,CONVENIENT,FAST,HIGHRELIABILITYANDFEATURES,TORESOLVETHECITYSPUBLICTRANSPORTSERVICESECTORISALSOFREQUENTLYTRIVIALCHARGESMANAGEMENTISSUES,HASWIDEAPPLICATIONPROSPECTKEYWORDSSINGLECHIPNONCONTACTICCARDCARDREADER目录一、前言1(一)本设计的背景1(二)本设计的目的和意义1二、总体方案设计2(一)工作原理2(二)方案的设计2(三)方案的论证与选择3三、系统硬件电路设计5(一)单片机电路设计5(二)键盘电路的设计6(三)显示电路的设计7(四)存储器电路的设计10(五)串行通信接口电路的设计13四、系统软件程序设计13(一)单片机内部数据处理程序14(二)键盘处理程序14(三)LCD液晶显示程序14(四)串口通信程序14(五)存储器程序14五、结束语14六、致谢15附录16附录一设计总电路图16附录二程序设计流程图18附录三部分设计源代码22参考文献30一、前言(一)本设计的背景随着时代的进步,在我们的日常生活和工作中,科技含量越来越高。具有电脑相同结构,但功能精简的小电脑,即单片机SINGLECHIPMICROCOMPUTER的运用越来越多,家用电器和办公设备的智能化、遥控化、已成为世界潮流,而这些高性能无一不是靠单片机来实现的。近几年,随着微电子技术的迅猛发展,单片机的发展速度十分惊人。它的应用也必将导致传统控制技术发生重大变革。因此,学习单片机的原理,掌握单片机的应用技术,具有重要的意义。IC卡是集成电路卡INTEGRATEDCIRCUITCARD的简称,将一个集成电路芯片镶嵌在由聚氯乙烯PVC或聚氯乙烯酸酯PVCA材料制成的塑料卡片内封装成卡片形状,其外形和尺寸遵循ISO7816系列标准,集成电路芯片一般分为存储卡芯片和微处理卡芯片。目前经常接触到的IC卡有两种接触式的和非接触式的IC卡。接触式的IC卡通过机械触点从读写器获取能量和交换数据;非接触式IC卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。目前在社会上常见的是接触式IC卡。它具有存储量大(以兆为单位),保密功能强(有多重密码设置和认证功能),可实现一卡多用。但是,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡正确地插入到读写器的口槽才能完成数据交换,这样,在公交、考勤等需要频繁读写卡的场合就很不方便,而且读写器的触点和卡片上IC卡的触脚暴露在外,容易损坏和搞脏而造成接触不良。非接触式IC卡是根据射频电磁感应原理产生的。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用中非常方便、快捷,不易损坏。非接触式IC卡由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露部分。是世界上最近几年发展起来的一项新技术,它成功的将射频识别技术和IC卡技术结合起来,结束了无源卡中无电源和免接触这一难题,是电子器件领域的一大突破。卡片在一定距离范围通常为510MM靠近读写器表面,通过无线电波的传递来完成数据的读写操作。(二)本设计的目的和意义为提高IC卡在公交系统的适应能力,包括用户的各类特殊要求,抗干扰,抗恶劣环境等。方便广大乘客,减轻售票员的负担,本设计具有安全、实用、方便、快捷、可靠性高的特点,解决了城市公共交通服务行业既频繁又琐碎的收费管理问题,有广泛的应用前景。二、总体方案设计(一)工作原理非接触式IC卡读写器以射频识别技术为核心,读写器内主要使用了1片MIFARE卡专用的读写处理芯片MMM微模块。它是一个小型的最大操作距离达2030MM的MIFARE读/写设备的核心器件,其功能包括调制、解调、产生射频信号、安全管理和防碰撞机制。内部结构分为射频区和接口区射频区内含调制解调器和电源供电电路,直接与天线连接;接口区有与单片机相连的端口,还具有与射频区相连的收/发器、16字节的数据缓冲器、存放64对传输密钥的ROM、存放3套密钥的只写存储器以及进行三次证实和数据加密的密码机、防碰撞处理的防碰撞模块和控制单元。这是与射频卡实现无线通信的核心模块,也是读写器读写MIFARE卡的关键接口芯片。读写器工作时,不断地向外发出一组固定频率的电磁波(136MHZ),当有卡靠近时,卡片内有一个LG串联谐振电路,其频率与读写器的发射频率相同,这样在电磁波的激励下,LG谐振电路产生共振,从而使电容充电有了电荷。在这个电容另一端,接有一个单向导电的电子泵,将电容内的电荷送到另一个电容内存储。当电容器充电达到2V时,此电容就作为电源为卡片上的其他电路提供工作电压,将卡内数据发射出去或接收读写器发出的数据与保存。(二)方案的设计总体电路设计应该完成六个部分电路1、单片机及外围电路,2、键盘电路,3、显示电路,4、存储器电路,5、串口通信电路,6、非接触式IC卡。单片机采用八位机AT89C51,根据内部的特性,完全能满足功能要求;因为需要输入的数字量比较多,所以键盘采用4X4矩阵键盘;显示器使用液晶显示器;存储器采用铁电存储器,操作方便,可靠,掉电可保存数据。下面为电路组成框图,如图1单片机键盘电路显示电路非接触式IC卡存储器电路串口通信电路图1系统组成框图(三)方案的论证与选择1IC卡的选择与接触式IC卡相比较,非接触式卡具有以下优点可靠性高非接触式IC卡与读写器之间无机械接触,避免了由于接触读写而产生的各种故障。例如由于粗暴插卡,非卡外物插入,灰尘或油污导致接触不良造成的故障。此外,非接触式卡表面无裸露芯片,无须担心芯片脱落,静电击穿,弯曲损坏等问题,既便于卡片印刷,又提高了卡片的使用可靠性。操作方便由于非接触通讯,读写器在10CM范围内就可以对卡片操作,所以不必插拨卡,非常方便用户使用。非接触式卡使用时没有方向性,卡片可以在任意方向掠过读写器表面,既可完成操作,这大大提高了每次使用的速度。防冲突非接触式卡中有快速防冲突机制,能防止卡片之间出现数据干扰,因此,读写器可以“同时”处理多张非接触式IC卡。这提高了应用的并行性,无形中提高系统工作速度。可以适合于多种应用非接触式卡的序列号是唯一的,制造厂家在产品出厂前已将此序列号固化,不可再更改。非接触式卡与读写器之间采用双向验证机制,即读写器验证IC卡的合法性,同时IC卡也验证读写器的合法性。非接触式卡在处理前要与读写器之间进行三次相互认证,而且在通讯过程中所有的数据都加密。此外,卡中各个扇区都有自己的操作密码和访问条件。接触式卡的存储器结构特点使它一卡多用,能运用于不同系统,用户可根据不同的应用设定不同的密码和访问条件。加密性能好非接触式IC卡由IC芯片,感应天线组成,并完全密封在一个标准PVC卡片中,无外露部分。非接触式IC卡的读写过程,通常由非接触型IC卡与读写器之间通过无线电波来完成读写操作。非接触型IC卡本身是无源体,当读写器对卡进行读写操作时,读写器发出的信号由两部分叠加组成一部分是电源信号,该信号由卡接收后,与其本身的L/C产生谐振,产生一个瞬间能量来供给芯片工作。另一部分则是结合数据信号,指挥芯片完成数据、修改、存储等,并返回给读写器。由非接触式IC卡所形成的读写系统,无论是硬件结构,还是操作过程都得到了很大的简化,同时借助于先进的管理软件,可脱机的操作方式,都使数据读写过程更为简单。因此,在公交、门禁、校园、企事业等人事管理、娱乐场所等方面有广泛的应用前景。目前我国引进的射频IC卡主要有PHILIPS公司的MIFARE和ATMEL公司的TEMIC卡。本设计采用MIFARE卡来实现城市公交自动售票IC卡读写器。2键盘模块的选择键盘的作用有两个,其一是输入数据,比如0、1、2、3、4、5、6、7、8、9这些数字。其二是功能操作,比如数据的输入输出,功能设置。基于此,有很多种方案可以实现这一功能。方案一、用一块74LS138译码输出8路扫描信号,3路扫描返回信号线接I/O口输入。这种设计方案电路设计非常的简单,但是软件的编写要考虑软件去抖等,会比较复杂而且占用大量的CPU资源,此种方案不可取。方案二、矩阵键盘。矩阵键盘,这里采用4X4矩阵键盘,一共有16组情况,实现的方法也是利用单片机的I/O口,通过上拉电阻相接,4X4正好用到了单片机一个端口。采用这种方案既节约资源又方便,而且能够满足本设计的需要。综上所述,在本设计中我们采用方案二。3显示电路模块的选择显示电路的主要任务是反应出操作结果和IC卡内的数据信息。根据此,有四种方案可完成这一工作。方案一可用七段共阳极LED数码显示,将多个LED数码管的段选线相应并联在一起,由一个8位I/O口控制,而各位的共阳极或共阴极分别由相应的I/O口线控制,实现各位的分时选通,这就是动态扫描显示方式,采用动太扫描显示方式,每一位LED的选通时间为12MS。这个时间不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光二极管从导通到发光太弱人眼无法看清,但这个时间也不能太长,否则占用CPU时间太长,由于人眼有视觉暂留现象,只要每一位显示时间足够短,就能够造成多位同时显示的假象,每一位显示的时间间隔不能超过20MS,若时间表间隔太长,就会造成闪烁现象,采用动态扫描方式,可降低功率消耗。此系统,所需数码管较多,操作麻烦,并且不直观,当然其发光数码管价格较便宜。在本系统中,此方案不可取。方案二用LED数码管矩阵方式显示。这种方案的显示的原理和方案一都差不多,用16X16点阵排列,将字型分成上下两个半部,上半部16列,每列用一个字节表示(8个点),下半部也是16列,每列也用一个字节表示(8个点),因此,每个字需要32个字节来表示。当然这样就可以显示汉字,但是和单片机相连较为复杂,本系统要许多块这样的16X16点阵,同时这种LED点阵方式显示,造价较高,作为本电路,也是不可取。方案三采用带中文字库的LCD液晶显示器来完成显示,12864这种显示器作为本系统设计,当然最好。便考虑到系统成本的问题,带中文字库的LCD一般都比较贵,采用这种方案,势必会增加设计成本。本设计也不采用这种方案。方案四、采用两行字符型显示器。这种显示器,用英文显示相关信息,操作方便,价格又适中,作为本设计是最合适不过。因此,结合上述方案,在本设计中,采用两行字符型1602显示器。4存储器电路模块的选择存储器的作用在本设计中主要起到公交车票金额或乘车次数的存储,完成这一项工作方案也是多种多样的。下面将一一介绍。方案一、用紫外线存储器ROM,这个操作不太方便,同时本系统中的数据是不断变化的,因此这种方案不可取。方案二、可以用海量存储器来完成,当然这个是完全可行的,可以进行在系统中写,掉电后信息也不会掉失。它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统中编程、擦除等特点。并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。作为一种非易失性存储器,它在系统中通常用存放程序代码、常量表用一些在系统掉电后需要保存的数据。这种存储器当然很好,但是,价格较贵,同时和本系统中的单片机也不容易实现接口,因为数据线和地址较复杂。方案三、采用串行铁叫存储器。可在系统读写,掉电可保存数据,用I2C总线进行操作,因此需用的单片机端口较少,占用CPU资源较少,同时价格也不贵,唯一不足之处就是存储器量没有海量存储器大。根据上述三种方案,兼顾价格,容量和可操作性,选用第三种方案,也就是用串行E2ROM。三、系统硬件电路设计本系统由六部分组成单片机、键盘处理电路、显示器电路、存储器电路、非接触式IC卡等。下面将着重讨论前面五部分电路的设计过程。(一)单片机电路设计微处理电路采用AEMEL公司的单片机,价格便宜、功能齐全、可靠性高、使用普遍。AT89C51单片机是ATMEL公司8位单片机系列产品之一,是一种40引脚双列直插式芯片。AT89C51有4KFLASH;128字节RAM;32条I/O引线;2个16位定时器/计数器;一个5向量2级中断结构;一个全双工串行口;一个片内震荡器和时钟电路。此外,AT89C51是用可降到0频率的静态逻辑操作设计的,并支持两种可选的软件节能工作方式。空闲方式停止CPU工作,但允许RAM、定时器/计数器、串行口和中断系统继续工作。掉点方式保持RAM内容,但振荡器停止工作,并禁止所有其他部件的工作直到下一个硬件复位。它含有4KB可反复烧录及擦除内存和128字节的RAM,有32条可编程控制的I/O线,5个中断源,指令与MCS51系列完全兼容。选用它作为核心控制新片,可使电路极大地简化,而且程序的编写及固化也相当方便、灵活。本系统设计电路图2所示图2单片机电路图如图2所示,P0口为LCD的八根数据总线,P25、P26、P27三根线为LCD的读写控制线和使能端。P36、P37为存贮器的两根总线,主要用于数据的读取与存贮。P1口为矩阵键盘列线与行线的接口,实现4X4键盘,完成相关的工能操作,比如说,数字的输入,功能操作等。XTAL1和XTAL2口接外部晶体振荡器,保证单片机内部各部分有序的工作。P30、P31口接串行端口,分别作串行数据的接收端和发送端。RST与VSS之间连接一个下拉电阻,与VCC之间连接一个电容,目的是保证可靠的复位。(二)键盘电路的设计这里采用的是矩阵键盘。矩阵键盘的实现可采用查询的办法,也可以采用中断的方法。4X4的意思即4根列线,4根行线,列线通上拉电阻接到电源上,因此无按键按下时,各列线均为高电平。当行线分别输出低电平时,有健按下,相应的列线上会出现低电平。根据此原理,CPU对整个键盘进行扫描。所谓扫描,即CPU不断轮流对行线置低电平,然后检查列线输入状态,确定按键情况。电路如图3所示图3矩阵键盘图键盘接口电路用P2口接成44结构,共16个键。其中数字键10个,功能键2个,退格键和回车键各1个,有2个键暂时未用。功能键有查询和通信两键。查询键售卡员可以通过此键查询售卡金额和售卡记录数。通信键由于读写器的存储量有限,因此读写器每售卡一段时间,应将读写器中的数据通过RS232串行接口与PC机通信,以便回放和清空读写器中的数据。数据回放到PC机中后,通过分析处理,形成各种报表,以便公交公司及时掌握售卡情况。(三)显示电路的设计这里采用的是两行字符型1602显示器,下面详细介绍1602及其使用。1字符型点阵式LCD液晶显示屏LCD的应用很广泛,简单如手表上的液晶显示屏,仪表仪器上的液晶显示器或者是电脑笔记本上的液晶显示器,都使用了LCD。在一般的办公设备上也很常见,如传真机,复印机,以及一些娱乐器材玩具等也常常见到LCD的足迹。本设计要介绍的LCD为字符型点阵式LCD模块(LIQUIDCRYSTALDISPLAYMODULE)简称LCM,或者是字符型LCD。字符型液晶显示模块是一类专门用于显示字母,数字,符号等的点阵式液晶显示模块。在显示器件上的电极图型设计,它是由若干个57或511等点阵符位组成。每一个点阵字符位都可以显示一个字符。点阵字符位之间有一空点距的间隔起到了字符间距和行距的作用。目前市面上常用的有16字1行,16字2行,20字2行和40字2行等的字符模块组。这些LCM虽然显示字数各不相同,但是都具有相同的输入输出界面。本设计将以WINTECH162字符型液晶显示模块WMC1602N为例,详细介绍字符液晶显示模块的应用技术。一般字符LCD模块的控制器为日本日立新华通讯社的HD44780及其替代集成电路,驱动器为HD44100及其替代的集成电路。2LCD液晶显示屏的内部结构液晶显示模块WNC1602N的内部结构可以分成三部分1LCD挖掘器,2LCD驱动器,3LCD显示装置。如图4所示图4LCD内部结构图目前大多数的LCD液晶显示器的控制器都有采用一颗型号为HD44780的集成电路作控制器。HD44780是集控制器,驱动器于一体,专用于字符显示控制驱动集成电路。HD44780是字符型液晶显示控制器的代表电路。HD44780集成电路的特点HD44780不仅作为控制器而且还具有驱动4016点阵液晶像素的能力,并且HD44780的驱动能力可通过外接驱动器扩展360列驱动。HD44780的显示缓冲区及用户自定义的字符发生器CGRAM全部内藏在芯片内。HD44780具有适用于M6800系列MPU的接口,并且接口数据传输可为8位数据和4位数据传输两种方式。D44780具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。由于HD44780的DDRAM容量所限,HD44780可控制的字符高达每行80个字,也就是580400点,HD44780内藏有16路行驱动器和40路列驱动器,所以HD44780本身就具驱动有1640点阵LCD能力(即单行16个字符或两行8个字符)。如果在外部加一HD44100外扩展多40路/列驱动,则可驱动162LCD。HD44780内藏的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。比如数字“1”的代码是00110001B(31H),又如大写的英文字母“A”的代码是01000001B(41H)。表1WMC1602N的CGRAM字符图形代码对应表3LCD的应用液晶显示模块LCD1602在显示“1”时,则我们只需将ASCII码31H存入DDRAM即可。显示时模块把地址31H中的点阵字符图形显示出来,我们就能看到数字“1”了。DDRAM有80BYTES空间,共可显示80个字,地址与实际显示位置的排列顺序跟LCD的型号有关。1602采用标准的16脚接口,如表2所示。其中VSS为地电源,VDD接5V正电源,VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。表2LCD1602引脚说明表本设计电路如图5所示,有八根数据线与单片机的P0口相连,三根读写控制线,背光调节电位器,可调节背光亮度。图5LCD1602电路连接图(四)存储器电路的设计本设计采用串行铁电存贮器FRAM,采用I2C总线工作方式。FRAM铁电存储器的核心技术是美国RAMTRON公司研制的铁电晶体材料。这一特殊材料使得铁电存储产品同时拥有随机存储器(RAM)和非易失性存储器(EPROM、E2ROM、FLASH)的特性。读写器中设计了存储器。存储器选用24CXX系列的串行E2PROM。在售卡机中主要存放卡号、售卡员号、售卡金额、售卡日期、售卡总金额和售卡总记录数;在车载机中主要存放乘客IC卡号、司机号和刷卡总数等信息。显示用MC14499驱动4位共阴数码管。正常工作后,每隔一段时间要把读写器拿到公交管理中心将读写器储存的信息回放到PC机中保存处理。读写器中存储器可采用24C64,其存储量为8KB,如有需要也可用容量更大的存储器如24C128或24C256等。1铁电晶体材料的工作原理当我们把电场加载到铁电晶体材料上,晶阵中的中心原子会沿着电场方向运动,达到稳定状态,一个状态存储逻辑中的0,另一个状态存储逻辑中的1。中心原子在常温下没有电场的作用时停留在此状态达一百年以上,铁电存储器不需要定时刷新,断电情况下能保存数据不变。由于在整个物理过程中没有任何原子碰撞,铁电存储器(FRAM)拥有高速读写,超低功耗和无限次写入等特性。2存储器的基础知识传统存储器有两大类易失存储器(VOLATILEMEMORY)和非易失存储器(NONVOLATILEMEMORY),易失性存储器像SRAM和DRAM存储器在没有电源的情况下都不能保存数据,但这种存储器拥有高性能,存取速度快和无限次的写入次数,易用等优点。非易失性存储器像EPROM、E2ROM和FLASH能在断电后保存数据不变,但由于所有这些存储器均起源只读存储器(ROM)技术,因此它们都有写入速度慢,写入次数有限和使用时功耗大等缺点。16K位铁电存储器(FRAM)的性能和16K位E2ROM性能相比较,FRAM第一个最明显的优点是FRAM可以跟随总线速度写入,无需任何等候时间,而E2ROM需等几毫秒(MS)才能写入一下数据。FRAM第二大优点是几乎无限次的写入。E2ROM的写入次数是每百万次(10的6次方),而新一代的铁电存储器(FRAM)却是一亿亿次(10的6次方)写入寿命。FRAM的第三大优点是超低功能。E2ROM的慢速和高电流写入一个字节令它需要高出FRAM2500倍的能量。表3性能比较表3铁电存贮器FRAM的应用FRAM无限次快速擦写和非易性的特点,令它的系统工程师可以把现在在电路上分离的SRAM和E2ROM两种存储器整合到一个FRAM里,为整个系统节省了功耗,降低了成本,减小了体积,同时增加了整个系统的可靠性。典型的应用包括仪器仪表、工业控制、家用电器、复印机、打印机、机顶盒、网络设备、游戏机、计算机等等。4I2C总线知识该存贮器采用I2C总线方式工作,在软件操作时,就得用I2C总线方式进行读写。I2C总线是由PHILIPS公司发明的一种高性能芯片间串行同步传输总线。与SPI、MICROWIRE接口不同,它仅仅需要两根信号线(串行数据线SDA和串行时钟线SCL),就实现了完善的双工同步数据传送,能够极其方便地构成多机系统和外围器件扩展系统。I2C总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址端,从而使硬件系统具有更简单、更灵活的扩展方法。鉴于I2C总线的众多功能优越性,目前,以PHILIPS公司为主的许多著名半导体制造公司,纷纷研制出了大量的种类繁多的(已经达数百种型号)带有I2C总线硬件接口的单片机、通用外围器件,例如RAM、EEPROM、NVRAM、I/O、ADC、DAC、日历时钟RTC、LED驱动器、LCD驱动器、温度传感器等等。另外,还开发了面向一些特殊应用系统中专用配套的I2C总线芯片,例如无线电、无绳电话、移动手机、电视机、音响系统、家庭影院等系统中的双音多频(DTMF)拨号器、语音合成器、数字调谐器、编码器、解码器、图像处理器、频率合成器、音调控制器、立体声处理器等等,因此,I2C总线技术被越来越广泛地应用到各个领域。本设计电路如图6图6存储器电路图如图所示,电路用24C64存贮器,A0、A1、A2为地址选择端,主要是用于级连,在总线上挂接多个这样的存贮器时使用,VSS为接地端,VCC为电源正极连接端,WP为写保护控制端,SCL、SDA分别为I2C总线的串行时钟连接端和串行数据连接端,数据的写入与读出就是通过这个端两个端操作的,同时电路中在这两个端口加了两只上接电阻,作用是由于存贮器内部是采用开漏输出的。(五)串行通信接口电路的设计串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS232标准的基础上经过改进而形成的。RS323C标准是美国EIA电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000B/S范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。RS232C规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线。在本设计中电路连接图如图7所示图7串行通信口连接图如图所示,MAX232中电平转换芯片。将差分电平,转换成单片机等可识别的TTL电平,电路中RXD、TXD两根线分别和单片机相连P3口的串行通讯口相连,RXD为数据据接收端,单片机通过这个端口读取PC机等送来的信号,TXD为数据发送端口,主要向PC等设备发送信号。图右边还有一9针串行通信口,主要和PC机相连。四、系统软件程序设计本设计程序共分成五个部分键盘处理程序、LCD显示程序、单片机内部数据处程序、存储程序、串口和PC机通信程序。(一)单片机内部数据处理程序单片机内部数据处理程序,即是系统的主程序。当插上电源后,单片机对系统进行一系列的初始化,包括LCD显示初始化,串口初始化和菜单的初始化,以及判断有无按键按下,并做出相应的处理。主程序流程图如图8所示(见附录二)(二)键盘处理程序键盘处理程序,主要作用就是通过用户的按键识别,判断当前的系统任务,通过前面的硬件分析,采用4X4矩阵,一共十六组状态。一方面是数字的输入输出,另一方面的一系列的功能操作。经过键盘扫描程序扫描是否有按键按下,如果有再判断是数字键还是功能键,并做出相应的处理;如果没有则返回继续检查有克按键按下。键盘处理程序流程图如图9所示(见附录二)(三)LCD液晶显示程序LCD处理程序,完成信息的显示,包括IC卡内车票余额、该次刷卡消费金额等这些资料。LCD根据键盘处理程序中按键的性质(数字键还是功能键)来操作。流程图如图10所示(见附录二)(四)串口通信程序串口通信程序,将读写器储存的信息回放到PC机中保存处理。流程图如图11所示(见附录二)(五)存储器程序存储器程序,完成对24C64的数据读取与写入,同时要有掉电保存的功能。流程图如图12(见附录二)五、结束语通过本设计,较系统地掌握有关单片机控制的设计思想和设计方法,主要对51系列单片机的结构、功能、及内部资源,LCD显示器等的了解,并对其进行测试和加以应用的知识得到学习。实现了公交系统自动售票功能本设计的成本较低,操作简单但是,本设计也存在上些不足,比如LCD字符型液晶显示器不带有中文字库,不能显示中文,这样显示的内容不是很直观在IC感应方面,还存在感应距离较近的缺点。不过,在本设计的基础上很容易通过改善设备,对系统进行升级,使功能更齐全,设计更完美。通过这次的毕业设计,我体会到应该掌握丰富的理论知识,理论知识是设计的前提,但同时又决不能局限于理论,要多动手才能将理论与实际工作联系起来。在设计过程中,深深感受到自己在对一些器件的了解上,还存在很大差距,对它们的功能,参数都不是太熟悉。但是通过这次理论与实际的结合之后,认识比以前有不少提高,在系统硬件设计及软件设计方面都有了长足的进步。六、致谢本毕业设计,在设计过程中,从理论到实践,从构建系统框图到画系统框图,再到具体的电路设计及相关的硬件和软件设计,从学习认识元器件,到最后完成一个系统,在这个过程中学习了许多新的专业知识,同时也学会了许多社会人文知识,锻炼了自己动手动脑的能力。在此,对我毕业设计提拱指导帮助的所有老师,表示是衷心的感谢,对在设计过程中遇到困难时,得到帮助的朋友、同学,表示诚挚的谢意附录附录一设计总电路图附录二程序设计流程图开始初始化从存储器读充卡记录总数NUM扫描键盘读键、判键数字回车键读存储器售卡记录显示进入读写IC卡处理NUM1023查询键通信键其他键回放存储器售卡记录并清空YN图8主程序流程图YN结束功能数字确定数字显示、存储等处理确定功能执行并处理开始检测按键判断是数字键还是功能键图9键盘处理程序流程图结束检测忙信号写命令写数据显示设置8位2行5X7点阵显示器、光标、闪烁设置光标移动设置开始清显示图10LCD显示流程图发送接收初始化开始判断是否是发送或请求命令发送数据接收数据结束图11串口通信流程图初始化开始判断写入还是读出读存储器数据写数据到存储器结束图12存储器流程图附录三部分设计源代码1主程序代码IOBITP10CLKBITP11RSTBITP12ICSWBITP16PWRBITP17PSC1EQU0FFHPSC2EQU0FFHPSC3EQU0FFHORG0000HLJMPMAIN;主程序ORG0030HMAINCLREA;关中断MOVSP,60H;设置堆栈LCALLPWRON;上电控制LCALLRESET;复位MOVR0,30H;设置读数据缓冲区1首地址LCALLREAD;读主存储器NOP;断点LCALLCOMP;PSC校验XRLA,R4;断点,检查PSC校验是否正确JNZEXIT;PSC校验失败退出MOVR0,50H;设置写数据缓冲区首地址LCALLWRITE;修改主存储器MOVR0,40H;设置读数据缓冲区2首地址LCALLREAD;读主存储器EXITNOP;断点LCALLPWROFF;下电控制SJMP;读主存储器子程序READMOVR7,30H;设置读主存储器命令控制字MOVR6,20H;取读主存储器命令地址字MOVR5,00H;设置读主存储器命令数据字任意MOVR4,21H;取要读的字节数MOVR3,21H;要读的字节数暂存R3MOVR2,00HLCALLCOMMAND;送命令给卡READ0LCALLSHIN;读数据输出数据模式MOVR0,A;送数据入数据缓冲区INCR0DJNZR4,READ0;未读完继续CLRC;计算剩余的主存储器字节数MOVA,0FFHSUBBA,R6SUBBA,R3INCAMOVR2,AREAD1LCALLSHIN;读入剩余的主存储器字节DJNZR2,READ1SETBCLK;发送一个附加脉冲LCALLDELAY_4SCLRCLKLCALLDELAY_4SSETBIO;置位数据线LCALLDELAY_4SRET;修改主存储器子程序WRITEMOVR4,21H;取要写的字节数WRITE0MOVR7,38H;设置修改主存储器命令控制字MOVR6,20H;取修改主存储器命令地址字MOVA,R0MOVR5,A;取修改主存储器命令数据字LCALLCOMMAND;送修改主存储器命令给卡LCALLOPERA254;处理模式INC32H;地址字指向主存储器下一个单元INCR0;指向下一个数据DJNZR4,WRITE0;未写完继续RET;PSC校验子程序COMPMOVR7,31H;设置读加密存储器命令控制字MOVR6,00H;设置读加密存储器命令地址字00H为错误计数器MOVR5,00H;设置读加密存储器命令数据字任意LCALLCOMMAND;送读加密存储器命令LCALLSHIN;读错误计数器MOV22H,A;错误计数器值暂存22H单元LCALLSHIN;继续读入加密存储器后3个字节MOV23H,ALCALLSHINMOV24H,ALCALLSHINMOV25H,AMOVA,22HSETBIO;附加一个脉冲,置数据线为高LCALLDELAY_4SSETBCLKLCALLDELAY_4SCLRCLKJBACC0,NEXT0;判断错误计数器中是否还有“1”JBACC1,NEXT1;如有“1”则减去一个“1”JBACC0,COMP2LJMPEXIT;错误计数器为全“0”退出NEXT0MOVR5,06HMOVR4,07HAJMPCOMP0NEXT1MOVR5,04HMOVR4,06HAJMPCOMP0NEXT2MOVR5,00HMOVR4,04HCOMP0MOVR7,39H;设置修改加密存储器命令控制字MOVR6,00H;设置修改加密存储器命令地址字错误计数器LCALLCOMMAND;送修改加密存储器命令错误计数器减一个1LCALLOPERA123;处理模式MOVR7,33H;设置PSC校验命令控制字MOVR6,01H;设置PSC校验命令地址字MOVR5,PSC1;取PSC第1个字节LCALLCOMMAND;送PSC校验命令给卡LCALLOPERA123;处理模式MOVR7,33H;设置PSC校验命令控制字MOVR6,02H;设置PSC校验命令地址字MOVR5,PSC2;取PSC第2个字节LCALLCOMMAND;送PSC校验命令给卡LCALLOPERA123;处理模式MOVR7,33H;设置PSC校验命令控制字MOVR6,03H;设置PSC校验命令地址字MOVR5,PSC3;取PSC第3个字节LCALLCOMMAND;送PSC校验命令给卡LCALLOPERA123;处理模式MOVR7,39H;设置修改加密存储器命令控制字MOVR6,00H;设置修改加密存储器命令地址字错误计数器MOVR5,R4;取修改加密存储器命令数据字擦除错误计数器LCALLCOMMAND;送修改加密存储器擦除错误计数器命令给卡LCALLOPERA123;处理模式MOVR7,31H;设置读加密存储器命令控制字MOVR6,00H;设置读加密存储器命令地址字错误计数器MOVR5,00H;设置读加密存储器命令数据字任意LCALLCOMMAND;送读加密存储器命令给卡LCALLSHIN;读加密存储器的错误计数器MOV22H,ALCALLSHIN;读加密存储器的后3个字节MOV23H,ALCALLSHINMOV24H,ALCALLSHINMOV25H,AMOVA,22HSETBIO;附加一个脉冲,置数据线为高LCALLDELAY_4SSETBCLKLCALLDELAY_4SCLRCLKEXITRET;命令子程序;该子程序送出3字节的SLE4442命令;入口参数R7为控制字,R6为地址字,R5为数据字;调用时CLK为低,IO为高;返回时CLK为高,IO为高COMMANDSETBCLKLCALLDELAY_12SCLRIOLCALLDELAY_4SCLRCLKLCALLDELAY_4SMOVA,R7LCALLSHOUTMOVA,R6LCALLSHOUTMOVA,R5LCALLSHOUTLCALLDELAY_4SCLRIOLCALLDELAY_4SSETBCLKLCALLDELAY_4SSETBIORET;串行输出一个字节子程序SHOUTPUSHBMOVB,08HX42RRCAMOVIO,CNOPSETBCLKLCALLDELAY_4SCLRCLKLCALLDELAY_4SDJNZB,X42POPBRET;串行输入一个字节子程序SHINCLRCLKPUSHBMOVB,08HX43LCALLDELAY_4SSETBCLKMOVC,IORRCALCALLDELAY_4SCLRCLKDJNZB,X43POPBRET;处理模式1子程序OPERA123MOVR7,123DCLRCLKCLRIOLCALLDELAY_4SOPERA0SETBCLKLCALLDELAY_4SCLRCLKLCALLDELAY_4SOPERA0SETBCLKLCALLDELAY_4SCLRCLKLCALLDELAY_4SDJNZR7,OPERA0SETBIOLCALLDELAY_4SSETBCLKLCALLDELAY_4SCLRCLKRET;处理模式2子程序OPERA254MOVR7,254DCLRCLKCLRIOLCALLDELAY_4SOPERA1SETBCLKLCALLDELAY_4SCLRCLKLCALLDELAY_4SDJNZR7,OPERA1SETBIOLCALLDELAY_4SSETBCLKLCALLDELAY_4SCLRCLKRET;复位子程序RESETCLRRSTCLRCLKCLRIOLCALLDELAY_12SLCALLDELAY_12SSETBRSTLCALLDELAY_12SSETBCLKLCALLDELAY_12SCLRCLKLCALLDELAY_12SCLRRSTLCALLDELAY_12SMOVB,20HRESET0SETBCLKLCALLDELAY_12SCLRCLKLCALLDELAY_12SDJNZB,RESET0SETBIORET;上电控制子程序PWRONCLRRSTCLRIOCLRCLKLCALLRECOGCLRRSTCLRCLKLCALLDELAY_10MSCLRPWRCLRIORETRECOGJBICSW,RECOGLCALLDELAY_10MSJBICSW,RECOGRET;下电控制子程序PWROFFCLRRSTCLRCLKCLRIOLCALLDELAY_10MSSETBPWRRETEND;键盘扫描程序KEYMOVP2,0FH;用反转法查键MOVA,P2ANLA,0FHMOVB,AMOVP2,0F0HMOVA,P2ANLA,0F0HORLA,BCJNEA,0FFH,KEY1RET;无键按下KEY1MOVB,A;有键按下,存键码MOVDPTR,TABLEMOVR3,0FFH;存顺序码单元初始化KEY2INCR3MOVA,R3MOVCA,ADPTRCJNEA,B,KEY3;判键码,求顺序码MOVA,R3;若找到键码,存顺序码RETKEY3CJNEA,0FFH,KEY2;判是否查完RET;已查完,键码未找到,以无按键处理TABLEDB77H,7BH,0BBH;按键特征码表DB0DBH,7DH,0BDHDB0DDH,7EH,0BEHDB0DEH,0B7H,0D7HDB0EEH,0EDH,0EBHDB0E7H,0C7H,0FFH;显示程序DISPCLRP10;清CLKCLRP12;清ENMOVR2,04;置传送位数MOVA,00LCALLW14499;调送数显示MOVA,R1;读要显示的数MOVR2,08;置传送位数LCALLW14499INCR1MOVA,R1MOVR2,08;置传送位数LCALLW14499SETBP12;置EN位RETW14499SETBP10;清CLKRLCA;准备逐位送数显示MOVP11,C;将数移入DACLRP10;清CLKDJNZR2,W14499RET参考文献1余永权ATMEL89系列单片机应用技术北京航空航天大学出版社2何立民单片机应用程序设计技术北京航空航天大学出版社3沈宇超,沈树群射频识别技术及其发展现状电子技术应用4宁改娣危建国C51程序设计科学出版社5谭浩强C语言程序设计(第二版)清华大学出版社6周航慈单片机程序设计技术北京北京航空航天大学出版社7EDN电子设计技术网8沙占友,等单片机外围电路设计M电子工业出版社GANEMPLOYMENTTRIBUNALCLAIMEMPLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTITIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 退工用带合同(标准版)
- 医院医疗设备维护及保养服务合同
- 传媒行业员工聘用合同法律解析
- 品牌营销推广代理合同协议
- 婚前房产约定协议5篇
- 钢筋工协议书5篇
- 工程专用合同条款5篇
- 小区安全培训试题及答案解析
- 商务酒店经营承包协议6篇
- 化工厂二级安全培训试题及答案解析
- 《中国文学批评史》课件
- 职工医疗互助讲课课件
- 《酒店新员工培训》课件
- 实习动员大会主持词开场白范文
- 小学信息科技《数据与编码-探索生活中的“编码”》教学设计
- GB/T 28619-2024再制造术语
- 《传感器与检测技术》教学教案集
- DL∕T 5372-2017 水电水利工程金属结构与机电设备安装安全技术规程
- DZ/T 0462.3-2023 矿产资源“三率”指标要求 第3部分:铁、锰、铬、钒、钛(正式版)
- 农村特岗教师聘用合同书
- GB/T 232-2024金属材料弯曲试验方法
评论
0/150
提交评论