密码防盗键盘.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
密码防盗键盘

单片机课程设计报告—— 密码防盗键盘 物理学院2007级 摘要:本实验是基于AVR mega16 单片机所设计的,可以实现键位与数字动态显示的一种新型密码防盗键盘。通过单片机内部产生随机数,使用LED数码七段数码管予以显示,每一个数码管对应一个键位。单片机对各个键位进行扫描,确定键位的输入。 关键词:mega16 七段数码管 ULN2003 密码防盗 一、目的、用途、功能 1.1 目的: 设计一种投资少,简单易行,仅仅只是在现在的设备的基础之上稍加改造,?又能从根本上解决摄像头拍摄盗取密码的设备。 1.2用途与功能: 我们就设想让键上的10个数字位置分布可变。10个键上的数字是由七段数码管显示。每次取款时,键盘上数字的分布都会随机变化。因而知道了键的位置并不能绝对判断出键上的数字是多少。因此会给犯罪分子获得提款人的密码造成麻烦,从而解决摄像头盗取密码的难题。 二、硬件设计 2.1 硬件设计思想 键盘的数字和键位关系不固定,而且通过单片机内部产生随机数,通过LED数码管显示出来,每一个数码管对应一个键位。基本设备是基于AVR单片机,外围设备采用的是12个七段数码管,2个ULN2003芯片,11个七段数码管, 1个74LS248芯片,若干电阻,电源电池。 2.2 部分硬件方案论述 2.2.1 七段数码管扫描显示方式的方案比较 方案一: 静态显示方式:静态显示方式是指当显示器显示某一字符时,七段数码管的每段发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。 方案二: 动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。动态显示器的优点是节省硬件资源,成本较低。但在控制系统运行过程中,要保证显示器正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。 由于AVR ATmega16 单片机本身提供的I/O口有限,因此我们选择方案二——动态扫描方式。扫描方式中在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的约1ms,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。节约了电能,节省 了I/O口。 2.2.2 键盘连接方式方案比较 方案一:独立式键盘 一个具有4个按键的独立式键盘,每一个按键的一端都接地,另一端接mega16的I/O口。独立式键盘每一按键都需要一根I/O线,占用mega16的硬件资源较多。因此独立式键盘只适合按键较少的场合。键盘是一组按键或开关的集合,键盘接口向计算机提供被按键的代码。特点:使用方便、结构复杂、成本高。 方案二:矩阵式键盘 我们采用4×3矩阵式键盘,键盘的行线X0~X3通过电阻接+5V,当键盘没有键闭合时,所有的行线和列线断开,行线X0~X3均呈高电平。当键盘上某一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。如果将行线接至单片机的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余三根列线Y1、Y2、Y3均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、X1、X2、X3均为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列没有键闭合,紧接着使列线Y1为低电平,其余列线为高电平,用同样的方法检查Y1这一列有无键闭合,如此类推。这种逐行逐列地检查键盘状态的过程称为对键盘的扫描。CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进行扫描,以识别哪一个键处

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档