51單片機(jī) 芯片是89C52 實(shí)現(xiàn)秒表計時器!急急……
-
51單片機(jī) 芯片是89C52 實(shí)現(xiàn)秒表計時器 一到59秒循環(huán) 到59秒可實(shí)現(xiàn)風(fēng)鈴器發(fā)聲 可實(shí)現(xiàn)中斷 按一下可暫停 再按一下 可繼續(xù) 以下是程序 求每一項(xiàng)的解釋注明 因?yàn)槲铱床欢裁匆馑?很急 #include
unsigned char x,y;sbit H=P3^6;unsigned char D[10]={0xc...
全部評論(1條)
-
- 豆豆醬999959 2017-11-26 08:34:52
- #include<reg52.h> unsigned char x,y; sbit H=P3^6; unsigned char D[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //用于數(shù)字0~9的顯示數(shù)據(jù)表 void delay(unsigned char a){ //延時程序 unsigned char i; while(a--) for(i=115;i>0;i--); } void display(unsigned char x) //顯示2位數(shù)字 { P2=0x7f; //使能低位數(shù)碼管 P0=D[x%10]; //顯示低位 delay(5); //延時 P2=0xbf; //使能高位數(shù)碼管 P0=D[x/10]; //顯示高位 delay(5); //延時 } void main(){ x=y=0; EA=1; //開總中斷 EX0=1; //開外部中斷0 IT0=1; //INT0為下降沿中斷 ET0=1; //開定時器0中斷 TMOD=0X01; //設(shè)定T0工作模式 TH0=(65536-50000)/256; //設(shè)定T0初值 TL0=(65536-50000)%256; TR0=1; //啟動T0 while(1) { display(x); //刷新顯示X if(x==59) H=~H; //x=59時,將P3.6取反 } } void int0() interrupt 1 { y++; while(y==20) //Y記滿20后x+1 { y=0; x++; if(x==60) x=0; } TH0=(65536-50000)/256; //T0重裝裝初值 TL0=(65536-50000)%256; } void it0() interrupt 0 using 1 { ET0=~ET0;} //關(guān)定時器中斷
-
贊(8)
回復(fù)(0)
熱門問答
- 51單片機(jī) 芯片是89C52 實(shí)現(xiàn)秒表計時器!急急……
- 51單片機(jī) 芯片是89C52 實(shí)現(xiàn)秒表計時器 一到59秒循環(huán) 到59秒可實(shí)現(xiàn)風(fēng)鈴器發(fā)聲 可實(shí)現(xiàn)中斷 按一下可暫停 再按一下 可繼續(xù) 以下是程序 求每一項(xiàng)的解釋注明 因?yàn)槲铱床欢裁匆馑?很急 #include
unsigned char x,y;sbit H=P3^6;unsigned char D[10]={0xc...
2017-11-26 00:53:59
645
1
- 關(guān)于51單片機(jī) 的秒表/時鐘計時器設(shè)計摘要
- 秒表/時鐘計時器設(shè)計 有關(guān)的資料 我都要 謝謝各位了
2018-11-16 12:00:04
377
0
- windows窗體這個秒表計時器怎么實(shí)現(xiàn)
- 我想讓它從0開始變成1,2,3這樣
2011-07-11 04:56:41
437
4
- 51單片機(jī)計時器可否分享給我🌝
2018-11-25 09:49:24
396
0
- 用51單片機(jī)連接max7219芯片做秒計時器,求幫看下程序
- 這是我的程序:#include
#include #define uchar unsigned charsbit pinDIN=P3^0;sbit pinLOAD=P3^1;sbit pinCLK=P3^2;uchar code LEDcode[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00};void delay1000(void) { un... 這是我的程序:#include #include #define uchar unsigned charsbit pinDIN=P3^0;sbit pinLOAD=P3^1;sbit pinCLK=P3^2;uchar code LEDcode[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00};void delay1000(void) { unsigned char a,b,c; for(c=1;c>0;c--) for(b=142;b>0;b--) for(a=2;a>0;a--);}void sendbyte (uchar dat){ uchar i,temp; _nop_(); for (i=0;i<8;i++) { temp=dat&0x80; dat=dat<<1; if(temp) pinDIN=1; else pinDIN=0; pinCLK=0; _nop_(); pinCLK=1; }}void sendword (uchar addr,uchar dat){ pinLOAD=0; _nop_(); sendbyte (addr); _nop_(); sendbyte (dat); _nop_(); pinLOAD=1; delay1000();}void init7219 (void){sendword (0x0c,0x01); sendword (0x0a,0x09);sendword (0x0b,0x03); sendword (0x09,0x00);sendword (0x0f,0x00); }void clear7219(void){ uchar i; for(i=8;i>0;i--) { sendword(i,0x00); }}void main(void){int n=60;int s=0;int g=0;init7219 ();while(1) {clear7219();if(n>0){n=n-1;s=n/10;g=n%10;LEDcode[s];LEDcode[g];}sendword(0x01,LEDcode[1]);sendword(0x02,LEDcode[2]|0x80); sendword(0x03,LEDcode[3]);sendword(0x04,LEDcode[4]);sendword(0x05,LEDcode[5]);sendword(0x06,LEDcode[6]);sendword(0x07,LEDcode[7]);sendword(0x08,LEDcode[8]); }}不知道為什么,數(shù)碼管上只顯示“12.”然后就一直沒變化,看下面是由高低電平的變化的,就是數(shù)字一直不變,請問是哪里出錯? 展開
2017-06-04 10:27:15
442
1
- 秒表計時器怎么讀
- 秒表計時器怎么讀
2011-01-14 05:33:08
654
4
- Excel 秒表/計時器
- 我想在Excel中做一個計時器,請大家?guī)兔Γ?注意,不是要他顯示當(dāng)前時間,而是要做了用來計時間。 比如我想知道我做一件事情要多長時間,我在做之前啟動秒表,昨晚后看用了多長時間! 請大家?guī)兔Γ?
2008-11-07 23:03:17
481
2
- 單片機(jī)編程實(shí)現(xiàn)0---20秒計時器
2016-06-14 17:17:42
987
1
- 51單片機(jī)實(shí)現(xiàn)pwm對電機(jī)調(diào)速
2018-07-22 09:03:42
466
3
- 51單片機(jī)同時使用兩個計時器的問題
- 遇到的問題是兩個內(nèi)部計時器同時使用會造成數(shù)碼管無法正常掃描。 以下面程序?yàn)槔旅娉绦蚪Y(jié)果數(shù)碼管(從0開始自加,8位數(shù)碼管顯示后4位)無法正常掃描,請問該如何修改? #include
#define uchar unsigned char #define uint unsigned int ... 遇到的問題是兩個內(nèi)部計時器同時使用會造成數(shù)碼管無法正常掃描。 以下面程序?yàn)槔旅娉绦蚪Y(jié)果數(shù)碼管(從0開始自加,8位數(shù)碼管顯示后4位)無法正常掃描,請問該如何修改? #include #define uchar unsigned char #define uint unsigned int #define DATAPORT P0 uchar code NUMBER[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code POSITION[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar TEMP[4]; uint num; sbit duanma=P2^2; sbit weima=P2^3; void display(uchar first,uchar total) { static uchar i; DATAPORT=0xff; weima=1; weima=0; DATAPORT=TEMP[i]; duanma=1; duanma=0; DATAPORT=POSITION[i+first]; weima=1; weima=0; i++; if(i==total) i=0; } void TIMER_ini() { TMOD |=0x11; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-2100)/256; TL1=(65536-2100)%256; EA=1; ET0=1; ET1=1; TR0=1; TR1=1; } void main() { TIMER_ini(); while(1) { TEMP[0]=NUMBER[num/1000]; TEMP[1]=NUMBER[num/10]; TEMP[2]=NUMBER[num/10%10]; TEMP[3]=NUMBER[num%10]; } } void TIMER0() interrupt 1 { TH1=(65536-50000)/256; TL1=(65536-50000)%256; num++; if(num>9999) num=0; } void TIMER1() interrupt 3 { TH1=(65536-2100)/256; TL1=(65536-2100)%256; display(4,4); } 展開
2015-08-06 01:21:00
749
3
- 怎樣用51單片機(jī)采集555計時器的頻率?
2012-12-02 03:49:38
403
3
- 秒表計時器英語怎么寫
2016-12-16 19:15:43
477
2
- 跑步秒表計時器怎么關(guān)閉
2014-11-15 06:16:36
868
2
- 怎樣用VB做一個秒表計時器
- 兩個按鈕,一個開始鍵 一個清零鍵 ,想要點(diǎn)擊開始鍵以后 開始鍵變成 結(jié)束 文本也改成結(jié)束 按清零鍵后變回開始 還想添加一個開始的鍵盤快捷鍵(開始和結(jié)束能夠公用這個快捷鍵) 求大神指教
2018-11-28 05:21:49
390
0
- 風(fēng)速風(fēng)向儀怎么和89c52單片機(jī)通訊
2012-02-17 00:53:22
401
1
- 基于51單片機(jī)函數(shù)信號發(fā)生器怎么樣實(shí)現(xiàn)小功率
2017-04-25 21:48:31
430
1
- C#計時器 比如秒表怎么設(shè)計?
2013-05-09 21:47:38
505
1
- 單片機(jī)60秒計時器的程序,用AT89C51實(shí)現(xiàn)
2009-06-03 22:35:17
423
4
- 51單片機(jī) 測速
- 當(dāng)感應(yīng)到磁性的時候 有高電平,沒有感應(yīng)到磁性的時候是低電平,求兩次測到高電平之間時間是多少。 C語言程序怎么寫?用霍爾傳感器或者是磁性開關(guān)
2014-03-20 07:21:32
398
3
- 89C52單片機(jī)與流量傳感器連接電路圖???? 謝謝
2018-11-30 11:09:51
401
0
4月突出貢獻(xiàn)榜
推薦主頁
最新話題





參與評論
登錄后參與評論