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