|
仅供参考
源程序:
- ////////////////////////////////////////////////////////////////////////
- #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() ////////*显示函数*////////// //
- { //
- ulongint ge,bai,qian,wan,shiwan,baiwan,qianwan; //
- ge= (num%10); /////////*显示个位*///////// //
- 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); // //
- // //
- } // //
- // //
- //////////////////////////////延时函数//////////////////////////////////
- void delay(uint y) //
- { //
- uint j,k; //
- for(j=0;j<y;j++) //
- for(k=0;k<100;k++); //
- } //
- ////////////////////////////////////////////////////////////////////////
- //
- void dingshi() /////////*定时器中断函数*///////// //
- { //
- TMOD=0X01; /////////*定时器0工作方式0*///////// //
- TH0=(65536-50000)/256; /////////*计算初值*///////// //
- TL0=(65536-50000)/256; /////////*计算初值*///////// //
- EA=1; /////////*打开中断总开关*///////// //
- ET0=1; /////////*允许定时器启动*///////// //
- TR0=0; /////////*启动定时器*///////// //
- } //
- //
- ////////////////////////////////////////////////////////////////////////
- void time0() interrupt 1 /////////*中断服务程序*///////// //
- { //
- TH0=(65536-50000)/256; //
- TL0=(65536-50000)/256; //
- tt = tt+1; //
- mm++; //
- nn++; //
- if(tt == 2) /////////*t=2时,t清零*///////// //
- { //
- tt = 0; // **t清零** // //
- num++; /////////*t=2时,num+1*///////// //
- } //
- } //
- ////////////////////////////////////////////////////////////////////////
- void key() /////////*按键函数*///////// //
- { //
- if(k1==0) /////////*k=0时,启动定时器*///////// //
- { //
- while(!k1); //
- TR0=~TR0; //
- s=0; /////////*位选变量清零*///////// //
- } //
- if(k2==0) /////////*k=2时,数码管清零*///////// //
- { //
- 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++; /////////*个位+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--; /////////*个位-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; //
- } //
- } //
- } //
- //////////////////////////*主函数*//////////////////////////////////////
- void main() //
- { //
- dingshi(); //
- while(1) //
- { //
- key(); //
- xianshi(); //
- } //
- } //
- ////////////////////////////////////////////////////////////////////////
复制代码
|
评分
-
查看全部评分
|