基于51单片机的ic卡读写系统设计内容摘要:
,因此,其操作协议方式也各不相同。 但许多厂家生产的 IC 卡都以 ISO7816 同步复位响应协议作为 IC 卡的数据读协议。 大多数符合ISO7816 标准的同步型 IC 卡的地址计数器是与时钟紧密相关的,当卡复位时,地址计数器置 0。 以后每向卡发一个节拍的时钟,都将使 IC 卡的地址计数器加“ 1”,这一时钟频率上限为 50kHz 或 280kHz。 复位之后的头 32 个时钟周期内,是卡的复位响应过程,该过程中,厂家的产品编码以位编码方式逐一在数据线上送出,以后的字段则根据厂家及用户所定义的含义不同而各不相同。 若某字段定义为可读的,则可将时钟运行到该字段上,然后再逐时钟读出。 数据的读出过程可分为三个 基本过程 :复位,数据字段的定位和数据读出。 11 串行通信电路 由于 PC 机的串口电压为177。 12V,而单片机的工作电压为 5V,所以需要 MAX232接口芯片实现 TTL 与RS232 电平转换,采用简单的 3 线制通信方式。 图 43 为串行通信电路。 图 33 串行通信电路 键盘电路 由于需要 16 个按键,采用并行接口的键盘电路至少需要 4+4=8 条 I/O 线,而串行接口的键盘电路只需要 3 条 I/O 口线,一条用作键盘行线,一条串行移位输出列扫描信号,另一条用作移位寄存器 74LS164的移位时钟脉冲信号线。 16 个按键 构成了读写系统的键盘电路部分。 图 48 为键盘与单片机的接口电路。 12 图 34 8051 与键盘接口电路 图中, 为行线,接有上拉电阻 R=5V/1 mA=5kΩ。 因而选用 ,上拉电阻保证了没有键输入时, I/O 口线上有确定的高电平输入。 由 端输出列扫描信号,通过移位寄存器 74LS164输出端 QA~ QH 接至键盘作为键盘列线。 扫描信号通过 74LS164移位,实现逐列置低电平,达到扫描各键的目的。 显示电路 应用系统中常用的显示器有 :发光二极管显示器,简 称 LED;液晶显示器,简称 LCD。 荧光显示器。 本文采用 LCD,所以只对 LCD 进行介绍。 LCD 是一种极低功耗显示器,目前,高分辨率的 LCD 点阵式显示器有显示灵活,显示图型字符美观等优点,在很多系统中应用非常广泛。 显示设计使用现有的液晶显示功能模块 SMG12232B2,该模块能提供 122*22 的分辨率,带中文字库,更重要的是它可以有并行和串行两种输入方式,接口方便,这样我们可以使用单片机的异步通讯口驱动显示模块,软硬件实现都非常简单,外围电路非常简洁。 图 49 是单片机与显示器的接口电路。 13 图 35 显示器与单片机接口电路 14 第 4 章 软件系统设计 本章主要介绍接触式 IC 卡读写器的程序设计。 本设计的所有程序用 C51 语言编写,由主程序和子程序组成。 其中子程序包括比较校验数据子程序、插卡子程序、显示中断子程序。 主程序 主程序主要完成初始化并检测系统的状态,如果是刚上电状态,则恢复掉电瞬间保存的数据。 主程序的流程图如图 51 所示。 主程序如下 : include //头文件 define uint unsigned int define uchar unsigned char define addrl 0x40 uint data consl。 //全局变量定义 uchar data cons2[2]={0, 0}; main ( ) { uchar data *p。 //指针定义 if(consl==0) //判断是否刚上电状态 { p=cons2。 Read24c02(p,addrl,2); //从 24c02 中读出掉电时保存的数据 consl=OxOOOF。 //修改标志位 } ITO=1。 //外部中断 0 下降沿触发 EXO=1。 //外部中断 0 开中断 EA=1。 //CPU 开中断 IDL=1。 //设置节电工作方式 do{ }while(1)。 } 15 N Y N Y 图 41 主程序流程图 键盘扫描子程序 16 个按键的键盘电路分别为:数字键 0~ 9 及小数点“ .”,可以设定用户信息及余额;此外还有 5 个开始 初始化 待机 是否有卡插入 密码效验 有 无按键 执行相应功能 显示 16 功能键,分别为: ( 1) 修改 /确认键,用来控制信息的改写及确认; ( 2) 账号显示键,用来控制用户账号信息的显示; ( 3) 余额 /总数显示键,用来控制余额或总数的显示; ( 4) 计数开始 /停止键,用来控制计数系统的计数; ( 5) 备用键; ( 6) 备用键。 此读写系统中,键盘采用编程扫描方式。 所谓编程扫描就是 CPU 对键盘的扫描采取程序控制方式,一旦进入键盘扫描状态则反复地扫描键盘,等待用户从键盘上输入命令或数据。 而在执行键入命令或处理键入数据的过程中, CPU 不再响应键入要求,直到 CPU 返回重新扫描键盘为止。 键盘扫描子程序流程图如图53 所示。 图中可见,键盘扫描子程序要完成以下的功能: 1) 判断键盘上有无键按下。 其方法为 口连续 16 次全输出为“ 0”电平时,读 口行线电平状态,若行电平全为“ 1”电平,则键盘无键按下,若不为“ 1”电平,则有键按下。 2) 取出键抖动及重键的影响。 在键盘电路中,按键按下闭合后,将产生一个一个负的矩形脉冲。 但由于在按动按键时总有一些抖动,因此在负脉冲的开始和末尾部位总要出现一些毛齿波,毛齿 波的长短与开关的机械特性有关,一般为 5~ 10ms。 除了抖动之外还有重键,即一个键按下后紧接着由按下另一键,或者两个键同时按下。 这些需要采取一定的措施加以消除。 本系统采用软件延时的方法来解决。 通过延时来等待信号稳定,在信号稳定后查询键码。 其过程是在查询到有按键按下后延时一段时间,一般为 10ms。 再查询一次看是否有键按下。 若这次查询不到,则说明前一次查询结果为干扰或抖动,若这次查询到有键按下,则说明信号已经稳定,然后判断闭合按键的键码。 当闭合按键地键码确定之后,再去查询按键是否释放,待按键释放后再进行处理,这样 既可消除释放抖动的干扰。 对于重键则以后一次查询为最后结果。 3) 扫描键盘,得到按下的键的键值。 方法是 口连续 16 次输出“ 1”电平,然后输出一次“ 0”电平,同时进行计数为 00H,若 口仍为“ 1”电平,则继续连续输出“ 1”电平进行移位,并同时计数,直到 口输入的电平为“ 0”电平,表明此时的键即为按下的键,对应的计数值即为键值,然后调用对应的键处理子程序。 键值与键号的对应关系如表 51 所示。 4) 表 41 键值与键号对应表 键值 00H 01H 02H 03H 04H 05H 键号 0 1 2 3 4 5 键值 06H 07H 08H 09H 0AH 键号 6 7 8 9 . 键值 0BH 0CH 0DH 键号 修改 /确认 账号显示 余额 /总数 键值 0EH 0FH 10H 键号 开始 /停止 备用 备用 17 图 42 键盘扫描流程图 显示子程序 读卡器在运行过程中,对用户的信息进行不断改变,并写入 EEPROM 中。 当用户需要查询 IC 卡的运行状态时 ,只需按动显示按钮,即可显示用户的帐号信息、帐号余额、计数值等信息。 流程图如图 54 所示。 开始 调用键盘程序 判断 是否 按键 功能 数字 返回 18 图 43 显示子程序流程图 开始 LCD 初始化 清屏 从 缓冲区中显示 用户信息 显示用户信息 返回 19 总结 在了解研究 8051 单片机的结构特点及其相关的设计实例后,本次设计充分利用其相关的功能,开发设计了 IC 卡读写器。 另外,在软件设计过程中,主要程序代码使用 C 编写,大大加快了开发进程与后期的可维护性提升。 设计主要完成了以下工作: 8051 单片机的性 能特点、开发工具和应用领域 2. 使用 PROTEL 软件绘制完成了系统完整的电路图,实现了基于 51 单片机的 IC 卡读写器的设计。 C 语言为主,完成了相应的软件设计,达到了预期的效果。 51 单片机的 IC 卡读写器的设计:以 51 单片机为核心,结合 AT24C02 作为外部存储器,存放关键信息,液晶 SMG12232B2 作为显示系统。 实现了 IC 卡与单片机的通信,有 51 单片机控制数据传输过程,实现读卡和写卡操作。 20 参考文献 [1]于 宏军,赵东艳 .智能卡技术全书 .北京 :电子工业出版社, 1996 [2]王爱英 .智能卡技术 .北京 :清华大学出版社, 2020 [3]彭为,黄科,雷道仲 .单片机典型系统设计实例精讲 . 北京 :电子工业出版社, [4]段丽斌 .智能卡技术应用北京 .电子工业出版社, 1995 [5]陆永宁 .IC 卡应用系统 .南京 :东南大学出版社, 2020 [6]沈红卫 .单片机应用系统设计实例与分析 .北京 :北京航空航天大学出版社, [7]王卓人,邓晋钧,刘宗祥 .IC 卡的技术与应用 .北京 :电子工业出版社, 1999 [8]何 立民 .单片机高级教程 .北京 :北京航空航天大学出版社, [9]李华 .MCS51 系列单片机实用接口技术北京 :北京航空航天大学出版社, [10]吴金戌,沈庆阳,郭庭吉 .8051 单片机实践与应用 .北京:清华大学出版社, [11]李光飞,楼然苗,胡佳文,谢象佐 .单片机课程设计实例指导 . 北京 :北京航空航天大学出版社, 2020 [11]姜志海,刘连鑫 .单片微型计算机原理及应用 .北京:机械工业出版社, [12]张洪润,刘秀英,张亚凡 .单片机应用设计 200 例 . 北京 :北京航 空航天大学出版社 21 总程序图 22 附录 主程序: include include include include define uchar unsigned char define uint unsigned int define _read 0x91 //读卡 define _add 0x92 //充值 define _dec 0x93 //扣钱 define change_psw 0x95 //修改密码。基于51单片机的ic卡读写系统设计
相关推荐
当前常用的 51 系列单片机主要产品有: 80C3 80C5 87C51, 80C3 80C5 87C5 89C5 89C5 89C2051等, 国产宏 晶 STC 单片机以其低功耗、廉价、稳定性能,占据着国内 51 单片机较大市场。 51 单片机系统的结构组成 图 1 单片机系统结构组成 运算器:用于实现算术和逻辑运算。 单片机 的运算和处理都在这里进行; 控制器:是 单片机 的控制指挥部件
,其中有 35%的居民会购买蔬果类绿色食品, 16%的居民会购买粮油类, 19%的居民是购买蛋奶类食品, 14%的居民购买肉禽类食品,还有 8%的购买水产类食品。 (具体情况 请见图 5) 居民购买绿色食品的种类分布图123456 见图 5 居民购买绿色食品的种类分布 四、 对 台州 的城镇居民绿色食品消费行为调查 结果发现及存在问题 经过此次的调查显示,许多居民能正确的认识绿色食品
CJNE R3,255,L01 INC R0 INC R0 CJNE R0,254,K01 LJMP SQU TC0: RET SAW: JNB ,N4 JNB ,N5 JNB ,N6 西安文理学院课程设计报告 第 9 页 LJMP SSAW N4: MOV R7,00H LJMP TC1 N5: MOV R7,02H LJMP TC1 N6: MOV R7,03H LJMP TC1 SSAW:
[11] 张仕成 , 基于 Google Android 平台的应用程序开发与研究 [J], 2020 年 28 月 浙江万里学院 毕业论文(设计)报告纸 .14. ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┆┆ ┆ 计算机与信息学院 本科毕业论文(设计)外文文献翻译 外文文献译文 程序员指南 此文选自
淮阴工学院毕业设计说明书 (论文) 第 10 页 共 31 页 图 71 分离式立体交叉效果图 图 72 分离式立体交叉示意图 方案二 该方案为部分苜蓿叶式立体交叉,该通道桥净空按 ,承德南路为主干道,河堤路为次干路,承德南路。 在承德南路两个方向上设置右转匝道与次干路相连,主干路上的右转车辆均驶过交叉点至匝道,利用匝道行至相交道路,限制左转车辆。 设计方案如下图 73:
写整体审批机关和文号;只实行农转用审批,填农转用审批机关和文号;两种情况都有的,两者都填。 项目区位置:填写建新区和拆旧区所在县(市、区)乡(镇)。 符合规划情况:根据项目区符合 规划的情况,分别在土地利用总体规划、村镇规划和土地整治规划(含挂钩规划)栏填“是”或“否”。 项目区实施起止时间:填写项目区批准实施至项目区实施结束归还周转指标的时间。 实际建新面积:填写项目区内实际建设占用土地面积