基于单片机控制的IC卡食堂售饭机的开发的毕业设计Word文件下载.docx
《基于单片机控制的IC卡食堂售饭机的开发的毕业设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的IC卡食堂售饭机的开发的毕业设计Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。
![基于单片机控制的IC卡食堂售饭机的开发的毕业设计Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/29/11be38dd-923d-4c96-9e37-47f6a7fb4a8d/11be38dd-923d-4c96-9e37-47f6a7fb4a8d1.gif)
美国IC卡市场在军用与银行业务方面远远超过其它应用领域,所以美国在IC卡技术及其安全可靠性方面,很快会在全球范围内处于领导地位,对法国和日本IC卡产业的冲击将越来越大。
(三)日本
日本在法国人发明IC卡的同年,也推出了IC卡,卡片上有一个或多个芯片,能产生特殊信号,此卡很快进入市场并推广应用。
1954年IC卡首先用于银行的资产管理,1985年用于医疗卫生健康管理系统,1986年销售IC卡近25万张,1989年销售IC卡约100万张,1995年增至200万张,1997年成倍增长,IC卡制造厂商越来越多,除官方外,仅地方公司就有Fujistu、Qmron、Toshiba、TopPanprinting、CasiomicroCard等,为夺取IC卡市场优势,日本政府和地方都积极参与IC卡的研制、发行及应用推广工作,使IC卡产业的各个环节都得到顺利发展,毫无疑问,日本IC卡产业的发展也会对美国、法国等构成威胁,将使国际IC卡市场竞争更加激烈[6]。
我国的信用卡正跳过磁卡发展阶段而直接进入IC卡时代,国内先后组建华旭、华鑫集团公司等,出现了一批科研及生产、经营单位。
1996年10月,国内第一张从芯片设计、研制到卡片制作生产全部国产化的中华IC卡顺利通过技术鉴定,哈尔滨工业大学微电子中心与航天金卡电子公司联合研制成功的HWZ——201型IC卡也在96年底鉴定,该逻辑加密型IC卡芯片用1微米CM0S与EEPROM工艺小批量生产,据称一年内可提供10万张IC卡。
目前,国内IC卡装配生产线较多,它们采用国外芯片,生产能力未充分发挥,97年研制出加密算法,IC卡操作系统DOS,着手开发智能IC卡,其CPU芯片拟先用国外芯片,而操作系统采用国产的,国内IC卡应用市场发展迅猛,截止1998年6月,7家银行共有发卡机构2023个,发卡量2040万张,取现网点24万多个,自动柜员机ATM7万多台,估计在今后的几年里IC卡需求将会呈爆炸性增长。
目前国内IC卡的应用已跳出单一的银行业务与传统的信用功能,与其它产业联袂发展,它的付费功能,可用于交水电费、电话费、车船费,甚至医疗费、保险费等。
我国目前正按多种使用要求开发IC卡新品种,以便最大限度地发挥IC卡的各种功能和作用[2]。
1.3IC卡的分类特点及国际标准
IC卡分3种:
IC贮存卡、加密IC卡和CPU卡:
表1-13种IC卡主要性能比较
指标
IC贮存卡
加密IC卡
CPU卡
防伪性
差
好
最好
使用寿命(次)
100000
数据保存期(a)
10-100
价格(元/张)
100-1000
①IC贮存卡是将电可擦读写EEPROM封装在塑料卡中构成,该卡中的数据只要按规定的时序就可全部读出,数据安全性不高;
②加密IC卡内部芯片是由贮存器及加密逻辑保护存贮器组成,只有密码正确后,才能读写,如果反复试探,该卡就会自毁,数据安全性较高;
③CPU卡由专门的微处理器及其它一些相应的逻辑电路组成,可支持复杂的加密运算,数据安全性最高。
[2]
由于采用了当今最先进的半导体制造技术和信息安全技术,IC卡相对于其它种类的卡具有以下四大特点:
①存储容量大,内部有RAM、ROM、EEPROM等存储器,使得卡上可存储文字、声音、
图形、图像等各种信息;
②体积小,重量轻,抗干扰能力强,便于携带,易于使用;
③安全性高,IC卡从硬件和软件等几个方面实施其安全策略,可控制卡内不同区域的存取特性;
④对网络要求不高,IC卡的安全可靠性使其在应用中对计算机网络的实时性、敏感性要求降低。
IC卡的国际标准遵守国际标准化委员会(ISO)和国际电子技术协会(IEC)的标准,共分为五项:
①ISO7816-1:
规定了IC卡的物理特性、尺寸、机械强度等性能指标;
②ISO7816-2:
规定了8个电触点的尺寸、位置及信号的作用,ISO7816-2标准规定8个信号的作用如下:
C1:
Vcc电源
C2:
RST复位信号
C3:
CLK时钟信号
C4:
保留
C5:
GND
C6:
Vpp编程电压
C7:
I/O数据信号
C8:
③ISO7816-3:
规定了电信号的电气特性和传输协议;
④ISO7816-4:
规定了行业间的交换命令;
⑤ISO7816-5:
应用标识符的编号系统和注册过程[12]。
1.4本课题所研究的内容
IC卡食堂售饭机主要应用在就餐人数密集的食堂微机收费系统。
它以先进的单片机技术与大规模集成电路技术及IC卡技术相结合而发展取来的。
具体设计内容如下:
●单片机最小系统的设计;
●卡座接口电路及卡上电控制电路选择及设计
●掉电检测及掉电保护电路设计
●日历/时钟电路设计;
●键盘显示电路的设计;
●RS232/485串行通信接口电路
●软件部分:
汇编语言程序设计
IC卡食堂售饭机是专为食堂售饭而开发的智能终端,它克服了以往使用菜票的诸多缺点,方便就餐人员用IC卡与食堂结算。
用餐者到食堂吃饭前,先交一定数额现金作为预买饭菜票,建立售饭机的系统后,管理部门会使用上位机应用软件,通过IC卡读写器将用户信息写入IC卡并交予用户,每个用户就拥有一个自己的饭卡,用于存储用户的姓名、编号、金额等相关信息。
用户到食堂用餐时只需将IC卡插入食堂售饭机窗口,由售饭者操作输入菜号和金额,售饭机自动用卡中金额减去应付金额,即可在面对售饭者和用餐者的两面双屏显示卡中余额、本次售饭金额、日历、时间,整个售饭过程,就餐人员和售饭员互相监督,如不正确,可以马上改正。
当工作人员每天汇总金额时,只需把采集卡插入售饭机中,售饭机就能把收款金额写入采集卡中,方便快捷。
2方案论证与确定
2.1IC卡食堂售饭机的主要功能特点及消费模式
随着计算机技术的不断发展,将计算机技术用于食堂餐饮业管理成为可能。
IC卡食堂售饭机的使用,将一改食堂传统的手工管理的状况,使食堂走上现代化、高效化的道路。
IC卡食堂售饭机适用于就餐人数密集的食堂微机收费系统,从根本上解决了餐券流通过程中的伪造、丢失、病菌交叉感染等一系列弊端,节约了食堂管理过程中的大量人力、财力。
作为一种高科技产品,IC卡食堂售饭机采用先进的单片机技术与大规模集成电路技术及IC卡技术相结合,具有技术先进、功能丰富、使用安全可靠、操作简单灵活、外型美观大方、安装方便等优点。
[3]
2.1.1IC卡食堂售饭机主要功能和特点如下:
①安全可靠:
所使用的IC卡具有双重密码,以确保卡内数据安全可靠,万无一失,同时可有效地防止非本单位的IC卡流通使用;
②可单机、联网使用:
在单机工作方式下,售饭机可单独工作,无须计算机帮助的情况下直接对IC卡进行读写操作,联网使用时,售饭机将消费记录通过串行口发送至上位计算机,由上位机完成对数据记录的统计及黑名单处理等功能;
③黑名单报警功能:
如发现非法卡、已挂失的IC卡在售饭机上使用或IC卡内金额为零时,售饭机将自动发出声光报警,提醒使用者到指定地点追加卡内金额,并在5分钟后断电,提示操作人员进行处理,以恢复IC卡的使用,具有黑名单报警功能;
④多种工作方式:
售饭机具有菜价式、菜号式、份饭式三种工作方式,分别由面板上的LED指示灯指示[2]。
2.1.2IC卡食堂售饭系统的总体结构
消费模式:
1定额消费模式
打开收费机电源开关自动进入定额消费模式,此模式无需键盘输入消费金额,读卡时自动根据预先设定的金额扣款。
2不限制定额消费模式
操作员根据持卡人的点菜品种,通过终端收费机键盘输入消费金额,终端收费机将会自动累计消费总金额,持卡人确认无误后将感应式IC卡在终端收费机读写区域的有效范围内掠过,听到“嘀”一声响后,即完成扣款工作,持卡人可通过终端收费机显示屏看到消费金额和IC卡余额。
3订餐消费模式
订餐消费方式,可以对某段时间先行订餐,持卡消费时,如果已经有人订,则用户允许消费,如果别人没有订,则用户不允许消费。
④限制饮餐消费模式
2.2IC卡售饭机硬件设计方案
IC卡售饭机硬件原理框图如上图所示,它实际上是以IC卡读写为中心,由单片机控制的收款终端设备。
从上面的硬件原理图可以看出来,IC卡食堂售饭机主要是以单片机AT89C51为中心器件,围绕其展开连接。
工作时将IC卡插入IC卡读写器的卡座中,读写器就可以对它进行读写,实现加密,查询,存款,取款等功能。
采用RS485通信接口电路,在通讯设备上,作为调试口,板间通讯接口和监控信息接口。
在单片机工作的时候当主电源DC5V失去时,单片机会停止工作,时钟不会停止往前走,这种结果在许多场合往往是不被希望的,所以需要掉电检测与掉电保护电路。
在系统中需要加入复位电路,上电的时候,需要提供复位信号,直至系统电源稳定,撤掉复位信号。
除此外,还需要译码器74LS138进行译码,地址锁存器74LS373,以及数据存储器。
键盘作为外设器件,采用8255扩展的独立式键盘接口。
最后还要加上数码管和电源电路。
在各个器件以及芯片的共同作于下,才能准确,稳定,快速的实现其功能。
3硬件设计
3.1单片机AT89C51
3.1.1主要功能部件组成:
(1)微处理器
(2)数据存储器(RAM)
(3)程序存储器(ROM)
(4)4个8位并行I/O口
(5)1个串行口
(6)2个16位定时器、计数器
(7)中段系统
(8)特殊功能存储器(SFR)
3.1.2主要功能特性:
AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准AT89C51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·
兼容MCS—51指令系统·
4k可反复擦写(>
1000次)FlashROM
32个双向I/O口·
可编程UARL通道
两个16位可编程定时/计数器·
全静态操作0-24MHz
1个串行中断·
128x8bit内部RAM
两个外部中断源·
共6个中断源
可直接驱动LED·
3级加密位
低功耗空闲和掉电模式·
软件设置睡眠和唤醒功能
图3-1AT89C51引脚图
3.1.3引脚简介
40个引脚按其功能分为三类:
电源及时钟引脚;
VCC.VSS.XTAL1.XTAL2
控制引脚:
/SPEN.ALE./EA.RESET
I/O口引脚:
P0.P1.P2.P3为4个8位I/O口外部引脚。
(一)电源引脚接入单片机的工作电源。
VCC接+5V,VSS接地。
2个时钟引脚XTAL1,XTAL2外接晶体片内的反相放大器构成了1个振荡器,它为单片机提供了时钟控制信号。
2个引脚也可接独立的晶体振荡器。
XTAL1(19脚):
接外部晶体的1个引脚。
该引脚内部是1个反相放大器的输入端。
这个反相放大器构成了振荡器。
如果采用外接晶体振荡器时,此引脚应接地。
XTAL2(18引脚):
接外部晶体的另一端,在该引脚内部接至内部反相放大器的输出端。
若采用外部时钟振荡器时,该引脚接受时钟振荡器的信号,即把信号直接接到内部时钟发生器的输入端。
(二)控制引脚:
此类引脚提供控制信号,有的引脚还具有复用功能。
RST/Vpd(9引脚):
RST是复位信号的输入端,高电平有效。
当单片机运行时,在此引脚加上持续大于2个机械周期的高电平时。
就可以完成复位操作。
在单片机正常工作时,此引脚应为<
=0.5V低电平。
ALE:
ALE引脚输出为地址锁存允许信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。
当单片机访问外部存储器时,ALE输出信号的负跳沿用于单片机发出的低8位地址经外部锁存器的锁存控制信号。
即使不访问外部锁存器,ALE端仍有正脉冲信号输出,此频率为时钟振荡器频率的六分之一。
如果想初步判断单片机的好坏,可用示波器查看ALE端是否有正脉冲信号输出,如果有脉冲信号输出,则单片机基本上好的。
(三)I/O口引脚
P0口;
双向8位三态I/O口,此口为地址总线及数据总线分时复用口,可驱动8个LS型TTL负载。
P1口:
8位准双向I/O口,可驱动4个LS型TTL负载。
P2口:
8位准双向I/O口,与地址总线复用,可驱动4个LS型TTL负载。
P3口:
8为准双向I/O口
图3-2AT89C51最小系统
3.1.4AT89C51的最小系统
AT89C51内部有4KB闪烁存储器,芯片本身就是一个最小系统。
将单片机接上时钟电路和复位电路即可。
该最小应用系统只能用作一些小型的数字量的测控单元。
3.2IC卡芯片技术
3.2.1SLE4418/SLE4428IC卡的基本特征
SLE4418/SLE4428卡是西门子公司的产品,价格便宜,使用方便,比较适合于数量较小的应用,是我国使用较为广泛的一种IC卡。
SLE4418IC卡共有1024×
8位EEPROM,可逐字节地进行写操作与删除操作,每个字节都有具有程序写保护位。
SLE4428IC除了以上功能外,还带有程序密码校验逻辑(PSC)。
由于SLE4418/SLE4428IC卡内置了高压产生器,因而只需即可进行操作,简化了接口电路的设计,可直接由单片机驱动,几乎不要其它和外接元件。
基本特点如下:
①具有1024×
8位的EEPROM存储器;
②以字节为编址单位;
③具有1024×
1位保护存储器,保护存储器设置后不可撤消;
④三线串行总线;
⑤可进行10万次擦写操作;
⑥数据保存10年;
⑦卡内具有2个字节的PSC程序加密位,数据仅在密码检验正确后,方可进行写操作。
3.2.2操作时序分析
SLE4418/SLE4428IC卡通过三线串行总线性与芯片接口进行信息交换。
数据在程序控制器的统一协议下,进行数据序列转换与安全逻辑校验。
SLE4418/SLE4428IC卡的引脚配置及功能说明如下所示。
C1
电源电压(VCC)
C5
接地(GND)
C2
复位信号(RST)
C6
未使用
C3
时钟信号(CLK)
C7
输入/输出(I/O)
C4
未使用
C8
(1)复位与复位应答
IC卡在上电时,芯片进入到上电复位状态(POR),POR由一个复位操作(Reset)终止。
当RST引脚由“0”状态变换变换为“1”状态时结束。
复位时,将终止所有当前的操作命令。
上电复位(POR)后,地址在写数据或删除数据前,必须先进行一次读操作。
芯片复位时,地址计数器偏移置被设置为“0”,第一个数据位出现在数据线(I/O)上中,如图1所示。
图3-3复位与复位应答
(2)命令输入逻辑SLE4418/SLE4428共有5条控制命令,SLE4428另有3条密码操作命令,
表3-1按键功能分配表
字节1
字节2
字节3
操作内容
S0S1
S2S3S4S5
A8A9
A0~A7
D0~D7
10
0011
地
址
高
位
低
输入数据
带保护位写与删除
11
0011
输出数据
不带保护写或删除
00
比较数据
带信号位写(校正)
1111
忽略
带保护位数(读9位)
01
1100
不带保护位读(读8位)
11
253
位掩码
写错误计数器
10
254
PSC字节1
校验第一个PSC字节
255
PSC字节2
校正第二个PSC字节
地址低位由上表1可看出,每条命令由6位控制位,10位地址位和1个字节的数据组成。
进行写数据时,数据字节即是所要写入的数据,可见SLE4418/SLE4428不能进行一次性多字节的写操作;
读数据时,数据忽略不计,一次性可读出多字节。
当RST由“0”状态变为“1”状态,CLK由“0”状态变为“1”状态时命令输入逻辑启动。
命令输入完成后,设置RST为“0”状态,时序如图所示。
(3)写操作/删除操作逻辑
对IC卡进行写操作,意味着数据位由“1”状态变为“0”状态;
删除操作意消味着数据位由“0”状态变为“1”状态。
SLE4418/SLE4428IC卡在进行写操作与删除操作时,时钟(CLK)必须进行延续。
一般来说,单独的写操作或者单独的删除操作,数据输入后,时钟须延续103个脉冲,数据删除后立即进行写操作则需要延续203个时钟脉冲。
SLE4418/SLE4428IC卡具有三种擦写操作,即删除操作后立即写操作、单独的写操作与单独的删除操作三种方式。
如图3所示。
写保护位时,只须将数据重写一次,当第二次写入的数据与前一次写入的数据相同时,设置保护位。
保护位一旦设置便不能更改。
图3-4命令输入时序
图3-5写/删除时序
(4)读操作逻辑
图3-6读时序
按表1配置好读命令后,输入命令即启动读操作。
当CLK为“0”状态变为“1”状态时,第一位数据出现在I/O数据线上,此后每个CLK脉冲即接收1位数据。
接收8位或9位数据(带保护位时,第9位为保护位)时即为1个字节。
每读完1个字节,IC卡地址计数器偏移量自动加1。
当RST为“0”状态转变为“1”状态时,读操作结束。
读时序逻辑如图4所示。
(5)密码校验逻辑
SLE4428IC卡具有2个字节的密码保护字节(地址偏移量分别为1022、1023)以及1个错误计数器(地址偏移量为1021)。
如果没有进行密码校验,则SLE4428IC卡只能读出,不能写入,也不能读取密码字节。
在没有通过密码校验即读取密码字节,将返回“00”.进行密码校验时,必须按以下步骤进行。
*改变一个没有写入的位(没有写入的位,其当前状态为“1”,改变一个没有写入的位即使期由“1”状态变为“0”状态);
*写入第一位密码;
*写入第二位密码