版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的结算系统设计与实现TOC\o"1-3"\h\u4061绪论 绪论1.1课题研究的背景从两千年到现在,每天都会有新的智能化电子信息产品的出现。随着日新月异的智能化成品不断出现在人们的平常的社会生活中。智能化产品在在现实生活中的比重越来越重要。智能化信息渗透在人民的衣食住行各个方面。随着快节奏的生活,人们对于在吃饭的时间上相节省更多的时间,以至于智能化的餐厅结算体统越来越受到人们的关注。在中国面对巨大的人口基数,需要对餐厅的管理更加的智能化特别是在众多的高校中。每当放学后数以千记的学生共同奔向学校餐厅,即使空间足够大的校内餐厅也会显现的非常拥挤不堪,为餐厅后台的服务带来巨大的困扰也为学生在餐厅漫长的排队等待,冒着淋淋大汗买回饭菜。因此无数的科技人员正对解决食堂结算这一问题上不断提供更优化的解决方案。基于单片机的食堂结算具有操作方便快捷和安全性能高等特别越来越受到食堂管理人员的青睐。归结起来,基于单片机的“感应式智能卡”校园食堂结算系统方案就是应用STC89C51单片机电子信息把以往繁琐的,大量的有形消费数据通过集成数据转化成为能储存在一块小晶体片中的信息数据,再利用后台计算机的快速运算,上位机的数据输入、输出、软件的精准控制,通讯网络的一体化使用对电子消费信息可靠的快速而精准的数据处理和数据监控,从而把校园食堂结算管理系统的进一步强化管理、简化结算过程、贪污作假的杜绝和节约有效资源各个方面从一般的结算系统提高到一种全新的结算系统。1.2课题研究的国内外现状本设计基于STC59C51单片机控制的SLE4442芯片进行消费结算功能的智能卡技术。对于智能卡是用符合国际统一标准的塑料矩形片把将高程度的SLE4442芯片封装在卡片的内部,以供便捷携带。智能卡的首次出现大约在上个世纪的七八十年代。由于它是以一个塑料外壳把核心芯片镶嵌其中,具有质量较小,重量较轻不占用其他携带空间以及他的非常高的安全性能等特点。使得智能卡迅速风靡全国,遍地开花,得到人们的青睐。上世纪90年代国家主导的电子货币应用正式实行,金卡工程的创新和快速发展迅速在国内打开市场[1]。开辟电子信息化新的产业进入各大领域,成为引动经济增长的一个新的增长点。智能卡这一新增长的高程度集成化信息技术结晶正在快速的进入中国人民生活特别是人们消费活动的方方面面。当前我国正在对“金卡工程”进行大力的宣传和快速的发展阶段,使越来越多的智能化和信息化人才投入研发之中,为金卡工程提供大量的新鲜血液和强大的创新动力。我们现在使用的智能卡最早出现在一些西方的发达国家手中,随着我国科技的进步,目前早已经实现了国产化。虽然说我国的智能卡运用的时间没有西方的发达国家投入使用的时间长久。但是我国对智能卡领域的创新能力和科研技术是当今世界任何一个国家不可比拟的。我国智能卡应用后来者居上,各行各业中都充斥着智能卡的服务。还有国家对智能卡行业以及它的相关产业的大力支持是西方国家所达不到的。智能卡在各行各业中的使用也占领这越来越重要的成分。智能卡在国内的相关的使用和研究都呈现出昂扬向上的发展趋势。现在智能卡具有非常广泛的应用,特别是用于电信,社会保障银行账户管理,金融事业、交通运输业,工商贸易行业等诸多领域REF_Ref21337\r\h[2]。最新式智能卡已经向具有射频识别RFID高新科技领域稳步进行发展,由于RFID的应用工程更加广泛,对工业化生产过程中的安全性能管理更加突出[3]。随着射频高新科学技术逐步完善和稳步趋于工业化和信息化,这对我国的电子信息技术的发展提供了很大的帮助。数字化旅游行业现代化的服务业,动态管理的应用以及重大物品预防与现代化的物流管理等诸多科技产业以至于我们已经对智能卡读卡器的保密性,安全性,智能化有了一个更高层次要求的认知。2系统总体设计方案2.1课题研究的主要内容本设计主要应用于智能卡SLE4442芯片与STC89C51单片机数据之间的传输方式。详细了解STC89C51单片机的基本组成性能和各个引脚的作用以及连接方式。能够熟练的运用单片机控制SLE4442芯片达到此次设计的要求。掌握STC89C51单片机的编程思路及运用C语言进行编程。学习用单片机控制四位一体数码管的数字显示的C语言程序以及对4*4矩阵按键控制的C语言程序。其中包括主函数程序,子函数程序以及中断函数程序;学习掌握protel仿真软件和KeilpVision4编程软件的原理和使用用法;C语言程序拷入单片机的方法;系统整体的软硬件调试。2.2应用系统结构设计基于单片机的食堂结算系统主体设计是以单片机位控制核心,包括双向数据传输的智能卡SLE4442芯片电路。为单片机提供复位选择的复位电路。外接有提供显示的显示电路和报警电路。还有通过键盘电路为单片机提供结算时消费金额的数据输入。本次设计的整体框架如图1所示。智能卡电路智能卡电路报警电路显示电路键盘电路单片机复位电路图1整体框架图2.3系统的功能说明2.3.1就餐阶段在选择就餐时间段,消费者把需要购买的食物放入放入餐盘中然后拿到刷卡处,售饭人员把消费者所购买食物的价格输入出来。当智能卡感应区没有感受到有智能卡放上时,无法进行余额的扣除操作。当智能卡感应区接收到有效智能卡的信号时,SLE4442底座把卡内的数据传输到单片机内,然后通过四位一体数码管显示卡内的剩余金额。售饭人员会把消费者所选每个菜品的单价通过数字键盘输入到屏幕上。经消费者确认后按下确定按钮,屏幕上数据会通过单片机自动累加求和,计算出这次消费的实际总的金额。当单片机计算出的消费金额高于餐卡内的显示的金额时,单片机系统会发出滴滴滴的响声。用来提醒持卡者的剩余金额可能不足够支持本次的消费使用。如果餐卡放在感应区内没有反应,原因可以是智能卡出现故障,可以要去更换新的智能卡。2.3.2初始化阶段餐卡的初始化就是当消费者拿到餐卡后,为了确保安全性对首次结算时需要输入的一次密码验证,此初始化只有一次。以及在此阶段的工作人员进行使用者的初始密码的设置和用户对该卡的唯一标号和初始金额的充值。只要经过初始化密码确认后,餐卡才能通过单片机进行扣费操作。并且后续的消费操作不在需要密码。2.4硬件电路的选择本次毕业设计采用STC89C51单片机作为设计应用的核心元器件。该芯片不仅有8K的RAM存储还有4K的ROM存储。当突发掉电情况时可以及时保护内部数据,便于后续的使用不担心数据丢失带来的诸多不便。此芯片还具有开发难度低、编程方便和性价比较高等特点。本次设计选用原发明于西方先进的智能卡SLE4442芯片。考虑到食堂结算消费的安全性,此智能卡设有初始密码型控制芯片。如果初始化时间段多次输入密码不正确,系统就会锁存该智能卡的内部数据。未解锁前不能再次使用。由于本次设计用到的STC89C51的输入输出口比较多,对于按键输入部分采用一组4*4型的矩阵式按键方式进行数据输入。这种方式可以使用较少的单片机输入输出端口来完成此次设计需要的按键连接。以至于剩下充足的出入输出端口提供其他电路使用。为了方便智能卡使用者和售饭人员可以清楚的看到当次的消费金额和智能卡内的剩余金额需要设计有显示电路。本次设计采用LD3461BS型号的四位一体数码管。数码管可以直观的显示卡内剩余金额。3硬件电路设计在本设计中,单片机作为设计核心的的控制元器件。各种模块的命令语言都是由单片机发出的。然而单片机与SLE4442芯片连接是整个电路的核心部位。单片机通过P3.2管脚与SLE4442的NC功能管脚相连、P3.4与I/O连接、P3.5与CLX相连、P3.6与RST功能相连接。RST引脚通过极性电容组成复位电路。而18和19管脚组成晶振电路系统。对于显示数额单片机通过整个P2口与四位一体数码管的共阳部分依次连接,而公共端则有P0.4~P0.7管脚通过双极性晶体管驱动连接。用于数字输入的矩阵按键则通过网路标号的方式与单片机的P1口直接连接。为了方便提示,在单片机的P3.3管脚处连接一个三极管用来放大蜂鸣器,可以应作报警的提示。3.1STC89C51单片机3.1.1单片机简介STC89C51是一种自身体积较小,简易携带而且拥有强大的控制功能和优异的性能价格比同时运行电压比较低的一种系统可编程芯片。51单片机主要由中央处理器(CPU),存储器(程序存储器和数据存储器),中断系统,输入/输出接口和最小系统五大部分组成REF_Ref21507\r\h[4]。中央处理器(CPU)作为单片机的最核心的命令发出中枢.它相当于人的大脑对人体机能的各种控制。单片机内的控制命令语言首先经过核心CPU处理,然后下达到各种执行命令操作的模块,完成单片机的命令执行程序。单片机内部自带有两个存储器用于命令语言和数据的存储使用。如果使用的程序容量较大时,内部的存储器容量不够使用这时可以通过I/O口来连接外部的存储器用来存放数据使用。当需要执行中断命令时,需要中断命令的中断源依次向单片机申请中断执行允许。得到执行命令之后才可以进行中断系统的运行。其优点具体如下(1)超强抗干扰。(2)高抗静电保护。(3)宽电压,不怕电源抖动。(4)宽温度范围,-40℃~85℃。(5)I/O口经过特殊处理。(6)数据存储时间久,不易丢失。3.1.2主要管脚功能本设计选用的STC89C51类型的单片机共有40个引脚端口。其中有32个引脚是用于内部与外部连接的输入输出口。分别为8位双向输入输出P0口,既可做片外扩展接口,也可为通用输入输出接口。8位准双向输入输出P1口和P2口。8位准双向输入输出P3口,该口的每一个均兼有第二功能即输出控制信号和输入外部状态信息。剩余8个端口为特殊指令的输入输出端。具有两根电源线接口分别位20管脚的+5V电源输入口和40管脚的GND接地线口。以及19管脚的XTAL1片内振荡电路的输入口和18管脚的XTAL2片内振荡电路的输出口。单片机内还具有9管脚的RST/VPP复位端口,该引脚外连接并联的电阻和电容构成单片机的复位电路。29管脚的PSEN外部存储器读选通信号端口,30管脚的ALE/PROG地址锁存器允许信号端口REF_Ref21624\r\h[5]。3.2单片机最小系统3.2.1晶振电路晶振电路的全称晶体振荡电路。它是单片机内部不可缺少的成分。它是单片机命令语言接受和发出的根基。而且单片机的性能也与晶振电路有很大联系,单片机程序执行的速度也是与晶振的强度成正比的。可以根据单片机的性能选择适当的晶振来提高运行速度。通常情况下,单片机选择12MHz左右的晶振精度就已基本满足我们的日常使用需求,功能更强大的单片机的晶振精度可能要求更高。对于本次的设计需要选择一个具有12MHz的晶振元器件与两个容量为30pF大小的电容元件。连接单片机18管脚的和19管脚的晶振接口共同组成本次设计的完整晶振电路。晶振电路如下图2所示图2晶振电路图3.2.2复位电路单片机的正常运行需要有复位电路。复位电路可以通过连接的复位按键把单片机恢复到初始的状态。这种复位是单片机程序未开始运行复位状态或程序运行时复位到初始的状态。但大多是情况之下,单片机在选择复位后都会形成一个暂时的空位情况。完成单片机的复位需要通过复位端接收到高电平。经过用于控制复位时间电阻和一个复位的按键,然后连接+5V电源端提供复位需求的高电平。同时还需要并联一个非极性的电容只用于上电时才会起到作用。选择复位时,需要单片机至少提供两个周期的高电平才可以达到有效的复位状态。单片机的复位也分为两种类型:上电复位:单片机的上电复位均为高电平复位。大多数情况之下要在原本的复位电路上在加上一个VCC和一个GND连接方式。然后串联电阻与电容。利用电容的充放电效应。通过外加的+5V电源用来确保单片机的复位端可以得到复位需要的高电平条件。按键复位:即需要手动按下按键。完成按键复位前题要经过电容的上电。当使用按键复位时,单片机的复位端会直接与+5V电源相连接也得到复位需求的高电平。于此同时并联的电容就因为短路被迫放电。当按键松开后电容就会再次充电为复位端提供高电平。单片机恢复正常状态,完成复位操作。复位电路如图3所示。图3复位电路图3.2.3最小系统电路单片机的最小系统就是单片机可以进行工作的最少器件的系统。一般情况下单片机的最小系统由单片机、晶振电路和复位电路三部分组成[6]。最小系统电路如下图4所示。图4最小电路图3.3智能卡SLE4442芯片电路3.3.1SLE4442芯片简介本次设计选用的智能卡是基于SLE4442内嵌芯片。它具有2K容量的存储单元和完全独立的可编程代码存储器。它内部可以通过5V电源来保证芯片需要的供电电压。由于它可以长久的对数据进行存储,因此他的内部数据单元存储容量很大。目前世界范围内大多数公司都是使用的这一类型的智能卡芯片。该芯片具有多个存储器机构单元,串行接口也可以达到同步协议的线连接协议。而且数据具有很高的安全保护和长时效的保存。使得卡内数据极不易消失。3.3.2SLE4442主要功能SLE4442芯片的管脚标号的说明如表1所示。表1管脚功能说明引脚号标记符号功能C1VCC+5V电压输入C2RST复位C3CLK串行时钟输入C4NC空C5GND接地C6NC空C7I/O串行数据输入/输出C8NC空SLE4442芯片主要有5大功能。读主存储器是当外界为它提供大量的离散信号从最低字节开始查找在0-255个地址中的数据地址。从而知道数据传输所在的最终存储单元;根据不同的写入程序时间段,系统会根据程序传入时间的先后顺序来进行处理写入程序需要处理的问题,这种处理方式是芯片内部开始进行的,与外部的存储数据没有关系。只是芯片内部的处理过程。读保护存储器是芯片内部数据与外部数据的传输通过完整的输入连续的4*8个一致的离散信号时就允许把读保护存储器中所编写程序的地址的相关数据通过一次次的离散信号汇总读取相应的存储地址单元。读保护存储器还有额外功能,在上述操作下如果在另外在同一数据传输口再次给予一个离散电平信号将会把数据传输的信号状态发生重置现象,及从原先的低电平状态变为高电平状态,无论在那种状态下使用读保护存储器始终处于可读的运行状态。写保护存储器又可以称为唯一地址保护存储器,也就是当需要重新输入新的数据程序时,会与原有的写保护存储器数据程序地址相对比占用的地址位置。当重新输入的地址单元与存储器内部的地址相一直是,此时写保护器存储器将不再接受外部的数据输入,对现有地址程序进行保护。由于新数据程序没有相对应的地址数据,导致新写入的地址会发生错误导致此次的操作没有作用。读安全存储器是为了使SLE4442芯片有更高的安全性能,会在每一个芯片内部都会有一个4B容量的安全码存储器,安全码是芯片出厂产家自带的一种安全措施而读安全码存储器的作用就是通过指令数据就行修改安全码和读出安全码数据。读安全码是需要每32个脉冲信号才能读取出一次,一次最多可以多出四个字节的安全码。在读安全码存储器没有读出相应的安全码之前,安全码的数据就不会有任何的显示,但是定时器/计数器会除外,它会跟随内部数据程序继续计数处理。写安全码存储器顾名思义就是对数据中的安全代码进行设定和更改。写安全码存储器写入程序的的安全代码只有经过传输到读安全码存储器的读取地址中才能被读取出来。否则写入的安全码程序将没有意义。本设计中在对安全存储器进行修改之前只能在初始安全密码验证之后才可以进行下一步修改操作。3.3.3芯片接口电路在此次的设计中,主要电路是由STC89C51单片机控制模块与SLE4442芯片功能模块连接而成。两者接线示意如图5所示。图5芯片接口电路3.4键盘电路设计3.4.1独立式按键独立式按键设计大多数用于一些简单按键设计电路。除了与单片机连接的输入线外还需要取单独的线与电源的负极性端或直接与地线相连接形成简单的独立式按键。由于按键使用与未使用的两种情况下出现的电平信号是刚好不一样的。由此可以通过校验单个按键两端的电压的高低状态的用来确定哪个按键是处于接通或断开的状态。关于独立型按键的一些优点为接线方式比较简单、与主电路连接方便。按键的操作与检测灵活简单,但其确定也很明显一个1/0接口最多只能供一个按键使用,当电路连接比较复杂时,就会使I/O接口不能充分利用,浪费过多的I/O接口。当遇见一些简单电路连接或使用I/O接口数量不多的电路时,可以选择用独立式按键进行连接。独立式按键接线如图6所示。图6独立式按键电路图3.4.2矩阵式按键说到矩阵键盘电路是为了在有限的I/O接口可以连接更多的按键而进行矩阵式排列的一种按键连接方式。关于这种矩阵式排列的方式我们在本科期间的单片机课程内都学习了其相应的画图排列方式和相应的程序编辑。矩阵键盘设计为水平线和垂直线构成。开关按钮就安装在水平线与垂直线的交叉点上。每条水平线和垂直线都是独立存在的数据线,只有在两者的连接处加上按钮开关才能使两者构成通电回路使用。正常情况下,按键都处于断开状态,按键的输入端与电源正极性相连接呈现高电压状态,在没有按键接通状态下,键盘的输出端处于低电平的状态。因此可由输入端的高低电平状态来判断哪个按键处于接通或断开的状态。按键每个按键相当于独立状态,其是否按下不会影响该按键所处于水平线和垂直线其他按键的高低电平状态。作为单片机的外接设备,矩阵式按键可以节省许多的I/O接口这相比较于独立型按键可以连接更多的外接线路,所以复杂的电路连接都会优先选择矩阵式按键,本设计就选择一个4*4式矩阵按键排列。矩阵扫描按键如图7所示。图7矩阵按键电路图3.5蜂鸣报警电路设计此模块设计中蜂鸣器只用于报警提示即对SLE4442卡的充值报警提示,消费余额不足报警提示。用以达到报警提示的作用。报警电路如图8所示 图8报警电路图3.6余额显示电路设计此模块设计主要为了对智能卡内剩余金额的明示作用。用于数据显示的是四位一体数码管。显示电路如图9所示图9显示电路图4系统的软件部分4.1软件结构设计基于单片机的食堂结算系统主要由六部分应用分程序组成。应用程序分块划分为STC89C51单片机烧录主程序,通过矩阵按键输入数据的按键程序以及用于四位一体数码管显示消费及余额的显示程序以及震荡电路复位程序和蜂鸣器报警提示程序和一些其他的辅助程序。4.2系统的操作过程在进行食堂结算时,首先消费者选择自己所需要的饭菜到结算窗口,把自己的智能卡放在售饭机的感应处,当售饭机感应到卡片的存在时就会通过单片机程序把卡内的余额显示以至于消费者和售饭管理人员都可以看到。当余额显示后,售饭管理人员会把消费者所选择菜品的价格累计相加通过矩阵按键输入相应的扣除金额。卡内消费额扣除后。扣除后的卡内剩余金额仍会呈现在四位一体数码管的显示。在扣费过程中如果单片机内发出嘀嘀嘀报警提示,可能是在提醒消费者的卡内剩余金额不够此次的消费结账或智能卡可能出现故障,提醒消费者去前台检验一下或对卡内余额进行再次充值。4.2.1主程序当检测到有卡插入时,单片机主程序首先会完成程序的初始化应用、然后读取卡内的余额通过四位一体数码管显示出来供消费者和管理人员共识。当检测到一切正常化后,管理人员通过消费者应消费金额在矩阵键盘上输入数据。系统主流程序的流程图如图10所示。初始化初始化开始是否有卡显示余额是否结算按键处理YNNY图10主程序流程图4.2.2子程序在选择就餐时间段,消费者把需要到刷卡处,售饭人员把消费者所购买食物的价格输入出来。当智能卡感应区接收到有效智能卡的信号时,SLE4442底座把卡内的数据传输到单片机内,然后通过四位一体数码管显示卡内的剩余金额。当单片机计算出的消费金额高于餐卡内的显示的金额时,单片机系统会发出滴滴滴的响声。让消费者及时知道餐卡内的剩余金额不多了,需要及时充值才能再次消费。当卡内余额充足时,直接进行扣费行为,完成消费。消费子程序流程如图11所示开始开始按下扣费键余额显示输入金额输入正确清除按键确认扣费余额不足扣费成功结束扣费失败NYYN图11消费子程序流程图为了更好的验证扣费的阶段,需要对卡内进行充值一定的金额。充值过成可以有两个阶段完成,一个可以有SLE4442芯片出厂时根据商家要求进行充值,还可以通过设计自己对卡内进行充值。本次设计主要是食堂结算系统,需要对卡内进行一定的充值。充值子程序流程如图12所示。开始开始显示提示输入充值金额输入是否正确充值成功结束清除输入YN按下充值键图12充值子程序流程4.2.3中断程序在数码管显示时要用到中断子程序,它主要的设计思路为:由于为12MHz的晶振,所以每个时钟脉冲为100us,当计数器每计够50次,即每5ms执行一次数码管显示的语句。如图13中断流程图所示开始开始等待是否计数显示段码是否计数显示段码开始显示段码YNYN图13中断程序流程图4.2.4按键处理程序具体过程为当单片机检测到有智能卡的到来时,售饭人员可以选择清屏操作,如果不需要清屏则把消费者选的的各个菜品的单价通过数字键盘逐个输入,然后按键处理程序就会自动根据加减法运算程序算出最后的消费总金额。根据消费者消费总金额,去对应相应的按键来处理应该扣除的金额显示到四位一体数码管上。矩阵按键扫描程序的流程如图1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026年)项目经理安全带班制度
- 消防控制室值班记录表格
- 2026比较文学面试题库及答案
- 2026北京消防员面试题及答案
- 2025年中国环型插件生产线市场调查研究报告
- 2025年中国灵光绸市场调查研究报告
- 2025年中国浸塑护套市场调查研究报告
- 2025年中国汽车电线检验工具市场调查研究报告
- 2025年中国异形轴芯市场调查研究报告
- 2026北京人行面试题及答案
- 诚信高考主题班会课件
- 动态设计宝典:C4D三维图像设计与交互知到智慧树章节测试课后答案2024年秋青岛工学院
- 2024年湖北省武汉市中考物理·化学试卷真题(含答案解析)
- 部编版六年级下册道德与法治简答题50道可打印
- SJ-T 11841.2.2-2022 显示系统视觉舒适度 第2-2部分:平板显示-蓝光测量方法
- 湖南省长沙市周南梅溪湖中学2024届物理高二下期末综合测试试题含解析
- 膝关节患者护理课件
- (完整word版)中医病证诊断疗效标准
- GB/T 4761-1984家庭关系代码
- 第十一章公债
- GB/T 16895.6-2014低压电气装置第5-52部分:电气设备的选择和安装布线系统
评论
0/150
提交评论