- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单
片
机
课
程
设
计
论
文
学校:西安科技大学
学院:电气与控制工程学院 专业:微电子学
姓名:朱善旭 1206080205
王敏敏 1206080202
王会登 1206080216
王 磊 1206080124
六位数电子锁电路设计
摘要: 电子密码锁在生活中十分常见,广泛运用于各种控制电路中。电子密码 锁应该具有输入功能和比较功能,同时具有控制功能。在本次设计中,密码锁的 输入设备为 4*3 矩阵键盘,其中包括 0——9 数字键,确认、清除功能键。比较 功能在单片机内部程序中实现,将输入数字与预设密码比较,相同则触发控制功 能,比如设备的开启,不同则清零,用户需要重新输入。为了用户方便使用,在 输入时需要将所输入数字显示出来,所以利用数码管做显示设备。
关键词:密码锁,矩阵键盘,扫描,数码管
1 设计任务分析
1.1 原理
电子锁,就是利用一个固定的或人为设定的电子号码来控制锁的开启状态的 电路。我们常见的电子锁,如密码箱、保险柜、密码门等,都是在使用者输入的 号码与之前设定的号码顺序及内容均相同时,电路控制的锁或者门等就会开启。
由于电子锁要求的输出数据为数字 0-9,同时为了方便使用者的输入、修改 和确定,还应该有输入的清除按键和确认按键。
1.1.1 键盘控制的一般方法
在单片机的输入设备中,键盘是最为常见的一种。它有多种形式,有独立按 键式、矩阵键盘式等。矩阵按键式键盘就是用行列矩阵的方式来构成键盘的一种 控制方式。行线与列线分别可由单片机的控制 I/O 引脚和电源的 Vcc(也可是 GND) 来连接,行线与列线的交汇点上连接有按键。当按键有动作时,相应点上行与列 的电平就导通。若此时用单片机程序来检测,就可发现相应引脚上的电平发生了 变化。
对于键盘的控制是有多种方法的。
(1)独立式按键
这种方式是采用 JNB 或 JB 指令来实现检测的目的。
(2)键盘扫描法
这种方式是将行线与列线分别与单片机的引脚相连,然后在初始程序中令其 中的行(列)所在的引脚电平为低电平。之后,再不断地同时检测行与列所对应 的引脚状态。当某个位置有按键动作时,相应行与列的引脚状态就会发生变化, 系统从而获知有按键的动作。
这种方式有时也可进行一定的变化,比如,用行(或列)线通过限流电阻与 电源正极或负极相连,然后将列(或行)线与单片机的引脚相连,这样,在程序 中就只需检测列线上的电平状态即可。
(3)键盘中断法
这种方法是利用中断来使单片机系统响应按键的动作,从而使系统在无按键 动作时,可以进行其他的操作。比如四根列线与电源的正极和单片机 I/O 引脚相 连并通过一个与门连接到单片机 INT0 中断引脚,行线与单片机 I/O 引脚相连, 在初始程序中使行线连接引脚为低电平。这样,当某一位置有按键动作时,相应 列线上就会出现低电平,从而使的 INT0 引脚上有低电平输入,这就可以触发 INT0 中断。然后系统就可以在中断服务子程序中去具体检测是哪一根行列点上的按键 有动作了。
在本次设计中,选用键盘扫描法来控制键盘。
1.1.2 键盘扫描的一般设置步骤
当需要的按键数量较多时,通常使用矩阵式键盘来作为输入的按键方式。同 时,在功能比较简单的系统中,用处都是采用键盘扫描的方式来控制键盘。
例如一个 3*3 矩阵键盘,使用 P1.2~P1.0 和 P1.7~P1.5 分别控制键盘的行线 和列线。可以先编写一个键盘码的数据表 TABLE,这个表的数据与图中标明的按 键所代表的含义应当相同。比如图中,9 个按键分别指代 1~9 的数字键。因此,
可以令 TABLE 表中的数据为 01H,02H,03H,04H,05H,06H,07H,08H,09H。 然后,在程序的初始化中,可以定义 P1 端口引脚的状态初值,其中 P1.2=0。
之后,令 P1 数据依次左移,以便检测到列线 P1.7-P1.5 的状态。列线状态检测 完毕后,再将 P1 数据依次右移来检测行线上的 P1.2-P1.0 的状态。当检测到 有按键信息时,就利用计数指针到 TABLE 表中去取数据码,从而指示程序做相应 的操作。
当然,键盘扫描的方法和应用步骤实际上还有很多种,在此不一一例举。 1.2 具体任务分析
本次设计实验就是要设计一个 6 位数的电子号码锁。要求有 0-9 数字按键、 清除数字的按键“#”和输入完成后的确认按键“*”。同时正确的 6 位数电子密 码是在程序中就已经指定好了的,在程序执行时,只需去比较即可。另外,为了 简化设计,本设计中的电子密码被固定设置为 161225,而且它在程序运行过程 中不可被人为修改设定。
各按键的定义为:①当按数字 0-9 时,数码管中应当有相应的显示,而且显 示的数字应根据按键的先后在具体的位置上显示。②当清除数字的按
文档评论(0)