日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]/* 名稱:4X4 矩陣鍵盤控制條形 LED 顯示說明:運行本例時,按下 的 按 鍵 值 越 大 點 亮 的LED 越多。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//矩陣鍵盤按

/*  名稱:4X4 矩陣鍵盤控

制條形 LED 顯示

說明:運行本例時,按

下 的 按 鍵 值 越 大 點 亮 的

LED 越多。

*/

#include<reg51.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

//矩陣鍵盤按鍵特征碼表

uchar code KeyCodeTable[]={0x11,0x12,0x14,0x18,0x21,

0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88};

//延時

void DelayMS(uint x)

{

uchar i;

while(x--) for(i=0;i<120;i++);

}

//鍵盤掃描

uchar Keys_Scan()

{

uchar sCode,kCode,i,k;

//低 位置 0,放入 

P1=0xf0;

//若高 位出現(xiàn) 0,則有鍵按下

if((P1&0xf0)!=0xf0)

{

DelayMS(2); 

if((P1&0xf0)!=0xf0)

{

 

sCode=0xfe;   

//行掃描碼初值

 

for(k=0;k<4;k++) //對 行分別進行掃描

P1=sCode; 

if((P1&0xf0)!=0xf0)

kCode=~P1; 

for(i=0;i<16;i++) //查表得到按鍵序號并返回

if(kCode==KeyCodeTable[i]) 

return(i);

                                       else 

                                    sCode=_crol_(sCode,1);

 

                        }

  }

         }

           return(-1);

 

//主程序

void main()

{

uchar i,P2_LED,P3_LED;

uchar KeyNo=-1;  //按鍵序號,-1 表示無按鍵

while(1)

{

KeyNo=Keys_Scan(); //掃描鍵盤獲取按鍵序號 KeyNo 

    if(KeyNo!=-1)

P2_LED=0xff;

P3_LED=0xff;

for(i=0;i<=KeyNo;i++)鍵值越大,點亮的 LED 越多

if(i<8)

P3_LED>>=1; 

else 

P2_LED>>=1; 

P3=P3_LED;    //點亮條形 LED

P2=P2_LED; 

}

}

擴展閱讀:MSP430編程點滴

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉