當前位置:編程學習大全網 - 源碼下載 - 跪求單片機8鍵獨立鍵盤實驗C程序源代碼!!!AT89C51芯片,共陰極數碼管

跪求單片機8鍵獨立鍵盤實驗C程序源代碼!!!AT89C51芯片,共陰極數碼管

# include & ltreg 51 . h & gt;

# include & ltintrins.h & gt

#定義?nop()?_nop_()

#定義?關鍵端口?P1

#定義?萊德波特?P2

未簽名?夏爾?代碼?seg[]={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x 71 };?//* * *陰數碼管段代碼

作廢?delayms(未簽名?int?ms)//12M

{

未簽名?int?t;

for(;ms & gt0;ms -)

for(t = 123;t & gt0;t-);

}

未簽名?夏爾?鍵掃描(無效)

{

未簽名?夏爾?溫度;

keyport = 0xFF

nop();nop();

if(keyport!=0xFF)

{

delay ms(10);

if(keyport!=0xFF)

{

開關(鍵盤端口)

{

案子?0x Fe:temp = 1;打破;

案子?0x FD:temp = 2;打破;

案子?0x FB:temp = 3;打破;

案子?0xf 7:temp = 4;打破;

案子?0x ef:temp = 5;打破;

案子?0x df:temp = 6;打破;

案子?0x BF:temp = 7;打破;

案子?0x7F:temp = 8;打破;

}

}

}

回歸?溫度;

}

作廢?顯示(未簽名?夏爾?dat)

{

led port = seg[dat];

}

作廢?主要(無效)

{

未簽名?夏爾?num

for(;;)

{

num = key scan();

顯示(數字);

}

}

//根據妳的圖,proteus仿真通過,上電後顯示0,按下第壹個按鈕後顯示1,以此類推。。。

//希望能幫到妳。

//如果妳是單片機愛好者,可以加我QQ,我們壹起進步!

//當然,如果妳覺得上面的鍵盤掃描方式效率不高,可以試試下面的分時采樣方式,效果也是壹樣的。

# include & ltreg 51 . h & gt;

# include & ltintrins.h & gt

#定義?nop()?_nop_()

#定義?關鍵端口?P1

#定義?萊德波特?P2

未簽名?夏爾?代碼?seg[]={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x 71 };

未簽名?夏爾?溫度;

作廢?顯示(未簽名?夏爾?dat)

{

led port = seg[dat];

}

作廢?主要(無效)

{

TMOD?|=?0x 01;

TH0?=?0xEC

TL0?=?0x78

EA?=?1;

ET0?=?1;

TR0?=?1;

for(;;)

{

顯示(溫度);?

}

}

作廢?定時器0中斷(無效)?打斷?1

{

靜電?未簽名?夏爾?c;

TH0?=?0xEC

TL0?=?0x78

if(keyport==0xFF)?c = 0;

如果((c & lt100);& amp(++c==10))

{

開關(鍵盤端口)

{

案子?0x Fe:temp = 1;打破;

案子?0x FD:temp = 2;打破;

案子?0x FB:temp = 3;打破;

案子?0xf 7:temp = 4;打破;

案子?0x ef:temp = 5;打破;

案子?0x df:temp = 6;打破;

案子?0x BF:temp = 7;打破;

案子?0x7F:temp = 8;打破;

}

}

}

  • 上一篇:楊冪源代碼13
  • 下一篇:eclipse怎麽創建servlet 程序
  • copyright 2024編程學習大全網