基于PIC單片機的簡易數(shù)字示波器設計
3 軟件設計
軟件部分要由AD轉(zhuǎn)換子程序、顯示子程序、讀寫子程序、按鍵處理子程序組成。圖4是一次完整采樣處理的流程圖。本文引用地址:http://www.ex-cimer.com/article/170638.htm
主程序在上電初始化后,等待信號采集,查詢AD轉(zhuǎn)換是否完成,AD轉(zhuǎn)換完成后,數(shù)據(jù)寫入FIFO存儲器,當FIFO存儲器寫滿后,F(xiàn)IFO寫滿標志位觸發(fā)單片機的數(shù)據(jù)讀取程序,把采樣數(shù)據(jù)讀取到單片機內(nèi),根據(jù)先前的按鍵狀態(tài)所設置的功能寄存器內(nèi)容,處理數(shù)據(jù),并在LCD上顯示需要的波形。
AD轉(zhuǎn)換程序在一定的采樣時間內(nèi),對輸入的模擬信號進行數(shù)據(jù)采樣,由定時器定時產(chǎn)生中斷,在采樣中斷到來時開啟AD轉(zhuǎn)換,AD轉(zhuǎn)換結(jié)束后數(shù)據(jù)存儲到指定的區(qū)域。通過控制定時器定時的時間即可控制不同的采樣率,從而實現(xiàn)對不同頻率段數(shù)據(jù)的采集。由于AD轉(zhuǎn)換時間的限制,不能采集頻率高韻信號波形,對此采用等效采樣模式,等效采樣是指多個信號周期連續(xù)采樣來復現(xiàn)一個信號波形,采樣系統(tǒng)能以擴展的方式復現(xiàn)頻率大大超過奈奎斯特極限頻率的信號波形。
顯示子程序?qū)⑥D(zhuǎn)換得到的數(shù)字信號量顯示在LCD相應的點上。橫軸用于顯示耐間,縱軸顯示電壓大小的值,先計算出某一個待顯示數(shù)字量在橫軸上的位置,再根據(jù)數(shù)字量的大小計算出在縱軸上的位置,這樣就能在顯示器上顯示出該數(shù)字量所對應的點。將所采集的點依次顯示后在屏幕上看到的即為信號的波形。
讀寫子程序的功能是將想要存儲的信號波形存儲起來,以便以后觀看波形細節(jié)。按鍵處理子程序的功能主要是根據(jù)不同的輸入,選擇不同的功能。采用行列掃描的方式對按鍵進行掃描,當掃描的某一按鍵按下時,執(zhí)行相應的功能。
4 結(jié)束語
本系統(tǒng)設計簡單、清晰,充分利用單片機內(nèi)部資源,實現(xiàn)了普通示波器的基礎(chǔ)功能如信號測量、頻率測量、觸發(fā)電平可調(diào),垂直與掃描檔可變等,同時又擴展了按鍵波形存儲,單次觸發(fā)等功能,可應用于儀表實時顯示動態(tài)波形,具有良好的使用前榮。如果選用性能更好的模擬開關(guān)和運算放大器,更合理的電阻,可提高信號調(diào)理電路的放大準確度,增大測量幅度范圍。
評論