久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學習與研究
當前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

基于PIC16F877單片機數(shù)碼管顯示矩陣鍵值

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年04月04日   【字體:

    PIC16F877單片機數(shù)碼管顯示矩陣鍵值,4X4矩陣鍵盤一共有16個按鍵,對應(yīng)的是0~F,十六進制數(shù),本程序是利用行掃描法,進行循環(huán)掃描矩陣鍵盤,當每一行有一個按鍵被按下,它都會檢測得到鍵值,然后數(shù)碼管就會顯示對應(yīng)的數(shù)值啦。

 

#include <pic.h>  

typedef unsigned char  uchar;  

typedef unsigned int   uint;  

uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //數(shù)碼管共陽段碼  

uchar table_we[]={0xfe,0xfd,0xfb,0x7f,0xef,0xdf}; // 位碼

uchar temp;  

//***********延時z毫秒***********/  

void delay(uint z)  

{  

uint x,y;  

for(x=z;x>0;x--)  

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

}  

void init()  

{  

TRISC=0X0f;//設(shè)置c端口高4位為輸出,低4位為輸入;  

TRISD=0;  //設(shè)D口為輸出

TRISB=0;  //設(shè)B口為輸出

PORTB=0XFF;  

}  

void keyscan()  //矩陣鍵盤掃描子程序

{  

//uchar temp;  

//第一行掃描  

PORTC=0X7f;//1110 1111  

temp=PORTC;  

temp=temp&0x0f;  

if(temp!=0x0f)//有鍵按下  

   {  

       delay(10);  

           temp=PORTC;  

       temp=temp&0x0f;  

       if(temp!=0x0f)  

       {  

       temp=temp|0x70;  

       }  

   }  

else  

{  

//第二行掃描  

PORTC=0Xbf;  

temp=PORTC;  

temp=temp&0x0f;  

   if(temp!=0x0f)  

   {  

       delay(10);  

           temp=PORTC;  

       temp=temp&0x0f;  

       if(temp!=0x0f)  

       {  

       temp=temp|0xb0;  

       }  

   }  

else  

{  

//第三行掃描  

PORTC=0Xdf;  

temp=PORTC;  

temp=temp&0x0f;  

   if(temp!=0x0f)  

   {  

       delay(10);  

           temp=PORTC;  

       temp=temp&0x0f;  

       if(temp!=0x0f)  

       {  

           temp=temp|0xd0;  

       }  

   }  

else  

{  

//第四行掃描  

PORTC=0Xef;  

temp=PORTC;  

temp=temp&0x0f;  

   if(temp!=0x0f)  

   {  

       delay(10);  

           temp=PORTC;  

       temp=temp&0x0f;  

       if(temp!=0x0f)  

       {  

           temp=temp|0xe0;  

       }  

   }  

     }  

   }  

 }  

}  

void display()  //數(shù)碼管顯示函數(shù)

{  

   switch(temp)  

   {  

       case 0xee:PORTD=table[0];break;  //0

       case 0xed:PORTD=table[1];break;  //1

       case 0xeb:PORTD=table[2];break;  //2

       case 0xe7:PORTD=table[3];break;  //3  

       case 0xde:PORTD=table[4];break;  //4

       case 0xdd:PORTD=table[5];break;  //5  

       case 0xdb:PORTD=table[6];break;  //6

       case 0xd7:PORTD=table[7];break;  //7

       case 0xbe:PORTD=table[8];break;  //8

       case 0xbd:PORTD=table[9];break;  //9

       case 0xbb:PORTD=table[10];break;  //A

       case 0xb7:PORTD=table[11];break;  //B

       case 0x7e:PORTD=table[12];break;  //C

       case 0x7d:PORTD=table[13];break;  //D

       case 0x7b:PORTD=table[14];break;  //E

       case 0x77:PORTD=table[15];break;  //F

   }  

}  

void main() //主函數(shù)  

{  

 init();//端口初始化  

 while(1)   //無限循環(huán)

 {  

   keyscan();  //按鍵掃描

   display();  //顯示鍵值

 }  

}
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产精品一区久久久 | 精品一区精品二区 | 国产精品久久久久久久久久久久久 | 欧洲成人免费视频 | 国产91丝袜在线播放 | 91精品国产综合久久久亚洲 | 欧州一区二区三区 | 成人福利网站 | 国产精品国产三级国产aⅴ中文 | 欧美日韩国产一区二区 | 国产免费福利小视频 | 欧美三区视频 | 久久久久亚洲精品 | 亚洲精品一区二区冲田杏梨 | 免费在线观看黄网站 | 精品免费看 | 欧美一级毛片久久99精品蜜桃 | 一区二区三区欧美大片 | 日韩免费网 | 狠狠干天天干 | 久久久毛片 | h视频在线免费看 | 精品国产区 | 男人的天堂亚洲 | 国产精品久久午夜夜伦鲁鲁 | 国产一区二区三区四区 | 国产精品一区二区三区免费观看 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 精品久 | 在线观看免费福利 | 人人种亚洲 | 日本成人久久 | 激情影院久久 | 国产资源在线观看 | 日韩欧美一区在线 | 天天干成人网 | 久久国产精品偷 | 久色视频在线 | 精品日韩一区二区三区av动图 | 中文字幕第7页 | 精品视频在线播放 |