全文预览

基于单片机的电子密码锁设计 本科毕业论文

上传者:随心@流浪 |  格式:doc  |  页数:26 |  大小:0KB

文档介绍
单的方法就是用软件延时方法来消除按键的抖动, 如果一旦发现有按键按下, 就延时 20ms 以后再测按键的状态。这样就避开按键发生抖动的那一段时间,使 CPU 能可靠地读按键状态。在编制键盘按键扫描程序时,只要有发现按键状态发生变化,即无论是松开还是按下,则程序都延时 20ms 以后再进行其他操作。(2) 在键盘扫描中,应加以防止按一次键具而产生有多个对应键值输入的情况。这种情况的发生是由于键扫描速度和键处理速度较快,当某一个键按下还未松开时键扫描程序和键处理程序已执行了多遍。这样,由于程序执行和按键动作不同步而造成按一个键有多个键值输入的错误状态。为了避免发生这种情况,则必须保证按一次键,让 CPU 只对该次按键做一次处理。为此,在按键扫描程序中,不仅要检测是否有键按下,在有键按下的情况,做一次处理,而且在键处理完毕后,还应当检测按下的键是否松开,只有在当按下的键松开以后,程序才往下进行执行。这样一来每按下一个键,只做一个键处理,使二者达到同步,消除按一次键有多个键值输入的错误情况。根据要求,本设计的 3*4 键盘设定 10 个数字键( 0-9 )和 3 个功能键。图 3.2 中第 4 列前三个暂时不用, 可以作以后扩充所用。因此根据上面提到的 3*4 键盘的键值编码方法,各按键及其编码对应关系如表 3.1 。表 3.1 按键与编码对应关系表按键行号列号键值编码 111 11H ( 00010001 ) 212 21H ( 00100001 ) 313 41H ( 01000001 ) 421 12H ( 00010010 ) 522 22H ( 00100010 ) 623 42H ( 01000010 ) 731 14H ( 00010100 ) 832 24H ( 00100100 ) 933 44H ( 01000100 ) 042 28H ( 00101000 )

收藏

分享

举报
下载此文档