




免费预览已结束,剩余36页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽宁科技大学本科生毕业设计 第 i 页 食堂磁卡售饭系统窗口机的设计 摘 要 目前学校内学生的数量在不断的增加,原来的纸质的,人工的售饭管理已经显得很 不方便,越来越多的学校采用了智能卡和网络技术构建学校的售饭管理系统,这也将成 为一个发展趋势,会在越来越多的学校和其他单位内推广。本课题介绍了一种针对双频 相位相干编码的食堂磁卡读写窗口机系统。此窗口机系统具有磁卡信息的读入及数据传 送、财务管理、键盘输入与帐户余额显示等功能,包括窗口机的硬件和软件设计。硬件部 分以 atmel 公司的 at89c51 芯片为核心,采用日本 omron 公司生产的 mcr 译码 器对磁卡进行译码,用 rs485 串行口通信与上位机进行数据传送,通过 intel 公司的 8255 通用可编程并行接口芯片完成键盘输入与账户余额显示等功能控制。软件的设计 包括主程序、磁卡信息读取、正反向划卡数据处理、卡码校对、8255 键盘输入处理及显 示功能控制等程序设计方案及主要程序介绍。该系统具有功能齐全,设计简单,可靠性 强,成本低廉等特点,适用于具有相对固定就餐人员的中、大型食堂,也适用于超市等。 关键词:磁卡 ;mcr 译码 ;串行通信 ;键盘与显示 辽宁科技大学本科生毕业设计 第 ii 页 the design of the window-machine for the magcard meal-selling system in a dining room abstract with the number of student increases greatly, and the management of students information is so complex that could not be conveniently managed in the original papery,. therefore, more and more colleges build campus dining room management system, using contactless magcard and network technology. as a developing trend, this technique will be extended widely in school and other organization. it introduces one kind of reading-writing window machine system to the magcard encoded by double frequency phase coherent code. this window machine system has functions of magcard information reading-in, data transferring, financial management, keyboard entry, display of account function and so on, including window machine hardware and software design. the hardware part takes atmel companys at89c51 chip as a core, uses the mcr decoder produced by japanese omron corporation to decode magcard, carries on the data transfer with position-on machine by the rs485 serial communication, completes the controlling function of display of keyboard entry and account with intel corporations 8255 general programmable parallel interface chip. the software design includes the main procedure, magcard information reading-in, card data processing pro and con, the card code coordinated programming, 8255 keyboards entry dealing and display function controlling. this system has the character of fine and reliable functions, simple design and inexpensive cost. its practical in the large-scale or mid-scale canteens that have relatively stable eaters, also practical in supermarket and so on. key words:magcard ; mcr decode ; serial communication ; keyboard and display 辽宁科技大学本科生毕业设计 第 iii 页 目 录 1 绪 论1 1.1 磁卡的发展与磁卡的应用状况.1 1.2 窗口机.2 1.3 at89c51 单片机芯片的优点3 2 设计方案介绍4 2.1 窗口机的功能介绍.4 2.2 系统总体结构与框图简介.5 3 磁卡编码与译码.6 3.1 磁卡.6 3.2 编码方式.6 3.3 译码方式.7 4 窗口机的硬件设计.9 4.1 硬件电路图设计.9 4.2 硬件器件的选择.10 4.2.1 at89c51 芯片的选择10 4.2.2 8255 芯片的选择11 4.2.3 74ls42 二-十进制译码器芯片的选择11 5 窗口机的软件设计.13 5.1 磁卡数据信息录入与处理.13 5.1.1 主程序框图介绍13 5.1.2 磁卡数据读取程序设计框图14 5.1.3 正、反向划卡程序设计框图.15 5.1.4 卡码信息校验程序设计框图18 5.1.5 左移一位程序框图19 辽宁科技大学本科生毕业设计 第 iv 页 5.2 键盘输入信息处理与显示 20 5.2.1 键盘按键的输入特点20 5.2.2 键盘去抖动20 5.2.3 键盘扫描功能21 5.2.4 显示功能设计24 5.2.5 延迟26 5.2.6 设计中的数据储区的分配26 5.2.7 按键功能介绍27 5.2.8 按键处理程序设计思想及程序介绍27 5.2.9 数字键处理程序28 结 论.29 致 谢.30 参考文献31 附录 磁卡信息录入及数据处理等程序介绍33 辽宁科技大学本科生毕业设计 第 1 页 1 绪 论 随着二十一世纪的到来,我们的社会已经进入了一个信息化的时代,其中经济信 息化的建设是一个重要的方面。随着相关政策的出台和实施 标志着我国的信息化建设 正走向一个新的高度。如“三金工程”中的“金卡工程”是直接面向广大群众的、与亿万人 民的生活息息相关的经济信息化工程,它将直接影响和改变人们的传统观念和消费习 惯,促进市场繁荣,极大地方便人们的生活和消费,可以预言,未来将是“一卡在手, 走遍神州”的社会。 1.1 卡的发展与磁卡的应用状况 随着社会的进步和现代化程度的不断提高,人类所拥有的信息种类和数量都在成 倍增加,在这样的社会里,我们每天都要处理许多与个人有关的信息,如购物、打电 话、到银行存款取款等,需要携带许多种票证、现金、单据,给我们带来了很多不便 和不安全感。于是,人们寻求一种具有支付、查询、密码查验等多种功能及安全可靠 的“卡”作为电子货币在无纸的、信息化的、商业行为的电子数据交流过程中,实现纸 基货币(包括金属基硬币或代用品)的全部功能,完成一次消费或商品交易。随着科学技 术的不断进步, “卡”的类型及相关的设备也在不断地发展、变化、更新,应用范围也随 之更加广泛。从用途来看,粗略地可将卡分为金融卡和非金融卡两类。从信息的载体 来看,主要有光电(检测)卡、磁卡、ic 卡(智能卡)、激光卡等1。 但是目前世界上用量最大的卡就是磁卡。磁卡是一种简单的传递信息的介质和工 具,相对于打孔卡和条码卡来说,它具有数据保密性比它们要强,可改写性好,不那 么容易伪造,可随时存取信息,简单方便,成本不高,易于被用户接受等优点,所以 应用范围极广。然而磁卡系统的磁头易脏污,磁卡上的磁粉易脱落,而接触式 53 卡也 存在类似问题,其卡座容易损坏、脏污,卡片的触点由于裸露在外,在食堂等使用环 境较恶劣的情况之下,很容易造成接触不良。因此,这些系统都给日常使用也带来了 一定的不便。但是磁卡的使用毕竟有很长的历史了,它的发展也得到了很多世界知名 公司,特别是各国政府部门几十年的鼎立支持,使得磁卡的应用非常普及,遍布国民 生活的方方面面。据资料报道,美国平均每个(成年)人拥有的各类磁卡多达 4 张,新 加坡也有类似的普及率。在美国等一些发达国家,由于磁卡广泛应用于银行、证券等 系统,磁卡的应用系统非常完善,如果将已有的这些磁卡应用系统,包括 visa 卡 辽宁科技大学本科生毕业设计 第 2 页 mastercard 卡应用系统在内,全部换成正在日益成熟的智能卡系统,那么每年的投 入至少上千亿美元,并且将严重影响国民的生活使用习惯以及应用系统的正常运转等。 这也是智能卡系统在美国的发展远比欧洲国家要慢的原因所在。在未来很长的一段时 间内特别是像美国这样一个银行磁卡应用系统高度发达的国家,银行磁卡应用系统将 同智能卡应用系统以互补方式共同存在。智能卡的总体安全保密性比磁卡的确要好, 但是非常完善的磁卡应用系统(例如银行系统)弥补了磁卡本身在其安全保密特性上 所存在的不足,因此对使用者来说并不会明显体会两种卡的安全特性有差异及影响使 用。 1.2 窗口机 在磁卡的应用系统中,磁卡并不能单独使用。它一定要和相应的磁卡读写机相配 合才能使用。 磁卡读写机是磁卡与应用系统间的桥梁,在 iso 国际标准中称之为接口设备,其 种类繁多,因所处的环境各异,性能特点也区别甚大,但仅对卡的操作而言,均具备 如下功能: (1) 卡插入/退出的识别与控制; (2) 通过触点或射频方式向接触式、非接触式卡提供稳定的电源和时钟; (3) 实现与卡的数据交换,并提供相应的控制信号; (4) 为加密数据系统提供相应的加解密处理及密钥管理机制; (5) 提供相应的外部控制信息,与 pc 机等设备进行信息的交换。 读写器的外围接口对象通常是 led 或 lcd 显示屏和简易键盘,以及与 pc 通讯多 取 rs232 或 rs485 串行通讯标准。rs232 方式的通讯速率可设为 1200 波特率的 1,2,4,8 倍可调,其最大通讯距离 15 米;rs485 方式的最大通讯距离 1200 米,采 用差分输入/输出,允许多个驱动/接收器共用同一传输线的多点应用,适宜总线结构网 络。 读写器分为专用读写器和通用读写器。专用读写器是专门为某种用途设计、不具 备再开发功能的专用独立装置。它本身已具备某种完整的固定用途,如磁卡门锁、磁 卡电话、磁卡公共汽车收费机、ic 卡出租汽车计价器等,其使用方式和功能在出厂前 已有厂家设置,用户仅可根据具体使用情况做小范围的设定。通用读写器多数以从设 备形式与 pc 机后端装置构成系统,其本身并不限于某一固定用途,功能主要针对 ic 辽宁科技大学本科生毕业设计 第 3 页 卡的读写操作,并具备与后端通讯的丰富灵活的硬/软件接口。可借助于 pc 进行二次 开发,而且通常可支持多种类型卡,为专用读写器所不及。通用读写器有联机和脱机 两种类型。联机又可分为内置和外置,脱机型读写器包括台式(挂式)和手持式两种。本 设计即为专门的读写器。本设计就是专门针对食堂售饭收费的磁卡读写机,称为食堂 磁卡收费系统窗口机。 窗口机是食堂售饭系统中售饭人员和用户打交道的前台设备。窗口机的设计不仅 要求其实用方便,更重要的是要保证其稳定、安全和可靠。 1.3 at89c51 单片机芯片的优点 本设计的窗口机用 atmel 公司的 at89c51 单片机芯片为硬件核心,采用日本 omron 公司生产的 mcr 译码器对磁卡进行译码,用 rs485 串行口通信与上位机进 行数据传送,通过 intel 公司的 8255 通用可编程并行 i/o 接口芯片完成键盘输入查询 与账户余额显示等功能控制,采用软件进行编程控制数据读取与处理控制。单片机自 问世以来,人们对它不断改进,应用在现代化社会对每个方面。它集成度高,体积小, 价格低廉,开发较为容易,可根据需要制成各种智能控制器以代替人工操作,实现自 动化。到今天为止,单片机已有很多型号,按数据线来分有 4 位、8 位、16 位、32 位。 从目前各种单片机在市场上的占有率来说,4 位机已经明显的逐渐减少,其他 3 种机的 占有率分别为 40%、20%、32%,从而可以看出 8 位机仍是市场主流产品。 随着经济发展的突飞猛进、科技创新的日新月异,磁卡也必将为其它更优越的卡 (如已经出现的射频卡)或者其它介质甚至无卡时代所代替,而单片机的发展前景也 更是难以预料。然而今天仍然将它的设计说明给大家,作为当前的应用,也希望为以 后的发展起到一定抛砖引玉的作用。 辽宁科技大学本科生毕业设计 第 4 页 2 设计方案介绍 2.1 窗口机的功能介绍 窗口机是人机对话的窗口,最主要的是具备安全、快捷的收费功能。 窗口机的主要功能可以概括为以下几条: (1)磁卡信息录入。磁条上的有效数据由 40 个带奇偶校验位的 bcd 码构成,代 表每位就餐者的资金账户编号。当有磁卡插入时,窗口机能够将磁条上的编码信息快 速译码后读取存储,并验证此卡是否为有效卡。 (2)认为有效数据符合事先制定的标准后,认为此卡有效,并将卡码通过串行口 传送给上位机,然后,由上位机查出该就餐者的资金账户余额,再通过串行口传递给 窗口机,通过 led 显示给就餐者。 (3)将账户余额显示给就餐者,这里根据实际需要也为了数码显示方便而将账户 余额限定为 0999.99 元。 (4)能够同时处理正向划卡的情况也可以处理反向划卡的情况。 (5)通过键盘输入就餐者欲消费金额,并通过数码管显示出来,当输入有误时, 按下清除按键,cpu 执行清除功能,led 显示也进行清除。同样,这里的欲消费金额 也按实际需要设定为 0999.99 元。 (6)当就餐金额将超出账户余额时,窗口机发出警报进行超支个报警,当按下熄 灭警报按键时,警报停止报警。 (7)按下结账按键后,窗口机又将新的资金余额返回给上位机数据库保存起来。 (8)为方便食堂的财务管理工作,窗口机在工作的同时将收入总额进行自动顺序 累加,并且能够用按键进行清除重新累加。 2.2 系统总体结构与框图简介 此窗口机系统以 atmel 公司的 at89c51 芯片为核心,外接 mcr 译码器进行磁 卡信息录入与检验,并且外接 8255 通用可编程并行接口芯片完成键盘输入与账户余额 显示等功能控制。其中 8255 的 pa 口、pb 口设为输出端,pa 口送段码给数码管,pb 口用低四位经译码后送入数码管位码使数码管依次循环点亮,pc 接键盘,进行消费信 息录入。另外需要说明的是,串行口通讯在本设计中不作为重点介绍,但是,在总框 辽宁科技大学本科生毕业设计 第 5 页 图中我们也将其表示出来了。并且,这里的数码管分成上下两排,每排 5 个,分别显 示账户余额和键盘输入,而这里的键盘为 44 阵列式键盘。系统的总体框图如下。 图 2.1 系统的总体框图 辽宁科技大学本科生毕业设计 第 6 页 3 磁卡编码与译码 3.1 磁卡 要对磁卡数据进行读取,必须对磁卡特点及信息存储有所了解。 磁卡是一种磁记录介质卡片,一种简单的传递信息的介质和工具,相对于打孔卡 和条码卡来说,它具有数据保密性比它们要强,可改写性好,不那么容易伪造,可随 时存取信息,简单方便,成本不高,易于被用户接受等优点,所以应用范围极广泛。 它由高强度、耐高温的塑料或纸质涂覆塑料制成,能防潮、耐磨且有一定的柔韧性,携 带方便、使用较为稳定可靠。磁卡卡体多为塑料薄片,磁介质的涂敷则有条形和涂布 型两种。磁条型磁卡在卡片上方约有 12mm。宽的磁条可记录数据,通常是用热压法 把磁条贴在卡片的基板上,外面再涂上一层塑料保护膜,标准尺寸长宽厚: 85.1053.970.7mm 。有的还在磁卡正面印有凸起的字形或图案,或者是激光图案。 如特殊的图形标记,插卡方向、持卡人的照片等等。反面则有磁层或磁条,具有 2-3 个磁道以记录有关信息数据。磁条是一层薄薄的由排列定向的铁性氧化粒子组成的材 料(也称之为颜料) 。用树脂粘合剂严密地粘合在一起,并粘合在诸如纸或塑料这样的非 磁基片媒介上。 磁条从本质意义上讲和计算机用的磁带或磁盘是一样的,它可以用来 记载字母、字符及数字信息。通过粘合或热合与塑料或纸牢固地整合在一起形成磁卡。 磁条中所包含的信息一般比长条码大。 目前,国际标准化组织(iso)已为磁卡制定了标准,按此标准磁卡的磁条上有三个 信息磁道,磁道 1 可存 39 个字符,磁道 2 可存 40 个字符,磁道 3 为 107 个字符。1, 2 磁道用来存储各种不同用途卡的公用信息,如个人识别码等,它们是只读的。磁道 3 供银行用,可由读写卡的设备读写,或修改其内容。本设计的磁卡选用磁道 2,即存储 40 个字符,为用餐者的账户编码及奇偶校验位等。 3.2 编码方式 本设计磁卡上所载信息的编码采用双频相干相位方式(符合 iso7810iso7819 标 准) ,即在半个基准时钟周期内变化一次的信号代表“1”,无变化的信号代表数码“0”, 代表“0”的信号高电平和低电平交替变化,如图所示,这种编码也称 f2f 编码。图中的 “基准”代表未调制前载波的波形, “信号”代表调制后信息波形,下面的二进制数字 代表实际编码。 辽宁科技大学本科生毕业设计 第 7 页 图 3.1 f2f 编码波形图 本设计的磁卡上有 40 个有效数字,每个有效字符有五位数码构成,d0d3 为该字 符的 bcd 码,d4 为奇偶校验位(本设计中采用奇校验)磁条上的信息按 75bpi 密度 标准录制,对于 85cm 卡来说,除了 40 个有效字符外,其余的开头和结尾部分都用引 导位“0”来填充。有效数字字符数据串结构为:起始字符,数据 1,数据 2,数 据 37,结束字符,校验字符。该数据串以串行方式录制在磁条上,为了能够可靠地译 码,起始字符设为 0bh,结束字符为 1fh,校验字符则由前 39 个字符相异或后加上奇 偶校验位构成,用以实现数据块校验的功能。 要值得注意的是,磁卡上的 40 个字符在实际录制的时候,每个字符都是按从低位 到高位的顺序依次将 5 个数码录入的。如数字 9,二进制码为 1001,加上校验位 1,实 际字符为 10011,而在往磁卡上录制的时候录入的为 11001,这就需要在译码时注意将 其还原回来。 3.3 译码方式 常见的软件译码方式,通过软件编程来测量磁卡输出的信号脉冲宽度。此编程法 译码程序量大,占用大量的 cpu 资源,信号输出通道的硬件也比较繁琐,实用表明此 法的误码率也较高。故本设计不采用此法,而是采用由日本 omron 公司生产的 3s4yr-hnr4 型硬件译码器,简称 mcr。该 mcr 的误码率小于 1/1000,并且还具有 体积小、使用方便、耗电量低等特点,适合于 75bpi 和 210bpi 两种标准磁卡的 f2f 编 码的磁卡译码。如下表 3.1 列出了 mcr 引脚及功能。当录有 f2f 编码的磁卡在磁头上 滑动时,译码后的数据以串行方式依次出现在 mcr 的脚上,并且当端处于下rdprcp 降沿时,的有效状态已经出现,故可用引脚的下降沿做中断申请。cpu 一旦rdprcp 响应中断,立即对端状态进行读取。由于信号为负逻辑,当有效状态时,低rdprdp 电平为“1”高电平为“0”。应注意的是,从下降沿开始,的有效状态持续时间约rcprcp 为 80us 。 因此,必须在 80us 的时间内将的状态读走,否则会出现数据丢失现象。rdp 辽宁科技大学本科生毕业设计 第 8 页 表表 3.1 mcr 译码器管脚及部分功能译码器管脚及部分功能 引脚符号mcr 译码器管脚及部分功能 3 rdp译码器数据脉冲输出端。负逻辑 4 rcp使读信号脉冲输出端。低电平时,引脚数据有效rdp 5 cls 磁卡运动状态输出端。当录有数据的磁卡在磁头上滑动时, =0;当停止滑动或滑动结束时,=1clscls 6csv节流控制端。置 1 时,mcr 正常工作,置 0 时,mcr 等待 7sw175bpi,210bpi 磁卡选择开关。置右端时,210bpi 方式译码; 置左端时 75bpi 译码 8vcc电源,+5v 9gnd地 辽宁科技大学本科生毕业设计 第 9 页 4 窗口机的硬件设计 4.1 硬件电路图设计 ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 psen 29 ale /p 30 txd 11 rxd 10 u6 at89c51 d0 3 q0 2 d1 4 q1 5 d2 7 q2 6 d3 8 q3 9 d4 13 q4 12 d5 14 q5 15 d6 17 q6 16 d7 18 q7 19 oe 1 le 11 u9 74ls373 c1 20p c3 20p f1 12m d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp dpy2 dpy_10 d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp dpy3 dpy_7-seg d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp dpy4 dpy_7-seg d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp dpy5 dpy_7-seg d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp dpy6 dpy_7-seg d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp dpy7 dpy_7-seg d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp 1 dpy s1 sw-pb r13 1k r14 8.2k c2 10u +5 y1 3 vcc 8 gnd 4 y2 5 1a 1 1b 2 2a 6 2b 7 u9 74als05 y1 3 vcc 8 gnd 4 y2 5 1a 1 1b 2 2a 6 2b 7 u10 74als05 y1 3 vcc 8 gnd 4 y2 5 1a 1 1b 2 2a 6 2b 7 u11 74als05 y1 3 vcc 8 gnd 4 y2 5 1a 1 1b 2 2a 6 2b 7 u12 75451 +5 r7 100 r8 100 r9 100 r10 100 r11 100 r6 100 r5 100 +5 d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp dpy8 dpy_7-seg d 5 c 4 gn 3 b 2 a 1 e 6 f 7 gn 8 g 9 h 10 a b c d e f g dp y1 3 vcc 8 gnd 4 y2 5 1a 1 1b 2 2a 6 2b 7 u13 75451 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 9 8 10 9 11 a3 12 a2 13 a1 14 a0 15 u11 74ls42 d0 d1 d2 d3 d4 d5 d6 d7 a0 d0 d1 d2 d3 d4 d5 d6 d7 a0d0 d1 d2 d3 d4 d5 d6 d7 cs cs rd wr rd wr 12 u1a 74ls04 12 u4a 74ls06 csv rdp cls rcp u5 mcr +5 gnd 5 vcc 8 d0/r1 7 d0/r1 6 re 2 r0 1 de 3 d1 4 u2 75176 u14 m +5 rxd txd r1 r2 rxd txd int0 int0 d0 34 d1 33 d2 32 d3 31 d4 30 d5 29 d6 28 d7 27 pa0 4 pa1 3 pa2 2 pa3 1 pa4 40 pa5 39 pa6 38 pa7 37 pb0 18 pb1 19 pb2 20 pb3 21 pb4 22 pb5 23 pb6 24 pb7 25 pc0 14 pc1 15 pc2 16 pc3 17 pc4 13 pc5 12 pc6 11 pc7 10 rd 5 wr 36 a0 9 a1 8 reset 35 cs 6 u10 8255a a1 a1 12 u8a 7407 1312 u7f 7407 1110 u7e 7407 98 u7d 7407 56 u7c 7407 34 u7b 7407 12 u7a 7407 a b c e f g d 048c 159d 26ae 37bf r17 220 r16 220 r18 220 r19 220 +5v 1 2 4 5 6 u12a 74ls21int1 int1 a b c d a b c d a b c d a b e f g e f g e f g c d a b c d a b c d a b c d a b e f g e f g e f g e f g e f gc d a b c d e f g a b c d e f g ale ale +5 +5 r15 10kc4 10u +5 r12 220 +5 gnd 5 vcc 8 d0/r1 7 d0/r1 6 re 2 r0 1 de 3 d1 4 u3 75176 r3 r4 +5 +5 图 4.1 总体电路图 在设计中主要以 atmel 公司的 at89c51 单片机芯片为核心芯片,外接用日本 辽宁科技大学本科生毕业设计 第 10 页 omron 公司生产的 mcr 译码器对磁卡进行译码,用 rs485 串行口通信与上位机进 行数据传送,通过 intel 公司的 8255 通用可编程并行接口芯片完成键盘输入与账户 余额显示等功能控制。at89c51 芯片 p1.2 接 mcr 的即译码输出端,将译码器译rdp 码读入;p1.3 端接译码器的端,来判断划卡是否结束;p3.2 端即中断 0 接译码器cls 的作为中断输入;p1.4,txd,rxd 端接 75176 芯片与上位机进行串行口通信;rcp p1.5 端接驱动后经过警报接电源完成超支报警。 at89c51 与 8255 的接法为:p2.7 作片选,地址线经过 74ls373 后,将低两位送 入 8255 的 a1a0 端,这样,8255 的命令字为 pa 口:7ffch,pb 口:7ffdh,pc 口: 7ffeh,控制口:7fffh 。8255 的 pa 口设为输出端,经 7407 驱动后将显示段码送 入数码管,pb 口低四位接二-十译码器将位码经驱动送入数码管,pc 口接键盘,低四 位设为输入接阵列键盘的行线扫描按键,高四位设为输出,送高电平接键盘的列线用 来扫描按键。数码管共有十个,前五位显示账户余额,后四位显示键盘输入金额。数 码管的第 3 个和第 8 个小数点如图连接为常亮。键盘为 44 阵列式键盘,共有 16 个 按键,其中有 10 个数值键,6 个功能键,完成键盘控制。 4.2 硬件器件的选择 4.2.1 at89c51 芯片的选择 单片机发展到今天,已经有许多型号,其中 intel 公司的 mcs-51 系列的三个基 本产品为 8051(8031) 、8751、89c51。它们的指令和引脚完全兼容,核心为 8 位的 cpu,但内部结构有所不同。8031 无内部程序存储器。8051 含有 8031 和一个 4k 字节 的内部程序存储器。并且 8051 是掩膜型单片机,不超过 4k 字节的 rom 是厂家制作 芯片时为用户烧制的,用户不能更改,所以 8051 在国内很少见。与 8051 功能相同的 是 8751,但是它的 4k 程序存储器采用了 eeprom,用户可以经过紫外线擦除其中的 程序,反复修改,但是 8751 比较贵,甚至比 8031 外加一片 4k 的 eprom 还贵,而且 经常擦写 eeprom 也容易损坏,8751 的 eeprom 一旦损坏,整个片子就废了。以 mcs-51 为基础人们根据不同的需要,又开发了各种型号的单片机。最先出现的就是低 功耗、高性能的 89c51。at89c 系列和 51 系列完全兼容,但是内含 4k 字节的快擦写 可编程/擦除只读存储器,可以电擦写 1000 次以上。at89c 系列单片机也便宜,使用 也方便,是真正意义上的单片机。它的时钟频率高达 20mhz,芯片上的 eeprom 允 许在线(+5v)电擦除、电写入,此外还支持软件选择的两种掉电工作方式,非常适用 辽宁科技大学本科生毕业设计 第 11 页 于电池供电的场合。有兼于此本设计选择 at89c51 为窗口机的核心芯片2。 4.2.2 8255 芯片的选择 intel 公司的 8279 通用可编程键盘/显示接口芯片完成键盘输入显示是非常方便 的,但是同时也将带来相应的开销。而且在按键数目较少时用扫描键盘可减少硬件电 路开销,只是需要 cpu 通过软件对键盘进行查询判断而已。因此在本设计中,我们用 在 8255a 基础上改进的 8255 通用并行接口芯片完成键盘与显示功能。8255 是 intel 公 司生产的一种通用可编程并行 i/o 接口芯片,价格低廉,使用灵活方便,可以直接与 intel 系列的芯片连接使用。用地址锁存器将地址信号传送给 8255,利用 a1,a0 来选 择不同的接口来实现接口的扩展,我们可以将 p0 的 8 个口扩展 3 个并行端口,即 24 个口。分别为 pa 口、pb 口和 pc 口,其中 pc 口又分为高 4 位口和低 4 位口两部分。 它们都可以通过软件编程来设置各 i/o 口的工作方式。有兼于此,本设计选择 8255 芯 片完成键盘的输入与显示控制功能3。 4.2.3 74ls42 二-十进制译码器芯片的选择 表表 4.1 74ls42 二二-十进制译码器逻辑功能十进制译码器逻辑功能 输 入输 出序 号a3a2a1a0y0y1y2y3y4y5y6y7y8y9 000000111111111 100011011111111 200101101111111 300111110111111 401001111011111 501011111101111 601101111110111 701111111111011 810001111111101 910011111111110 10101111111111 10111111111111 11001111111111 11011111111111 11101111111111 伪 码 11111111111111 74ls42 二-十进制译码器逻辑功能是将输入的 bcd 码译成 10 个低电平信号输出。 74ls42 二-十译码器的逻辑真值如表 4.1 所示。其中,序号 9 以后的代码为伪码,输出 为全高电平4。 在本设计中,由于用到了 10 个数码管,在显示时需要将 10 个数码管循环依次点 辽宁科技大学本科生毕业设计 第 12 页 亮,所以选择本芯片接 8255 的 pb 口的低四位,这样只用将 pb 口设为输出方式,将 pb 口的高四位忽略,低四位输出在 09 之间变化即可。 辽宁科技大学本科生毕业设计 第 13 页 5 窗口机的软件设计 窗口机的软件设计是食堂售饭系统窗口机设计的关键。窗口机的软件设计除了要 考虑实现上述的所有功能以外,更重要的是要保证其稳定性和可靠性,尤其是对通信 过程中出现的各种情况和问题采取何种软件措施加以处理显得最为关键。 本设计中窗口机的软件包括磁卡数据信息录入与处理、键盘输入信息处理与显示 两大部分。 5.1 磁卡数据信息录入与处理 磁卡数据处理程序由主程序、译码器 mcr 输出信息读取程序、正向划卡、反向划 卡数据处理程序、左移动一位、右移动一位以及卡码校验程序等几部分组成。 5.1.1 主程序框图介绍 图 5.1 主程序框图 辽宁科技大学本科生毕业设计 第 14 页 这里所指的主程序是磁卡信息录入及数据处理,仅限于键盘输入前,包括磁卡信 息译码读取到卡码校验完毕的全过程。当有磁卡划卡时,mcr 译码器的端为低电cls 平,cpu 工作在中断 0 方式下,此时将 20h6ah 单元清零,并将译码数据存储在 50h6ah 中,而后将有效数据取出判别是否符合原先规定的标准,因为划卡可能有正 向和反向两种,所以当正向校验为错时需要再看反向是否为有效,发现卡码为有效时 返回向上位机通信取账户余额,进行售饭。 5.1.2 磁卡数据读取程序设计框图 图 5.2 磁卡数据读取程序设计框图 辽宁科技大学本科生毕业设计 第 15 页 5.1.3 正、反向划卡程序设计框图 考虑到实际应用中可能有正、反两种划卡情况,本设计使用了两种划卡程序。 图 5. 3 正向划卡程序框图 辽宁科技大学本科生毕业设计 第 16 页 图 5.4 反向划卡程序框图 正向划卡数据处理程序是从 50h 开始,将每个单元的内容从低位到高位进行判断, 当发现第一个“1”时,即认为有效数字字符串开始,以每五位为一个字符,将后面的数 码依次右移到 21h48h 中去。当此程序处理完后,进行卡码校验,校验正确则认为 本卡有效,返回,向上位机发出申请将账户金额取出。如果卡码校验不正确,则调用 反向划卡处理程序。程序框图如图 5.3 所示。 辽宁科技大学本科生毕业设计 第 17 页 执行正向划卡数据处理程序后,有效数字存储在 21h48h 单元中,只是需要注意 的是,每个单元中的五位有效数字都是存储在单元的高五位,在校验前需要先将其都 右移三位。 反向划卡数据处理程序是从 6ah 开始,将每个单元的内容从高位到低位进行判断, 当发现第一个“1”时,即认为有效数字字符串开始,以每五位为一个字符,将后面的数 码依次右移到 21h48h 中去。程序框图如图 5.4 所示。 同样在执行反向划卡数据处理程序后,有效数字存储在 21h48 单元中,只是需要 注意的是,每个单元中的五位有效数字都是存储在单元的高五位,在校验前需要先将 其都右移三位。 辽宁科技大学本科生毕业设计 第 18 页 5.1.4 卡码信息校验程序设计框图 图 5.5 卡码信息校验程序设计框图 卡码校验程序用来验证 21h48h 中的内容是否为有效卡码。根据事先规定的卡码 标准,若 21h48h 中的内容符合下面规定中的任何一条,则认为本次划卡无效: (1)21h 的内容不为0bh; (2)47h 的内容不为1fh; 辽宁科技大学本科生毕业设计 第 19 页 (3)21h48h 中的内容有一个具有偶数个“1” ; (4)22h46h 中的内容低四位大于 9; (5)21h47h 中的数据相异或后不等于 48h 中的块校验值。 在这里省略了将单元移位的部分,只将此部分作为另一个较小的子程序在主程序 中写出。 5.1.5 左移一位程序框图 正向划卡和反向划卡都用到了移动一位子程序,正向划卡时右移,反向划卡时左 移动都是用累加器 a 的进位作寄存将编码移动完毕。因为右移一位与左动一位用了相 似的原理,因此在这里只将左移一位程序框图表出,而将两种移动的程序在附录里介 绍。 图 5.6 左移一位程序框图 辽宁科技大学本科生毕业设计 第 20 页 5.2 键盘输入信息处理与显示 5.2.1 键盘按键的输入特点 键盘在本系统中是一个关键的部分,是应用系统中最常用的输入设备。键盘的功 能是,通过操作人员按键,将按键开关信息转换成系统可以接受的二进制编码信息, 然后,将信息输入给计算机。 对按键编程,必须了解按键的输入特点。按键所用开关通常为机械性开关,利用 了机械触点的闭合和断开来描述不同的工作状态。由于机械触点的弹性作用,一个按 键开关在闭合的时候不会马上稳定地接通,断开时也不会一下子断开。因此在闭合和 断开的瞬间均伴随有一串的抖动,如图所示。抖动的时间长短由按键的机械特性决定, 一般为 5ms10ms。按键的稳定闭合长短是由操作人员的按键动作来决定的,一般为几 百毫秒到几秒的时间。 图 5.7 按键抖动信号波形 按键的闭和与否,反映在电压上就是呈现出高电平或者低电平。如果高电平表示 断开,那么低电平则表示闭合,所以通过电平的高低状态的检测,便可以确定按键的 按下与否。键盘的抖动会引起一次按键被误读多次,为了确保 cpu 对一次按键的动作 只确认一次按键,则必须消除抖动的影响。在对按键的抖动有了初步了解后就比较容 易掌握和消除按键的抖动。 5.2.2 键盘去抖动 关于按键的抖动处理方法有两种:有硬件方法和软件方法。 硬件方法:在按键较少时,通常可用硬件电路进行消除抖动,常用的双稳态消抖 电路原理如图,图中用两个与非门构成一个 rs 触发器。当按键未按下时,输出为 1, 辽宁科技大学本科生毕业设计 第 21 页 当按键按下时,输出为 0。双稳态触发器一旦翻转时,触点抖动的浮空对它不会有任何 影响。即此时,即使按键因弹性抖动发生了瞬时的不闭合(抖动跳开 b) ,只要按键不 返回原始状态 a,双稳态电路的状态不改变,输出保持为 0,不会产生抖动的波形,克 服了按键触点机械抖动所致的检测误判。也就是说,即使 b 点的电压波形是抖动的, 经过双稳态的输出波形仍是正规的矩形波,这一点很容易通过 rs 触发器的工作原理得 到验证。 由于本设计中的按键较多,故不采用硬件消除去抖动,而只将双稳态电路消除按 键抖动的原理在这里给以简单的介绍5。 图 5.8 双稳态电路 软件消除抖动:当键盘数目较多时,硬件消除抖动将带来硬件电路的大幅度增加, 因此,常采用软件延时的方法进行消除抖动,以节省硬件电路的开销。在第一次检测到 有按键按下时,执行一次 10ms 的延迟子程序,在确认该键是否仍保持闭合状态,若是, 则认为真正有键按下,从而消除了抖动。同样,在必要时,还要对键的释放过程进行消 除抖动的处理。本设计用软件消除抖动,即发现有按键按下时,调一个 10ms 的延迟子 程序,然后在判断是否依然有按键按下,如果是则进行键盘扫描判断是哪个键按下了。 5.2.3 键盘扫描功能 8255 与 8279 芯片的不同之处在于,8255 需要进行键盘去抖动、扫描判断键值等。 本设计中的键盘为 44 的阵列式键盘,按键的 4 个行线和 4 个列线分别接 8255 的 pc 口的低四位和高四位,其中,pc 口的低 4 位进行扫描输入。 辽宁科技大学本科生毕业设计 第 22 页 如图所示,键盘接 8255 的 pc 口,低四位接行线,做输入端,高四位接列线。 行线上都接有电阻,电阻上加5v 电源,当没有按键按下时,行和列断开,行线 都为高电平,当有键按下时,行线与列线被短路,如果列线为低电平,那么行线的电 平就由列线决定,这样,将 8255 的 pc 口高四位设为输出,低四位设为输入的话,只 要让高四位全为低电平,那么当有按键按下时,行线有低电平出现,使得经过与门的 int1 端为低而产生中断,延迟几毫秒后仍然有按键按下时就开始扫描。 图 5.9 阵列式键盘图 扫描时,先让 pc 口的高四位为 1110,即设第一列为低,当这列有按键时,会在 有按键的行线上出现低电平,可将 20h,r0 中都先存为 0,当第一列有按键时,判是 哪一行有按键,是第一行时,将 20h 和 r0 相加就是键号,否则将 r0 加 1,再判第二 行,有则将 20h 和 r0 相加则为键值,无则再将 r0 加 1 再判第三行第四行,处理同上。 当第一列没有按键时就不用一行一行判断了,只用将 r0 加 4 再判下一列。因为每行的 键值相差 1,而每列的键值相差 4,所以判断下行时只用将 r0 加 1,而判断下一列时 就要将 r0 加 4。当找到键值时,还要等按键释放才将按键进行存储,这就能保证不出 现按一下出现多个数的情况。这样处理完后键值存储在 20h 单元里,再进行键值处理 程序处理键值即可。16 个键值分为 10 个数值键和 6 个功能键,分别对应图示中的 1、2、3、4、5、6、7、8、9、a、b、c、d、e、f 。功能键分别对应表 5.1 所示: 辽宁科技大学本科生毕业设计 第 23 页 表 5.1 功能键介绍 a 键b 键c 键d 键e 键f 键 小数点清除结账显示窗口机的日总 销售金额 熄灭报警器的 报警 清除窗口机的日 销售总额 键值扫描程序框图如图 5.10 所示。 图 5.10 按键扫描程序框图 辽宁科技大学本科生毕业设计 第 24 页 扫描程序在附录里给出,由于主要功能已经在前面介绍,程序中不在多加文字说 明。 执行完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建厦门一中集美分校(灌口中学)顶岗教师招聘1人考前自测高频考点模拟试题附答案详解
- 2025贵州遵义市务川自治县应急管理局、林业局和医保局招聘城镇公益性岗位人员3人模拟试卷含答案详解
- 2025年湖南邵阳城步县事业单位选调28人模拟试卷及一套参考答案详解
- 2025赤峰龙韵城市建设有限公司所属子公司员工招聘21人考前自测高频考点模拟试题有完整答案详解
- 2025年蚌埠固镇县连城镇招聘村级后备人才3人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025年度广安市广安区公开考调公务员(参照管理工作人员)16名考前自测高频考点模拟试题及一套参考答案详解
- 2025江苏苏州市相城城市建设投资(集团)有限公司人员招聘模拟试卷附答案详解(突破训练)
- 2025年甘肃省庆阳市正宁县人民法院招聘临聘人员模拟试卷(含答案详解)
- 建筑幕墙结构设计与施工优化方案
- 农副产品批发交易市场建设项目经济效益和社会效益分析报告
- 湘教版高一地理新教材《4.1水循环》公开课一等奖课件省赛课获奖课件
- 人的自我实现过程重于结果VS结果重于过程辩论赛反方辩词一辩、二辩、三辩、四辩发言稿
- 高中英语课外阅读:The Picture of Dorian Gray道林格雷的画像
- 地理信息安全在线培训考试系统题库
- 新概念1-50课语法复习
- 福建省退役军人参加学历教育身份确认表
- GB/T 3452.3-2005液压气动用O形橡胶密封圈沟槽尺寸
- 斯吹瓶机培训
- 山鬼课件上课用课件
- 发票拒收证明模板
- 《伟大的改革开放》优秀课件1
评论
0/150
提交评论