*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
程式如下:
#include <reg51.h>
sbit duan = P2^6;
sbit wei = P2^7;
sbit BY1=P3^7; //定義按鍵的輸入端S2鍵
unsigned char code tuble[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char code tube[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
unsigned char count; //按鍵計數,每按一下,count加1
void delay10ms(unsigned int x) //延時程式
{
unsigned char i,j;
while(x--)
{
for(i=2;i>0;i--)
for(j=248;j>0;j--);
}
}
void key() //按鍵判斷程式
{
if(BY1==0) //判斷是否按下鍵盤
{
delay10ms(2); //延時,軟體去干擾
if(BY1==0) //確認按鍵按下
{
count++; //按鍵計數加1
if(count==1) //計1次重新計數
{
count=0; //將count清零
}
}
while(BY1==0);//按鍵鎖定,每按一次count只加1.
}
}
void main()
{
if(count<1)
while(1)
{
P0 = tuble[0];//顯示第一個數碼管
wei=1;
wei=0;
P0 = tuble[1];//顯示第一個數字1
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[1];//顯示第一個數碼管
wei=1;
wei=0;
P0 = tuble[0];//顯示第二個數字0
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[3];//顯示第三個數碼管
wei=1;
wei=0;
P0 = tuble[7];//顯示第三個數字7
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[4];//顯示第四個數碼管
wei=1;
wei=0;
P0 = tuble[1];//顯示第四個數字1
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[5];//顯示第五個數碼管
wei=1;
wei=0;
P0 = tuble[0];//顯示五個數字0
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[6];//顯示第留個數碼管
wei=1;
wei=0;
P0 = tuble[6];//顯示六個數字6
duan=1;
duan=0;
delay10ms(2);
}
else
while(1)
{
P0 = tuble[0];//顯示第一個數碼管
wei=1;
wei=0;
P0 = tuble[9];//顯示第一個數字9
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[1];//顯示第二個數碼管
wei=1;
wei=0;
P0 = tuble[9];//顯示第二個數字9
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[3];//顯示第三個數碼管
wei=1;
wei=0;
P0 = tuble[1];//顯示第三個數字1
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[4];//顯示第四個數碼管
wei=1;
wei=0;
P0 = tuble[2];//顯示第四個數字2
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[5];//顯示第五個數碼管
wei=1;
wei=0;
P0 = tuble[1];//顯示五個數字1
duan=1;
duan=0;
delay10ms(2);
P0 = tuble[6];//顯示第六個數碼管6
wei=1;
wei=0;
P0 = tuble[1];//顯示六個數字1
duan=1;
duan=0;
delay10ms(2);
}
while(1) //永遠回圈,掃描判斷按鍵是否按下
{
key(); //呼叫按鍵識別函式
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/85987.html
標籤:新手樂園
上一篇:撰寫一個程式輸出1000以內所有能被6整除,而且至少有一位數字是5、一位數字是3的所有正整數。
下一篇:C++程式解釋
