專利名稱:基于單片機(jī)的頻率測(cè)試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種基于單片機(jī)的頻率測(cè)試系統(tǒng),屬于頻率測(cè)量技術(shù)領(lǐng)域。
背景技術(shù):
在工控系統(tǒng)中,經(jīng)常需要測(cè)量各種信號(hào)的頻率。然而,現(xiàn)有的復(fù)雜頻率計(jì)盡管測(cè)試范圍寬、精度高,但是價(jià)格昂貴;而各種簡(jiǎn)易頻率計(jì)具有明顯的不足,主要是其采取了以下的測(cè)試方法在Is時(shí)間內(nèi),使用計(jì)數(shù)器對(duì)測(cè)試信號(hào)進(jìn)行計(jì)數(shù),則計(jì)數(shù)器的計(jì)數(shù)結(jié)果就是信號(hào)的頻率。這種測(cè)試方法盡管易于實(shí)現(xiàn),但卻難以測(cè)試IHz以下的信號(hào)頻率。因而,現(xiàn)有的簡(jiǎn)易頻率計(jì)只能測(cè)試IHz以上的信號(hào)頻率。
實(shí)用新型內(nèi)容本實(shí)用新型的目的是提供基于單片機(jī)的頻率測(cè)試系統(tǒng),以解決現(xiàn)有的頻率計(jì)無法測(cè)試IHz以下信號(hào)頻率的不足。本實(shí)用新型為解決上述技術(shù)問題還提供了一種基于單片機(jī)頻率測(cè)試系統(tǒng),該頻率測(cè)試系統(tǒng)包括波形產(chǎn)生芯片、計(jì)數(shù)器、單片機(jī)和顯示裝置,波形產(chǎn)生芯片的輸出端與計(jì)數(shù)器的時(shí)鐘信號(hào)端相連,計(jì)數(shù)器中存放計(jì)數(shù)初值的數(shù)據(jù)端口與單片機(jī)的計(jì)數(shù)初值控制輸出端口相連,計(jì)數(shù)器的輸出端口與單片機(jī)的第一外部中斷接口相連,4次該外部中斷為一個(gè)測(cè)試周期,用于對(duì)頻率范圍為O. 01 9999Hz的待測(cè)信號(hào)的計(jì)數(shù)、顯示和清零,待測(cè)信號(hào)與單片機(jī)的第二外部中斷接口相連,該外部中斷用于對(duì)頻率范圍為O. 01 9999Hz的待測(cè)信號(hào)進(jìn)行計(jì)數(shù),單片機(jī)首先設(shè)置一計(jì)數(shù)初值,使計(jì)數(shù)器的輸出信號(hào)的周期為O. 5S,一個(gè)測(cè)試周期就為2S,一個(gè)測(cè)試周期被對(duì)待測(cè)信號(hào)的計(jì)數(shù)時(shí)間為1S,第一外部中斷第一次到來后,開啟第二外部中斷,第一外部中斷第二次到來后,不進(jìn)行任何處理;第一外部中斷第三次到來后,關(guān)閉第二外部中斷,保存對(duì)待測(cè)信號(hào)上升沿進(jìn)行計(jì)數(shù)的全局計(jì)數(shù)變量,單片機(jī)的輸出端通過其SPI接口與顯示裝置相連,用于控制顯示裝置對(duì)待測(cè)信號(hào)的頻率計(jì)數(shù)進(jìn)行顯示;第一外部中斷第四次到來后,判斷在 一個(gè)測(cè)試周期內(nèi)對(duì)待側(cè)信號(hào)的上升沿進(jìn)行計(jì)數(shù)的計(jì)數(shù)變量是否為0,如果不為0,判定待測(cè)信號(hào)的頻率為I 9999Hz,則得到的計(jì)數(shù)變量的大小就是待測(cè)信號(hào)的頻率,如果計(jì)數(shù)變量為0,單片機(jī)對(duì)計(jì)數(shù)器的計(jì)數(shù)初值進(jìn)行修改,使計(jì)數(shù)器輸出信號(hào)的周期為5S,則一個(gè)測(cè)試周期為20S,判斷在該測(cè)試周期內(nèi)對(duì)待側(cè)信號(hào)的上升沿進(jìn)行計(jì)數(shù)的計(jì)數(shù)變量是否為0,如果不為0,判定待測(cè)信號(hào)的頻率為O.1 O. 9Hz,則得到的計(jì)數(shù)變量的大小除以10就是待測(cè)信號(hào)的頻率,如果計(jì)數(shù)變量為0,單片機(jī)對(duì)計(jì)數(shù)器的計(jì)數(shù)初值進(jìn)行修改,使計(jì)數(shù)器輸出信號(hào)的周期為50S,則一個(gè)測(cè)試周期為200S,判斷在該測(cè)試周期內(nèi)對(duì)待側(cè)信號(hào)的上升沿進(jìn)行計(jì)數(shù)的計(jì)數(shù)變量是否為0,如果不為0,判定待測(cè)信號(hào)的頻率為O. 01 O. 09Hz,則得到的計(jì)數(shù)變量的大小除以100就是待測(cè)信號(hào)的頻率。所述的顯示裝置包括串行LED顯示芯片和四個(gè)8段數(shù)碼管,串行LED顯示芯片的輸入端與單片機(jī)的SPI接口相連,串行LED顯示芯片的輸出端與所述4個(gè)8段數(shù)碼管相連,8段數(shù)碼管的控制端與串行LED顯示芯片的片選信號(hào)端相連,四個(gè)8段數(shù)碼管分別用于顯示頻率的個(gè)位、十位、百位和千位。系統(tǒng)的頻率測(cè)量范圍為I 9999HZ時(shí),只驅(qū)動(dòng)數(shù)碼管的7位數(shù)據(jù)位,而不點(diǎn)亮小數(shù)點(diǎn);如果系統(tǒng)的頻率測(cè)量范圍為O.1 O. 9Hz,則顯示數(shù)據(jù)時(shí),同時(shí)將十位數(shù)碼管的小數(shù)點(diǎn)點(diǎn)亮;如果系統(tǒng)的頻率測(cè)量范圍為O. Ol O. 09Hz,則顯示數(shù)據(jù)時(shí),同時(shí)將百位位數(shù)碼管的小數(shù)點(diǎn)點(diǎn)亮。所述的單片機(jī)為AT89C51單片機(jī)。所述的所述的計(jì)數(shù)器為可編程定時(shí)/計(jì)數(shù)器8253。所述的波形產(chǎn)生芯片為555振蕩器。本實(shí)用新型的有益效果是本實(shí)用新型以單片機(jī)為核心,利用單片機(jī)對(duì)外部待測(cè)信號(hào)的上升沿進(jìn)行計(jì)數(shù),得到待測(cè)信號(hào)的頻率,單片機(jī)根據(jù)信號(hào)的頻率范圍,控制計(jì)數(shù)器的計(jì)數(shù)初值,實(shí)現(xiàn)測(cè)量范圍的自動(dòng)切換,本實(shí)用新型不僅可以測(cè)試IHz以上的信號(hào)頻率,也可以測(cè)試IHz以下的信號(hào)頻率,并且可以實(shí)現(xiàn)測(cè)量范圍的自動(dòng)切換。
圖1是本實(shí)用新型基于單片機(jī)的頻率測(cè)試系統(tǒng)實(shí)施例中的系統(tǒng)框圖;圖2是本實(shí)用新型實(shí)施例中外部中斷I的子程序流程圖。
具體實(shí)施方式
為了使本實(shí)用新型的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,
以下結(jié)合附圖及實(shí)施例,對(duì)本實(shí)用新型進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)例僅僅用以解釋本實(shí)用新型,并不用于限制本實(shí)用新型。本實(shí)用新型的基于單片機(jī)的頻率測(cè)試系統(tǒng)的實(shí)施例我們以待測(cè)/[目號(hào)的最聞?lì)l率為 9999Hz為例進(jìn)行說明。如圖1所不,本實(shí)施例中的基于單片機(jī)的頻率測(cè)試系統(tǒng)包括包括單片機(jī)、555振蕩器、可編程定時(shí)/計(jì)數(shù)器8253、串行LED顯示芯片MAX7219和4個(gè)8段數(shù)碼管。系統(tǒng)選用常用的AT89C51單片機(jī)作為控制核心,其端口 PO用作低8位數(shù)據(jù),連至可編程定時(shí)/計(jì)數(shù)器8253 ;并且PO的輸出經(jīng)過8位鎖存器,其8位輸出用作低8位地址,QO和Ql分別連至可編程定時(shí)/計(jì)數(shù)器8253的AO和Al,Q7經(jīng)過反相器連至可編程定時(shí)/計(jì)數(shù)器8253的片選信號(hào)#CS,也就是可編程定時(shí)/計(jì)數(shù)器8253的基地址為80H,并占有地址 80H 83H ;555振蕩器產(chǎn)生周期為O. 25s的方波信號(hào),該信號(hào)連至可編程定時(shí)/計(jì)數(shù)器82253的計(jì)數(shù)器O的引腳CLKO ;設(shè)置可編程定時(shí)/計(jì)數(shù)器8253的計(jì)數(shù)器O工作于方波發(fā)生器模式下,門控信號(hào)GATEO連至+5V并一直保持高電平,所以可編程定時(shí)/計(jì)數(shù)器8253的計(jì)數(shù)初值決定了 OUTO輸出的方波信號(hào)的的頻率,從而決定了待測(cè)信號(hào)頻率的測(cè)量范圍。 如果計(jì)數(shù)初值為2,0UT0會(huì)輸出周期為O. 5s的方波信號(hào),系統(tǒng)的頻率測(cè)量范圍為I 9999Hz ;如果計(jì)數(shù)初值為20,OUTO會(huì)輸出周期為5s的方波信號(hào),系統(tǒng)的頻率測(cè)量范圍為O.1 O. 9Hz ;如果計(jì)數(shù)初值為200,OUTO會(huì)輸出周期為50s的方波信號(hào),系統(tǒng)的頻率測(cè)量范圍為O. 01 O. 09Hz ;0UT0連至AT89C51的外部中斷I輸入引腳,初始時(shí),計(jì)數(shù)初值為2,系統(tǒng)的測(cè)量范圍為I 9999Hz ;外部待測(cè)信號(hào)連接AT89C51單片機(jī)的外部中斷O引腳,外部中斷O的中斷處理子程序主要完成待測(cè)信號(hào)上升沿的計(jì)數(shù);單片機(jī)的P3. 4 P3. 7引腳連接串行LED顯示芯片MAX7219,其中,P3. 7連至MAX7219的片選,P3. 4 P3. 6模擬SPI協(xié)議,實(shí)現(xiàn)MAX7219的控制;串行顯示芯片MAX7219外部級(jí)聯(lián)了 4個(gè)8段數(shù)碼管,分別顯示頻率的個(gè)位、十位、百位和千位。系統(tǒng)的頻率測(cè)量范圍為I 9999Hz時(shí),只驅(qū)動(dòng)數(shù)碼管的7位數(shù)據(jù)位,而不點(diǎn)亮小數(shù)點(diǎn);如果系統(tǒng)的頻率測(cè)量范圍為O.1 O. 9Hz,則顯示數(shù)據(jù)時(shí),同時(shí)將十位數(shù)碼管的小數(shù)點(diǎn)點(diǎn)亮;如果系統(tǒng)的頻率測(cè)量范圍為O.1 O. 9Hz,則顯示數(shù)據(jù)時(shí),同時(shí)將十位數(shù)碼管的小數(shù)點(diǎn)點(diǎn)亮;如果系統(tǒng)的頻率測(cè)量范圍為O. 01 O. 09Hz,則顯示數(shù)據(jù)時(shí),同時(shí)將百位位數(shù)碼管的小數(shù)點(diǎn)點(diǎn)亮;設(shè)置并開啟51單片機(jī)的外部中斷I后,4次外部中斷I成為一個(gè)周期,完成待測(cè)信號(hào)的計(jì)數(shù)、顯示和清零在第一次外部中斷O到來后,開啟外部中斷O ;在第二次外部中斷I到來后,不進(jìn)行任何處理;在第三次外部中斷I到來后,關(guān)閉外部中斷0,保存全局計(jì)數(shù)變量,并送至串行LED顯示芯片MAX7219,從而驅(qū)動(dòng)數(shù)碼管顯示頻率值;在第四次外部中斷I到來后,判斷全局計(jì)數(shù)變量是否為0,如果為0,則將8253的計(jì)數(shù)初值改為20,使系統(tǒng)的頻率測(cè)量范圍為O.1 O. 9Hz ;同理,在系統(tǒng)的頻率測(cè)量范圍為O.1 O. 9Hz時(shí),全局計(jì)數(shù)變量的值仍然為0,就將8253的計(jì)數(shù)初值改為200,使系統(tǒng)的頻率測(cè)量范圍為O. 01 O. 09Hz,而當(dāng)全局變量的值不小于10時(shí),將8253的計(jì)數(shù)初值改為2,使系統(tǒng)的頻率測(cè)量范圍為I 9999Hz ;在系統(tǒng)的頻率測(cè)量范圍為O. 01 O. 09Hz時(shí),全局變量的值不小于10時(shí),將8253的計(jì)數(shù)初值改為20,使系統(tǒng)的頻率測(cè)量范圍為O.1 O. 9Hz。同時(shí),將全局計(jì)數(shù)變量清零,并通過串行LED顯示芯片MAX7219在數(shù)碼管上顯示O。外部中斷I的中斷處理子程序流程圖見圖2,圖中的變量IntlNum表示外部中斷I的重復(fù)周期中的第幾次中斷,其值可以是1、2、3和4 ;變量Count是全局計(jì)數(shù)變量;變量Fre表示頻率測(cè)量范圍,為I表示I 9999Hz,為2表示O.1 O. 9Hz,為3表示O. 01 O. 09Hz。在外部輸中斷O處理子程序中,對(duì)全局計(jì)數(shù)變量進(jìn)行加I操作。
權(quán)利要求1.基于單片機(jī)的頻率測(cè)試系統(tǒng),其特征在于該頻率測(cè)試系統(tǒng)包括波形產(chǎn)生芯片、計(jì)數(shù)器、單片機(jī)和顯示裝置,波形產(chǎn)生芯片的輸出端與計(jì)數(shù)器的時(shí)鐘信號(hào)端相連,計(jì)數(shù)器中存放計(jì)數(shù)初值的數(shù)據(jù)端口與單片機(jī)的計(jì)數(shù)初值控制輸出端口相連,計(jì)數(shù)器的輸出端口與單片機(jī)的第一外部中斷接口相連,4次該外部中斷為一個(gè)測(cè)試周期,用于對(duì)頻率范圍為0. 01 9999Hz的待測(cè)信號(hào)的計(jì)數(shù)、顯示和清零,待測(cè)信號(hào)與單片機(jī)的第二外部中斷接口相連,該外部中斷用于對(duì)頻率范圍為0. 01 9999Hz的待測(cè)信號(hào)進(jìn)行計(jì)數(shù),單片機(jī)首先設(shè)置一計(jì)數(shù)初值,使計(jì)數(shù)器的輸出信號(hào)的周期為0. 5S,一個(gè)測(cè)試周期就為2S,一個(gè)測(cè)試周期被對(duì)待測(cè)信號(hào)的計(jì)數(shù)時(shí)間為1S,第一外部中斷第一次到來后,開啟第二外部中斷,第一外部中斷第二次到來后,不進(jìn)行任何處理;第一外部中斷第三次到來后,關(guān)閉第二外部中斷,保存對(duì)待測(cè)信號(hào)上升沿進(jìn)行計(jì)數(shù)的全局計(jì)數(shù)變量,單片機(jī)的輸出端通過其SPI接口與顯示裝置相連,用于控制顯示裝置對(duì)待測(cè)信號(hào)的頻率計(jì)數(shù)進(jìn)行顯示。
2.根據(jù)權(quán)利要求1所述的基于單片機(jī)的頻率測(cè)試系統(tǒng),其特征在于所述的顯示裝置包括串行LED顯示芯片和四個(gè)8段數(shù)碼管,串行LED顯示芯片的輸入端與單片機(jī)的SPI接口相連,串行LED顯示芯片的輸出端與所述4個(gè)8段數(shù)碼管相連,8段數(shù)碼管的控制端與串行LED顯示芯片的片選信號(hào)端相連,四個(gè)8段數(shù)碼管分別用于顯示頻率的個(gè)位、十位、百位和千位,十位數(shù)碼管和百位數(shù)碼管系統(tǒng)的頻率測(cè)量范圍為1 9999Hz時(shí),只驅(qū)動(dòng)數(shù)碼管的7 位數(shù)據(jù)位,而不點(diǎn)亮小數(shù)點(diǎn);如果系統(tǒng)的頻率測(cè)量范圍為0.1 0. 9Hz,則顯示數(shù)據(jù)時(shí),同時(shí)將十位數(shù)碼管的小數(shù)點(diǎn)點(diǎn)亮;如果系統(tǒng)的頻率測(cè)量范圍為0. 01 0. 09Hz,則顯示數(shù)據(jù)時(shí), 同時(shí)將百位位數(shù)碼管的小數(shù)點(diǎn)點(diǎn)亮。
3.根據(jù)權(quán)利要求1所述的基于單片機(jī)的頻率測(cè)試系統(tǒng),其特征在于所述的單片機(jī)為 AT89C51單片機(jī)。
4.根據(jù)權(quán)利要求1所述的基于單片機(jī)的頻率測(cè)試系統(tǒng),其特征在于所述的計(jì)數(shù)器為可編程定時(shí)/計(jì)數(shù)器8253。
5.根據(jù)權(quán)利要求1所述的基于單片機(jī)的頻率測(cè)試系統(tǒng),其特征在于所述的波形產(chǎn)生芯片為555振蕩器。
專利摘要本實(shí)用新型涉及基于單片機(jī)的頻率測(cè)試系統(tǒng),屬于頻率測(cè)量技術(shù)領(lǐng)域。本實(shí)用新型以單片機(jī)為核心,利用單片機(jī)對(duì)外部待測(cè)信號(hào)的上升沿進(jìn)行計(jì)數(shù),得到待測(cè)信號(hào)的頻率,通過其SPI接口傳遞給串行LED顯示芯片,進(jìn)而驅(qū)動(dòng)數(shù)碼管顯示頻率值,另一方面單片機(jī)根據(jù)信號(hào)的頻率范圍,控制計(jì)數(shù)器的計(jì)數(shù)初值,實(shí)現(xiàn)測(cè)量范圍的自動(dòng)切換。本實(shí)用新型不僅可以測(cè)試1Hz以上的信號(hào)頻率,也可以測(cè)試1Hz以下的信號(hào)頻率,并且可以實(shí)現(xiàn)測(cè)量范圍的自動(dòng)切換。
文檔編號(hào)G01R23/02GK202886465SQ20122043695
公開日2013年4月17日 申請(qǐng)日期2012年8月30日 優(yōu)先權(quán)日2012年8月30日
發(fā)明者張海濤, 張世偉, 白舸, 劉翠蘋 申請(qǐng)人:河南科技大學(xué)