數(shù)碼管顯示按鍵對(duì)應(yīng)的數(shù)字
利用P3口接收外部輸入(P0和P3都支持輸入和輸出),8位外部按鍵其實(shí)對(duì)應(yīng)了8位二進(jìn)制數(shù),按下的為0,沒按的為1,根據(jù)對(duì)應(yīng)的輸入顯示對(duì)應(yīng)的輸出。
#include
unsigned char code table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};
// 顯示數(shù)值表0-9
void main (void)
{
while (1) //主循環(huán)
{
switch(P3) //P3口作為獨(dú)立按鍵輸入端,檢測(cè)端口電平并做如下判斷
{
case 0xfe: P1 = table[1]; break;//0xfe = 1111 1110,
//說明連接在P3.0端口的按鍵被按下,顯示對(duì)應(yīng)的數(shù)字然后跳出循環(huán)
case 0xfd: P1 = table[2]; break;//調(diào)用表中的第三個(gè)
//元素 0xa4 下標(biāo) 0 才表示數(shù)組中的第一個(gè)元素
case 0xfb: P1 = table[3]; break;
case 0xf7: P1 = table[4]; break;
case 0xef: P1 = table[5]; break;
case 0xdf: P1 = table[6]; break;
case 0xbf: P1 = table[7]; break;
case 0x7f: P1 = table[8]; break;
default: break; //如果都沒按下,直接跳出
}
}
}