久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機4x4矩陣鍵數值讀取和顯示程序Proteus仿真
[打印本頁]
作者:
18896597781
時間:
2021-5-30 10:14
標題:
單片機4x4矩陣鍵數值讀取和顯示程序Proteus仿真
4x4矩陣鍵數值的讀取和顯示;
按鍵被按下后只有被松開才會有效果;
多個按鍵被按下只有按鍵都被松開最先被按下的按鍵起效果;
采用共陽極數碼管顯示;
附件包含完整仿真設計和C程序。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
無標題.png
(58.53 KB, 下載次數: 81)
下載附件
仿真效果
2021-5-30 10:07 上傳
單片機源程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
/**************物理連線
P1對應數碼管;
P2前四位對應矩陣行
P2后四位對應矩陣列
*****************/
#define saomiao P2
#define DB P1
void display(uchar dat); //顯示鍵盤值函數
uchar key_scan( ); //鍵盤掃描函數
uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e }; //0~15數碼管代碼,共陽極
uchar key; //鍵盤值
/********************************************************************
延時函數
*********************************************************************/
void delay10ms(void) //延時程序
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
//*****************鍵盤掃描函數*****************
uchar key_scan()
{
uchar temp;
saomiao=0xfe; //掃描第1行鍵
temp=saomiao;
temp=temp&0xf0;
if(temp!=0xf0)
delay10ms(); //延時10ms
temp=saomiao;
temp=temp&0xf0; //確認按鍵被按下
if(temp!=0xf0)
{
temp=saomiao;
switch(temp)
{
case 0xee: //第1行第1列被按下
key=0;
break;
case 0xde: // 第1行第2列被按下
key=1;
break;
case 0xbe: // 第1行第3列被按下
key=2;
break;
case 0x7e: // 第1行第4列被按下
key=3;
break;
default:
break;
}
K1:
temp=saomiao;
temp=temp&0xf0;
while(temp!=0xf0) //等待按鍵被松開才可以有效果
goto K1;
}
saomiao=0xfd; //掃描第2行鍵
temp=saomiao;
temp=temp&0xf0;
if(temp!=0xf0)
delay10ms();
temp=saomiao;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=saomiao;
switch(temp)
{
case 0xed:
key=4;
break;
case 0xdd:
key=5;
break;
case 0xbd:
key=6;
break;
case 0x7d:
key=7;
break;
default:
break;
}
K2: temp=saomiao;
temp=temp&0xf0;
while(temp!=0xf0) //等待按鍵被松開
goto K2;
}
saomiao=0xfb; //掃描第3行鍵
temp=saomiao;
temp=temp&0xf0;
if(temp!=0xf0)
delay10ms();
temp=saomiao;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=saomiao;
switch(temp)
{
case 0xeb:
key=8;
break;
case 0xdb:
key=9;
break;
case 0xbb:
key=10;
break;
case 0x7b:
key=11;
break;
default :
break;
}
K3:
temp=saomiao;
temp=temp&0xf0;
while(temp!=0xf0) //等待按鍵被松開
goto K3;
}
saomiao=0xf7; //掃描第4行鍵
temp=saomiao;
temp=temp&0xf0;
if(temp!=0xf0)
delay10ms();
temp=saomiao;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=saomiao;
switch(temp)
{
case 0xe7:
key=12;
break;
case 0xd7:
key=13;
break;
case 0xb7:
key=14;
break;
case 0x77:
key=15;
break;
default:
break;
}
K4: temp=saomiao;
temp=temp&0xf0;
while(temp!=0xf0) //等待按鍵被松開
goto K4;
}
return key;
}
void display(uchar dat)
{
DB=table[dat];
}
main()
{
key=0;
while(1)
{
key=key_scan(); //讀取按鍵值
display(key); //顯示按鍵值
}
}
復制代碼
所有資料51hei提供下載:
4x4矩陣鍵.zip
(54.63 KB, 下載次數: 13)
2021-5-30 10:07 上傳
點擊文件名下載附件
仿真設計和C程序
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日本久久综合
|
久久国产精品99久久久久
|
国产精品久久久久久久久久不蜜臀
|
国产成人精品一区二区三区在线
|
男女午夜免费视频
|
日日草夜夜草
|
天天草天天操
|
精品视频一区二区三区
|
亚洲综合天堂
|
91免费福利视频
|
日日夜夜精品视频
|
一区视频在线免费观看
|
狠狠色综合欧美激情
|
欧美精品导航
|
草久在线视频
|
夜久久
|
国产网站在线免费观看
|
在线国产一区二区三区
|
av国产在线观看
|
91麻豆精品国产91久久久更新资源速度超快
|
韩日在线视频
|
91精品国产一区二区三区
|
国产小视频在线
|
日韩在线免费视频
|
超碰日本
|
中文字幕精品一区二区三区精品
|
日日操夜夜干
|
久久国产精品久久久久
|
国产在线一区二区三区
|
一区二区高清在线观看
|
日韩成人在线观看
|
精品久久久久久久久久
|
99精品在线观看
|
成人在线亚洲
|
青青草一区
|
中文字幕国产精品
|
精品久久久久久红码专区
|
精品久久久久久久久久久院品网
|
丝袜美腿一区二区三区
|
亚洲一区在线播放
|
91视频免费视频
|