全部評(píng)論(1條)
-
- 奧運(yùn)37 2016-03-16 21:39:14
- #include <AT89X51.H>
//********數(shù)碼管位代碼表(P0口)**********//
unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//********數(shù)碼管段代碼表(P2口,共陰且高位接a,低位接h筆段)**********//
unsigned char code dispcode[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,
0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00}; //********8位數(shù)據(jù)緩沖器**********// unsigned char dispbuf[8]; unsigned char temp[8]; unsigned char dispcount; unsigned char T0count; unsigned char timecount; bit flag; unsigned long x; //*********初始化模塊**********// void initial(void){ TMOD=0x15; TH0=0; TL0=0; TH1=(65536-4000)/256; TL1=(65536-4000)%256; TR1=0; TR0=0; ET0=1; ET1=1; EA=1; } //******************************************************// //*********顯示模塊**********// void dataDisplay(){ unsigned char i; for(i=0;i<8;i++){ temp[i]=0; } i=0; while(x/10){ temp[i]=x%10; x=x/10; i++; } temp[i]=x; for(i=0;i<8;i++){ dispbuf[i]=temp[i]; } P2=dispcode[dispbuf[dispcount]]; P0=dispbit[dispcount]; dispcount++; if(dispcount==8){ dispcount=0; } } //******************************************************// //*********信號(hào)頻率測(cè)量模塊**********// float frequency(float freq){ initial(); TR0=1;TR1=1; if(timecount==250){ TR0=0; freq=T0count*65536+TH0*256+TL0; return(freq); } } //******************************************************// //*********信號(hào)周期測(cè)量模塊**********// float cycle(float count){ initial(); if(P3_4==1){ TR0=1;TR1=1; if(P3_4==0){ TR0=0; count=1000000/(timecount*4000+TH1*256+TL1-61536); } } return(count); } //******************************************************// //*********定時(shí)中斷服務(wù)程序1**********// void t1(void) interrupt 3 using 0{ //initial(); //TR0=1; //TR1=1; TH1=(65536-4000)/256; TL1=(65536-4000)%256; timecount++; } //******************************************************// //*********定時(shí)中斷服務(wù)程序2**********// void t0(void) interrupt 1 using 0{ //initial(); //TR0=1; //TR1=1; T0count++; } //******************************************************// //*********主函數(shù)**********// void main(void){ while(1){ x=frequency(x); if(x<100){ x=cycle(x); } dataDisplay(); } } //******************************************************// -
贊(18)
回復(fù)(0)
登錄或新用戶注冊(cè)
- 微信登錄
- 密碼登錄
- 短信登錄
請(qǐng)用手機(jī)微信掃描下方二維碼
快速登錄或注冊(cè)新賬號(hào)
微信掃碼,手機(jī)電腦聯(lián)動(dòng)
注冊(cè)登錄即表示同意《儀器網(wǎng)服務(wù)條款》和《隱私協(xié)議》
熱門問答
- 單片機(jī)頻率計(jì)原理程序代碼
2016-03-16 02:43:45
561
1
- 頻率計(jì)原理及用單片機(jī)AT89C52設(shè)計(jì)時(shí)的程序代碼---求高手幫助急
2011-07-14 21:26:33
420
2
- 單片機(jī)頻率計(jì)
- 求課程設(shè)計(jì)--單片機(jī)頻率計(jì)
2018-11-10 22:45:41
294
0
- 單片機(jī)頻率計(jì)
- 一、基本原理 使用555產(chǎn)生矩形波信號(hào),輸入到單片機(jī)進(jìn)行測(cè)量頻率。 測(cè)頻的方案有多種: 1、測(cè)周法:通過測(cè)量被測(cè)信號(hào)的周期的倒數(shù)得到頻率,選用適當(dāng)?shù)臅r(shí)基,以被測(cè)信號(hào)作為計(jì)數(shù)的閘門進(jìn)行測(cè)量,得到閘門內(nèi)的計(jì)數(shù)值,與時(shí)基相乘即為被測(cè)信號(hào)的周期,周期... 一、基本原理 使用555產(chǎn)生矩形波信號(hào),輸入到單片機(jī)進(jìn)行測(cè)量頻率。 測(cè)頻的方案有多種: 1、測(cè)周法:通過測(cè)量被測(cè)信號(hào)的周期的倒數(shù)得到頻率,選用適當(dāng)?shù)臅r(shí)基,以被測(cè)信號(hào)作為計(jì)數(shù)的閘門進(jìn)行測(cè)量,得到閘門內(nèi)的計(jì)數(shù)值,與時(shí)基相乘即為被測(cè)信號(hào)的周期,周期的倒數(shù)即為頻率。該法適合測(cè)量頻率低的信號(hào)。 2、測(cè)頻法:通過頻率的定義即單位時(shí)間的脈沖數(shù),得到被測(cè)信號(hào)的頻率。選用適當(dāng)?shù)臅r(shí)基,如1秒,以此作為計(jì)數(shù)閘門,得到閘門內(nèi)的計(jì)數(shù)值即為信號(hào)的頻率。該法適合測(cè)量頻率高的信號(hào)。 二、參考電路框圖 三、參考程序流程圖 展開
2011-09-19 20:15:31
569
1
- 單片機(jī)頻率計(jì)設(shè)計(jì)
- 在下想做個(gè)頻率計(jì)用來檢測(cè)NE555的頻率,那請(qǐng)問輸入端電路怎么弄,以及程序的測(cè)量怎么寫?
2015-08-06 12:10:34
576
1
- 怎樣用單片機(jī)做頻率計(jì)
2011-10-09 00:21:18
372
4
- 51單片機(jī)電子頻率計(jì)
- 電子頻率計(jì) (一)功能簡述 數(shù)字頻率計(jì)在計(jì)算機(jī)、通訊等科研領(lǐng)域是不可缺少的測(cè)量儀器。電子專業(yè)人才考試專用板板載NE555芯片,通過電位器Rb3可調(diào)節(jié)方波的參數(shù)。 (二)設(shè)計(jì)要求 1. 通過導(dǎo)線將硬件資源板上的Signal與單片機(jī)的P3.4口(定時(shí)/計(jì)數(shù)... 電子頻率計(jì) (一)功能簡述 數(shù)字頻率計(jì)在計(jì)算機(jī)、通訊等科研領(lǐng)域是不可缺少的測(cè)量儀器。電子專業(yè)人才考試專用板板載NE555芯片,通過電位器Rb3可調(diào)節(jié)方波的參數(shù)。 (二)設(shè)計(jì)要求 1. 通過導(dǎo)線將硬件資源板上的Signal與單片機(jī)的P3.4口(定時(shí)/計(jì)數(shù)器T0)相連接。 2. 使用四位八段共陽數(shù)碼管顯示信號(hào)頻率。 3. 當(dāng)信號(hào)頻率在低于10Khz時(shí),所有LED燈處于熄滅狀態(tài),數(shù)碼管顯示的頻率單位為Hz。 4. 當(dāng)頻率超過10Khz時(shí),與P1.0端口相連接的LED燈點(diǎn)亮,數(shù)碼管顯示的頻率單位調(diào)整為Khz。 5. 要求可對(duì)0-250Khz的方波信號(hào)進(jìn)行測(cè)量,要求誤差不超過1%。 6. 考試過程中,應(yīng)使用硬件平臺(tái)指定的資源進(jìn)行設(shè)計(jì)。 (三)設(shè)計(jì)文檔 1. 系統(tǒng)示意圖和程序流程圖(提交WORD文檔) 2. 電路原理圖(Protel或Proteus文檔) 3. 源程序(C或匯編) 展開
2014-08-02 01:25:22
448
2
- 基于單片機(jī)的頻率計(jì)
- 哪位大俠有基于單片機(jī)頻率計(jì)的設(shè)計(jì),范圍1HZ到100MHZ,希望能不吝賜教啊。自己做的頻率計(jì)仿真達(dá)不到要求。只能達(dá)到10M,卡在哪了,做不下去了。O(∩_∩)O謝謝了。
2012-05-08 03:40:25
302
3
- stc12c5a60s2單片機(jī)頻率計(jì)程序
- 急
2017-07-07 00:38:42
414
1
- 單片機(jī)怎么做方波簡易頻率計(jì)
2016-04-23 03:03:49
292
1
- 基于單片機(jī)的頻率計(jì)設(shè)計(jì)
- 設(shè)計(jì)要求設(shè)計(jì)一個(gè)以單片機(jī)為核心的頻率測(cè)量裝置。使用AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器的定時(shí)和計(jì)數(shù)功能,外部擴(kuò)展6位LED數(shù)碼管,要求累計(jì)每秒進(jìn)入單片機(jī)的外部脈沖個(gè)數(shù),用LED數(shù)碼管顯示出來。(1)被測(cè)頻率fx<110Hz,采用測(cè)周法,顯示頻率×××. ×××;fx>1... 設(shè)計(jì)要求設(shè)計(jì)一個(gè)以單片機(jī)為核心的頻率測(cè)量裝置。使用AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器的定時(shí)和計(jì)數(shù)功能,外部擴(kuò)展6位LED數(shù)碼管,要求累計(jì)每秒進(jìn)入單片機(jī)的外部脈沖個(gè)數(shù),用LED數(shù)碼管顯示出來。(1)被測(cè)頻率fx<110Hz,采用測(cè)周法,顯示頻率×××. ×××;fx>110Hz,采用測(cè)頻法,顯示頻率××××××。(2)利用鍵盤分段測(cè)量和自動(dòng)分段測(cè)量。(3)完成單脈沖測(cè)量,輸入脈沖寬度范圍是100ms~0.1s。(4)顯示脈沖寬度要求如下。Tx<1000ms,顯示脈沖寬度×××。Tx>1000ms,顯示脈沖寬度××××。 求大神給個(gè)程序,給個(gè)設(shè)計(jì)方,您之前給的失效了,謝謝大神 展開
2016-07-07 19:24:28
397
1
- 單片機(jī)頻率計(jì)如何計(jì)算更精確?
- 待測(cè)頻率范圍在6K~60K?,F(xiàn)在只取100ms,測(cè)量出來以后頻率值跳動(dòng)太大,有沒有什么改進(jìn)的地方,使頻率值跳動(dòng)在2個(gè)數(shù)以內(nèi),不跳Z好? 下面是我的代碼: void T0T1_Init() { IE=0x88; //開總中斷,定時(shí)器1中斷允許 TMOD=0x15; //定時(shí)器1工作于定時(shí)方... 待測(cè)頻率范圍在6K~60K?,F(xiàn)在只取100ms,測(cè)量出來以后頻率值跳動(dòng)太大,有沒有什么改進(jìn)的地方,使頻率值跳動(dòng)在2個(gè)數(shù)以內(nèi),不跳Z好? 下面是我的代碼: void T0T1_Init() { IE=0x88; //開總中斷,定時(shí)器1中斷允許 TMOD=0x15; //定時(shí)器1工作于定時(shí)方式,方式1,定時(shí)器0工作于計(jì)數(shù)方式,方式1 TH1=0xdc; //定時(shí)器1初值設(shè)置為定時(shí)10ms TL1=0x00; TH0=0x00; //定時(shí)器0從0開始計(jì)數(shù) TL0=0x00; TR0=1; //開定時(shí)器0,和定時(shí)器1 TR1=1; } void dsqzd() interrupt 3 using 1 { TR1=0; TH1=0xdc; //定時(shí)器1初值設(shè)置為定時(shí)10ms TL1=0x00; mm++; if(mm==10) { mm=0;TR0=0; value_buf[tt++]=TH0*256+TL0; TH0=0x00;TL0=0x00;TR0=1; } if(tt==N){tt=0;} TR1=1; } 展開
2011-04-13 03:21:20
614
5
- 簡易頻率計(jì)設(shè)計(jì)(單片機(jī)課設(shè))
- 可以測(cè)量正弦波和方波信號(hào)的頻率 框圖 輸入信號(hào)--》整形處理--》控制器--》顯示測(cè)量值 要求 1,能測(cè)量正弦波和方波10HZ-100KHZ 2,數(shù)碼顯示共三位,其中一位小數(shù),自動(dòng)換擋(00-999HZ)有一個(gè)燈亮,表示單位是HZ,0.00-99.99KHZ,另一個(gè)燈亮,表示單位是... 可以測(cè)量正弦波和方波信號(hào)的頻率 框圖 輸入信號(hào)--》整形處理--》控制器--》顯示測(cè)量值 要求 1,能測(cè)量正弦波和方波10HZ-100KHZ 2,數(shù)碼顯示共三位,其中一位小數(shù),自動(dòng)換擋(00-999HZ)有一個(gè)燈亮,表示單位是HZ,0.00-99.99KHZ,另一個(gè)燈亮,表示單位是KHZ 3,要有輸入信號(hào)超范圍的保護(hù)電路 發(fā)揮要求 1,能測(cè)量方波周期,并顯示 2,能測(cè)量100mV的正弦波 有沒有愛好者,救救急,對(duì)這破玩意一竅不通 有加分 展開
2012-05-31 06:48:10
354
2
- 基于單片機(jī)C51的頻率計(jì)電路圖
- 1、要共陰數(shù)碼顯示。2、頻率超過2K報(bào)警。3、蜂鳴器報(bào)警??蓽y(cè)1Hz到5KHz
2018-11-17 14:51:41
451
0
- 請(qǐng)教51單片機(jī)做頻率計(jì)的問題
2018-05-19 07:18:06
381
1
- 跪求單片機(jī)at89c52頻率計(jì)c語言程序
- 還有跪求那個(gè)方波的名字叫神馬~~~
2015-04-23 09:42:30
372
1
- 基于單片機(jī)AT89C52頻率計(jì),求程序,求助
2017-06-22 09:26:53
426
1
- 基于單片機(jī)的頻率計(jì)如何實(shí)現(xiàn)采集
2012-05-18 14:01:37
319
1
- 單片機(jī)頻率計(jì)的這段程序怎么理解
2017-12-05 00:32:59
516
3
- 用89c51單片機(jī)和adc0804設(shè)計(jì)頻率計(jì)
- 三角波發(fā)生測(cè)量儀 一、任務(wù) (1)設(shè)計(jì)頻率可調(diào)的三角波發(fā)生器,作為三角波測(cè)量儀的信號(hào)輸入。 (2)設(shè)計(jì)三角波測(cè)量電路,能夠完成三角波幅度、頻率、斜率的測(cè)量。 (3)設(shè)計(jì)顯示電路,能夠完成測(cè)量數(shù)據(jù)的顯示。 二、要求 1.基本要求 (1)自行設(shè)計(jì)... 三角波發(fā)生測(cè)量儀 一、任務(wù) (1)設(shè)計(jì)頻率可調(diào)的三角波發(fā)生器,作為三角波測(cè)量儀的信號(hào)輸入。 (2)設(shè)計(jì)三角波測(cè)量電路,能夠完成三角波幅度、頻率、斜率的測(cè)量。 (3)設(shè)計(jì)顯示電路,能夠完成測(cè)量數(shù)據(jù)的顯示。 二、要求 1.基本要求 (1)自行設(shè)計(jì)三角波發(fā)生器電路。要求頻率、幅度連續(xù)可調(diào)。變化范圍要求如下: 頻率范圍1KHz~10KHz; 幅度范圍(即圖2 中OC)0.5V到4V。 (2)三角波頻率測(cè)試: 要求測(cè)試電路完成三角波頻率的測(cè)量并顯示出測(cè)量結(jié)果。測(cè)量誤差不大于10%; 2.拓展要求 (1)三角波幅度測(cè)試:要求測(cè)試電路完成三角波幅度的測(cè)量并顯示出測(cè)量結(jié)果。測(cè)量誤差不大于10%; (2)三角波斜率測(cè)試: 要求測(cè)試電路完成三角波斜率的測(cè)量(即CO/AO)并顯示出測(cè)量結(jié)果。測(cè)量誤差不大于10%。 展開
2012-05-23 09:14:53
542
1
4月突出貢獻(xiàn)榜
推薦主頁
最新話題





參與評(píng)論
登錄后參與評(píng)論