IC读卡器设计桩.doc

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IC读卡器设计桩.doc

IIC读卡器设计 目 录 1 设计目的和要求 1 1.1 设计目的 1 1.2 设计要求 1 2 硬件设计 2 2.1 硬件选择和总体系统框图 2 2.2 4x4矩阵键盘电路 2 2.3 数码管动态、静态显示电路 3 2.4 数据储存电路 4 3 软件设计 7 3.1 软件总体流程 7 3.2 I2C器件的读写 8 3.3 反转法读键值 9 3.4 数码管扫描显示 10 4 软硬件调试 12 4.1 软硬件协同调试 12 5 实习心得 13 参考文献 15 附录 16 1 设计目的和要求 1.1 设计目的 本课题的主要内容是采用51系列微控制器实现IC读写器的设计,通过这个实习,增强C语言程序设能力,同时加强对51系列微控制器及相关知识理论的使用,熟练掌握51系列微控制器的编程、调试和应用系统的开发以及相关芯片总线协议的使用。 1.2 设计要求 1、密码存储在I2C器件AT24C02中,实现数据掉电不丢失。 2、系统在上电后四个数码管均显示“—”的初始化状态。 3、实现数字键0-9和相关功能键的设计, 4、四个功能键的说明: (1)输入键:按下此键时,四个数码管空白显示(全黑),每输入一个数字就在数码管上显示出来。 (2)读出键:按下此键后,读出24c02的数据,并显示在四个数码管上。 (3)复位键:在按下输入键之后,输入4个数字后,可以选择该键表示放弃输入不储存,或者选择储存键。 (4)储存键:当输入修改的数字后,按下此键,将修改的数据进行存储并同时回到初始状态,显示“—”。 2 硬件设计 2.1 硬件选择和总体系统框图 本设计采用STC89C52微控制器,用24C02作为存储密码的芯片,实现储存数据断电不丢失,采用4X4矩阵键盘输入,四位共阳数码管动态显示密码。管脚连接如图2.1所示。图中省略时钟电路和电源电路。 图 2.1 总体系统框图 2.2 4X4矩阵键盘电路 矩阵键盘又称行列式键盘。用I/O口线组成行列结构,按键设置在行列交点上。N条口线最多可构造N2个按键。4X4的行列结构可构成16个键的键盘,如图2.2所示。无按键时各行各列彼此相交而不相连。由行列线的电平状态可以识别唯一与之相连的按键,此过程成为读键值。 图 2.2 4x4矩阵键盘 键盘读键采用反转读键法。 第一步:先置行线P2.0~P2.3为输入线,列线P2.4~P2.7为输出线,且输出为0。相应的P2口写为0FH。若读入低4位的数据为F,则表明有键按下,保存低4位数据。低4位中电平0的位置对应的是被按下键的行位置。 第二步:设置输入输出口对换,行线P2.0~P2.3为输出线,且输出为0,列线P2.4~P2.7为输入线,I/O口编程数据为F0H。若读入高4位数据不等于F,则认为有键按下。读入高4位数据中为0的位为列位置。保存高4位数据,将两次所读数值按位或运算一次,便得按键值。 2.3 数码管显示电路 设计中显示4位数据时,采用数码管动态显示方式,它既满足4个数码管的显示要求,又节省了单片机的I/O管脚资源,只使用12条I/O口线。4个数码管共用一个I/O口P0,如图2.3所示,在每个瞬间,数码管段码相同。要达到多位显示的目的,就要在每一瞬间只有一位共阳端有效,即只选通一位数码管。段码由共用I/O口送来,各位数码管依次轮流选通,使每位显示该位的字符,并保持一段时间,以适应视觉暂留的效果。然后关闭该位数码管,防止“残影”现象。 在显示初始状态“—”时,四位数码管为静态显示,所有数码显示相同。 图 2.3 数码管显示电路 2.4 数据存储电路 2.4.1 I2C总线协议 I2C总线是由数据线SDA和时钟SCL构成的串行t通信总线,可发送和接收数据。在微控制器与IC之间、IC与IC之间进行双向传送,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。 I2C总线基本状态如图2.4: 1)总线空闲(A) 数据线和时钟线同时为高电平。 2)启动数据传输(B) 时钟(SCL)为高电平时,SDA 从高电平变为低电平表示起始条件产生。起始条件必须先于所有的命令产生。 3)停止数据传输(C) 时钟(SCL)为高电平时, SDA 从低电平变为高电平表示停止条件产生。所有操作都必须以停止条件结束。 4)数据传送/数据有效 (D) 数据线的状态表明数据何时有效。在起始条件之后,数据线在时钟处于高电平期间保持稳定。必须在时钟信号为低电平期间改变数据线。一个数据位对应一个时钟脉冲。数据的每次传输以起始条件开始,以停止条件结束。在起始条件和停止条件之间传输的数据字节数目由主器件决定。 图 2.4 基本状态图 确认信号(ACK) 每一个被寻址的接收器在接收到每一字节数据后,应发送一个确认位。主器

文档评论(0)

m3lv5hh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档