基于单片机的食堂IC卡设计(软件部分)_第1页
基于单片机的食堂IC卡设计(软件部分)_第2页
基于单片机的食堂IC卡设计(软件部分)_第3页
基于单片机的食堂IC卡设计(软件部分)_第4页
基于单片机的食堂IC卡设计(软件部分)_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、论文题目:基于单片机的食堂IC卡系统设计(软件专业:自动化本科生:(签名_指导老师:(签名_摘要随着中国经济的不断提高,人们生活水平的日渐提升,各单位企业的人数也在不断增加,解决员工就餐问题成了一些企业要解决的首要问题。在电子信息技术和计算机技术高度发达的今天,人们把智能IC卡应用到多个领域,当然也进入了食堂,这就为许多企事业单位解决了重要的问题。本此设计的食堂IC卡系统利用单片机STC89C52完成了充值、扣费报警、复位等功能。显示部分采用LCD12232液晶显示器,能够支持汉字和数字输出,简单明了。键盘采用4*4键盘模块,输入方便。IC卡采用了西门子公司的SLE4442逻辑加密卡。设计结果

2、表明,此系统设计容易,结构简单,造价低廉,维修方便,能够广泛应用于各种单位的食堂中。关键词:单片机,IC卡,键盘Subject: Design of Canteen IC card system Based On Microcomputer (softwareSpecialty : AutomationName : Shi Lingyan (Signature_ Instructor : Wang Xia (Signature _ABSTRACTWith China's economy constant improving and the improvment of the livin

3、g standards of people, increasing the number of many enterprises have also increased, solving thhis problem has become some more and more importang. In the electronic information technology and computer technology is highly developed today, people to put smart IC card application to DuoGe field, of

4、course, also entered the dining room, this is for many enterprises solve the important problem.The design of the dining room IC card system using microcomputer STC89C52 completed prepaid money and debits function. Show LCD12232 part adopts LCD monitor, able to support the Chinese character and digit

5、al output, simple and clear. The keyboard with 4 * 4 keyboard module, the input is convenient. IC card used the Siemens company SLE4442 logic encryption card. The results indicate that the system design, the design of simple structure, easy maintenance, low cost, convenient are widely used in many k

6、inds of unit of the dining room.KEY WORDS: microcomputer, IC card, Keyboard目录1 绪论 (11.1选题背景 (11.2 IC卡发展与应用 (21.3 设计意义 (32 系统总体方案及硬件选择 (52.1系统功能说明 (52.2 系统总体方案设计 (52.4 IC卡选择 (62.5 键盘选择 (72.6显示器选择 (73 硬件电路设计 (93.1 单片机部分 (93.1.1单片机STC89C52 (93.1.2 主要管脚介绍 (103.1.3芯片擦除 (113.1.4单片机最小系统电路 (113.2 SLE4442部分

7、(133.2.1 SLE4442主要指标 (133.2.2 SLE4442引脚的配置 (143.2.3 IC卡接口电路 (143.3 LCD12232液晶显示部分 (153.3.1 LCD12232简介 (153.3.2 液晶显示器技术参数 (163.3.3汉字显示原理 (163.3.4 ASCII码显示原理 (173.3.5液晶显示电路 (183.4 4*4矩阵键盘 (193.5 蜂鸣报警电路 (204 软件设计 (214.1流程框图 (224.2 子程序流程图 (234.2 .1扣费子程序流程图 (234.2.2充值子程序流程图 (235 编程与调试 (255.1 DOS下的C51开发工具

8、 (255.2开发软件Keil介绍 (265.2.1 uVision3集成开发环境简介 (275.2.2如何将代码烧入STC单片机 (285.3调试结果 (285.3.1 上电初始状态 (285.3.2插卡状态 (295.3.3充值状态 (305.3.4扣费状态 (315.3.5 操作成功后状态 (315.3.6错误报警状态 (325.3.7复位后状态 (336 结束语 (336.1 结论 (346.2 展望 (34致谢 (35参考文献 (36论文小结 (37附录 (38附录一:总原理图 (38附录二:程序 (391 绪论IC卡,又称集成电路卡(Integrated Circuit Card或

9、者智能卡(Smart Card,是继磁卡,光电卡之后的新一代标识卡。此类卡具有智能又方便携带的优点,为现代信息处理和传输提供了一种全新的方法。随着社会的不断进步,科学技术的进步,超大规模集成电路、大容量存储芯片以及信息安全技术的发展,IC技术也在不断进步,应用领域不断地扩大,以IC卡为媒介的单片机售饭系统就是一个例子。IC卡的应用提高了人们的生活水平和工作的效率,为人们带来了方便实惠,加快了现代化进度,已经成为一个国家科技水平现代化程度的标志之一。食堂IC卡是适应于就餐人数密集的食堂收费系统,该系统从根本上解决了餐券流通过程中的伪造、丢失,细菌交叉感染等一系列的问题,促进饮食服务管理向规范化、

10、系统化和科学化的方向发展。本次设计采用单片机,外加液晶显示电路、按键控制电路、IC卡接口电路、蜂鸣器报警电路,可以实现充值、扣费、报警等多项功能。本系统具有设计低功耗,可靠性,智能化及低成本等特点。系统采用5V 的直流电源供电。整个系统程序编写所用的软件: Keil。本此设计的食堂IC卡系统利用单片机STC89C52控制整个系统。显示部分采用LCD12232液晶显示器,能够支持汉字和数字输出,简单明了。键盘采用4*4矩阵键盘模块,输入方便。IC卡采用了西门子公司的SLE4442逻辑加密卡。最终实现了预期的充值、扣费、复位、报警等功能。设计结果表明,此系统设计容易,结构简单,造价低廉,维修方便,

11、能够广泛应用于各种单位的食堂中。1.1选题背景以前,各种企事业单位的食堂,人员就餐所用的都是纸质或塑胶质的饭票、菜票、饭卡,或是直接使用现金交易,学校也不例外。但是,这种食堂运作方式存在着方方面面的不足:操作繁琐:传统的食堂收费方式从饭票的印制、售卖、回收、点数、结算每个环节都采用人工进行,且每天、每月都需进行着重复的统计工作,令人繁不胜烦。1随着社会不断进步,在我们生活的万千世界里,人类已进入了科学技术空前发展的信息高速化社会。在这个瞬息万变的信息社会里,随着大规模集成电路、计算机技术的迅速发展,以及人工智能在测试技术方面的广泛应用,逐步形成了一种完全突破传统概念的新一代的仪器智能仪器。目前

12、,而且还出现了不少全新的仪器类型,使现代电子仪器发生了根本性的变化。作为其中之一的IC卡也进入了人们的生活,给人们带来了很多方便实惠。这些电子仪器很多都是由芯片控制的,由于单片机有很多优点,比如集成度高,功能强,通用性好,尤其是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用。目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。本次的食堂IC卡系统设计就是以单片机为核心的智能系统,实现了管理智能化,大大提高了餐饮单位

13、的效率,因而受到了市场的青睐。1.2 IC卡发展与应用IC卡的开发、研制与应用是一项系统工程,涉及到计算机、通讯、网络、软件、卡的读写设备、应用机具等多种产品领域的多种技术学科。因此,全球IC卡产业在技术、市场及应用的竞争中迅速发展起来。IC卡已是当今国际电子信息产业的热点产品之一,除了在商业、医疗、保险、交通、能源、食堂、通讯、安全管理、身份识别等非金融领域得到广泛应用外,在金融领域的应用也日益广泛,影响十分深远。IC卡虽然进入我国较晚,但在政府的大力支持下,发展迅速。1995年底,国家金卡办为统筹规划全国IC卡的应用,组织拟定了(金卡工程非银行卡应用总体规划。为保证IC卡的健康发展,在国务

14、院金卡办的领导下,信息产业部、公安部、卫生部、国家工商管理局等各个部委纷纷制定了IC卡在本行业的发展规划。IC卡在银行系统的应用。银行卡大体分为两类:信用卡和储值卡。信用卡,即贷记卡,有小额信贷功能,即可以小额透支。它要求持卡人有较高的信誉度,透支的钱应及时存入。储值卡,即借记卡,不需要建档案,不需要担保,不能够透支,一般用于小额提取或消费。目前国内各商业银行所发放的银行卡大多数为借记卡。IC卡收费系统。它包括电费、水费、煤气费、通信费等各种消费资源费用的收取。该类系统可以提高管理效率和可靠性。通过预先收费,可以增加管理部门的可用资金,为居民提供优质服务,改变对资源先消费后收费的不合理状况。对

15、于用户而言,IC卡收费可消除收费人员入户的骚扰和准备现金零钱的烦恼;同时,还有利于用户根据自家用电、用水、用煤气的情况,进行计划消费。IC卡医疗保险系统。随着我国医疗体制的改革,居民持保险公司发行的IC卡到医院就医,就医费用将由保险公司支付。医疗IC卡除了具有医疗费用的支付功能外,卡内还可以存储病人的病历。公交管理系统。乘客持公交管理部门发行的预先付费IC卡乘车,上车时只需在汽车门口的收费机前晃一下(主动式卡,收费机自动完成收费。这样,能有效地减少上下车时间,加快车辆周转速度,提高管理效益,杜绝贪污、假币现象。食堂IC卡系统。随着中国人口的不断增加,IC卡进入一些企事业单位就成了一种不可挡的趋

16、势。消费者提前充入一定金额的钱,在就餐时就可以不用带上现金,只需要把卡插入刷卡机就可以显示余额,然后餐厅工作人员扣除此次消费金额,这样可以减少时间,提高效率。其它,还有交警管理系统、工商管理系统、IC卡电子门锁、IC卡税务管理系统、高速公路收费系统等多种IC卡应用系统。IC卡随着半导体技术、大规模集成电路芯片的发展而产生,也必将随着计算机技术、网络技术等的高速发展而迅速发展壮大。不断扩大IC卡的应用领域已成为社会发展的必然需求。在全球IC产业市场竞争更加激烈的情况下,IC卡必然向更高层次方向发展。诸如从接触型IC卡向非接触型IC卡转移,从低存储容量的IC卡向高存储容量发展,从单功能IC卡向多功

17、能IC卡转化,从单系统的IC卡向多系统IC卡转化,由非银行系统转向银行系统应用,由民用转向军用,由局域网向因特网迁移等。新技术不断涌现,IC 卡品种繁多,这充分说明了IC卡的强大生命力。在未来的几年中,IC卡将会越来越多地渗入到人们的生活中。1.3 设计意义在经济高度发达的今天,单片机的应用是具有高度现实意义的。单片机拥有极高的可靠性,微型性和智能性(编写不同的程序后可以就完成不同的控制工作,单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中并且为我们的生活带来了很多便利。单片机在各个领域得到了广泛应用,许多用单片机做控制电子产品出现在人们的生活中,食堂IC

18、卡系统也应运而产生,本次设计用由编程控制液晶显示器和智能IC卡接口电路。该系统具有充值、扣费、报警等功能。它具有价格便宜,性能稳定,操作方便等特点。适合各类学校或者各种企事业单位使用。食堂IC卡系统的成功设计,首先能够解决当前部分单位食堂存在的一些弊端,为消费者和餐厅工作人员带来大大的的方便。其次,在整个系统的软件的编写调试过程中,自己能够学会很多专业知识,进一步巩固自己的编程能力,使自己的计算机能力进一步提高。这样,不仅加强了自己的动手动脑能力,而且还查阅了不少有关方面的资料,也为以后的工作积累更多的资本。总之,通过本次食堂IC卡系统的软件设计,使自己受益匪浅。通过此次基于单片机设计的食堂I

19、C卡系统,我和搭档可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对STC89C52单片机的结构和原理进行讲述,进一步了解基于单片机开发应用的相关芯片的工作原理,并且可以在将来的工作和学习中加以应用。加深了我对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,还更进一步掌握了C语言编程的一些技巧。本系统完成了充值和扣费的功能。显示部分采用LCD12232液晶显示器,能够支持汉字和数字输出,简单明了。键盘采用4*4键盘模块,输入方便。IC卡采用了西门子公司的SLE4442逻辑加密卡。设计结果表明,此系统设计容易,结构简单,造价低廉,维修方便,前些年广

20、泛应用于各种单位的食堂中。本次毕业设计意义主要表现在以下一些方面:(1 食堂IC卡系统电路包含了52系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。(2 可以了解到LCD12232液晶显示器和SLE4442智能IC卡的的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。2 系统总体方案及硬件选择2.1系统功能说明食堂IC卡售饭机系统作为食堂收费终端,根据实际使用环境,应具有如下功能特点,以适用不同阶段数据处理。(1就餐阶段就餐阶段,即实现扣费功能,属于正常使用阶段。在IC卡插入售饭机后,系统能读出IC卡里面预先存储的金额,并能双屏进行显示。售饭员利用键盘按

21、下扣费键,前后端液晶显示器均显示“请输入扣除金额”及可用余额,然后输入就餐者选定的食物的金额,按下确定键,售饭机自动用卡中的金额减去应付金额,操作完成后前后屏幕均显示可用余额。若输入错误,可以按下删除键,进行相应的修改。如果就餐者卡中的余额小于消费的金额,售饭机则给出报警音,提示操作不能成功。(2充值阶段充值阶段,插卡后IC卡售饭机读出卡里的余额,就餐者在充值交纳一定的金额后,通过键盘输入次此充值金额,售饭机自动将此次充值金额加入卡中。操作完成后,屏幕显示充值后卡中的余额。若输入错误,可以按下删除键,进行相应的修改。返回主页面可以按下复位键完成该项操作。2.2 系统总体方案设计根据所述IC卡售

22、饭机的功能特点,售饭机系统需要完成数据的输入、显示和处理三种功能,整个系统的结构框图如图2.1所示。 图2.1系统总体框图由系统总体结构框图可知,食堂IC卡系统主要包括控制系统、显示模块、插卡系统模块、定时报警模块、键盘模块组成。通过这几个模块的协调工作就可以完成相应的操作控制和显示功能。2.4 IC卡选择根据IC卡的读写特点,IC卡主要分为接触型IC卡和射频卡两类。(1接触型IC卡接触型IC卡的表面有6个或8个金属触点,只有在IC插入读写器内后,在微处理器的控制下才能够完成的读写操作。(2射频卡射频卡没有金属触点而是在卡内置有天线射频卡处在读卡器一定距离内时,读写卡器通过发射射频信号对卡进行

23、读写操作。根据IC卡的内部结构,IC卡又可以分为存储卡、逻辑加密卡和CPU卡。(1存储卡存储卡的存储单元一般为电可擦除的存储器EEPROM。存储卡的容量从几十字节到几千字节不等。这类卡具有操作简单、读写速度快,信息存储时间长等优点。如Atmel 公司AT24C01卡,具有128B(bits,典型擦写寿命10万次,数据保存时间100年。但是这类卡不具备加密功能,存储的数据可以很容易地被读出,因而卡内信息的安全性较差,常常用于安全性能不高的场合,如门禁卡、身份识别卡等。(2逻辑加密卡逻辑加密卡内设有硬件逻辑加密电路,只有在输入密码正确后才能进行数据的改写,否则数据只能被读出。而且输入的错误密码达到

24、规定次数后,IC卡自动锁死报废,因而这种卡的安全性能很高。常见的如西门子的SLE4442卡,如果连续三次密码输入错误,卡就会报废。这种卡常常用于对信息保密性较高的领域,非常适合于涉及到金融等方面的应用。综合上述考虑,本系统选用西门子SLE4442逻辑加密型IC卡进行数据的存储和身份的识别。详细介绍见硬件设计部分。2.5 键盘选择单片机系统中常用的键盘有以下两种类型。(1独立型按键独立型按键的一脚通过电阻接电源或者接地,而另一脚接单片机的I/O口。在按键被按下和没有按下时I/O口电平刚好相反。这样通过检测I/O口的电平状态即可判断哪一个按键被按下了。此类按键的特点是按键电路配置灵活,按键的状态识

25、别简单,程序编写相对简单,但是每一个按键需要占用一个I/O口,资源占用率较高,当按键的数量不是很多或者系统有比较多电热I/O口剩余时,可以采用此类设计。(2矩阵式键盘矩阵式键盘有行线和列线组成。按键位于行列线的交叉点上,一个4*4的矩阵式结构就可以构成一个含有16个按键的键盘。按键设置在行列线的交叉点上,行列线分别接到按键开关的两端。行列通过上拉电阻接到+5V上,平时当没有按键按下时,列线处于高电平状态;当有按键按下时,行列线导通,因此列线的电平将由此相连接,各个按键按下与否影响该键所在行列线的电平。这样行列线配合起来进行适当的处理,就可以确定按键的位置。与独立式键盘相比,要节省很多I/O口,

26、适用于按键数量较多的场合。食堂IC卡售饭系统选用STC89C52的I/O端口较多,在实际使用中键盘最好集成在IC卡售饭机以内以防止由于键盘的滑轮造成售饭员的误操作。综合考虑实际使用的情况和价格相比较,本设计采用矩阵式扫描键盘进行数据输入。由于有0到9十个数字键,再加一些功能键,因此采用4*4矩阵键盘。2.6显示器选择显示器是最常用的输出显示设备,其种类很多,但在单片机系统设计中最常用的是发光二极管显示器(LED和液晶显示器(LCD两种。由于这两种显示器它们拥有成本低廉,结构简单,接口容易实现等特点,所以被广泛应用于各类单片机设计的系统之中。液晶显示器(LCD具有功耗低、体积小、重量轻、显示信息

27、丰富、超薄等许多其他显示器所不能够比拟的优点。近些年来被广泛用于单片机控制的智能仪器和低功耗电子产品中。液晶显示器LCD(Liquid Crystal Display是一种极低功耗的显示器,另外它还具有高清晰度、大信息量等特点,这就使它越来越广泛地应用于小型仪器的显示中。在现阶段常用的显示器包括LED二极管显示以及LCD液晶显示两种类型。LED是自发光显示,价格便宜、体积大、耗电高、图像质量一般,适合于室外大屏幕展示,如广告牌、商场电子宣传栏等。LCD液晶显示是投射光显示,价格稍高、体积小、耗电低、图像质量高,适用于各类显示屏的设计,如电脑液晶屏、手机屏幕等。二者在各个方面的比较都有其优势,但

28、对于此次设计,需显示相关汉字及金额操作的情况,显示内容较灵活,对数字和汉字显示要求比较高。因此选用自带汉字数据库类型的LCD液晶显示器。综合上述两种显示器的优缺点,因此在本设计中选用了目前常见的性能比较好的有串行数据端口及自带汉字数据库的LCD12232点阵液晶显示屏。3 硬件电路设计本系统采用单片机作STC89C52为本设计的核心元件。利用两片LCD12232液晶显示器作为显示器件。通电后,未插卡时显示“请插入IC卡”,插卡后合法卡显示“IC卡服务系统”,”余额”及余额值,按充值键后显示“请输入充值金额”,按扣费键后显示“请输入扣除金额”。在本次设计中,接入一个4*4的按键键盘,其中0至9号

29、键用于数字0、1、2、3、4、5、6、7、8、9的输出,10号键用做操作完成后的确定键,11号键用做充值键, 12号键用做输入错误时的删除键,13号键用做扣费键,由于考虑到按键处接线电路较为复杂,14、15号键空闲不用,在外板子上接上复位键,用于退回主页面。另外,本系统还有一个重要的组成部分插卡接口,即SLE4442,该部分主要是用于IC卡插入,是本系统相当重要的组成部分。SLE4442具有7种指令,包括读、写主存储器,读、写主保护器,读、写安全存储器和密码校验指令。因此本系统硬件由以下几个部分组成:(1STC89C52单片机电路(2LCD12232液晶显示电路(34*4按键开关(4蜂鸣器报警

30、电路(5SLE4442智能IC卡,及插卡电路由于要给各个芯片提供电源,所以还包括5V电源电路。3.1 单片机部分3.1.1单片机STC89C52STC89C52是51系列单片机中的一个型号,它是由ATMEL公司生产的。ST C89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C52单片机可为您提供许多较复杂系统控制应用场合。STC89C

31、52有40个引脚,32个外部双向输入/输出(I/O端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线, STC89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。兼容MCS51指令系8k可反复擦写(>1000次Flash ROM。引脚如图3.1示 图3.1 STC89C52引脚图3.1.2 主要管脚介绍STC89C52具体管脚介绍如下:主电源引脚(2根:VCC:电源输入,接+5V电源;GND:接地线外接晶振引脚(2根:

32、XTAL1,片内振荡电路的输入端;XTAL2,片内振荡电路的输出端控制引脚(4根:RST/VPP,复位引脚,引脚上出现2个机器周期的高电平将使单片机复位;ALE/PROG,地址锁存允许信号;PSEN,外部存储器读选通信号;EA/VPP,程序存储器的内外部选通,接低电平从外部程序存储器读指令,假如接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根:STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚,共32根。PO口:8位双向I/O口线,名称为P0.0P0.7P1口:8位准双向I/O口线,名称为P1.0P1.7P2口:8位准双向I/

33、O口线,名称为P2.0P2.7P3口:8位准双向I/O口线,名称为P3.0P3.7STC89C52主要功能如表3.1所示。表3.1 STC89C52主要功能描述 3.1.3芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,STC89C52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统3.1.4单片机最小系统电路单片机最小系统,也称为最

34、小应用系统,是指用最少的元件组成的单片机可以工作的系统。对52系列单片机而言,最小系统包括:单片机、晶振电路、复位电路。(1时钟电路STC89C52内部有一个可以用于构成振荡器的高增益反相放大器,而引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。此时钟可以由内部方式产生或外部方式产生。内部方式的时钟电在XTAL1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件一般通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2 12MHz之间选择,电容值在530pF之间选择,电容值的大小能够对频率起微调的作用。外部方式的时钟电路XTAL1接地,XTAL2接外部振荡

35、器。对外部振荡信号没有特殊要求,只要求保证脉冲宽度,因而一般采用频率低于12MHz的方波信号。片内时钟发生器会把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(2复位及复位电路复位操作:复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,同时也需按复位键重新启动。复位信号及其产生:RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应该持续24个振荡周期(即二个机器周期以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4u

36、s才能完成复位操作。整个复位电路主要包括芯片内、外两部分。外部电路产生的复位信号(RST送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。单片机最小系统电路电路图如图3.2所示。 图3.2 单片机最小系统原理图3.2 SLE4442部分SLE4442是西门子公司的一款具有可编程安全代码(PSC和写保护功能的智能型存储芯片。它具有2568EEPORM主存储器,不可逆的4个写保护器,1B的错误计数器具有3B密码保护功能。SLE4442采用两线数据传输方式,符合IS07186-

37、3标准。SLE4442具有一个安全逻辑,用于控制存储器的读写操作。在密码成功之前,除密码外,数据都可以读出,只有密码校验成功之后才可以执行数据的写入动作。SLE4442卡为256字节加密卡,存在读、写数据、保护数据以及密码操作。3.2.1 SLE4442主要指标(1字节数:256字节EEPROM(2存储器:32位保护存储器(3密码:3字节用户密码,密码错误计数:3次(4温度范围:070(5擦写次数:至少100,000次擦写循环3.2.2 SLE4442引脚的配置(1SLE4442IC 卡采用两线数据传输方式其引脚配置如下图3.3所示: 图3.3 SLE4442IC 卡引脚的配置 3.2.3 I

38、C 卡接口电路在此电路中,由于STC89C52是主控芯片,因此STC89C52需要完成对IC 芯片的复位、读写等操作。首先对于复位响应操作,由于复位响应是根据ISO7816标准来进行的。在操作期间的任何时候都可以复位,只有经过了复位才能对IC 卡进行其他操作。开始时地址计数器随一个时钟脉冲而被设置成0。当RST 线从H 状态置到L 状态时,第一个数据位的内容被送到I/O 线上。若连续输入32个时钟脉冲,主存储器中的前4个字节地址单元中的内容被读出。在第33个时钟脉冲的下降沿,I/O 线被置成H 状态而关闭。复位响应之后,芯片等待着命令。每条命令都以一个“启动状态”开始。整个命令包括三个字节。随

39、后紧跟着一个附加脉冲并用一个“停止状态”来结束操作。当CLK为H 状态期间,I/O线的下降沿为启动状态;当CLK为H状态期间,I/O线的上升沿为停止状态。需要注意的是:脉冲的下降沿之后,I/O线上的第一位数据变为有效。随后每增加一个时钟脉冲,芯片内部的一位数据被送到I/O线上。其输出的顺序是从侮个字节的最低位开始。当所需要的最后一个数据送出以后,需要再附加一个时钟脉冲来把I/O线置成H状态,以便准备接受新的命令。在输出数据期间,任何“启动状态”和“停止状态”均被屏蔽掉。智能IC卡电路由SLE4442外接5V电源组成。如图3.3所示。 图3.3 SLE4442智能IC卡电路3.3 LCD1223

40、2液晶显示部分3.3.1 LCD12232简介LCD12232-9内置ST7920A驱动控制器,点阵为122×32点,每行7个半汉字,共2行。内部字型ROM 包括8192个16×16点阵的中文字型和126个16×8点阵的字母符号字型,另外还提供一个64×256点的绘图区域(GDRAM及240点的ICON RAM,可以和文字画面混合显示。内含的CGRAM有4组可编程的1616点阵的造字功能。与单片机的接口有8位并行、4位并行、2/3线串行。它采用低功率电源消耗,电压范围2.75.5V,功能齐全,汉字、点阵图形、ASCII 码、曲线同屏显示;上下左右移动当前

41、显示屏幕、清屏、光标显示、闪烁、睡眠、唤醒、关闭显示功能齐备,适合许多场合应用。它内置8192个16*16点汉字库和128个16*8点ASCII字符集图形点阵液晶显示器,它主要由行驱动器/ 列驱动器及128×32全点阵液晶显示器组成。可完成图形显示,也可以显示7.5×2个(16×16点阵汉字.与外部CPU接口采用并行或串行方式控制。3.3.2 液晶显示器技术参数主要技术参数和性能:供电电源VDD:3.0V5.5V。可显示内容:122(列×32(行。显示特点:全屏幕点阵。 2M ROM(CGROM:提供8192个汉字(16×16点阵。 16K R

42、OM(HCGROM:提供128个字符(16×8点阵。频率:2MHZ。工作温度: 055。存储温度: -2060。3.3.3汉字显示原理在PC的文本文件中,汉字是用机内码的形式存储的,其中每个汉字占2字节,第一个字节为机内码的区码,汉字机内码的区码范围是从0A1H(十六进制开始,对应区位码中区码的第一区;而机内码的第二个字节为机内码的位码,范围也是从0A1H(十六进制开始,对应某区中的第一个位码。就是说将汉字机内码减去0A0AH就得到该汉字的区位码。例如,汉字“北”的机内码是十六进制的“B1B1”,其中前两位“B1”表示机内码的区码,而后两位“B1”表示机内码的位码。所以“北”的区位码

43、为0B1B1H-0A0A0H=1111H,将区码和位码分别转换为十进制,得汉字“北”的区位码为“1717”。即“北”的点阵位于第17区的第17个字的位置,在文件HZK16中的位置为第32×(17-1×94+(17-1=48640D以后的32个字节为“北”的显示点阵。用RF-1800编程器读入二进制文件hzk16j.bin后利用其编辑功能中的缓冲区编辑查找到BE00 H (48640D是十进制,将其转变为十六进制后得BE00 H开始的32个字节:04 80 04 80 04 88 04 98 04 A0 7C C0 04 80 04 80 04 80 04 80 04 80

44、04 80 1C 82 E4 82 44 7E 00 00(以上全为下十六进制,将其写在16×16点阵方格纸上,即得图3.4。由此可以理解其相互逻辑关系。 图3.4 逻辑关系图在单片机系统中,连续取32个字节送到LCD的相应位置,就能正确显示汉字后的图形符号。从HS-12232-1使用的SED1520的控制原理得知,字模送显示前要旋转90°,例如“逢”的区位码是3778,在HZK16中的位置为第32*(37-1*94+(78-1=110752D 以后的32个字节:04 44 FF FE 05 40 41 F8 33 10 14 E0 01 18 F6 46 1B F8 10

45、 40 13 F8 10 40 17 FC 10 40 28 46 47 FC , 旋转90°后上16个字节:82 8A 92 B2 02 A7 92 5E 2A AF 2A 5A 4A 83 82 00,下16个字节;00 80 40 3F 04 90 95 95 95 FF 95 95 95 D0 40 00。3.3.4 ASCII码显示原理ASCII码的显示与汉字的显示基本原理相同,在ASC16文件中不存在机内码的问题,其显示点阵直接按ASCII码从小到大依次排列,不过每个ASCII码在文本文件中只占1个字节并且小于80 H, 每个ASCII码为8×16点阵,即在AS

46、CII16文件中,每个ASCII码的点阵也只占16个字节。模块主要硬件构成说明:RS,R/W的配合选择可以决定控制界面的4种模式: 3.3.5液晶显示电路液晶显示电路有两部分组成,一个用于前端显示,另一个用于后端显示。图3.5 LCD12232液晶显示电路STC89C52单片机与HS12232-9(LCD12232接口电路如图3.3所示,前一片只占用P1.4(对应于CS、P1.5(对应于SID、P1.6(对应于SCLK三根I/O口,CS引脚片选,高电平片选使SID和CLK的信号有效,SID引脚作数据线,SCLK引脚作时钟线。单片机通过SID数据线在SCLK同步时钟线配合下完成数据(指令传输的任

47、务。后一片占用P3.7(对应于CS、P3.6(对应于SID、P3.5(对应于SCLK三根I/O口,原理同前一片液晶显示器。这个方案接口电路十分简单,仅仅只需三个I/O口可以让CPU的接口资源得到充分的利用;不足的是串行传送固有的速度不如并行传送的速度,但如果需要显示数据不是特别多,刷新速度要求不是特别快时仍是个相当不错的选择,适用于接口交资源紧张,且对显示速度要求不高的场合。3.4 4*4矩阵键盘矩阵键盘又称行列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4*4个。这种行列式键盘结构能有效地提高单片机系统中I

48、/O口的利用率。 图3.4 4*4矩阵键盘电路当无按键闭合时,P2.0P2.3与P2.4P2.7之间开路。当有按键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:第一步,置列线P2.4P2.7为输入状态,从行线P2.0P2.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P2.4P2.7读入数据,若有某一列为低电平,则对应行线上有键按下。综合以上一二两步的结果,就可以确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。4*4键盘分

49、配情况:S0S9:数字键09S10:完成充值扣费后确定操作S11:充值键,按下后显示“请输入充值金额”S12:输入错误时,删除错误数字S13:扣费键,按下后显示“请输入扣除金额”3.5 蜂鸣报警电路如图3.4所示,MCU通过一I/O端口控制蜂鸣器,为确保输出电流信号有效驱动蜂鸣器,在蜂鸣器与端口之间采用一个PNP型三极管蜂鸣器进行驱动。它与单片机的连接方式如图所示,BUZ接单片机P1.1口。单片机P1.1口通过PNP 型三极管驱动蜂鸣器,P1.1口输出低电平时,三极管导通,蜂鸣器发出响声。 图3.5 蜂鸣报警电路4 软件设计软件的编程设计是单片机系统设计的核心部分,是硬件系统的灵魂,也是能否实

50、现预定功能的关键。单片机编程常用的语言是C语言和汇编语言,最终都要转为Intel HEX 格式或二进制格式(Binary文件拷入单片机芯片内。本次设计我们使用的是C语言进行编程设计。本次基于单片机的食堂IC卡系统设的计软件设计部分采用模块化程序设计。从结构上看,系统控制软件主要包括一个主程序,显示器驱动程序和智能IC卡驱动程序。从功能上看,系统控制软件则主要由一个IC卡控制程序,按键处理程序,驱动程序等组成。主程序主要完成系统初始化、IC卡插入检测、读写和键盘输入与处理、异常情况报警处理等工作,以完成人换的功能。程序按键处理程序是系统服务程序的一部分。按键处理程序完成机交按键的识别与处理工作。

51、在确认按键被按下后,通过查找按键,区分功能键与数字键,从而根据不同的情况进行相应的处理。显示器驱动程序主要完成地址分配,余额显示,按键操作等。IC卡驱动程序主要完成读、写主存储器,读保护存储器,读密码,密码校验,IC卡复位等功能。4.1流程框图 4.2 子程序流程图4.2 .1扣费子程序流程图就餐阶段,即实现扣费功能,属于正常使用阶段。在IC卡插入售饭机后,系统能读出IC卡里面预先存储的金额,并能在面对就餐者和售饭员两方的双屏进行显示。售饭员利用键盘按下扣费键,液晶显示器均显示“请输入扣除金额”及可用余额,然后输入就餐者选定的食物的金额,按下确定键,售饭机自动用卡中的金额减去应付金额,操作完成

52、后前后屏幕均显示可用余额并有成功提示音。若输入错误,可以按下删除键,进行相应的操作。如果就餐者卡中的余额小于消费的金额,售饭机则给出报警音,提示操作不能成功。 图 4.3 扣费过程流程图4.2.2充值子程序流程图充值阶段,IC卡售饭机读出卡里的余额,就餐者在充值交纳一定的金额后,由工作人员通过键盘输入次此充值金额,售饭机自动将此次充值金额加入卡中。操作完成后,屏幕显示充值后卡中的余额。若输入错误,可以按下删除键,进行相应的操作。返回主页面可以按下复位键完成该项操作。如图4.4所示。 图 4.4 充值过程流程图5 编程与调试5.1 DOS下的C51开发工具8051系列微处理器被广泛应用于类产品中

53、。KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编语言相比,C语言在功能、结构性、可读性、可维护性上有明显优势,并且易学易用。KeilC51提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,生成的汇编代码很紧凑,且容易理解,在开发大型软件是更能体现高级语言的优势。开发工具介绍51系列单片机作为工业使用的微控制器,从1985年开始,就有单片机的C语言编程,简称C51。并非所有的C51编译器都产生和发挥8051特点的有效代码。下面就各司的编译器做简要介绍。(1AMERICAN AUTOMATION该编译器通过使用#asm和end

54、asm预处理选择支持汇编语言。此编译器编译速度慢,要求汇编的中间环节支持。(2ARCHIMEDES它的鼻祖是瑞典的IAR,是支持分组开关的编译器。它和ANSI兼容,只是需要一个比较复杂的连接程序控制文件支持,程序才能运行。(3A VOCET该软件包包括编译器、汇编器、连接器、库MAKE工具和编辑器,集成环境类似Borland C和Turbo C。C编译器产生一个汇编语言文件,然后再用汇编器,其编译速度较快。(4Keil C51Keil C51的V6.xx、V7.xx(包括V6.02、V6.10、V6.12、V6.14、V6.20、V6.20C、V6.23、V7.0、V7.01、V7.02、V7

55、.03、V7.04、V7.05、V 7.06a和V7.07等是目前世界上最好的51单片机的汇编和C语言开发工具。它支持汇编,C语言以及混合编程,同时具备强大的软件仿真和硬件仿真。255.2开发软件Keil介绍现如今,用于进行单片机编程调试的软件有很多种,但其操作平台和使用方法都大同小异。Keil Vison系列是德国Keil Software公司推出的51系列兼容单片机软件开发系统。Vison3是集成的可视化Windows操作界面,其提供了丰富的库函数和各种编译工具,能够对51系列单片机以及和51系列兼容的绝大部分类型的单片机进行设计。Keil Vison系列可以支持单片机C51程序设计语言,

56、也可以直接进行汇编语言的设计与编译。目前,Keil公司已经被ARM公司收购,成为ARM旗下的产品。Keil Vison系列的集成开发环境最高版本是Vison3,版本号为V8.08。Keil Vison系列是一个非常优秀的编译器,受到广大单片机设计者的广泛使用。其主要特点如下:(1支持汇编语言、C51语言等多种单片机设计语言;(2可视化的文件管理,界面友好;(3支持丰富的产品线,除了51及其兼容内核的单片机外,还新增加了对ARM内核产品的支持;(4具有完善的编译连接工具;(5具备丰富的仿真调试功能,可以仿真串口、并口、A/D、D/A、定时器/计数器以及中断等资源,同时也可以和外部仿真器联合进行在

57、线调试;(6内嵌RTX-51实时多任务操作系统;(7支持在一个工作空间中进行多项目的程序设计。(8支持多级代码优化Vison3集成开发环境中提供了很多不同用途的窗口,利用这些窗口可以完成源代码的编辑、反汇编的查看、各种编译和调试的输出结果、堆栈中的数据查看、程序变量的内容查看以及仿真波形图等。源代码编辑窗口;反汇编窗口;观察和堆栈窗口;存储器窗口;CPU寄存器窗口;串行窗口;逻辑分析窗口;符号观察窗口。如图5.1所示。26 图5.1 Keil工作界面5.2.1 uVision3集成开发环境简介(1项目管理:工程(project主要组成部分有三部分,即源文件、开发工具选项以及编程说明。一个单独的uVision2工程能够产生一个或者是多个目标程序。开发工具选项可以对应目标、组或单个文件,uVision2包含一个器件数据库(device database,可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。uVision2能够为片外存储器产生必要的连接选项,并确定起始地址和规模。(2集成功能:集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存

温馨提示

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

评论

0/150

提交评论