当前位置RFID世界网 > 技术文章 > 其它 > 正文

智能卡COS底层无关性设计

作者:李铁军,何永洪 来源:网络 2012-06-27 14:42:49

摘要:介绍了以单片机AT89C51为核心的IC卡系统的设计。设计了单片机控制IC卡数据读写的软/硬件、LCD显示以及与PC机之间的串口通信。

关键词:AT24C08[0篇]  AT89C51[1篇]  I2C[1篇]  LCD[2篇]  串口通信[3篇]  

  由图2的接口电路可以看出,AT24C08的时钟、上/下电及读写操作均由单片机控制,因此单片机编程时应符合AT24C08的传输协议和操作命令。本设计首先按照要求编写对AT24C08进行操作的子程序,再编写主程序组成完整的IC卡读写系统[3]。几个主要子程序和IC卡读卡器对AT24C08的操作流程图如图4所示。

  3 LCD显示

  字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16×1、20×2、40×2行等模块。本文用1602字符型液晶显示器显示读卡器读出的信息。1602的引脚说明如表2所示、与单片机AT89C51的接口电路如图5所示。

  单片机读出IC卡的数据通过P0口送到液晶显示器显示,可分2行共显示32个字符,也就是16个字节的十六进制数据,通过上位机控制读数据起始地址可移动显示数据。1602可直接显示字符型数据,IC卡读出的十六进制数据需转换成字符型数据再送到液晶屏显示。

  4 单片机与计算机的串口通信

  4.1 单片机与计算机的硬件接口

  PC机串口通常采用RS-232电平,而单片机串口是TTL电平,二者不兼容。所以,接口必须做电平转换处理。在此,采用MAXIM公司的MAX232芯片进行电平转换。AT89C51单片机TXD端连接到MAX232的T1IN端,用于发送数据;PC机的RD端连接到MAX232的T1OUT端,用于接收数据;AT89C51单片机RXD端连接到MAX232的R1OUT端,用于接收数据;PC机的TD端连接到MAX232的R1IN端,用于发送数据。

  4.2 用MSComm控件实现串口通信

  MSComm控件是Microsoft公司为简化Windows下串行通信编程而提供的ActiveX控件[4]。它提供了一系列标准通信命令的使用接口,可建立起与串口的连接,并可通过串口连接到其他通信设备(如Modem),从而实现发出命令、交换数据以及监视和响应串行连接中发生的事件和错误等功能。MSComm控件也可用于创建电话拨号程序、串行口通信程序和功能完备的终端程序。MSComm控件提供了事件驱动法和查询法2种处理通信的方式。在使用事件驱动法设计程序时,每当有新字符到达、端口状态改变或发生错误时,MSComm控件都将触发事件,应用程序在捕获该事件后通过检查MSComm控件的CommEvent属性可获知所发生的事件或错误,从而采取相应的操作。这种方法的优点是程序响应及时,可靠性高。虽然查询方式实质上还是属于事件驱动,但在有些情况下这种方式显得更为便捷。它适合于较小的应用程序,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性以检查执行结果或某一事件是否发生。

  本文设计的基于MSC-51单片机的IC卡系统硬件电路,用单片机模拟I2C的时序,使用了C语言编写源程序[5]。通过对单片机和LCD的进一步开发,可以使IC卡的使用能够脱离读卡器终端设备的限制,设计成为手持式的IC卡系统。

 已有0条评论 我要评论 联系编辑 分享到:网易新浪腾讯人人开心网豆瓣MSN


最新评论(加载最新评论):


上一篇:TMP03/04型 数字温度传感器的工作原理

下一篇:testo Saveris温湿度无线传输测量系统(连续在线测量)


相关文章:


关键字搜索:


新闻中心:AT24C08[0篇]  AT89C51[0篇]  I2C[0篇]  LCD[3篇]  串口通信[0篇]  

成功应用:AT24C08[0篇]  AT89C51[0篇]  I2C[0篇]  LCD[0篇]  串口通信[0篇]  

解决方案:AT24C08[0篇]  AT89C51[0篇]  I2C[0篇]  LCD[0篇]  串口通信[0篇]  


图片文章: