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