1、 本科 毕业 设计 (论文 ) (二零 届) IC 卡消费机设计 软件设计 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘 要 接触式 IC 卡消费机结构简单,通用性好,功耗低,已经在许多场合得到应用。论文描述了 IC 卡消费系统的发展和现状,并详细 阐述了系统各个模块的组成和基本原理,通过对 IC 卡消费机的方案设计与论证,给出了以 AT89S52 单片机作为微控制器,基于美信公司的 MAX232 芯片设计通讯电路的接触式 IC 卡消费机,阐述了该系统的组成、工作原理以及相应的软硬件设计。根据课题的要求,详细介绍了各功能模块的软件设计思路和编程方法
2、,其中包括以下几个功能模块的设计:主程序设计,键盘显示及控制电路的程序设计,读写和数据的存储电路的程序设计,数据通讯电路等的程序设计。 关键词: 接触式 IC 卡,单片机,数据通讯,软件设计,流程图 II The software design of consumption machine based on IC card Abstract Contact IC card consumption machine has a lot of advantages and has been widely used. This paper describes the development and s
3、tatus of IC card consumption system, and briefly introduce the composition of the various modules of the system and basic principles. Through the design and feasibility studies of IC card consumption machine, the corresponding hardware circuits are given. Then according to the requirements of the su
4、bject, the various functional modules of software design ideas and programming methods are described in detail, including the main program , the keyboard display and control circuit program, reading and writing data storage circuit program, data communication circuit program and so on. Keywords: Con
5、tact IC Card, Single Chip Microcomputer, Data Communication, Software Design, Flow Chart III 目录 摘 要 . I Abstract . II 1 绪论 . 1 1.1课题的来源 . 1 1.2课题的意 义 . 1 1.3 IC卡消 费机的国内外发展现状 . 2 1.3.1 国 内发展现状 . 2 1.3.2 国外 发展现状 . 2 1.4课 题研究的主要内容 . 3 2 IC卡消 费机系统总体设计 . 4 2.1 IC卡 消费系统的方案设计 . 4 2.2各模 块方案选择与论证 . 4 2.2.1键
6、盘模块的选择 . 4 2.2.2显 示模块的选择 . 5 2.2.3通讯 方式的选择 . 5 2.2.4读写 模块的选择 . 5 2.3 系统 总体设计 . 5 3系统硬 件设计与实现 . 7 3.1单片机 AT89S52简 介 . 7 3.2单片 机控制电路 . 9 3.3键盘 输入电路 . 9 3.4液晶 显示电 路 . 10 3.5 通讯 电路设计 . 11 3.6 SLE4442卡 座电路 . 11 4系统软 件设计与实现 . 12 4.1软件设 计环境 . 12 4.2主 程序的设计 . 12 4.3 IC卡读写程 序设计 . 13 4.3.1 SLE4442特点 . 13 4.3.
7、2 SLE4442读写协议 . 14 4.3.3 SLE4442卡的 复位操作 . 15 4.3.4 判断 卡合法设计 . 16 4.3.5 读写 卡流程 . 17 4.4 键盘 与显示系统设计 . 18 IV 4.5 通信 部分程序设 计 . 21 结论 . 24 参考文献 . 25 致谢 . 错误 !未定义书签。 附录 . 27 附录图 1 硬件连接图 . 27 附录图 2 PCB版图 . 28 附录图 3 PCB底版正面 . 28 附录图 4 PCB底版反面 . 29 附录图 5 SLE4442卡 . 29 附录图 6 消费机实物 1 . 30 附录图 7 消费机实物 2 . 30 附录
8、 8 程序 . 31 IC 卡消费机设计 软件设计 1 1 绪论 1.1 课题的来源 在二十一世纪,随着信息科学技术的快速发展,信息化的浪潮也是一浪高过一浪,人们的生活水平也在不断地提高,智能化控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否 定的,其中 IC 卡消费机就是一个很好的典型的例子,但人们对它的要求也在越来越高,要为现代人类的生活和工作等提供更好更方便的设施就需要一切向数字化、智能化的方向发展。在 IC 卡技术的发展日益成熟的形势下,智能 IC 卡的应用也已逐渐进入人们的日常生活和工作的各个领域中,这大大地提高了人们工作和生活的现代化程度。 IC 卡是集成电路卡( Int
9、egrated Circuit Card)的英文简称,也称为智能卡( Smart Card)。 IC 卡是在 1970 年由法国人 Roland Moreno 发明的,他第一次将可编程设置的 IC 芯 片放于卡片中,使卡片具有了更多的功能。目前有IC 卡“一卡通”系统、消费系统、考勤系统、门禁系统等。 IC 卡的外型与普通的磁卡所做成的信用卡十分的相似,只不过是略微厚一些。 IC 卡的外型由一块塑料或聚氯乙烯材料作成,通常还会有各种印刷图案、文字和号码在上面,称为“卡基”,在“卡基”的固定位置上嵌装一种特定的IC 芯片就成为我们通常所说的 IC 卡。根据嵌装的芯片不同也就产生了各种类型的 IC
10、 卡。 1.2 课题的意义 互联网的高速发展也带来了许多的安全性问题,从而也加快了安全识别最佳的工具,也就是智能卡的应用。因此 IC 卡最 初是为了解决金融交易中的安全性问题而设计的,它带来全新的交易概念与前所未有的优势。在 IC 卡技术的发展日益成熟的形势下,智能 IC 卡的应用也已逐步进入人们的日常生活和工作的各个领域中,包括通信、交通、医疗卫生、学校、企事业单位内部管理(考勤、饭堂就餐、看病、购物等等)这些领域,这大大地提高了人们工作和生活的现代化程度,并取得了很好的经济效益和社会效益。随着时间的推移,应用范围还在不断扩大,使用 IC 卡的数量亦呈几何级数增长。与此同时,为了满足不同应用
11、场合的需求, IC 卡制造商们仍在不断地向市场推出新的 IC 卡,其中 IC 卡消费机的开发与设计也迅速发展起来。 我国的 IC 卡消费系统市场竞争力也在逐步增强, IC 卡消费系统市场也会逐步地趋于成熟。但对于尖端的 IC 卡技术,我国还是处于落后状态,这也制约了其发展,特别是在要求有相当高的安全性和保密性的金融行业。因此设计和IC 卡消费机设计 软件设计 2 开发出更好的 IC 卡消费系统,对加快我国 IC 卡行业的发展,有着非常重大的意义,这既是市场应用的需求,也是未来的发展趋势。 1.3 IC 卡消费机的国内外发展现状 按照芯片的性能, IC 卡初步可以分为智能卡和存储卡两种;按照其与
12、终端设备的连接方式, IC 卡又可以分为接触型 IC 卡 和非接触型 IC 卡两大类。现在在社会上比较多见的是接触式 IC 卡。它具有较大的存储容量,安全性能好,还可以实现一卡多用这些优势。 接触式 IC 卡,也就是在使用时,通过有形的金属电极触点将卡的集成电路与外部接口设备直接接触连接,提供集成电路工作的电源,并且通过串行方式与读写器进行数据交换的一种集成电路卡。其芯片一般采用不易挥发性的存储器( ROM、 EEPROM)、保护逻辑电路、甚至还带微处理器 CPU。在这种卡片的集成电路中有 8 个触点可与外面接触,其特点是卡必须插入读卡器中才能进行读写操作。 1.3.1 国内发展现状 我国对
13、IC 卡行业的发展始于 1994 年, IC 卡虽然进入中国较晚,但在政府的大力支持下,发展迅速。当时的中央领导高度重视 IC 卡行业,他们高瞻远瞩,指示要发展我国自己的 IC 卡事业,建立“金卡工程”。至今短短的十几年时间却是已经取得了不小的成就。 IC 卡的应用推广非常快, 96、 97 两年 IC 卡应用达到 6000 万张, 98 年一年就达到 8000 万张。目前国内 IC 卡主要是采用德国SIEMENS 和美国 ATMEL 的 IC 芯片,其他芯片厂家如韩国三星等也都已经开始在国内供货了。 目前在我国,随着金卡工程建设的不断深入和发展, IC 卡系统 已经在众多领域中获得了广泛的应
14、用,并且取得了初步的社会效益。在政府管理的大力支持和技术研发水平的提升下, IC 卡市场竞争力将会发生深刻的变化。今后的几年,是我国 IC 卡系统应用向纵深发展的时期。 1.3.2 国外发展现状 IC 卡的发展历史其实并不久远,而且全球各地的发展也并不均衡,其中欧洲地区的发展较其他地区稍好一点。 IC 卡自 20 世纪 70 年代问世以来,在近 30年的时间里发展迅速。 据 Innovation 国际发明组织统计, 2005 年 10 月至 2006 年 9 月,全世界的IC 卡硬件产业中有 42000 万张,其中法国占了 98%,处于世界领先地位。目前,法国所生产制造的 IC 卡不仅仅在数量
15、上领先于各国,其应用领域也是灵活多IC 卡消费机设计 软件设计 3 样,比如在金融、医疗、电信和交通运输等各个领域都有 IC 卡的应用,其中电子金融卡等己经达到经济生产规模。 1.4 课题研究的主要内容 IC 卡消费系统是 IC 卡最广泛的应用之一,已经在许多场合得到应 用。 IC卡消费系统主要分成二大部分:上位微机的 IC 卡管理系统、基于单片机的 IC卡消费机。本课题主要任务是完成对接触式 IC 卡消费机的键盘输入、液晶显示及控制电路、读写与数据存储电路、数据通讯 电路等电路的设计。在本设计中我所负责的 是软件部分的设计。 接触式 IC 卡消费机的软件设计主要内容如下: 1) 主程序设计;
16、 2) 键盘显示及控制电路的程序设计; 3) 读写和数据的存储电路的程序设计; 4) 数据通讯电路等的程序设计。 本设计将采用以 AT89S52 单片机为核心的,用 KEIL 软件来编写汇编语言程序,一个好的程序设计思想应该加上适当的编 译软件、仿真器和编程器,这是单片机软件开发的基本要求。本系统程序的设 计以模块化和结构化的设计思想为指导。德国的 KEIL 软件公司的编译器可直接对 AT89S52 单片机的内部特殊功能寄存器和 I/O 口进行操作 ,直接访问片内或片外存储器,还可进行各种 位操作,能产生简洁而又高效率的程序代码。考虑 到汇编语言能够直接访问与硬件相关的存储器或 I/O 端口,
17、还能够对关键代码进行更准确的控制, 避免因线程共同访问或者硬件设备共享引起的死锁等优点 ,因此本系统在设计中多数的程序将会使用汇编语言进行设计,少数的一些程 序将会用 C 语言编写,然后再用汇编语言进行调用。 IC 卡消费机设计 软件设计 4 2 IC 卡消费机系统总体设计 2.1 IC 卡 消费系统的方案设计 目前我们经常接触到的 IC 卡有两种:接触式 IC 卡和非接触式的 IC 卡。接触式 IC 卡是通过机械触点从读写器上获取能 量和交换数据;非接触式 IC 卡则是通过线圈射频感应从读写器上获取能量和交 换数据,因此又称为射频卡。现在社会上比较多看到的是接触式 IC 卡,它的存储量较大,
18、也可以实现一卡多用等功能。 IC 卡消费系统的设计应包括管理主机( PC 机)、消费机、打印机、发卡机和通讯接口设计等。该系统的总体组成框图如 图 2-1 所示。 图 2-1 IC 卡消费系统组成框图 各部分功能介绍如下: PC 机功能:主要是负责 IC 卡的管理、数据采集和系统的维护等。 消费机功能:当持卡人拿 IC 卡进行消费时,消费机首先会对 IC 卡进行认证,它会校验 IC 卡是否 为合法的卡,再通过校验密码来确认持卡人的 合法性。输入密码错误时,消费机会发出警报。 发卡器功能:发卡器是将个人信息输入到新卡 中,并且固化在卡片保护区内,由于固化的信息是唯一 的,因此每张卡片的信息都不相
19、同,这样提高 了消费机判别 IC 卡有效性的准确度。 通讯接口电路的功能:通讯接口电路是 PC 机采集数据的主要通道,也是各消费机与 PC 机进行联系的必经之路,它在系统中发挥着重 要的作用。 2.2 各模块方案选择与论证 2.2.1 键盘模块的选择 矩阵式键盘是由行线和列线来组成的,按键则位于行列的交叉点上,这种方式可 以节省很多的 I/O 资源,而且很使用起来灵活又方便,但是得用软件编IC 卡消费机设计 软件设计 5 程来消抖。矩阵式键盘较适用于按键数量多的场合,所以该系统采用的是矩阵式按键。 2.2.2 显示模块的选择 现在人们采用的显示方式多数为 LED 显示或 LCD 液晶显示屏来显
20、示信息。LED 数码管显示对外界环境的要求较低,操作也简单方便,但是它采用的是动态扫描,占用资源比较多。而液晶显示屏可以显示较多的信息量,且轻薄短小,功耗低,因此选用 LCD1602 液晶显示。 2.2.3 通讯方式的选择 常用的通讯方式有两种:一种是 RS 232 串行通讯,另一种是 RS 485 串行通讯。 RS 485 串行通讯主要是作为工业领域的数据交换手段,它采用差分传输方式,具有较好的抑制共模信号能力,其通讯距离可达 1200 米,最高速率是 10Mb/s。而 RS-232 串行通讯则被定义为是一种在低速率串行通讯中增加通讯距离的单端标准,其采取不平衡传输方式,即所谓单端通讯。本系
21、统中采用RS 232 的串行通讯方式,可以实现将收费机数据传送到控制主机的单端通讯,虽然传输速率不是很高,但是十分可靠。 2.2.4 读写模块的选择 用单片机来实现对 IC 卡的读写,首先就是卡片的选择,考虑到保密性和可靠性以 及成本的要求,本系统采用西门子的 SLE4442 卡,这也是本设计的关键技术之一。 2.3 系统总体设计 本设计的基本要求主要有:用 C 语言或汇编语言编写程序。 1) 主程序结构设计及其程序编写; 2) 子程序结构设计及其程序编写; 在设计完成后将要达到的主要指标有以下几点: 1) 显示系统: LCD 液晶显示,能显示系统时钟和卡片信息; 2) 按键操作:能实现对系统的设置和卡上数据的操作; 3) 存储容量:一般可存储 2000 条交易和 10000 张以上的卡片信息; 4) 保密性和防伪性:能够辨别卡的密码,若感应到在非授权的范围内应作出报警处理; 根据上述 分析,系统的总体设计方案如下:本课题所要设计的是接触式 IC卡消费机,该系统采用 RS 232 通讯,用 SLE4442 卡作为数据存储的载体,用采用 LCD1602 液晶显示,采用 AT89S52 单片机,完成对收费机包括键盘、显 示、