ic读卡器设计

上传人:Bod****ee 文档编号:47531104 上传时间:2018-07-02 格式:DOC 页数:30 大小:470.02KB
返回 下载 相关 举报
ic读卡器设计_第1页
第1页 / 共30页
ic读卡器设计_第2页
第2页 / 共30页
ic读卡器设计_第3页
第3页 / 共30页
ic读卡器设计_第4页
第4页 / 共30页
ic读卡器设计_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《ic读卡器设计》由会员分享,可在线阅读,更多相关《ic读卡器设计(30页珍藏版)》请在金锄头文库上搜索。

1、IC 卡读写器IIICIIC 读卡器设计读卡器设计目 录1 设计目的和要求 .11.1 设计目的 .11.2 设计要求 .12 硬件设计 .22.1 硬件选择和总体系统框图 .22.2 4x4 矩阵键盘电路 .22.3 数码管动态、静态显示电路 .32.4 数据储存电路 .43 软件设计 .73.1 软件总体流程 .73.2 IC 器件的读写 .83.3 反转法读键值 .93.4 数码管扫描显示 .104 软硬件调试 .124.1 软硬件协同调试 .125 实习心得 .13参考文献 .15附录 .16IC 卡读写器第 1 页 共 29 页1 设计目的和要求1.1 设计目的本课题的主要内容是采用

2、 51 系列微控制器实现 IC 读写器的设计,通过这个实习,增强 C 语言程序设能力,同时加强对 51 系列微控制器及相关知识理论的使用,熟练掌握 51 系列微控制器的编程、调试和应用系统的开发以及相关芯片总线协议的使用。1.2 设计要求1、密码存储在 IC 器件 AT24C02 中,实现数据掉电不丢失。2、系统在上电后四个数码管均显示“”的初始化状态。3、实现数字键 0-9 和相关功能键的设计, 4、四个功能键的说明:(1)输入键:按下此键时,四个数码管空白显示(全黑),每输入一个数字就在数码管上显示出来。(2)读出键:按下此键后,读出 24c02 的数据,并显示在四个数码管上。(3)复位键

3、:在按下输入键之后,输入 4 个数字后,可以选择该键表示放弃输入不储存,或者选择储存键。(4)储存键:当输入修改的数字后,按下此键,将修改的数据进行存储并同时回到初始状态,显示“”。IC 卡读写器第 2 页 共 29 页2 硬件设计2.1 硬件选择和总体系统框图本设计采用 STC89C52 微控制器,用 24C02 作为存储密码的芯片,实现储存数据断电不丢失,采用 4X4 矩阵键盘输入,四位共阳数码管动态显示密码。管脚连接如图 2.1 所示。图中省略时钟电路和电源电路。图 2.1 总体系统框图2.2 4X4 矩阵键盘电路矩阵键盘又称行列式键盘。用 I/O 口线组成行列结构,按键设置在行列交点上

4、。N 条口线最多可构造 N个按键。4X4 的行列结构可构成 16 个键的键盘,如图 2.2所示。无按键时各行各列彼此相交而不相连。由行列线的电平状态可以识别唯一与之相连的按键,此过程成为读键值。P0/P3STC89C52RCP2 INT0/INT14 位数码管IIC 储存器 AT24C024x4 矩阵键盘IC 卡读写器第 3 页 共 29 页图 2.2 4x4 矩阵键盘键盘读键采用反转读键法。第一步:先置行线 P2.0P2.3 为输入线,列线 P2.4P2.7 为输出线,且输出为0。相应的 P2 口写为 0FH。若读入低 4 位的数据为 F,则表明有键按下,保存低 4位数据。低 4 位中电平

5、0 的位置对应的是被按下键的行位置。第二步:设置输入输出口对换,行线 P2.0P2.3 为输出线,且输出为 0,列线P2.4P2.7 为输入线,I/O 口编程数据为 F0H。若读入高 4 位数据不等于 F,则认为有键按下。读入高 4 位数据中为 0 的位为列位置。保存高 4 位数据,将两次所读数值按位或运算一次,便得按键值。2.3 数码管显示电路设计中显示 4 位数据时,采用数码管动态显示方式,它既满足 4 个数码管的显示要求,又节省了单片机的 I/O 管脚资源,只使用 12 条 I/O 口线。4 个数码管共用一个 I/O 口 P0,如图 2.3 所示,在每个瞬间,数码管段码相同。要达到多位显

6、示的目的,就要在每一瞬间只有一位共阳端有效,即只选通一位数码管。段码由共用 I/O 口送来,各位数码管依次轮流选通,使每位显示该位的字符,并保持一段时间,以适应视觉暂留的效果。然后关闭该位数码管,防止“残影”现象。在显示初始状态“”时,四位数码管为静态显示,所有数码显示相同。IC 卡读写器第 4 页 共 29 页图 2.3 数码管显示电路2.4 数据存储电路2.4.1 IC 总线协议IC 总线是由数据线 SDA 和时钟 SCL 构成的串行 t 通信总线,可发送和接收数据。在微控制器与 IC 之间、IC 与 IC 之间进行双向传送,在信息的传输过程中,IC 总线上并接的每一模块电路既是主控器(或

7、被控器),又是发送器(或接收器),这取决于它所要完成的功能。IC 总线基本状态如图 2.4:1)总线空闲(A)数据线和时钟线同时为高电平。2)启动数据传输(B)时钟(SCL)为高电平时,SDA 从高电平变为低电平表示起始条件产生。起始条件必须先于所有的命令产生。IC 卡读写器第 5 页 共 29 页3)停止数据传输(C)时钟(SCL)为高电平时, SDA 从低电平变为高电平表示停止条件产生。所有操作都必须以停止条件结束。4)数据传送/数据有效 (D)数据线的状态表明数据何时有效。在起始条件之后,数据线在时钟处于高电平期间保持稳定。必须在时钟信号为低电平期间改变数据线。一个数据位对应一个时钟脉冲

8、。数据的每次传输以起始条件开始,以停止条件结束。在起始条件和停止条件之间传输的数据字节数目由主器件决定。图 2.4 基本状态图确认信号(ACK)每一个被寻址的接收器在接收到每一字节数据后,应发送一个确认位。主器件必须提供一个额外的时钟以传输确认位。在确认时钟脉冲内,器件确认须拉低 SDA 线。在确认时钟的高电平期间,SDA 线以这种方式保持稳定的低电平。当然,还必须考虑建立时间和保持时间。图 2.5 IC 卡读写器第 6 页 共 29 页6)无应答信号(NO ACK)在时钟的第 9 个脉冲期间发送器释放数据总线,接收器不拉低数据总线表示一个 NO ACK,NO ACK 有两种用途:a、一般表示

9、接收器未成功接收数据字节;b、当接收器是主控器时,它收到最后一个字节后,应发送一个 NO ACK 信号,以通知被控发送器结束数据发送,并释放总线,以便主控接收器发送一个停止信号 STOP。2.4.2 EPROM 芯片24C02 是 2KB 二线制 IC 串行 EPROM,其特征码为 1010B。模块的电路图如图 2.6所示。图 2.6 模块电路连接写数据过程:写操作时,SDA 线上的信号依次为:启动 START 1010 B2B1B0(0111B) 0 低电平为写操作 应答 ACK 8 位的地址 ACK 数据 0 ACK数据15 应答 ACK 结束 STOP.24C02 每一次写操作最多可连续

10、写 8 字节(一页),也可以少于 8 字节。一旦停止信号被接收到,则 24C02 内部写周期将开始。在内部写周期期间,不响应外部信号,直到写周期完成。如图 2.7 所示为 24 系列存储器写周期时序图。图 2.7 24c02 页写入方式2)读数据过程:IC 卡读写器第 7 页 共 29 页读操作时,SDA 线上的信号依次为:启动 START 1010 B2B1B0(0111B) 0 低电平为写操作 应答 ACK 8 位的地址 ACK START 1010 B2B1B0(0111B) 1 高电平为读操作 应答 ACK 数据 0 ACK数据 N 非应答 NO ACK 结束 STOP在读数据之前,先

11、写入要读的数据所在的地址。然后,主器件在“应答”位后产生一个启动信号,以终止刚才的写地址操作。随后主器件再次发出控制字,R/W位为 1,。24C02 接收“应答”信号后,便可读数据,可以读一字节、两字节、N 字节的数据。读完最后一个数据后,主器件发出“非应答”(NO ACK)信号和停止(STOP)信号。如图 2.8 所示为 24 系列存储器读操作时序图。图 2.8 24c02 读时序3 软件设计3.1 软件总体流程软件的设计主要包括:数据从 IC 器件的读写,键盘反转读键,数码管扫描显示,数据读取储存逻辑等。其总体流程图如图 3.1 所示。IC 卡读写器第 8 页 共 29 页C D任意键E

12、F图 3.1 程序总体流程3.2 IC 器件的读写该模块实现 IC 器件 RAM 中 00 单元为首地址的连续 4 个字节的数据读写。读写原理在硬件设计中叙述,由于过程过长在此不复述,其程序流程图 3.2、3.3 如下:显示“”状态键值扫描关闭数码管读取 IIC 数据显示数据,并等 待退出输入数据放弃输入储存输入开始IC 卡读写器第 9 页 共 29 页图 3.2 读数据流程图 图 3.3 写数据流程图3.3 键盘反转读键本设计程序中用反转法对键盘进行行列扫描,做到去抖动且一次按键只读一次键值。做一次扫描的过程包括,检测是否有按键按下,如果有则延时 10ms,以消开始写控制字应答 启动8 位地址应答 启动启动 启动启动 启动写控制字应答 启动读一字节非应答 启动停止 启动开始启动 启动写控制字应答 启动8 位地址应答 启动停止 启动写数据应答 启动IC 卡读写器第 10 页 共 29 页除前抖动影响,再检测有无按键按下,若有扫描键值,则确认该按键按下,再检测按键是否弹起,延时 10ms,消除后抖动影响。流程图如图 3.4。NYNY图 3.4 键盘扫描流程3.4 数码管扫描显示数码管采用动态显示和静态显示两种方式做显示。动态显示中,先进行端选,再

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号