|
單片機(jī)的多功能秒表對(duì)于初學(xué)者進(jìn)階來(lái)說(shuō),是個(gè)不錯(cuò)的項(xiàng)目
下面是仿真原理圖:
0.png (12.5 KB, 下載次數(shù): 82)
下載附件
硬件仿真電路
2017-7-8 15:41 上傳
帶有有開(kāi)始,停止,加一按鈕,還有清零功能等等
0.png (45.27 KB, 下載次數(shù): 101)
下載附件
2017-7-8 16:19 上傳
單片機(jī)源程序如下:
- #include<reg52.h>
- #include<intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- uchar code smgdm[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
- 0x07,0x7f,0x6f};
- uchar c1=0,miao=0,ms=0,mg=0,fen,fens=0,feng=0,k1=0;
- uchar temp,num;
- sbit fmq=P2^6;
- sbit led=P2^5;
- sbit P03=P0^3;
- void delay(uint t)
- {
- uint x,y;
- for(x=0;x<t;x++)
- for(y=0;y<112;y++) ;
- }
- uchar jsm()
- {
- uchar key;
- if((P2&0X1F)==0X1F) return(0xff);
- delay(10);
- if((P2&0X1F)==0X1F) return(0xff);
- key=(P2&0X1F);
- while(((P2&0X1F)!=0X1F)) ;
- return(key);
- }
- void xs(uchar mg,ms,feng,fens)
- {
- P3=0XFE;
- P1=smgdm[fens];
- delay(10);
- P3=0XFD;
- P1=smgdm[feng];
- delay(10);
- P3=0XFB;
- P1=smgdm[ms];
- delay(10);
- P3=0XF7;
- P1=smgdm[mg];
- delay(10);
- }
- void main()
- {
- TMOD=0X01;
- TH0=0X3C;
- TL0=0XB0;
- TR0=0;
- ET0=1;
- EA=1;
- P0=0X00;
- led=1;
- fmq=1;
- while(1)
- {
-
- k1=jsm();
- switch(k1)
- {
- case 0x1e:miao++;break;
- case 0x1d:fen++;break;
- case 0x1b:TR0=0;break;
- case 0x17:TR0=1;break;
- case 0x0f:miao=0;fen=0;break;
- }
- xs( mg,ms,feng,fens);
-
- }
-
- }
- void t0zd() interrupt 1
- {
- TH0=0X3C;
- TL0=0XB0;
- c1++;
- if(c1==20)
- {
- c1=0;
- P03=~P03;
- miao++;
- if(miao==60)
- {
- miao=0;
- led=0;
- delay(1000);
- fmq=0;
- fen++;
- if(fen==60)
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
基于單片機(jī)多功能秒表.zip
(70.71 KB, 下載次數(shù): 52)
2017-7-8 15:41 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|