教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

单片机矩阵键盘毕业设计 - 图文(2)

来源:网络收集 时间:2026-09-16
导读: P3口的低4位控制行输入,高4位控制列输入当没有按键按下时,P3.0—P3.3与P3.4—P3.7之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。 判断有无按键按下的方法是: 第一步,置行线P3.0—P3.3为输入状态

P3口的低4位控制行输入,高4位控制列输入当没有按键按下时,P3.0—P3.3与P3.4—P3.7之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。

判断有无按键按下的方法是:

第一步,置行线P3.0—P3.3为输入状态,从列线P3.4—P3.7输出低电平,读入行线数据,若某一行线为低电平,则该行线上有键闭合。

第二步,列线轮流输出低电平,从行线P3.0—P3.3读入数据,若有某一行为低电平,则对应的列线上有键按下。

综合一二两步的结果,可确定按键编号。

但是按键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的按键操作。

当确定了是哪一个按键按下后,通过软件程序的设计,返回键盘扫描的键值,转化成十六进制的数据后由PO口输出给数码管显示。 3、LED显示段码表 字型 0 1 2 3 4 5 6 7 8

共阳极段 C0H F9H A4H B0H 99H 92H 82H F8H 80H 共阴极段 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 字型 9 A B C D E F 空白 P 共阳极段 90H 88H 83H C6H A1H 86H 84H FFH 8CH 共阴极段 6FH 77H 7CH 39H 5EH 79H 71H 00H 73H 七、PROTEUS 仿真图

八、系统的程序: #include

#define uint unsigned int #define uchar unsigned char uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0}; uchar code we[]={ 7,6,5,4,3,2,1,0}; uint i;

sbit dula=P2^6; sbit wela=P2^7; uchar num,num1,temp; void delay(uint z) { }

uchar keyscan(); void main() {

num=17;//打开时数码管什么也不显示 dula=1;//关闭数码管 P0=0; dula=0; uchar x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--);

// P2=2;

while(1)

{

num1=keyscan();

for(i=0;i<8;i++) { }

P0=table[num1-1]; P2=we[i]; delay(1);

}

}

uchar keyscan() //带有返回值的函数 {

P3=0xfe;//检测第一行 temp=P3; temp=temp&0xf0; while(temp!=0xf0)

{

delay(5);//延时去抖 temp=P3; temp=temp&0xf0;

while(temp!=0xf0)//不等于0xf0说明确实是有建按下 {

temp=P3;//再读回P3口的值 switch(temp) { }

case 0xee: num=1;

break;

case 0xde: num=2;

break;

case 0xbe: num=3;

break;

case 0x7e: num=4;

break;

while(temp!=0xf0)//检测是否松手,不佳松手检测退不出第二

个while循环

P3=0xfd;//检测第二行

temp=P3; temp=temp&0xf0; while(temp!=0xf0)

{

delay(5);//延时去抖 temp=P3; temp=temp&0xf0; while(temp!=0xf0) {

temp=P3;//读回P3口的值 switch(temp) {

case 0xed: num=5;

break;

}

}

{ }

temp=P3; temp=temp&0xf0;

case 0xdd: num=6;

break;

case 0xbd: num=7;

break;

单片机矩阵键盘毕业设计 - 图文(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/612667.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)