當前位置:編程學習大全網 - 編程軟體 - 求於用單片機和4*4矩陣鍵盤輸入數字計數並在LCD1602上顯示出來的C語言程序

求於用單片機和4*4矩陣鍵盤輸入數字計數並在LCD1602上顯示出來的C語言程序

這是壹個以前寫的矩陣鍵盤程序,顯示在數碼管上的。妳該改就可以了

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit dula=P2^6;

sbit wela=P2^7;

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0x67};

void delay(uint m)

{ uint i,j;

for(i=m;i>0;i--)

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

}

void display(uchar num)

{ wela=1;

P0=0xc0;

wela=0;

P0=0XFF;

dula=1;

P0=table[num];

dula=0;

}

void keycans()

{ uchar a,key,c;

P3=0X0f;

if(P3!=0X0f)

{ delay(10);

if(P3!=0x0f)

{

a=P3;

P3=0Xf0;

c=P3;

a=a|c;

switch(a)

{case 0xee:key=1;break;

case 0xde:key=2;break;

case 0xbe:key=3;break;

case 0x7e:key=4;break;

case 0xed:key=5;break;

case 0xdd:key=6;break;

case 0xbd:key=7;break;

case 0x7d:key=8;break;

case 0xeb:key=9;break;

case 0xdb:key=10;break;

case 0xbb:key=11;break;

case 0x7b:key=12;break;

case 0xe7:key=13;break;

case 0xd7:key=14;break;

case 0xb7:key=15;break;

case 0x77:key=16;break;

}

while(!a);

display(key);

}

}

}

void main()

{

while(1)

keycans();

}

  • 上一篇:arduino代碼的語法格式是
  • 下一篇:Ack(4,4)等於多少?
  • copyright 2024編程學習大全網