亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標題:
單片機矩陣鍵盤讀取實驗代碼+Proteus仿真
[打印本頁]
作者:
馮某某
時間:
2020-6-25 18:06
標題:
單片機矩陣鍵盤讀取實驗代碼+Proteus仿真
1、掌握矩陣鍵盤工作原理和掃描方法。
2、學習逐行掃描鍵盤的編程方法。
3、學習按鍵消抖的方法。
二、實驗內容1、編寫程序實現2×4矩陣鍵盤掃描讀取。
2、鍵盤掃描與LED顯示電路配合實現按鍵掃描及顯示輸出。
依次定義S1~S8的鍵值為“1~8”,按下某一按鍵時,在LED上顯示其鍵值。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png
(23.36 KB, 下載次數: 81)
下載附件
2020-6-28 03:49 上傳
單片機源程序如下:
#include<reg51.h>
sbit P24 = P0^4;
sbit P25 = P0^5;
sbit P26 = P0^6;
sbit P27 = P0^7;
typedef unsigned char uchar;
typedef unsigned int uint;
unsigned char code led[] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e
}; //共陽極數碼管
void delay(uint xms)
{
uint i,j;
for(i=xms; i>0; i--)
for(j=112; j>0; j--);
}
void main()
{
uchar temp;//第一行按鍵檢測
P0=0xfe;
P2=0x00;
temp=P0;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
temp=P0;
temp=temp&0xf0;
if(temp!=0xf0)
{
switch(P0)
{
case 0xee:
delay(1);
P2=led[0];
while(P0==0xee)
{
delay(100);
P0=0xfe;
if(P0!=0xee) break;
}
case 0xde:
P2=led[1];
while(P0==0xde)
{
delay(100);
P0=0xfe;
if(P0!=0xde) break;
}
case 0xbe:
delay(1);
P2=led[2];
while(P0==0xbe)
{
delay(100);
P0=0xfe;
if(P0!=0xbe) break;
}
case 0x7e:
P2=led[3];
while(P0==0x7e)
{
delay(100);
P0=0xfe;
if(P0!=0x7e) break;
}
}
}
}
/////////////////////////////////////////////////////////////
P0=0xfd; //第二行按鍵檢測
temp=P0;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
temp=P0;
temp=temp&0xf0;
if(temp!=0xf0)
{
switch(P0)
{
case 0xed:
delay(1);
P2=led[4];
while(P0==0xed)
{
delay(100);
P0=0xfd;
if(P0!=0xed) break;
}
case 0xdd:
P2=led[5];
while(P0==0xdd)
{
delay(100);
P0=0xfd;
if(P0!=0xdd) break;
}
case 0xbd:
delay(1);
P2=led[6];
while(P0==0xbd)
{
delay(100);
P0=0xfd;
if(P0!=0xbd) break;
}
case 0x7d:
P2=led[7];
while(P0==0x7d)
{
delay(100);
P0=0xfd;
if(P0!=0x7d) break;
}
}
}
}
}
復制代碼
所有資料51hei提供下載:
附件.zip
(68.7 KB, 下載次數: 17)
2020-6-25 18:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1