基于DAC0832和AT89S52的信號發(fā)生器設(shè)計
2.1 定時器T0中斷服務(wù)函數(shù)設(shè)計
當定時器T0定時20 ms后,進入定時器T0中斷服務(wù)函數(shù)。首先重裝定時器T0初值,設(shè)置按鍵輸入口P1口的值為0xdf,調(diào)用按鍵掃描函數(shù)。接著調(diào)用D/A轉(zhuǎn)換函數(shù)進行D/A轉(zhuǎn)換,得到D/A轉(zhuǎn)換值dabl,然后調(diào)用計算D/A轉(zhuǎn)換值函數(shù)計算dabl相應(yīng)的ASCII碼,再調(diào)用LCD顯示D/A轉(zhuǎn)換值函數(shù)把數(shù)字量輸入值D/A進行轉(zhuǎn)換后的模擬量顯示在液晶LCD1602上。最后T0中斷函數(shù)返回主程序等待下一次D/A轉(zhuǎn)換。定時器T0中斷服務(wù)函數(shù)設(shè)計流程圖如圖4所示。本文引用地址:http://2s4d.com/article/171034.htm
低電平有效。把芯片DAC0832的片選信號置低電平,選中該芯片。把數(shù)字量D/A轉(zhuǎn)換值dabl送給P0口,準備送入芯片DAC0832進行D/A轉(zhuǎn)換處理。芯片DAC0832寫信號置低電平后再過兩個時鐘周期至高電平,產(chǎn)生一個上升沿信號,進行數(shù)據(jù)D/A轉(zhuǎn)換處理。模擬量dabl從Iout1、Iout2引腳輸出送到運算放大器LF393進行處理,最后從“D/A輸出”端子輸出,可用萬用表測量到輸出電壓。數(shù)據(jù)轉(zhuǎn)換完畢,把芯片DAC0832片選信號置高電平,最后函數(shù)返回。D/A轉(zhuǎn)換函數(shù)設(shè)計流程圖如圖5所示。
3 實驗測試分析
根據(jù)輸入單片機的數(shù)字信號,用萬用表測量從“D/A輸出”端子測試輸出模擬電壓信號,如表1所示。從表1可知,該信號發(fā)生器的電壓輸出誤差小、精度高。
4 結(jié)束語
系統(tǒng)按照簡單化、便捷化原則設(shè)計,介紹了系統(tǒng)的總體結(jié)構(gòu)、硬件設(shè)計和軟件設(shè)計。側(cè)重闡述了采用AT89S52單片機與D/A轉(zhuǎn)換器DAC08 32對輸入數(shù)字信號進行處理,最后驅(qū)動輸出顯示裝置LCD1602顯示D/A轉(zhuǎn)換的0~5 V模擬電壓信號。實驗調(diào)試表明該信號發(fā)生器在技術(shù)指標上達到了設(shè)計要求,具有精度高、抗干擾性強、性能穩(wěn)定、升級方便等特點,有較高的應(yīng)用價值。
模擬信號相關(guān)文章:什么是模擬信號
adc相關(guān)文章:adc是什么
負離子發(fā)生器相關(guān)文章:負離子發(fā)生器原理
評論