四乘四键盘显示(8页).doc
《四乘四键盘显示(8页).doc》由会员分享,可在线阅读,更多相关《四乘四键盘显示(8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-四乘四键盘显示一、 设计要求4*4矩阵键盘共16个键,每按一次键,数码管就显示一次按键代表的值。二、 元件选取单片机:STC89C52RC;电阻:470;发光二极管;4*4键盘;共阳极七段数码管三、 设计思想本设计硬件上采用STC89C52RC单片机的最小系统,单片机的P1口与键盘相连,P1.0P1.3管脚分别与键盘的四行连接,P1.4P1.7管脚分别与键盘的四列相连;P0口P1.0P1.7管脚与数码管1的adp相连,P2口P2.0P2.7管脚分别与数码管2的adp相连,数码管的公共端接+5V电源,控制数码管的显示;发光二极管的阴极与单片机的P3.0管脚连接,阳极与+5V电源连接,低电平有效
2、,控制二极管发光;程序上采用定时扫描方式,利用定时T0产生50ms定时中断,CPU响应中断后进入Scan_Key()子程序对键盘进行扫描,对P1口初值0xf7扫描第一行,进入延时程序消抖动后,进入switch()语句,屏蔽行的低四位,取列的高四位,检测哪一列有键按下,若有键按下,标志位FLAG0=1,发光二极管的到低电平发光;令P1口的初值右移一位后或0x80进行高位补一,扫描第二行,如此循环右移,四行便全都检测到了。当有键按下时,m!=0xf0,进入while循环不停地执行m&0xf0语句,使m=0xf0;按键松开后,m=0xf0跳出while循环,执行中断程序,显示按键的值。如此软件与硬件
3、结合,能合理的完成设计要求,每按一次键,数码管就显示一次按键代表的值。四、原理图YNY开始开定时器中断,定时器0初始化是否有键按下?键盘扫描发光二极管发光,确定按键值中断程序开始数码管显示按键值定时器0重装初值中断返回数码管显示按键值按键是否放开?N四、程序流程五、 调试过程调试过程中,遇到了以下问题:一是数码管不能正常显示,经检查是数码管公共端未接电源,连接后数码管还是不能正常显示,经检查是单片机接触不良,将单片机拔出,对照底座重新插入,然后在仿真数码管显示正常;二是发光二极管在按键按下后不能正常发光,经检查是软件编程存在缺陷,定时时间短,单片机接收不到二极管的低电平,故不发光。经改进后,将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四乘四 键盘 显示
限制150内