標(biāo)題:
簡易的4X4矩陣式鍵盤 單片機(jī)程序+Proteus仿真
[打印本頁]
作者:
天涼
時間:
2019-12-6 20:59
標(biāo)題:
簡易的4X4矩陣式鍵盤 單片機(jī)程序+Proteus仿真
矩陣式鍵盤.png
(121.66 KB, 下載次數(shù): 81)
下載附件
注意:共陽極的七段數(shù)碼管
2019-12-6 20:49 上傳
注意:上圖和c文件均為共陽極的七段數(shù)碼管
單片機(jī)源程序如下:
#include<reg51.h>
sbit P24=P2^4;
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
unsigned char code Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsigned char keyval;
void led_delay(void)
{
unsigned int j;
for(j=0;j<200;j++)
;
}
void display(unsigned char k)
{
P0=Tab[k/1];
led_delay();
}
void delay30ms(void)
{
unsigned char i,j;
for(i=0;i<100;i++)
for(j=0;j<100;j++)
;
}
void main(void)
{
EA=1;
ET0=1;
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
keyval=0x00;
while(1)
{
display(keyval);
}
}
void time0_interserve(void) interrupt 1 using 1
{
TR0=0;
P2=0xf0;
if((P2&0xf0)!=0xf0)
delay30ms();
if((P2&0xf0)!=0xf0)
{
P2=0xfe;
if(P24==0)
keyval=0;
if(P25==0)
keyval=1;
if(P26==0)
keyval=2;
if(P27==0)
keyval=3;
P2=0xfd;
if(P24==0)
keyval=4;
if(P25==0)
keyval=5;
if(P26==0)
keyval=6;
if(P27==0)
keyval=7;
P2=0xfb;
if(P24==0)
keyval=8;
if(P25==0)
keyval=9;
if(P26==0)
keyval=10;
if(P27==0)
keyval=11;
P2=0xf7;
if(P24==0)
keyval=12;
if(P25==0)
keyval=13;
if(P26==0)
keyval=14;
if(P27==0)
keyval=15;
}
TR0=1;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
}
復(fù)制代碼
全部資料51hei下載地址:
4x4矩陣式鍵盤.zip
(16.94 KB, 下載次數(shù): 43)
2019-12-6 20:56 上傳
點(diǎn)擊文件名下載附件
仿真圖,c文件,hex文件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1