基于AT89S52單片機的簡易數字示波器設計
隨著電子技術的發展和電路結構的變化,對電路測量的要求也變得更高。對廣大理工科學生和從事電子等相關行業的普通工作者在電子制作、產品維修等中,很多電路參數需要測量分析,經常需要使用數字示波器。但目前我國使用的高性能數字示波器普遍價格昂貴,所以研究簡易數字示波器具有重要意義。
E2PROM是數據存儲電路的關鍵器件,本文選用Atmel公司新近推出的具有I2C總線容量達512 Kb(64 K×8 b)的AT24C512。該芯片的主要特性如下:存儲容量為65 536 B;與100 kHz,400 kHz,1 MHzI2C總線兼容;100 000次編程/擦寫周期;單電源、讀/寫電壓為1.8~5.5 V;ESD保護電壓大于4 kV;寫保護功能,當WP為高電平時,進入寫保護狀態;CMOS低功耗技術,最大寫入電流為3 mA;128 B頁寫入緩存器;自動定時的寫周期。SDA線和SCL分別與單片機的P2.4和P2.5口相連。數據存儲電路如圖4所示。
2.5 其他硬件電路
A/D轉換模塊:A/D轉換器選用ADC0809,ADC0809是CMOS單片型逐次逼近式A/D轉換器,可處理8路模擬量的輸入,且有三態輸出能力,即可與各種微處理器相連,也可單獨工作。輸入/輸出與TTL兼容,轉換時間約為100μs。
鍵盤控制模塊:該系統選用5個獨立鍵盤做功能鍵,作用分別為運行與停止,波形的放大,波形的減小,波形的上移,波形的下移。
LCD液晶顯示電路:該設計采用MGL(S)-240128T液晶顯示器。單片機P1口與LCD的數據口連接,用于數字信號的讀取,P3.6,P3.7作為液晶顯示模塊的讀/寫控制信號端口,P2.5作為LCD的片選端口。
3 軟件設計
軟件設計部分主要包括主程序模塊、A/D轉換模塊、LCD顯示模塊、按鍵處理模塊,其流程圖如圖5所示。
3.1 A/D轉換部分
當定時器產生中斷時,ADC0809將輸入的模擬量轉換成數字量。ADC0809的轉換速率最大可達640 kHz,程序設定了定時器時間間隔為2μs,所以采樣頻率達到了500 kHz。
3.2 鍵盤掃描部分
設定了1個按鍵實現波形的運行與停止,4個獨立按鍵用于改變波形的尺寸。amp和time兩個參數分別用于調整幅值和時間軸的大小,當MCU檢測到按鍵被按下時,兩個參數的值相應地發生改變,從而改變了波形的大小。
3.3 LCD顯示部分
A/D產生的第一個數據,其對應的點排在第一列,這樣就確定了該點的橫軸位置,縱軸的位置由數字信號大小按比例換算而來。由于采樣頻率一定,所以每2個點之間的時間間隔相同,下一個點排第二列,以此類推。
3.4 數字存儲部分
數字存儲芯片選擇了Atmel公司推出的AT24C512,其作用是存儲不同時刻的信號大小,克服了模擬示波器只能顯示當前波形的缺點。由于該芯片采用I2C總線傳輸數據,所以需要單片機的I/O口用來模擬該總線。
4 結語
本文設計的以AT89S52單片機為控制核心的數字示波器,在軟硬件有機結合下,可以達到所要求的性能指標,運行穩定可靠。測試表明該數字示波器具有較高的實時采樣率,可以將采集到的數據經過硬件電路、軟件程序轉換成相應的波形很好的顯示在液晶顯示屏上。該數字示波器能夠實現波形的采集、調理、存儲、顯示等功能,通過鍵盤對波形進行相應的功能設置,具有體積小、操作簡單、方便、設備廉價等特點。在后續的改進中,可以利用分頻合成技術進行采樣頻率合成,提高其采樣頻率,同時該數字示波器還具有一定的擴展能力,具有廣闊的應用前景和實用價值。
.
1 系統結構和工作原理
1.1 系統結構
該設計以AT89S52單片機為控制核心,由預處理電路(包括阻抗變換、程控放大、信號調理電路)、A/D數據采集電路、E2PROM存儲電路、功能鍵盤、LCD顯示電路以及電源等部分組成。系統結構框圖如圖1所示。
1.2 工作原理
數字示波器有二個輸入通道。預處理電路由阻抗變換、程控放大、信號調理電路組成。輸入信號先經阻抗變換電路后進入程控放大電路,根據需要對信號進行放大(衰減)處理,然后信號再進入信號調理電路進行電平調整成為符合A/D轉換要求的0~5 V電壓。之后輸出的模擬信號經過高速A/D轉換器AD0809實時采樣變成數字信號,經過AT89S52單片機后儲存在半導體存儲器E2PROM中。單片機從存儲器中讀出信號
進行運算處理,將波形顯示在LCD液晶屏上。所有功能可由鍵盤操作完成。
2 硬件設計
2.1 單片機
AT89S52是一個低功耗,高性能CMOS8位單片機,具有8 192個在系統可編程FLASH存儲器。采用Atmel公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構。
系統采用AT89S52單片機作為主控芯片。單片機首先通過控制A/D轉換器把模擬信號轉換成數字信號,之后將數字信號存儲在E2PROM存儲器中,最后在LCD液晶上顯示出模擬信號的波形。
2.2 程控放大電路
程控放大電路的作用是對大信號進行衰減,對小信號進行放大,保證輸入到A/D轉換器的信號幅度在要求的輸入電壓范圍內,以達到最好的測量與觀察效果。采用模擬開關CD4051,運算放大器為OPA842,配合精密電位器實現多擋垂直分辨率。在AT89S52單片機中使用寄存器模塊設置通道號,通過寫入通道號控制模擬開關選通不同的反饋電阻,從而實現不同的放大倍數,具體的電路如圖2所示。
2.3 信號調理
由于示波器觀察信號大多是正負電壓信號,而A/D轉換器AD0809是單極性參考電壓。為了采樣到信號的負電壓,就需要給該信號疊加直流量,將負電壓部分信號抬高至零電平以上,因此采用信號調理電路,將信號調理在滿足A130809的0~5 V范圍內。R1,R2,R3,U1即為程控放大電路的簡化模塊,電路如圖3所示。
【上一個】 基于單片機的自適應電開水機設計 | 【下一個】 示波器有效輔助開關電源實現Q/A |
^ 基于AT89S52單片機的簡易數字示波器設計 |