|
僅供參考
源程序:
- ////////////////////////////////////////////////////////////////////////
- #include<reg51.h> //
- #define led P2 //
- #define wei P3 //
- #define ulongint unsigned long int //
- #define uint unsigned int //
- sbit k1=P1^0; //
- sbit k2=P1^1; //
- sbit k3=P1^2; //
- sbit k4=P1^3; //
- sbit k5=P1^4; //
- sbit led1=P3^7; //
- //
- void delay(uint y); //
- ulongint shi,s,mm,nn; //
- ulongint num,tt; //
- ulongint shu[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //
- //
- void xianshi() ////////*顯示函數(shù)*////////// //
- { //
- ulongint ge,bai,qian,wan,shiwan,baiwan,qianwan; //
- ge= (num%10); /////////*顯示個(gè)位*///////// //
- shi=(num/10)%10; ///////// * ///////// //
- bai=(num/100)%10; ///////// * ///////// //
- qian=(num/1000)%10; ///////// * ///////// //
- wan= (num/10000)%10; ///////// * ///////// //
- shiwan=(num/100000)%10; ///////// * ///////// //
- baiwan=(num/1000000)%10; ///////// × ///////// //
- qianwan=(num/10000000)%10; ///////*顯示千萬位*///////// //
- ////////////////////////////////////////////////////////////////////////
- wei=0xfe; // //
- led=shu[ge]; // //
- delay(5); // //
- // //
- // //
- wei=0xfd; // //
- led=shu[shi]; // //
- delay(5); // //
- // //
- // //
- wei=0xfb; // //
- led=shu[bai]; // //
- delay(5); // //
- // //
- // //
- wei=0xf7; // //
- led=shu[qian]; // //
- delay(5); // //
- ////////////////////////////////////////////////////////////////////////
- wei=0xef; // //
- led=shu[wan]; // //
- delay(5); // //
- // //
- // //
- wei=0xdf; // //
- led=shu[shiwan]; // //
- delay(5); // //
- // //
- // //
- wei=0xbf; // //
- led=shu[baiwan]; // //
- delay(5); // //
- // //
- // //
- wei=0x7f; // //
- led=shu[qianwan];// //
- delay(5); // //
- // //
- } // //
- // //
- //////////////////////////////延時(shí)函數(shù)//////////////////////////////////
- void delay(uint y) //
- { //
- uint j,k; //
- for(j=0;j<y;j++) //
- for(k=0;k<100;k++); //
- } //
- ////////////////////////////////////////////////////////////////////////
- //
- void dingshi() /////////*定時(shí)器中斷函數(shù)*///////// //
- { //
- TMOD=0X01; /////////*定時(shí)器0工作方式0*///////// //
- TH0=(65536-50000)/256; /////////*計(jì)算初值*///////// //
- TL0=(65536-50000)/256; /////////*計(jì)算初值*///////// //
- EA=1; /////////*打開中斷總開關(guān)*///////// //
- ET0=1; /////////*允許定時(shí)器啟動(dòng)*///////// //
- TR0=0; /////////*啟動(dòng)定時(shí)器*///////// //
- } //
- //
- ////////////////////////////////////////////////////////////////////////
- void time0() interrupt 1 /////////*中斷服務(wù)程序*///////// //
- { //
- TH0=(65536-50000)/256; //
- TL0=(65536-50000)/256; //
- tt = tt+1; //
- mm++; //
- nn++; //
- if(tt == 2) /////////*t=2時(shí),t清零*///////// //
- { //
- tt = 0; // **t清零** // //
- num++; /////////*t=2時(shí),num+1*///////// //
- } //
- } //
- ////////////////////////////////////////////////////////////////////////
- void key() /////////*按鍵函數(shù)*///////// //
- { //
- if(k1==0) /////////*k=0時(shí),啟動(dòng)定時(shí)器*///////// //
- { //
- while(!k1); //
- TR0=~TR0; //
- s=0; /////////*位選變量清零*///////// //
- } //
- if(k2==0) /////////*k=2時(shí),數(shù)碼管清零*///////// //
- { //
- while(!k2); //
- num=0; //
- s=0; /////////*位選變量清零*///////// //
- } //
- //
- ////////////////////////////////////////////////////////////////////////
- //////////////////////////////led閃爍///////////////////////////////////
- if(mm==200) //
- { //
- led1=0; //
- mm=0; //
- } //
- //
- if(nn==400) //
- { //
- //
- led1=1; //
- nn=0; //
- } //
- ////////////////////////////////////////////////////////////////////////
- if(k3==0) /////////*按鍵+1功能*///////// //
- { //
- while(!k3); //
- if(s==1) //
- { //
- num++; /////////*個(gè)位+1*///////// //
- } //
- //
- if(s==2) //
- { //
- num=num+10; /////////*十位+1*///////// //
- } //
- //
- if(s==3) //
- { //
- num=num+100; /////////*百位+1*///////// //
- } //
- //
- if(s==4) //
- { //
- num=num+1000; /////////*千位+1*///////// //
- } //
- //
- if(s==5) //
- { //
- num=num+10000; /////////*萬位+1*///////// //
- } //
- //
- if(s==6) //
- { //
- num=num+100000; /////////*十萬位+1*///////// //
- } //
- //
- if(s==7) //
- { //
- s=0; /////////*s清零*///////// //
- } //
- } //
- //
- //
- if(k4==0) //
- { //
- while(!k4); //
- if(s==1) //
- { //
- num--; /////////*個(gè)位-1*///////// //
- } //
- //
- if(s==2) //
- { //
- num=num-10; /////////*十位-1*///////// //
- } //
- //
- if(s==3) //
- { //
- num=num-100; /////////*百位-1*///////// //
- } //
- //
- if(s==4) //
- { //
- num=num-1000; /////////*千位-1*///////// //
- } //
- //
- if(s==5) //
- { //
- num=num-10000; /////////*萬位-1*///////// //
- } //
- //
- if(s==6) //
- { //
- num=num-100000; /////////*十萬位-1*///////// //
- } //
- } //
- ///////////////////////////功能鍵(位選)///////////////////////////////
- if(k5==0) //
- { //
- while(!k5); //
- s++; //
- if(s==7) //
- { //
- s=0; //
- } //
- } //
- } //
- //////////////////////////*主函數(shù)*//////////////////////////////////////
- void main() //
- { //
- dingshi(); //
- while(1) //
- { //
- key(); //
- xianshi(); //
- } //
- } //
- ////////////////////////////////////////////////////////////////////////
復(fù)制代碼
|
-
-
秒表}}}}}加功能鍵.zip
2016-6-29 20:56 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
74.15 KB, 下載次數(shù): 21, 下載積分: 黑幣 -5
寫得有點(diǎn)特殊
評分
-
查看全部評分
|