按鍵控制數(shù)碼管加1 c程序
#include //頭文件
unsigned int t; //聲明無符號整型變量T
unsigned char i=0; //段碼初始值定義
unsigned char s=0;//位碼初始值定義
sbit key=P3^0;// 鍵盤端口定義為P3.0
sbit SB=P2^3;//峰鳴器端口定義
sbit DUAN=P2^0; //段碼位選通定義
sbit WEI=P2^1;//位碼位選通定義
unsigned char code TABLE1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段碼表
unsigned char code TABLE2[]={0x00};//位碼表
void main(void)//主函數(shù)
{
SB=1;// 峰鳴器關(guān)閉
while(1)//主函數(shù)
{
SB=1;
P0=TABLE1[i]; //查段碼表結(jié)果
DUAN=1; //開段碼選通
DUAN=0;//關(guān)段碼選通
P0=TABLE2[s]; //查位碼表結(jié)果
WEI=1; //開位選通
WEI=0;//關(guān)位選通
for(t=0;t<6000;t++);//延時防閃爍
unsigned int t; //聲明無符號整型變量T
unsigned char i=0; //段碼初始值定義
unsigned char s=0;//位碼初始值定義
sbit key=P3^0;// 鍵盤端口定義為P3.0
sbit SB=P2^3;//峰鳴器端口定義
sbit DUAN=P2^0; //段碼位選通定義
sbit WEI=P2^1;//位碼位選通定義
unsigned char code TABLE1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段碼表
unsigned char code TABLE2[]={0x00};//位碼表
void main(void)//主函數(shù)
{
SB=1;// 峰鳴器關(guān)閉
while(1)//主函數(shù)
{
SB=1;
P0=TABLE1[i]; //查段碼表結(jié)果
DUAN=1; //開段碼選通
DUAN=0;//關(guān)段碼選通
P0=TABLE2[s]; //查位碼表結(jié)果
WEI=1; //開位選通
WEI=0;//關(guān)位選通
for(t=0;t<6000;t++);//延時防閃爍
if(key==0)//按鍵識別
{
for(t=0;t<50;t++);
if(key==0)
{
for(t=0;t<50;t++);
while(key==0);
i++;
if(i==10)
{
i=0;
}
P0=TABLE1[i];
DUAN=1;
DUAN=0;
P0=TABLE2[s];
WEI=1;
WEI=0;
for(t=0;t<60;t++);
{
for(t=0;t<50;t++);
if(key==0)
{
for(t=0;t<50;t++);
while(key==0);
i++;
if(i==10)
{
i=0;
}
P0=TABLE1[i];
DUAN=1;
DUAN=0;
P0=TABLE2[s];
WEI=1;
WEI=0;
for(t=0;t<60;t++);
}
}
}
}
}
}
}
評論