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