学位论文基于sle4442卡的食堂管理系统设计论文.docx
《学位论文基于sle4442卡的食堂管理系统设计论文.docx》由会员分享,可在线阅读,更多相关《学位论文基于sle4442卡的食堂管理系统设计论文.docx(33页珍藏版)》请在冰豆网上搜索。
学位论文基于sle4442卡的食堂管理系统设计论文
1绪论
IC卡,又称集成电路卡(IntegratedCircuitCard)或者智能卡(SmartCard),是继磁卡,光电卡之后的新一代标识卡。
此类卡具有智能又方便携带的优点,为现代信息处理和传输提供了一种全新的方法。
随着社会的不断进步,科学技术的进步,超大规模集成电路、大容量存储芯片以及信息安全技术的发展,IC技术也在不断进步,应用领域不断地扩大,以IC卡为媒介的单片机售饭系统就是一个例子。
IC卡的应用提高了人们的生活水平和工作的效率,为人们带来了方便实惠,加快了现代化进度,已经成为一个国家科技水平现代化程度的标志之一。
食堂IC卡是适应于就餐人数密集的食堂收费系统,该系统从根本上解决了餐券流通过程中的伪造、丢失,细菌交叉感染等一系列的问题,促进饮食服务管理向规范化、系统化和科学化的方向发展。
本次设计采用单片机,外加液晶显示电路、按键控制电路、IC卡接口电路、蜂鸣器报警电路,可以实现充值、扣费、报警等多项功能。
本系统具有设计低功耗,可靠性,智能化及低成本等特点。
系统采用5V的直流电源供电。
整个系统程序编写所用的软件:
Keil。
本此设计的食堂IC卡系统利用单片机AT89S51控制整个系统。
显示部分采用LCD1602液晶显示器,能够支持字符和数字输出,简单明了。
键盘采用4*4矩阵键盘模块,输入方便。
IC卡采用了西门子公司的SLE4442逻辑加密卡。
最终实现了预期的充值、扣费、复位、报警等功能。
设计结果表明,此系统设计容易,结构简单,造价低廉,维修方便,能够广泛应用于各种单位的食堂中。
1.1选题背景
以前,各种企事业单位的食堂,人员就餐所用的都是纸质或塑胶质的饭票、菜票、饭卡,或是直接使用现金交易,学校也不例外。
但是,这种食堂运作方式存在着方方面面的不足:
操作繁琐:
传统的食堂收费方式从饭票的印制、售卖、回收、点数、结算每个环节都采用人工进行,且每天、每月都需进行着重复的统计工作,令人繁不胜烦。
随着社会不断进步,在我们生活的万千世界里,人类已进入了科学技术空前发展的信息高速化社会。
在这个瞬息万变的信息社会里,随着大规模集成电路、计算机技术的迅速发展,以及人工智能在测试技术方面的广泛应用,逐步形成了一种完全突破传统概念的新一代的仪器——智能仪器。
目前,而且还出现了不少全新的仪器类型,使现代电子仪器发生了根本性的变化。
作为其中之一的IC卡也进入了人们的生活,给人们带来了很多方便实惠。
这些电子仪器很多都是由芯片控制的,由于单片机有很多优点,比如集成度高,功能强,通用性好,尤其是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用。
目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。
世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。
本次的食堂IC卡系统设计就是以单片机为核心的智能系统,实现了管理智能化,大大提高了餐饮单位的效率,因而受到了市场的青睐。
1.2IC卡发展与应用
IC卡的开发、研制与应用是一项系统工程,涉及到计算机、通讯、网络、软件、卡的读写设备、应用机具等多种产品领域的多种技术学科。
因此,全球IC卡产业在技术、市场及应用的竞争中迅速发展起来。
IC卡已是当今国际电子信息产业的热点产品之一,除了在商业、医疗、保险、交通、能源、食堂、通讯、安全管理、身份识别等非金融领域得到广泛应用外,在金融领域的应用也日益广泛,影响十分深远。
IC卡虽然进入我国较晚,但在政府的大力支持下,发展迅速。
1995年底,国家金卡办为统筹规划全国IC卡的应用,组织拟定了(金卡工程非银行卡应用总体规划)。
为保证IC卡的健康发展,在国务院金卡办的领导下,信息产业部、公安部、卫生部、国家工商管理局等各个部委纷纷制定了IC卡在本行业的发展规划。
IC卡在银行系统的应用。
银行卡大体分为两类:
信用卡和储值卡。
信用卡,即贷记卡,有小额信贷功能,即可以小额透支。
它要求持卡人有较高的信誉度,透支的钱应及时存入。
储值卡,即借记卡,不需要建档案,不需要担保,不能够透支,一般用于小额提取或消费。
目前国内各商业银行所发放的银行卡大多数为借记卡。
IC卡收费系统。
它包括电费、水费、煤气费、通信费等各种消费资源费用的收取。
该类系统可以提高管理效率和可靠性。
通过预先收费,可以增加管理部门的可用资金,为居民提供优质服务,改变对资源先消费后收费的不合理状况。
对于用户而言,IC卡收费可消除收费人员入户的骚扰和准备现金零钱的烦恼;同时,还有利于用户根据自家用电、用水、用煤气的情况,进行计划消费。
IC卡医疗保险系统。
随着我国医疗体制的改革,居民持保险公司发行的IC卡到医院就医,就医费用将由保险公司支付。
医疗IC卡除了具有医疗费用的支付功能外,卡内还可以存储病人的病历。
公交管理系统。
乘客持公交管理部门发行的预先付费IC卡乘车,上车时只需在汽车门口的收费机前晃一下(主动式卡),收费机自动完成收费。
这样,能有效地减少上下车时间,加快车辆周转速度,提高管理效益,杜绝贪污、假币现象。
食堂IC卡系统。
随着中国人口的不断增加,IC卡进入一些企事业单位就成了一种不可挡的趋势。
消费者提前充入一定金额的钱,在就餐时就可以不用带上现金,只需要把卡插入刷卡机就可以显示余额,然后餐厅工作人员扣除此次消费金额,这样可以减少时间,提高效率。
其它,还有交警管理系统、工商管理系统、IC卡电子门锁、IC卡税务管理系统、高速公路收费系统等多种IC卡应用系统。
IC卡随着半导体技术、大规模集成电路芯片的发展而产生,也必将随着计算机技术、网络技术等的高速发展而迅速发展壮大。
不断扩大IC卡的应用领域已成为社会发展的必然需求。
在全球IC产业市场竞争更加激烈的情况下,IC卡必然向更高层次方向发展。
诸如从接触型IC卡向非接触型IC卡转移,从低存储容量的IC卡向高存储容量发展,从单功能IC卡向多功能IC卡转化,从单系统的IC卡向多系统IC卡转化,由非银行系统转向银行系统应用,由民用转向军用,由局域网向因特网迁移等。
新技术不断涌现,IC卡品种繁多,这充分说明了IC卡的强大生命力。
在未来的几年中,IC卡将会越来越多地渗入到人们的生活中。
1.3设计意义
在经济高度发达的今天,单片机的应用是具有高度现实意义的。
单片机拥有极高的可靠性,微型性和智能性(编写不同的程序后可以就完成不同的控制工作),单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中并且为我们的生活带来了很多便利。
单片机在各个领域得到了广泛应用,许多用单片机做控制电子产品出现在人们的生活中,食堂IC卡系统也应运而产生,本次设计用由编程控制液晶显示器和智能IC卡接口电路。
该系统具有充值、扣费、报警等功能。
它具有价格便宜,性能稳定,操作方便等特点。
适合各类学校或者各种企事业单位使用。
食堂IC卡系统的成功设计,首先能够解决当前部分单位食堂存在的一些弊端,为消费者和餐厅工作人员带来大大的的方便。
其次,在整个系统的软件的编写调试过程中,自己能够学会很多专业知识,进一步巩固自己的编程能力,使自己的计算机能力进一步提高。
这样,不仅加强了自己的动手动脑能力,而且还查阅了不少有关方面的资料,也为以后的工作积累更多的资本。
总之,通过本次食堂IC卡系统的软件设计,使自己受益匪浅。
通过此次基于单片机设计的食堂IC卡系统,我可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对AT89S51单片机的结构和原理进行讲述,进一步了解基于单片机开发应用的相关芯片的工作原理,并且可以在将来的工作和学习中加以应用。
加深了我对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,还更进一步掌握了C语言编程的一些技巧。
本系统完成了充值和扣费的功能。
显示部分采用LCD1602液晶显示器,能够支持数字和字符输出,简单明了。
键盘采用4*4键盘模块,输入方便。
IC卡采用了西门子公司的SLE4442逻辑加密卡。
设计结果表明,此系统设计容易,结构简单,造价低廉,维修方便,前些年广泛应用于各种单位的食堂中。
本次毕业设计意义主要表现在以下一些方面:
(1)食堂IC卡系统电路包含了51系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。
(2)可以了解到LCD1602液晶显示器和SLE4442智能IC卡的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。
2系统总体方案及硬件选择
2.1系统功能说明
食堂IC卡售饭机系统作为食堂收费终端,根据实际使用环境,应具有如下功能特点,以适用不同阶段数据处理。
(1)就餐阶段
就餐阶段,即实现扣费功能,属于正常使用阶段。
在IC卡插入售饭机后,系统能读出IC卡里面预先存储的金额,并能进行显示。
售饭员利用键盘按下扣费键,液晶显示器显示“KaNeiYuE:
”及可用余额,然后输入就餐者选定的食物的金额,按下确定键,售饭机自动用卡中的金额减去应付金额,操作完成后屏幕显示可用余额。
如果就餐者卡中的余额小于消费的金额,售饭机则给出报警音,提示操作不能成功。
(2)充值阶段
充值阶段,插卡后IC卡售饭机读出卡里的余额,就餐者在充值交纳一定的金额后,通过键盘输入次此充值金额,售饭机自动将此次充值金额加入卡中。
操作完成后,屏幕显示充值后卡中的余额。
返回主页面可以按下复位键完成该项操作。
2.2系统总体方案设计
根据所述IC卡售饭机的功能特点,售饭机系统需要完成数据的输入、显示和处理三种功能,整个系统的结构框图如图2.1所示。
图2.1系统总体框图
由系统总体结构框图可知,食堂IC卡系统主要包括控制系统、显示模块、插卡系统模块、定时报警模块、键盘模块组成。
通过这几个模块的协调工作就可以完成相应的操作控制和显示功能。
2.3IC卡选择
根据IC卡的读写特点,IC卡主要分为接触型IC卡和射频卡两类。
(1)接触型IC卡
接触型IC卡的表面有6个或8个金属触点,只有在IC插入读写器内后,在微处理器的控制下才能够完成的读写操作。
(2)射频卡
射频卡没有金属触点而是在卡内置有天线射频卡处在读卡器一定距离内时,读写卡器通过发射射频信号对卡进行读写操作。
根据IC卡的内部结构,IC卡又可以分为存储卡、逻辑加密卡和CPU卡。
(1)存储卡
存储卡的存储单元一般为电可擦除的存储器EEPROM。
存储卡的容量从几十字节到几千字节不等。
这类卡具有操作简单、读写速度快,信息存储时间长等优点。
如Atmel公司AT24C01卡,具有128B(bits),典型擦写寿命10万次,数据保存时间100年。
但是这类卡不具备加密功能,存储的数据可以很容易地被读出,因而卡内信息的安全性较差,常常用于安全性能不高的场合,如门禁卡、身份识别卡等。
(2)逻辑加密卡
逻辑加密卡内设有硬件逻辑加密电路,只有在输入密码正确后才能进行数据的改写,否则数据只能被读出。
而且输入的错误密码达到规定次数后,IC卡自动锁死报废,因而这种卡的安全性能很高。
常见的如西门子的SLE4442卡,如果连续三次密码输入错误,卡就会报废。
这种卡常常用于对信息保密性较高的领域,非常适合于涉及到金融等方面的应用。
综合上述考虑,本系统选用西门子SLE4442逻辑加密型IC卡进行数据的存储和身份的识别。
详细介绍见硬件设计部分。
2.4键盘选择
单片机系统中常用的键盘有以下两种类型。
(1)独立型按键
独立型按键的一脚通过电阻接电源或者接地,而另一脚接单片机的I/O口。
在按键被按下和没有按下时I/O口电平刚好相反。
这样通过检测I/O口的电平状态即可判断哪一个按键被按下了。
此类按键的特点是按键电路配置灵活,按键的状态识别简单,程序编写相对简单,但是每一个按键需要占用一个I/O口,资源占用率较高,当按键的数量不是很多或者系统有比较多电热I/O口剩余时,可以采用此类设计。
(2)矩阵式键盘
矩阵式键盘有行线和列线组成。
按键位于行列线的交叉点上,一个4*4的矩阵式结构就可以构成一个含有16个按键的键盘。
按键设置在行列线的交叉点上,行列线分别接到按键开关的两端。
行列通过上拉电阻接到+5V上,平时当没有按键按下时,列线处于高电平状态;当有按键按下时,行列线导通,因此列线的电平将由此相连接,各个按键按下与否影响该键所在行列线的电平。
这样行列线配合起来进行适当的处理,就可以确定按键的位置。
与独立式键盘相比,要节省很多I/O口,适用于按键数量较多的场合。
食堂IC卡售饭系统选用AT89S51的I/O端口较多,在实际使用中键盘最好集成在IC卡售饭机以内以防止由于键盘的滑轮造成售饭员的误操作。
综合考虑实际使用的情况和价格相比较,本设计采用矩阵式扫描键盘进行数据输入。
由于有0到9十个数字键,再加一些功能键,因此采用4*4矩阵键盘。
2.5显示器选择
显示器是最常用的输出显示设备,其种类很多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。
由于这两种显示器它们拥有成本低廉,结构简单,接口容易实现等特点,所以被广泛应用于各类单片机设计的系统之中。
在现阶段常用的显示器包括LED二极管显示以及LCD液晶显示两种类型。
LED是自发光显示,价格便宜、体积大、耗电高、图像质量一般,适合于室外大屏幕展示,如广告牌、商场电子宣传栏等。
LCD液晶显示是投射光显示,价格稍高、体积小、耗电低、图像质量高,适用于各类显示屏的设计,如电脑液晶屏、手机屏幕等。
二者在各个方面的比较都有其优势,但对于此次设计,需显示相关字符及金额操作的情况,显示内容较灵活,对数字和字符显示要求比较高。
因此选用自带数据库类型的LCD液晶显示器。
综合上述两种显示器的优缺点,因此在本设计中选用了目前常见的性能比较好的有串行数据端口及自带汉字数据库的LCD1602点阵液晶显示屏。
3硬件电路设计
本系统采用单片机作AT89S51为本设计的核心元件。
利用两片LCD1602液晶显示器作为显示器件。
通电后,未插卡时显示“CHURUICKA”,插卡后显示“KANEIYUE”,按充值键后显示“+”,按扣费键后显示“-”。
在本次设计中,接入一个4*4的按键键盘,其中0至9号键用于数字0、1、2、3、4、5、6、7、8、9的输出,10号键用做操作完成后的确定键,11号键用做充值键,12号键用做扣费键,由于考虑到按键处接线电路较为复杂,13、14、15号键空闲不用,在外板子上接上复位键,用于退回主页面。
另外,本系统还有一个重要的组成部分插卡接口,即SLE4442,该部分主要是用于IC卡插入,是本系统相当重要的组成部分。
SLE4442具有7种指令,包括读、写主存储器,读、写主保护器,读、写安全存储器和密码校验指令。
因此本系统硬件由以下几个部分组成:
(1)AT89S51单片机电路
(2)LCD1602液晶显示电路
(3)4*4按键开关
(4)蜂鸣器报警电路
(5)SLE4442智能IC卡,及插卡电路
由于要给各个芯片提供电源,所以还包括5V电源电路。
3.1单片机最小系统电路
单片机最小系统,也称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对51系列单片机而言,最小系统包括:
单片机、晶振电路、复位电路。
(1)时钟电路
AT89S51内部有一个可以用于构成振荡器的高增益反相放大器,而引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
此时钟可以由内部方式产生或外部方式产生。
内部方式的时钟是在XTAL1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。
定时元件一般通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小能够对频率起微调的作用。
外部方式的时钟电路XTAL1接地,XTAL2接外部振荡器。
对外部振荡信号没有特殊要求,只要求保证脉冲宽度,因而一般采用频率低于12MHz的方波信号。
(2)复位及复位电路
复位操作:
复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,同时也需按复位键重新启动。
复位信号及其产生:
RST引脚是复位信号的输入端。
复位信号是高电平有效,其有效时间应该持续24个振荡周期(即二个机器周期)以上。
整个复位电路主要包括芯片内、外两部分。
外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。
复位操作有上电自动复位相按键手动复位两种方式。
单片机最小系统电路电路图如图3.1所示。
图3.1单片机最小系统原理图
3.2SLE4442部分
SLE4442是西门子公司的一款具有可编程安全代码(PSC)和写保护功能的智能型存储芯片。
它具有256EEPORM主存储器,不可逆的4个写保护器,1B的错误计数器具有3B密码保护功能。
SLE4442采用两线数据传输方式,符合IS07186-3标准。
SLE4442具有一个安全逻辑,用于控制存储器的读写操作。
在密码成功之前,除密码外,数据都可以读出,只有密码校验成功之后才可以执行数据的写入动作。
SLE4442卡为256字节加密卡,存在读、写数据、保护数据以及密码操作。
3.2.1SLE4442主要指标
(1)字节数:
256字节EEPROM
(2)存储器:
32位保护存储器
(3)密码:
3字节用户密码,密码错误计数:
3次
(4)温度范围:
0℃~70℃
(5)擦写次数:
至少100,000次擦写循环
3.2.2SLE4442引脚的配置
1)
SLE4442IC卡采用两线数据传输方式其引脚配置如下图3.2所示:
图3.2SLE4442IC卡引脚的配置
2)SLE4442IC卡管脚功能说明如表3.1所示。
表3.1SLE4442IC卡管脚功能
引脚号
标记符号
功能
CI
VCC
+5V电压输入
C2
RST
复位
C3
CLK
串行时钟输入
C4
NC
空
C5
GND
地
C6
NC
空
C7
I/O
串行数据输入/输出
C8
NC
空
3.2.3IC卡接口电路
在此电路中,由于AT89S51是主控芯片,因此AT89S51需要完成对IC芯片的复位、读写等操作。
首先对于复位响应操作,由于复位响应是根据ISO7816标准来进行的。
在操作期间的任何时候都可以复位,只有经过了复位才能对IC卡进行其他操作。
开始时地址计数器随一个时钟脉冲而被设置成0。
当RST线从H状态置到L状态时,第一个数据位的内容被送到I/O线上。
若连续输入32个时钟脉冲,主存储器中的前4个字节地址单元中的内容被读出。
在第33个时钟脉冲的下降沿,I/O线被置成H状态而关闭。
复位响应之后,芯片等待着命令。
每条命令都以一个“启动状态”开始。
整个命令包括三个字节。
随后紧跟着一个附加脉冲并用一个“停止状态”来结束操作。
当CLK为H状态期间,I/O线的下降沿为启动状态;当CLK为H状态期间,I/O线的上升沿为停止状态。
需要注意的是:
脉冲的下降沿之后,I/O线上的第一位数据变为有效。
随后每增加一个时钟脉冲,芯片内部的一位数据被送到I/O线上。
其输出的顺序是从每个字节的最低位开始。
当所需要的最后一个数据送出以后,需要再附加一个时钟脉冲来把I/O线置成H状态,以便准备接受新的命令。
在输出数据期间,任何“启动状态”和“停止状态”均被屏蔽掉。
智能IC卡电路由SLE4442外接5V电源组成。
如图3.3所示。
图3.3SLE4442智能IC卡电路
3.3LCD1602液晶显示部分
3.3.1LCD1602简介
LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
3.3.2液晶显示器技术参数
主要技术参数和性能:
(1)供电电源VDD:
3.0V~5.5V。
(2)可显示内容:
16(列)×2(行)。
(3)显示特点:
全屏幕点阵。
(4)内建有192个5X7点阵的字型的字符发生器CGROM
(5)有80字节显示数据存储器DDRAM。
3.3.3显示原理
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如’A’。
以下是1602的16进制ASCII码表地址:
读的时候,先读左边那列,再读上面那行,如:
感叹号!
的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。
以下为CGROM中字符码与字符字模关系对照表,如下表3.2:
表3.2字符码关系对照表
3.3.4LCD1602操作指令
对DDRAM的内容和地址操作,HD44780的指令集及其设置说明,共有11条指令:
基本操作时序:
读状态 输入:
RS=L,RW=H,E=H 输出:
DB0~DB7=状态字
写指令 输入:
RS=L,RW=L,E=下降沿脉冲,DB0~DB7=指令码
输出:
无
读数据 输入:
RS=H,RW=H,E=H 输出:
DB0~DB7=数据
写数据 输入:
RS=H,RW=L,E=下降沿脉冲,DB0~DB7=数据
输出:
无
以下为几条常用的指令:
(1)清屏指令
功能:
<1>清除液晶显示器,将DDRAM的内容全部填入“空白”的字符码20H;
<2>光标归位,即将光标撤回液晶显示屏的左上方;
<3>将地址计数器(AC)的值设为0。
(2)光标归位指令
功能:
<1>把光标撤回到显示器的左上方;
<2>把地址计数器(AC)的值设置为0;
<3>保持DDRAM的内容不变
(3)输入模式设置指令
功能:
设定每次写入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。
(4)显示开关控制指令
功能:
控制显示器开/关、光标显示/关闭以及光标是否闪烁。
参数设定的情况如下:
位名 设置
D 0=显示功能关 1=显示功能开
C 0=无光标 1=有光标
B 0=光标不闪烁 1=光标闪烁
(5)设定显示屏或光标移动方向指令
功能:
使光标移位或使整个显示屏幕移位。
参数设定的情况如下:
S/C R/L 设定情况