基于DDS芯片AD9850的全數(shù)控函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)
初始化可將系統(tǒng)設(shè)定為默認(rèn)工作狀態(tài),然后通過(guò)掃描鍵盤(pán)來(lái)判斷是否有按鍵按下以確定用戶要執(zhí)行的任務(wù),同時(shí)通過(guò)判斷23H.4、20H.1、20H.0各功能標(biāo)志位來(lái)確定應(yīng)完成的功能。當(dāng)23H.4=1時(shí),計(jì)算頻率值系統(tǒng)工作在頻率計(jì)方式下;當(dāng)20H.1=1時(shí),檢測(cè)峰峰值系統(tǒng)將檢測(cè)輸出信號(hào)的峰峰值:而當(dāng)20H.0=1時(shí).則更新LCD顯示內(nèi)容,當(dāng)執(zhí)行完后返回鍵盤(pán)掃描程序并以此循環(huán)。各功能標(biāo)志位均由鍵盤(pán)、峰峰值檢測(cè)和定時(shí)程序等控制,從而實(shí)現(xiàn)各種功能。
4.2鍵盤(pán)掃描子程序
鍵盤(pán)掃描子程序如圖8所示。因按鍵較多。本系統(tǒng)采用2×8行列式鍵盤(pán)來(lái)節(jié)約I/O口,并用程序把8根列線全部拉低,再判斷2根行線是否有低電平,如果沒(méi)有,說(shuō)明沒(méi)有按鍵被按下,系統(tǒng)則退出鍵盤(pán)掃描程序,否則,依次拉低列線,然后依次判斷行線是否有低電平并判斷鍵號(hào),鍵號(hào)確定后再轉(zhuǎn)到鍵號(hào)相對(duì)應(yīng)的功能程序去執(zhí)行。鍵盤(pán)主要方便用戶設(shè)置頻率、幅度、選擇工作方式等功能。
4.3 信號(hào)頻率數(shù)字預(yù)置子程序
信號(hào)頻率的數(shù)字控制程序流程如圖9所示。該部分程序主要用于將鍵盤(pán)輸入值轉(zhuǎn)換成十六進(jìn)制數(shù)據(jù),然后產(chǎn)生相應(yīng)的頻率控制字并送至DDS芯片,以改變DDS的相位增量,最終輸出相應(yīng)頻率信號(hào)。
結(jié)束語(yǔ)
通過(guò)嚴(yán)格的實(shí)驗(yàn)測(cè)試證明,本系統(tǒng)采用DDS完全可以實(shí)現(xiàn)輸出信號(hào)類(lèi)型的選擇設(shè)置、信號(hào)頻率數(shù)字預(yù)置、信號(hào)幅度數(shù)字步進(jìn)可調(diào)等功能,是一種輸出信號(hào)頻率覆蓋寬(0.023 Hz~40 MHz)、信號(hào)源分辨率高、波形失真小、全數(shù)控型函數(shù)信號(hào)發(fā)生器。具有一定的實(shí)用開(kāi)發(fā)價(jià)值。
評(píng)論