单片机;射频卡;读写卡;无线技术_第1页
单片机;射频卡;读写卡;无线技术_第2页
单片机;射频卡;读写卡;无线技术_第3页
单片机;射频卡;读写卡;无线技术_第4页
单片机;射频卡;读写卡;无线技术_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

XLIV第4章系统软件部分设计4.1软件开发环境的介绍本系统采用的是Keil软件进行仿真,对于C51单片机程序开发有很好的兼容性,而且采用的是C语言进行编程工作,C语言的的优势在于代码量小在编译过程中节约时间,以最少的代码量发挥最大的功能,而且运行速度快,因为c语言是通过源代码直接编译成机器码,减少了字节码的数量,功能强大,现在所使用的系统都是C语言进行编写的,Keil同样是一个强大的仿真软件,包含了C语言编译器、数据库、宏汇编等一切开发工具,拥有良好的集成开发环境,而且可以兼容任何系统,如果使用C语言进行编程,Keil是最好的选择,可以将功能发挥到最大限度,如果使用其他语言进行编写,Keil用适用,相较于其他仿真软件来说,它强大的功能以及很好的兼容性,仍然是同类仿真软件中的佼佼者。4.2系统重要函数的介绍4.2.1主函数的设计在编写程序之前,要先对主函数进行设计,首先是voidmain()函数,是整个程序开始编写的第一步,所有的程序开头都会含有此函数,在主函数编写之前需要对使用的模块进行定义和变量赋值,定义模块就是将所用到的器件进行初始化,之后就会出现循环,如果没有循环就会立即退出,循环的目的是为了,反复进行指令达到最终的执行命令,在这里要强调主函数中不能放置过多的代码,一些关键的指令代码,即各模块在程序中的使用代码,需要进行封装后,用主函数voidmain()进行调用,这样可以减少主函数出现问题的机率,同时也方便代码的修改。具体流程图如图4-1所示。图4-1主函数流程图4.2.2LCD12864显示函数的设计LCD12864的显示模块的编写工作较为容易,只需要根据时序要求进行编写即可,编写的第一步就是就是通过命令写入地址,该地址为需要显示的区域的地址,之后将获取的数据按顺序写入到指令中,当显示一个内容之后,地址会随之加一,以此类推,函数名LCD12864_display_string(ucharx,uchary,uchar*s),由此可知,其参数分别为x、y、*s,x代表横坐标,y代表纵坐标,(x,y)为显示屏的位置坐标,*s为字符数组,地址是根据位置坐标得出的,此时需要软件进行计算。显示函数流程图如图4-2所示。图4-2显示子函数流程图4.2.3匹配IC卡程序设计匹配IC卡程序是整个设计中最关键的一环,该部分将决定能否达到所需功能,因此在设计过程中要慎重考虑到每一步,若其中一步出现错误,就会导致无法弥补的后果,出于对安全性的考虑,尽量避免此类情况出现。程序的第一步就是寻找IC卡,才能进行识别,之后进行防冲撞检测,目的是为了使两张卡区分卡,不能一起食用,最终确定一张卡作为主IC卡,进行匹配密码,若匹配成功,则进行读卡操作,若没有匹配成功,则返回第一步重新寻找IC卡重新定义。流程图如图4-3所示。图4-3匹配IC卡流程图4.2.4矩阵键盘检测函数的设计以矩阵键盘中的P3口为例进行程序检测,首先在键盘中的P3.0-P3.3行线处于低电平,判断P3.5-P3.7是否出现低电平,若按下按键中的其中一个,则在P3.5-P3.7之间至少有一列为低电平,若没有按键被按下,则不会有低电平现象出现。在按下一个按键之后需进一步的确定,为了确定是哪一个按键,需要将P3.0-P3.3行线都处于低电平状态,之后选择其中一行为低电平,其余的行为高电平,确定一行线为低电平时,根据列线是否为低电平,以此来判断行列是否相交,已知得出一列为低电平,则行列相交的那个键就是被按下的键,矩阵键盘的检测函数流程图如图4-4所示。图4-4矩阵键盘检测函数流程图本章小结本章主要介绍了Keil仿真软件,本系统采用的是C语言进行编写,所以Keil软件是最合适的选择,之后对系统的重要函数进行介绍,其中包括主函数、LCD12864显示函数、匹配IC卡程序以及矩阵键盘检测函数,主函数是整个程序中的起点,LCD12864显示函数用于显示所需的信息,匹配IC卡事设计中尤为关键的一步,不可马虎,矩阵键盘检测函数是为了检测是有几个按键被按下。第5章程序的安装与调试首先是对硬件进行调试,主要是对电路板进行检查,是否出现漏焊、虚焊的地方,还有就是对连接处进行检查,是否有短路、断线的情况出现,将电路板与PCB图进行比较,检查元件的摆放位置是否为图中位置,当出现上述问题时,需要用万用表进行检测,当出现蜂鸣声时说明此处确实存在问题,映带对其进行分析并改正,最后需要通过软件支持完成最后的调试工作。将编写好的程序生成HEX文件,之后通过下载器下载到单片机中。具体下载过程为:首先有一根线将板子上的单片机和电脑连接,那么这根线就叫作下载器。下一步,电脑上需要安装下载器对应的驱动。再来,电脑上需要有下载程序的软件。下载程序的时候就只需要在软件中选择好需要下载的程序,点击下载即可。具备以上三点就可以将程序从电脑下载到单片机中了。(STC和AT这两个单片机的下载程序的方法不同,STC单片机用串行下载线就可以了,而AT单片机需要用专门的下载器。对应的下载器驱动也需要安装对应的。下载软件也是需要对应支持。我们下载程序的时候下载软件:通过观察整个系统运行的状态,不断进行修改调试程序,最终得到一个完整程序。)在调试过程中也存在着问题,比如在读取IC卡过程中发现无法进行识别,这可能是读写模块的代码编写错误或者在焊接过程出现错误,通过对以上方面进行分析发现,最终是在电路程序编写过程中代码出现错误,改正之后,卡片可正常读取,还有就是在进行刷卡消费时,屏幕闪烁,这个问题看似容易,其实改正花了很长时间,将卡片放在读卡器上,屏上会出现余额等内容显示,过了一会屏幕上的信息消失,主要是系统没有实现复位功能,通过检查代码,屏幕显示部分没有编写复位功能的代码,代码别写完成后,重新将改好的文件下载到单片机中进行测试,最终解决了屏幕闪烁的问题,主要就问题就是以上两点。结论本设计主要完成基于射频实现刷卡电路的设计与制作。对于射频卡刷卡机的设计涉及硬件系统设计和软件系统设计进行调试。这次设计中用到了Keil仿真软件、protues仿真,以及单片机的相关技术,以单片机为控制核心,可对公交卡刷卡和饭卡刷卡等IC卡受控对象工作状态进行控制,实现无线技术完成IC卡刷卡系统的模拟操作,实现了通过键盘进行IC卡的充值消费功能,并显示出金额,可以进行会员卡的注册和注销。本系统用到的单片机是STC89C2单片机,读卡器RC522走的是SPI总线。LCD12864显示屏用来显示卡的卡号及卡内金额的信息,将卡的卡号,卡内金额等信息通过PS232总线传递数据,并通过操作读取卡的信息,然后把这些信息反馈给单片机,再通过LCD12864上的显示屏显示卡的相关信息。文中包括方案的选择,主控芯片的选择,数据存储芯片的选择,射频卡的选择,显示器件的选择和调试时遇到的问题等。在本文中论述了射频识别技术的主要应用和发展前景,介绍了硬件系统、软件系统的开发过程,通过对硬件系统和软件系统的仔细调试,发现了存在的一些问题,

温馨提示

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

评论

0/150

提交评论