浙江大學(xué)電氣工程學(xué)院 夏 禹
設(shè)計(jì)一個(gè)低頻光控/手動(dòng)非正弦信號(hào)發(fā)生器,用穩(wěn)壓電源提供的和電源供電,實(shí)現(xiàn)光控方波(方波信號(hào)幅度符合邏輯電平規(guī)范)與三角波信號(hào)的頻率控制和顯示輸出。該系統(tǒng)主要由光控器件、非正弦信號(hào)發(fā)生電路、信號(hào)周期檢測(cè)電路和周期顯示電路等四個(gè)部分組成。波形發(fā)生電路可在光控兩種方式之間切換,當(dāng)用手控方式時(shí),輸出信號(hào)的新能指標(biāo)要求與光控時(shí)一致。
光控器件對(duì)所處環(huán)境的光照強(qiáng)度進(jìn)行檢測(cè),并且根據(jù)光的強(qiáng)弱控制非正弦信號(hào)發(fā)生電路產(chǎn)生不同頻率的方波、三角波信號(hào)輸出。與此同時(shí),信號(hào)周期檢測(cè)電路對(duì)輸出信號(hào)(可以為外接的正弦或非正弦信號(hào))的周期進(jìn)行檢測(cè),并通過顯示器將檢測(cè)結(jié)果顯示出來。
本系統(tǒng)是以AT89C2051為核心,由方波三角波發(fā)生電路、波形整形電路、CPU電路、顯示電路和系統(tǒng)軟件所組成。方波三角波發(fā)生電路用于產(chǎn)生所要求的方波和三角波,其中信號(hào)的頻率可以又光敏電阻或者電位器控制;波形整形電路將方波三角波發(fā)生電路產(chǎn)生的信號(hào)或者外接信號(hào)(包括方波、三角波、正弦波)轉(zhuǎn)換為單片機(jī)可以接受的CMOS方波信號(hào)。CPU用Atmel公司的AT89C2051芯片。顯示電路由數(shù)碼管、三極管等組成。
由三角波、方波發(fā)生器產(chǎn)生三角波和方波信號(hào),其中三角波輸出經(jīng)過比較器產(chǎn)生方波該電路方式是本系統(tǒng)信號(hào)產(chǎn)生部分采用的方案。這種電路在一定的頻率范圍內(nèi),具有良好的三角波和方波信號(hào)。
方案中使用LM311作為運(yùn)放,可以不需要穩(wěn)壓管和之后的三級(jí)管電路而直接輸出標(biāo)準(zhǔn)的5VCMOS電平,這樣做可以減少連線以及元件帶來的干擾和其他不穩(wěn)定因素。
單片機(jī)控制模塊:以AT89C2051單片機(jī)為控制核心,來完成它待測(cè)信號(hào)的計(jì)數(shù),譯碼,和顯示以及對(duì)分頻比的控制。利用其內(nèi)部的定時(shí)/計(jì)數(shù)器完成待測(cè)信號(hào)周期/頻率的測(cè)量。單片機(jī)AT89C2051內(nèi)部具有2個(gè)16位定時(shí)/計(jì)數(shù)器,定時(shí)/計(jì)數(shù)器的工作可以由編程來實(shí)現(xiàn)定時(shí)、計(jì)數(shù)和產(chǎn)生計(jì)數(shù)溢出時(shí)中斷要求的功能。(因?yàn)锳T89C51所需外圍元件少,擴(kuò)展性強(qiáng),測(cè)試準(zhǔn)確度高。)如圖1。
圖1
計(jì)數(shù)法測(cè)頻的原理是“在單位時(shí)間內(nèi)對(duì)被測(cè)信號(hào)進(jìn)行計(jì)數(shù)”。被測(cè)信號(hào),通過輸入通道的放大器放大后,進(jìn)入整形器加以整形變?yōu)榫匦尾?,并送入單片機(jī)計(jì)數(shù)。若在一定的時(shí)間間隔T內(nèi)累計(jì)周期性的重復(fù)變化次數(shù)N,則頻率的表達(dá)式為式:
應(yīng)當(dāng)指出,測(cè)量頻率時(shí)所產(chǎn)生的誤差是由N和T倆個(gè)參數(shù)所決定的,一方面是單位時(shí)間內(nèi)計(jì)數(shù)脈沖個(gè)數(shù)越多時(shí),精度越高,另一方面T越穩(wěn)定時(shí),精度越高。為了增加單位時(shí)間內(nèi)計(jì)數(shù)脈沖的個(gè)數(shù),一方面可在輸入端將被測(cè)信號(hào)倍頻,另一方面可增加T來滿足,為了增加T的穩(wěn)定度,只需提高晶體振蕩器的穩(wěn)定度和分頻電路的可靠性就能達(dá)到。上述表明,在頻率測(cè)量時(shí),被測(cè)信號(hào)頻率越高,測(cè)量精度越高。
本系統(tǒng)中采用計(jì)數(shù)法測(cè)率,通過軟件實(shí)現(xiàn)將頻率轉(zhuǎn)換為周期,以AT89C2051單片機(jī)為核心,利用他內(nèi)部的定時(shí)/計(jì)數(shù)器完成待測(cè)信號(hào)周期/頻率的測(cè)量。單片機(jī)AT89C2051內(nèi)部具有2個(gè)16位定時(shí)/計(jì)數(shù)器,定時(shí)/計(jì)數(shù)器的工作可以由編程來實(shí)現(xiàn)定時(shí)、計(jì)數(shù)和產(chǎn)生計(jì)數(shù)溢出時(shí)中斷要求的功能。在定時(shí)器工作方式下,在1s時(shí)間間隔內(nèi),計(jì)數(shù)器對(duì)外部輸入信號(hào)自動(dòng)計(jì)數(shù),當(dāng)定時(shí)器1s時(shí)間結(jié)束時(shí),計(jì)數(shù)器停止對(duì)外部輸入信號(hào)計(jì)數(shù),從寄存器中讀取相應(yīng)的計(jì)數(shù)值,再通過軟件處理送到數(shù)碼管顯示,如圖2所示。
圖2
在周期頻率測(cè)量中,顯示是最重要的模塊。顯示模塊由頻率值顯示電路和量程轉(zhuǎn)換指示電路組成。頻率值顯示電路采用四位共陽極數(shù)碼管動(dòng)態(tài)顯示頻率計(jì)被測(cè)數(shù)值,使用三極管9012進(jìn)行驅(qū)動(dòng),使數(shù)碼管亮度變亮,便于觀察測(cè)量。量程轉(zhuǎn)換指示電路由紅、綠兩個(gè)LED分別指示Hz、KHz檔,使讀數(shù)簡(jiǎn)單可觀。
本系統(tǒng)中采用三位共陽極數(shù)碼管來顯示測(cè)到的周期或頻率。LED數(shù)碼管中各段發(fā)光二極管的伏安特性和普通二極管類似,只是正向壓降較大,正向電阻也較大。在一定范圍內(nèi),其正向電流與發(fā)光亮度成正比。由于常規(guī)的數(shù)碼管起輝電流只有1~2mA,最大極限電流也只有10~30mA,所以它的輸入端在5V電源或高于TTL高電平(3.5V)的電路信號(hào)相接時(shí),一定要串加限流電阻,以免損壞器件。
本設(shè)計(jì)采用的是AT89C2051芯片,AT89C2051是ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含有2K字節(jié)可反復(fù)擦寫的只讀存儲(chǔ)器(PEROM)和128字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。該單片機(jī)采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù),并且兼容標(biāo)準(zhǔn)的MCS-51指令,片內(nèi)含有通用8位中央處理器的快速集成電路芯片,AT89C2051是一種功能強(qiáng)大的單片機(jī),它有很高的性價(jià)比而被廣泛深入的應(yīng)用。
復(fù)位電路和時(shí)鐘電路是維持單片機(jī)最小系統(tǒng)運(yùn)行的基本模塊。有時(shí)系統(tǒng)在運(yùn)行過程中出現(xiàn)程序跑飛的情況,在程序開發(fā)過程中,經(jīng)常需要手動(dòng)復(fù)位。所以本次設(shè)計(jì)選用手動(dòng)復(fù)位。
高頻率的時(shí)鐘有利于程序更快的運(yùn)行,也有可以實(shí)現(xiàn)更高的信號(hào)采樣率,從而實(shí)現(xiàn)更多的功能。但是告訴對(duì)系統(tǒng)要求較高,而且功耗大,運(yùn)行環(huán)境苛刻??紤]到單片機(jī)本身用在控制,并非高速信號(hào)采樣處理,所以選取合適的頻率即可。合適頻率的晶振對(duì)于選頻信號(hào)強(qiáng)度準(zhǔn)確度都有好處,本次設(shè)計(jì)選取12.000M無源晶振接入XTAL1和XTAL2引腳。并聯(lián)2個(gè)20pF陶瓷電容幫助起振。
數(shù)碼管電路設(shè)計(jì)不加三極管驅(qū)動(dòng)時(shí),數(shù)碼管顯示數(shù)值看不清,不便于頻率值的測(cè)量與調(diào)試。因此加入三極管9012進(jìn)行驅(qū)動(dòng)數(shù)碼管。
在本系統(tǒng)中采用黃、綠兩個(gè)LED分別指示KHz、Hz檔,根據(jù)被測(cè)信號(hào)的頻率值大小,可以自動(dòng)切換量程單位,無需手動(dòng)切換,便于測(cè)量和讀數(shù),簡(jiǎn)單方便。
系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法。整個(gè)系統(tǒng)由初始化模塊、顯示模塊和信號(hào)頻率測(cè)量模塊等各種功能模塊組成。上電后,進(jìn)入系統(tǒng)初始化模塊,系統(tǒng)軟件開始運(yùn)行。在執(zhí)行過程中,根據(jù)運(yùn)行流程分別調(diào)用各個(gè)功能模塊完成頻率測(cè)量、周期頻率切換、測(cè)量結(jié)果顯示。
顯示子程序?qū)⒋娣旁陲@示緩沖區(qū)的頻率或周期值送往數(shù)碼管上顯示出來,由于所有3位數(shù)碼管的8根段選線并聯(lián)在一起由單片機(jī)的P7口控制,因此,在每一瞬間3位數(shù)碼管會(huì)顯示相同的字符,要想每位顯示不同的字符就必須采用掃描方法輪流點(diǎn)亮各位數(shù)碼管,即在每一瞬間只點(diǎn)亮某一位顯示字符,在此瞬間,段選控制口P3輸出相應(yīng)字符。由P3.2、P3.4、P3.7逐位輪流點(diǎn)亮各個(gè)數(shù)碼管,每位保持1mS,在10mS-20mS之內(nèi)再點(diǎn)亮一次,重復(fù)不止,利用人的視角暫留,好像3位數(shù)碼管同時(shí)點(diǎn)亮。
頻率計(jì)廣泛采用了高速集成電路和大規(guī)模集成電路,使儀器在小型化、耗電、可靠性等方面都發(fā)生了重大的變化。單片機(jī)具有功能強(qiáng)、體積小、可靠性高、價(jià)格低廉等特點(diǎn)。為適應(yīng)實(shí)際工作的需要,本次設(shè)計(jì)給出了一種較小規(guī)模和單片機(jī)(AT89C2051)相結(jié)合的頻率計(jì)的設(shè)計(jì)方案,不但切實(shí)可行,而且體積小、設(shè)計(jì)簡(jiǎn)單、成本低、可測(cè)頻帶寬,大大降低了設(shè)計(jì)成本和實(shí)現(xiàn)復(fù)雜度。
[1]張志良等.單片機(jī)原理與控制技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.
[2]孫育才.MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用第四版[M].南京:東南大學(xué)出版社,2007:194-204.
[3]康華光,陳大欽,張林.電子技術(shù)基礎(chǔ)模擬部分(第五版)[M].北京:高等教育出版社,2006:262-280.