欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 關(guān)于使用at89c51單片機(jī)通過矩陣鍵盤輸入數(shù)據(jù)并顯示 [打印本頁]

作者: 楓燁    時間: 2018-1-1 20:03
標(biāo)題: 關(guān)于使用at89c51單片機(jī)通過矩陣鍵盤輸入數(shù)據(jù)并顯示

圖片2.png (70.3 KB, 下載次數(shù): )

qqqq

qqqq

使用at89c51單片機(jī)通過矩陣鍵盤輸入數(shù)據(jù)并顯示.docx

11.47 KB, 下載次數(shù): , 下載積分: 黑幣 -5


作者: 楓燁    時間: 2018-1-1 20:03
標(biāo)題: 關(guān)于使用at89c51單片機(jī)通過矩陣鍵盤輸入數(shù)據(jù)并顯示
使用at89c51單片機(jī)通過矩陣鍵盤,采用中斷方式,輸入數(shù)據(jù)并顯示。
當(dāng)無按鍵按下時,數(shù)碼管循環(huán)畫8
有按鍵按下時產(chǎn)生中斷并將按鍵的鍵值0~F通過串行口輸出,顯示3秒后返回
返回后循環(huán)畫8
[free]使用at89c51單片機(jī)通過矩陣鍵盤,采用中斷方式,輸入數(shù)據(jù)并顯示。
當(dāng)無按鍵按下時,數(shù)碼管循環(huán)畫8
有按鍵按下時產(chǎn)生中斷并將按鍵的鍵值0~F通過串行口輸出,顯示3秒后返回
返回后循環(huán)畫8
[attach]94394[/attach]
部分程序如下:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ledcode[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code key_table[]={ 0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};
uchar code table1[]={~0xfe,~0xde,~0x9e,~0x9a,~0x92,~0x82,~0x82,~0x80};
uchar count=0,flag=0;
void delay(uint c)
{
uchar  a,b;
        for(;c>0;c--)
        for(a=142;a>0;a--)
        for(b=2;b>0;b--);
}
void main()
{
        uchar i;       
        EX0=1;
           IT0=1;
        EA=1;
        SM0=0;SM1=0;
           P1=0xf0;
        while(1)
        {
         for(i=0;i<8;i++)
         {
                 SBUF=table1[i];
                while(TI==0);TI=0;
                delay(500);
         }
        }       
}[/free]

部分程序如下:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ledcode[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code key_table[]={ 0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};
uchar code table1[]={~0xfe,~0xde,~0x9e,~0x9a,~0x92,~0x82,~0x82,~0x80};
uchar count=0,flag=0;
void delay(uint c)
{

        uchar  a,b;
        for(;c>0;c--)
        for(a=142;a>0;a--)
        for(b=2;b>0;b--);
}
void int_0() interrupt 0
{
         uchar key,temp,i,num;
         EX0=0;
         delay(10);
         EX0=1;

        temp=P1;
        P1=0x0f;
        key=temp|P1;
        for(i=0;i<16;i++)
        {
                if(key==key_table[i])
                {       
                        num=i;
                        break;
                }
        }
        SBUF=ledcode[num];
        while(!TI);        TI=0;
        delay(3000);
        P1=0xf0;
}
void main()
{
        uchar i;       
        EX0=1;
           IT0=1;
        EA=1;
        SM0=0;SM1=0;
           P1=0xf0;
        while(1)
        {
         for(i=0;i<8;i++)
         {
                 SBUF=table1[i];
                while(TI==0);TI=0;
                delay(500);
         }
        }       
}






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1