新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 按鍵控制數(shù)碼管加1 c程序

按鍵控制數(shù)碼管加1 c程序

作者: 時間:2016-12-02 來源:網(wǎng)絡 收藏
每次按鍵蜂鳴器響一聲,然后數(shù)碼管會自動加1.數(shù)碼管用2個573接到p0口,電路詳見單片機開發(fā)板的原理圖:http://www.51hei.com/f/HL-1V6.5.pdf
#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;// 峰鳴器關閉
while(1)//主函數(shù)
{
SB=1;
P0=TABLE1[i]; //查段碼表結(jié)果
DUAN=1; //開段碼選通
DUAN=0;//關段碼選通
P0=TABLE2[s]; //查位碼表結(jié)果
WEI=1; //開位選通
WEI=0;//關位選通
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++);
}
}
}
}


評論


技術專區(qū)

關閉