放大整形模塊 由于輸入的信號可以是正弦波、三角波、矩形波等,而后面的閘門或計數(shù)電路要求被測信號為矩形波,所以需要設(shè)計一個整形電路則在測量的時候,首先通過整形電路將正弦波或者三角波轉(zhuǎn)化成矩形波。在整形之前由于不清楚被測信號的強弱的情況。所以在通過整形之前通過放大衰減處理。 本文采用單管共射極放大電路對信號進(jìn)行放大和再由非門74LS00構(gòu)成施密特觸發(fā)器對輸出的信號進(jìn)行整形成矩形波后再次輸出。 3.2.1 與非門74LS00 74LS00 為四組2 輸入端與非門(正邏輯),共有 54/7400、54/74H00、54/74S00、54/74LS00 Y=(AB)非
3.2.2 放大整形模塊原理圖 此模塊原理圖: 圖5 放大整形電路原理圖 3.3 分頻模塊 本文采用12MHZ的時鐘,最大計數(shù)速率為500 kHz,因此需要外部分頻。分頻電路用于擴(kuò)展單片機(jī)頻率測量范圍,并實現(xiàn)單片機(jī)頻率測量使用統(tǒng)一信號,可使單片機(jī)測頻更易于實現(xiàn),而且也降低了系統(tǒng)的測頻誤差。 為了測量提高精度,當(dāng)被測信號頻率值較低時,直接使用單片機(jī)計數(shù)器計數(shù)測得頻率值;當(dāng)被測信號頻率值較高時采用外部十分頻后再計數(shù)測得頻率值。這兩種情況使用T1(P3.5)和TO(P3.4,程序定義為十分頻接入口)計數(shù)選擇,由單片機(jī)先簡單測得被測信號是高頻信號還是低頻信號,然后根據(jù)信號頻率值的高低進(jìn)行通道的相應(yīng)選擇,繼而測得相應(yīng)頻率值。 因此此模塊主要包括分頻器74LS161、與非門74LS00。 3.3.1 分頻器74LS161芯片 74LS161是常用的四位二進(jìn)制可預(yù)置的同步加法計數(shù)器。 表4 74161的功能表 從表中可以知道,當(dāng)清零端RD=“0”,計數(shù)器輸出Q3、Q2、Q1、Q0立即為全“0”,這個時候為異步復(fù)位功能。當(dāng)RD=“1”且LD=“0”時,在CP信號上升沿作用后,74LS161輸出端Q3、Q2、Q1、Q0的狀態(tài)分別與并行數(shù)據(jù)輸入端D3,D2,D1,D0的狀態(tài)一樣,為同步置數(shù)功能。而只有當(dāng)RD=LD=EP=ET=“1”、CP脈沖上升沿作用后,計數(shù)器加1。74LS161還有一個進(jìn)位輸出端CO,其邏輯關(guān)系是CO= Q0·Q1·Q2·Q3·CET。合理應(yīng)用計數(shù)器的異步清零功能和同步計數(shù)功能,一片74LS161可以組成16進(jìn)制以下的任意進(jìn)制分頻器。本文組成了十進(jìn)制的分頻器。 圖6上圖為分頻電路 3.4 顯示電路 顯示模塊由頻率值顯示電路和量程轉(zhuǎn)換指示電路組成。頻率值顯示電路采用四位共陽極數(shù)碼管動態(tài)顯示頻率計被測數(shù)值,量程轉(zhuǎn)換指示電路由紅、黃、綠三個LED分別指示Hz、KHz及MHz頻率單位,使讀數(shù)簡單可觀。 數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。常見的數(shù)碼管由七個條狀和一個點狀發(fā)光二極管管芯制成,叫七段數(shù)碼管,根據(jù)其結(jié)構(gòu)的不同,可分為共陽極數(shù)碼管和共陰極數(shù)碼管兩種。根據(jù)管腳資料,可以判斷使用的是何種接口類型。 
圖7 兩種數(shù)碼管內(nèi)部原理圖 因為這里用的是共陽極數(shù)碼管,它的公共端為高電平,因此要讓其中各段(DP,A,B,C,D,E,F,G)的發(fā)光二極管發(fā)光,只要使它另一端置為低電平,即置0。 3.4.1 頻率數(shù)值顯示電路 圖8共陽極數(shù)碼管顯示電路圖 3.4.2 頻率數(shù)值單位顯示電路 圖9 LED檔位指示電路 四、系統(tǒng)軟件設(shè)計 本文中系統(tǒng)軟件設(shè)計采用模塊化設(shè)計,整個系統(tǒng)分為初始化模塊、頻率測量模塊、量程自動切換模塊和顯示模塊等。 整個系統(tǒng)軟件設(shè)計的程序由C語言編寫,通俗易懂。 系統(tǒng)軟件設(shè)計模塊框圖: 圖10系統(tǒng)軟件設(shè)計模塊框圖 4.1 開始 程序預(yù)處理,先聲明頭文件,定義一些變量。 程序入口,main()函數(shù)框圖: 圖11 主函數(shù)框圖 4.2 初始化模塊 初始化模塊初始化分頻器、量程檔位、LED顯示、工作寄存器、中斷控制和定時/計數(shù)器的工作方式等。 4.3 頻率測量模塊和量程自動切換模塊 經(jīng)過初始化計數(shù)器1,每一次下降沿觸發(fā)一次計數(shù)器1中斷,每次中斷執(zhí)行中斷處理程序則fCnt加1,因此fCnt為信號下降沿次數(shù);經(jīng)過初始化定時器0, 每50ms觸發(fā)一次定時器0中斷,每次中斷執(zhí)行中斷處理程序則對數(shù)據(jù)下降沿次數(shù)fCnt進(jìn)行處理,通過對數(shù)據(jù)的大小判斷實現(xiàn)量程自動切換等,從而計算出信號的頻率,然后調(diào)用顯示模塊把頻率值顯示出來。其中,16位定時/計數(shù)器的最高計數(shù)值為65535,因此,還需要先由硬件十分頻后,再有定時/計數(shù)器對被測信號計數(shù),加大測量的精度和范圍。 計數(shù)器0(或者1)和定時器2的中斷處理框圖: 圖12 計數(shù)器0(或者1)中斷處理 圖13定時器2中斷處理 量程自動切換模塊框圖: 圖14 量程自動切換程序總流程圖 4.4 顯示模塊 顯示程序?qū)㈩l率值和量程檔位在數(shù)碼管和LED管顯示出來。由于所有4位數(shù)碼管的8 根段選線由單片機(jī)的P0口控制,因此,在每一瞬間4位數(shù)碼管會顯示相同的字符,要想每位顯示不同的字符就必須采用掃描方法輪流點亮各位數(shù)碼管,即在每一瞬間只點亮某一位顯示字符,由P1.0-P1.3逐位輪流點亮各個數(shù)碼管,在此瞬間,段選控制口P0輸出相應(yīng)字符。P2.4-P2.6控制三個發(fā)光二極管,通過光顏色的不同表示量程檔位的不同。 P1.0-P1.3對應(yīng)共陽極數(shù)碼管的1,2,3,4;P0.0-P0.7對應(yīng)共陽極數(shù)碼管的A,B,C,D,E,F,G,DP;P2.4-P2.6對應(yīng)發(fā)光二極管的顏色:綠色(MHZ檔),黃色(KHZ),紅色(HZ)。發(fā)光二極管全亮表示所測信號頻率超出測量范圍。 顯示模塊框圖: 圖15 顯示子程序流程圖 4.5 延時模塊 延時模塊框圖: 圖16 延時程序流程圖 4.6 頻率計仿真 4.6.1 用KEIL軟件 先創(chuàng)建工程,后導(dǎo)入bs.c文件,其中bs.c文件就是軟件設(shè)計中的源代碼: 圖17 keil軟件應(yīng)用圖 設(shè)置一些軟件目標(biāo)選項: 由此打開選項: 圖18軟件設(shè)置選項圖 點擊后,彈出對話框并設(shè)置相關(guān)屬性。 點擊按鈕 后,編譯連接,若代碼無問題,之后會生成bs.hex文件,如下圖: 圖19 (.hex)文件圖 4.6.2 使用軟件Proteus仿真頻率計 信號的放大整形模塊、分頻模塊和顯示模塊都要與單片機(jī)模塊相連才能達(dá)到所需的要求,因此,這三個模塊就一起仿真,用Proteus軟件仿真如下圖: 圖20 頻率計仿真圖 其中需要注意是一些設(shè)置: 單片機(jī)設(shè)置: 圖21 單片機(jī)屬性設(shè)置圖 其中是需要導(dǎo)入由KEIL軟件生成的"*.hex"文件,再是時鐘頻率為12MHZ。 電源的設(shè)置: 圖22 電源大小設(shè)置圖 設(shè)置電源為5V。 4.6.3 頻率計仿真運行調(diào)試 設(shè)置如下: 圖23 頻率計測量10HZ信號運行圖 其中紅色LED亮,是表示數(shù)碼管顯示的頻率值是HZ檔,也就是頻率的單位是HZ,也就表明運行結(jié)果讀數(shù)是1HZ。 2.給定46.3kH的正弦波 點擊確定后,點擊運行按鈕,之后看頻率計仿真運行情況: 圖24 頻率計測量46.3KHZ信號運行圖 3.0 給定9.643MHZ的矩形信號波后信號運行圖 圖25 頻率計測量9.643MHZ信號運行圖 其中綠色LED亮,是表示數(shù)碼管顯示的頻率值是MHZ檔,也就是頻率的單位是MHZ,也就表明運行結(jié)果讀數(shù)是9.643MHZ。 4.0 給定超過量程信號波后,信號運行圖如下 其中三個LED燈都會點亮,數(shù)碼管全部都顯示為0
完整的Word格式文檔51黑下載地址:
系統(tǒng)硬件設(shè)計.docx
(2.26 MB, 下載次數(shù): 40)
2018-3-27 21:00 上傳
點擊文件名下載附件
|