|
- #define uchar unsigned char //快捷定義
- #define uint unsigned int //快捷定義
- #define duan P2 //數(shù)碼管段選接口
- #define wei P3 //數(shù)碼管位選接口
- sbit ledH=P0^2; //指示紅燈接口
- sbit ledL=P0^3; //指示綠燈接口
- sbit Frst=P1^4; //按鍵1
- sbit Second=P1^5; //按鍵2
- sbit Third=P1^6; //按鍵3
- sbit Forth=P1^7; //按鍵4
- sbit k1=P1^0; //start按鍵
- sbit k2=P1^1; //reset按鍵
- uchar i=0; //數(shù)碼管顯示計(jì)時(shí)
- //uchar qinflag; //移位標(biāo)志
- uchar code number[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x8c,0xff,0xbf,0xcf}; //0~9,a,b,c,d,e,f,p,不顯示,-,
- iuchar code weizi[11]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x10,0x20};//位選數(shù)據(jù)//
- uchar code error[10]={0xff,0xaf,0xc0,0xaf,0xaf,0x86,0xff,0xff,0xff};//erroruchar displayData[11];
- //uchar weishu;
- char time;
- uchar qdShijian; //時(shí)間計(jì)時(shí)
- uchar xuanshou; //選手編號(hào)
- bit qdQidong; //搶答啟動(dòng)
- //bit dtQidong; //答題啟動(dòng)
- bit select; //選擇
- uint count; //定時(shí)計(jì)時(shí)變量
- void init(); //初始化
- uchar scanzhi(); //獲取按鍵值
- void display(); //數(shù)碼管顯示
- void duzhichuli(); //數(shù)據(jù)處理
- =================================================
- void keyscan(){
- if(k1==0) //檢測(cè)按鍵K1是否按下開(kāi)始
- { //Delay10ms(); //消除抖動(dòng)
- // while(k1==0); //松手檢測(cè)
- qdQidong = 1; //啟動(dòng)搶答
- qdShijian = 20;//倒計(jì)時(shí)20秒
- select = 1; //啟動(dòng)選擇
- ledL = 1; //綠燈亮 }
- if(k2==0) //檢測(cè)按鍵K2是否按下復(fù)位
- { ledL = 0; //綠燈滅
- ledH = 0; //紅燈滅
- select = 1;//選擇
- for(i=1;i<12;i++) //顯示數(shù)據(jù)清零
- displayData[i]=number[0]; }
- if(select == 1 && qdQidong == 1) //搶答處理
- { if(Frst==0) //檢測(cè)按鍵1號(hào)選手
- { select = 0; //退出選擇
- // dtShijian = 30; //倒計(jì)時(shí)30秒
- // dtQidong = 1; //倒計(jì)時(shí)啟動(dòng)
- qdQidong = 0; //搶答停止
- xuanshou = 1; //選手1
- time=0;
- displayData[1] = number[10]; //顯示a
- displayData[2] = number[xuanshou]; //顯示編號(hào) }
復(fù)制代碼
displaydate【i】=number(0)是啥意思
|
|