基于AT89C51的信號(hào)發(fā)生器的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了設(shè)計(jì)一款結(jié)構(gòu)簡(jiǎn)單、性能優(yōu)良的信號(hào)發(fā)生器。采用了AT89C51單片機(jī)為控制核心。在Proteus下仿真可以產(chǎn)生正弦波、方波、三角波、鋸齒波,而且可以方便地設(shè)定輸出信號(hào)的頻率及幅度,得到的輸出波形失真度低,頻譜純度高。
關(guān)鍵詞:信號(hào)發(fā)生器;D/A轉(zhuǎn)換;AT89C51;頻率;幅度
0 引言
在計(jì)算機(jī)控制技術(shù)、電子技術(shù)飛速發(fā)展的今天,信號(hào)發(fā)生器的應(yīng)用越來(lái)越廣,對(duì)信號(hào)發(fā)生器的頻率穩(wěn)定度、頻譜純度、頻率范圍和輸出信號(hào)的頻率微調(diào)分辨率提出越來(lái)越高的要求,普通的頻率源已經(jīng)不能滿足現(xiàn)代電子技術(shù)的高標(biāo)準(zhǔn)要求。國(guó)內(nèi)外紛紛設(shè)計(jì)制作先進(jìn)的信號(hào)發(fā)生器,從實(shí)用價(jià)值來(lái)看,各高校中信號(hào)發(fā)生器應(yīng)用極為廣泛,能夠設(shè)計(jì)出低成本、高精度的信號(hào)發(fā)生器并推廣使用具有非常重要的意義。
基于單片機(jī)的信號(hào)發(fā)生器的設(shè)計(jì),以性價(jià)比相對(duì)較高的AT89C51單片機(jī)為核心,以簡(jiǎn)單、廉價(jià)的元器件構(gòu)筑,能夠產(chǎn)生高精度、高純度的方波、三角波、鋸齒波、正弦波,同時(shí)可以實(shí)現(xiàn)波形自由切換,以及頻率和幅度在線調(diào)整。目前購(gòu)買(mǎi)的信號(hào)發(fā)生器價(jià)格昂貴,功能強(qiáng)大,實(shí)際在高校開(kāi)展實(shí)驗(yàn)過(guò)程中用到最多的是低頻函數(shù)信號(hào)發(fā)生器。如果能夠在高校實(shí)驗(yàn)領(lǐng)域應(yīng)用本文設(shè)計(jì)的儀器取代它們,將具有重要的實(shí)際意義。
1 系統(tǒng)硬件設(shè)計(jì)
信號(hào)發(fā)生器的設(shè)計(jì)涉及到程序固化與存儲(chǔ)能力、電源電路設(shè)計(jì)、波形選擇電路、時(shí)鐘電路與復(fù)位電路、波形轉(zhuǎn)換與電壓放大功能、輸出控制電路等部分。系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
其中復(fù)位電路通過(guò)確定的電壓值啟動(dòng)復(fù)位操作,同時(shí)排除瞬間干擾的影響,又有防止MCU在電源啟動(dòng)和關(guān)閉期間的誤操作有效,保證數(shù)據(jù)安全。輸入電路用于檢測(cè)各按鍵與撥動(dòng)開(kāi)關(guān)的狀態(tài),并通過(guò)運(yùn)算處理實(shí)現(xiàn)相應(yīng)控制,顯示電路用于顯示波形頻率與幅度。DAC0808是系統(tǒng)的核心部分,為使芯片正常工作,必須提供一個(gè)基準(zhǔn)頻率,可以是晶體振蕩器也可以是高精度振蕩電路。為了使信號(hào)輸出有一定的幅度與功率,在波形產(chǎn)生電路后增加放大電路模塊,放大電路可以增加輸出信號(hào)的準(zhǔn)確度,具有更好的控制特性與準(zhǔn)確性。為了對(duì)輸出波形進(jìn)行選擇,由單片機(jī)控制多路模擬開(kāi)關(guān)輸入四路信號(hào)中的一路。將輸入信號(hào)經(jīng)電路轉(zhuǎn)換后送入單片機(jī)。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 系統(tǒng)主程序流程圖
信號(hào)發(fā)生器的軟件設(shè)計(jì)包括按鍵處理程序、正弦波產(chǎn)生程序、方波產(chǎn)生程序、三角波產(chǎn)生程序、鋸齒波產(chǎn)生程序幾個(gè)主要部分。主程序的主要功能接收用戶鍵盤(pán)輸入的數(shù)據(jù)(信號(hào)參數(shù)的預(yù)制、選擇)和控制指令,單片機(jī)發(fā)送數(shù)據(jù)及控制指令,按要求輸出信號(hào)。系統(tǒng)主程序流程圖如圖2所示。
根據(jù)功能要求,本軟件設(shè)計(jì)了按鍵輸入程序,用戶可通過(guò)DIP開(kāi)關(guān)設(shè)置輸出信號(hào)的頻率,或選擇輸出正弦波、方波、三角波、鋸齒波等。當(dāng)用戶設(shè)定輸出時(shí),程序把參數(shù)送至單片機(jī),并對(duì)單片機(jī)發(fā)出控制命令使其按要求輸出需要的信號(hào)。
主程序模塊主要完成的任務(wù)是對(duì)系統(tǒng)的初始化,初始化同時(shí)掃描是否有相應(yīng)的功能鍵按下,如有,則轉(zhuǎn)入相應(yīng)的功能子程序進(jìn)行相應(yīng)的操作。
2.2 系統(tǒng)仿真
在PROTEUS電子設(shè)計(jì)平臺(tái)下,先繪制電路,然后對(duì)設(shè)計(jì)的程序進(jìn)行編譯,生成*.HEX文件,加載到單片機(jī)中,得到的仿真圖如圖3所示。
2.2.1 波形選擇仿真
在運(yùn)行過(guò)程中,改變接在P3口的拔碼開(kāi)關(guān),得到仿真結(jié)果如圖4所示。
2.2.2 波形頻率調(diào)整
在運(yùn)行過(guò)程中,通過(guò)改變P2口的值,觀察波形的頻率變化,圖5是正弦波頻率變化的情況。
2.2.3 幅值調(diào)整
在運(yùn)行中,通過(guò)調(diào)整RV1的值,觀察到波形幅度發(fā)生改變,圖6是當(dāng)RV1分別處于20%和50%時(shí)的正弦波波形。
3 結(jié)語(yǔ)
基于AT89C51的信號(hào)發(fā)生器可以輸出正弦波、方波、三角波、鋸齒波,波形失真小,幅值輸出準(zhǔn)確,波形頻率穩(wěn)定度取決于頻率基準(zhǔn)信號(hào),輸出信號(hào)失真度低,在低頻到高頻部分都能有較好波形輸出,達(dá)到了預(yù)期的設(shè)計(jì)目的。這種信號(hào)發(fā)生器操作簡(jiǎn)單,顯示直觀而且價(jià)格低廉、可靠性高、靈活性好,具有很大的應(yīng)用價(jià)值。