基于單片機(jī)數(shù)控直流電源設(shè)計論文_第1頁
基于單片機(jī)數(shù)控直流電源設(shè)計論文_第2頁
基于單片機(jī)數(shù)控直流電源設(shè)計論文_第3頁
基于單片機(jī)數(shù)控直流電源設(shè)計論文_第4頁
基于單片機(jī)數(shù)控直流電源設(shè)計論文_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 PAGE54 / NUMPAGES54商學(xué)院本科畢業(yè)設(shè)計(論文)初擬題目數(shù)控直流電源設(shè)計課題類別設(shè)計eq oac(,)論文課題來源生產(chǎn)科研自擬eq oac(,)學(xué)生學(xué) 號070910XXX學(xué) 院計算機(jī)與電子工程學(xué)院專 業(yè)電子信息工程班 級電信070X指導(dǎo)教師 新 宇職 稱副 教 授發(fā)任務(wù)書日期:2010 年 10 月 28日(自己在瞎扯一下)本次我們所設(shè)計的數(shù)控直流穩(wěn)壓電源與傳統(tǒng)的穩(wěn)壓電源相比,具有操作方便,電壓穩(wěn)定度高的特點,其輸出電壓大小采用數(shù)字顯示,輸出電壓的大小調(diào)節(jié)通過“+”、“-”兩鍵操作,分別作加、減電壓控制,單片機(jī)將根據(jù)按鍵鎖進(jìn)行的操作增加或減小轉(zhuǎn)換電路的輸入數(shù)值,轉(zhuǎn)換器將數(shù)字

2、量按比例轉(zhuǎn)換成模擬電壓,然后經(jīng)過射極跟隨器控制調(diào)整輸出級輸出所需的穩(wěn)定電壓。并ICH707芯片實時測試顯示輸出電壓的變化,使設(shè)計更加人性化。第二章 方案論證與比較2.1 控制器部分方案一:應(yīng)用PIC芯片作為控制器。PIC單片機(jī)系列是美國微芯公司(Microship)的產(chǎn)品,是當(dāng)前市場份額增長最快的單片機(jī)之一。PIC系列單片機(jī)的I/O口是雙向的,其輸出電路為CMOS互補(bǔ)推挽輸出電路。I/O腳增加了用于設(shè)置輸入或輸出狀態(tài)的方向寄存器(TRISn , 其中n對應(yīng)各口,如A、B、C、D、E等),從而解決了51系列I/O腳為高電平時同為輸入和輸出的狀態(tài)。當(dāng)置位1時為輸入狀態(tài),且不管該腳呈高電平或低電平,

3、對外均呈高阻狀態(tài);置位0時為輸出狀態(tài),不管該腳為何種電平,均呈低阻狀態(tài),有相當(dāng)?shù)尿?qū)動能力,低電平吸入電流達(dá)25mA,高電平輸出電流可達(dá)20mA。相對于51系列而言,這是一個很大的優(yōu)點,它可以直接驅(qū)動數(shù)碼管顯示且外電路簡單。它的A/D為10位,能滿足精度要求。具有在線調(diào)試與編程(ISP)功能。方案二:應(yīng)用AT89S51作為控制器。51系列優(yōu)點之一是它從部的硬件到軟件有一套完整的按位操作系統(tǒng),稱作位處理器,或布爾處理器。它的處理對象不是字或字節(jié)而是位。它不光能對片某些特殊功能寄存器的某位進(jìn)行處理,如傳送、置位、清零、測試等,還能進(jìn)行位的邏輯運(yùn)算,其功能十分完備,使用起來得心應(yīng)手。51系列的另一個優(yōu)

4、點是乘法和除法指令,這給編程也帶來了便利。而且,51系列的I/O腳的設(shè)置和使用非常簡單,當(dāng)該腳作輸入腳使用時,只須將該腳設(shè)置為高電平(復(fù)位時,各I/O口均置高電平)。當(dāng)該腳作輸出腳使用時,則為高電平或低電平均可。低電平時,吸入電流可達(dá)20mA,具有一定的驅(qū)動能力;而為高電平時,輸出電流僅數(shù)十A甚至更小(電流實際上是由腳的上拉電流形成的),基本上沒有驅(qū)動能力。 PIC芯片的置很強(qiáng)大,但是一方面它的價格比較昂貴,另一方面,也是由于我們對PIC不大了解,沒有試驗過,所以,我們選擇了51作為我們的控制器。這樣一來,我們實現(xiàn)一些功能就必須要加外圍電路了。2.2 顯示部分方案一 :使用LED顯示。優(yōu)點:可

5、是角度寬,價格便宜。缺點:顯示的容少,介面呆板,而且占用較多的IO口資源。方案二 :使用1602液晶顯示器??梢暶娣e大,介面美觀,抗干擾能力強(qiáng),調(diào)用方便簡單,而且可以節(jié)省軟件中斷資源,應(yīng)用串行連接,節(jié)省I/O口資源。這次,我們選用了LED作為我們的顯示器。因為1602液晶顯示器相對來說比較昂貴,而且我們的顯示部分只是顯示電壓的輸出值。用四位數(shù)碼管就可以實現(xiàn)。但是,使用LED占用了比較多的資源。2.3 電源部分方案一:三端固定輸出電壓式穩(wěn)壓電源78XX系列運(yùn)用其器件部電路來實現(xiàn)過壓保護(hù)、過流保護(hù)、過熱保護(hù) 。這使它的性能很穩(wěn)定。能夠?qū)崿F(xiàn)1A以上的電流 器件具有良好的溫度系數(shù)。并且有多種電壓輸出值

6、5V24V,因此產(chǎn)品的應(yīng)用圍很泛 ??梢赃\(yùn)用本地調(diào)節(jié)來消除噪聲影響,解決了與單點調(diào)節(jié)相關(guān)的分散問題輸出電壓誤差精度分為3%和5% 。方案二:LM117/LM317 是美國國家半導(dǎo)體公司的三端可調(diào)正穩(wěn)壓器集成電路。LM117/LM317 的輸出電壓圍是1.2V至37V,負(fù)載電流最大為1.5A。它的使用非常簡單,僅需兩個外接電阻來設(shè)置輸出電壓。此外它的線性調(diào)整率和負(fù)載調(diào)整率也比標(biāo) 準(zhǔn)的固定穩(wěn)壓器好。LM117/LM317 置有過載保護(hù)、安全區(qū)保護(hù)等多種保護(hù)電路。通常 LM117/LM317 不需要外接電容,除非輸入濾波電容到 LM117/LM317 輸入端的連線超過 6 英寸(約 15 厘米)。使

7、用輸出電容能改變瞬態(tài)響應(yīng)。調(diào)整端使用濾波電容能得到比標(biāo)準(zhǔn)三端穩(wěn)壓器高的多的紋波抑制比。LM117/LM317能夠有許多特殊的用法。比如 把調(diào)整端懸浮到一個較高的電壓上,可以用來調(diào)節(jié)高達(dá)數(shù)百伏的電壓,只要輸入輸出壓差不超過117/LM317的極限就行。當(dāng)然還要避免輸出端短路。還 可以把調(diào)整端接到一個可編程電壓上,實現(xiàn)可編程的電源輸出。通過比較分析,此次我們選擇了78XX系列芯片來實現(xiàn)我們的電源輸出。因為78XX系列的芯片能滿足我們的四個固定電壓的輸出。第三章 主要電路單元的設(shè)計本系統(tǒng)由電源模塊、調(diào)壓模塊、DA轉(zhuǎn)換模塊、顯示與鍵盤模塊組成。系統(tǒng)電路結(jié)構(gòu)原理圖,如圖所示:+市電輸入變壓整流電壓調(diào)整與

8、過流保護(hù)系統(tǒng)電源+5v+24+15比較放大DA轉(zhuǎn)換取樣AT89S51鍵盤取樣顯示AD轉(zhuǎn)換電路設(shè)計:1整流、濾波電路設(shè)計。首先確定整流電路結(jié)構(gòu)為橋式電路,選用大的電解電容對輸入的電流進(jìn)行濾波處理。電路如圖所示:整流濾波電路該整流濾波電路中,220V 的市電輸入到電路中,經(jīng)過一個整流橋堆整流電路。整流電路的任務(wù)是將電網(wǎng)供給的交流電變換成脈動的直流電,通常利用二極管的單向?qū)щ娦詠韺崿F(xiàn)。一般分為半波整流/全波整流/橋式整流/被壓整流等,而橋堆就是用在橋式整流中的。通過整流橋堆后的電壓為U=U0*1.2。U0為經(jīng)過變壓器變壓后的輸出電壓。經(jīng)過整流后的電壓用兩個電容實現(xiàn)濾波處理。2.電源電路該電源電路采用

9、了四個三端集成穩(wěn)壓器來為電路輸出電路所需要的各種電壓。一般三集成穩(wěn)壓電路的最小輸入、輸出電壓差約為2V,否則不能輸出穩(wěn)定的電壓,使電壓差保持在4-5V,即經(jīng)變壓器變壓,二極管整流,電容器濾波后的電壓應(yīng)比穩(wěn)壓值高一些 。78系列的三端穩(wěn)壓器能夠輸出正的電壓。79系列的三端穩(wěn)壓器輸出是負(fù)電壓。由于該電路的芯片發(fā)熱較大,一般要加上合適的散熱片散熱保護(hù)電路。芯片分三個引腳,輸入、輸出和接地,三個引腳不能接反,否則容易燒化電路。3.放大電路:這部分電路是實現(xiàn)電壓放大的電路。電路的比較放大采用運(yùn)放NE5534來設(shè)計,該器件具有共模抑制比高,響應(yīng)速度快和壓擺率高的特點。設(shè)計時可由R10、R11A、R12組成

10、分壓取樣電路,并要求R10(R11A+R12)=14,即當(dāng)輸出電壓存在UO=0.05 V時,Ua=0.04 V,這與DAC的輸出(10255=0.04V=1LSB)變化一致。事實上,經(jīng)過DAC轉(zhuǎn)換以將電流轉(zhuǎn)換為電壓并進(jìn)行電壓放大后,即可將得到的10 V電壓送比較器NE54534的同相端作為比較的基準(zhǔn)電壓。由于DAC0832是8位的DA轉(zhuǎn)換器,故有255步進(jìn)。由此,當(dāng)CPU控制DAC變化1LSB時,其對應(yīng)Va的變化為0.04 V,故Uout的可調(diào)變化量為0.05 V(步長)。NE5534和Q1、Q3與取樣電路構(gòu)成的負(fù)反饋電路可實現(xiàn)調(diào)節(jié)輸出電壓的目的(穩(wěn)壓)。電路中的過流保護(hù)由R9與Q2完成。當(dāng)I

11、o0.7A時,VR9=R9Io10.7=0.7 V,此時Q2導(dǎo)通,并對調(diào)整管Q3的基極分流,使TIP41的導(dǎo)通電阻增大,輸出電壓降低,從而達(dá)到過流保護(hù)的目的。該系統(tǒng)的短路保護(hù)采用保險管來完成。該電路的數(shù)模轉(zhuǎn)換電路是由DAC0832、兩級低漂移的運(yùn)放A714和VREF電路組成。DAC0832和運(yùn)放U3A將CPU發(fā)出的8位二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成0-5 V的電壓,然后經(jīng)運(yùn)放U3B反向放大2倍,以得到010 V電壓。因此,該DAC的轉(zhuǎn)換分辨率為10(28-1)=0.04 V,即CPU輸出給DAC的數(shù)據(jù)變化為1 Bit,DAC輸出電壓的變化為0.04 V。VREF電路為DAC提供基準(zhǔn)電壓,調(diào)節(jié)R5A,可使基準(zhǔn)

12、電壓保持為5 V。8位數(shù)模轉(zhuǎn)換器DAC0832芯片1. 引腳與其功能DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。圖1-1和圖1-2分別為DAC0832的引腳圖和部結(jié)構(gòu)圖。其主要參數(shù)如下:分辨率為8位,轉(zhuǎn)換時間為1s,滿量程誤差為1LSB,參考電壓為(+10?/span-10)V,供電電源為(+5+15)V,邏輯電平輸入與TTL兼容。從圖1-1中可見,在DAC0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器,它的允許鎖存信號為ILE,第二級鎖存器稱為DAC寄存器,它的鎖存信號也稱為通道控制信號 /XFER。DAC0832引腳圖如圖所示:圖中,當(dāng)ILE

13、為高電平,片選信號 /CS 和寫信號 /WR1為低電平時,輸入寄存器控制信號為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當(dāng) /WR1 由低電平變高時,控制信號成為低電平,此時,數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)DB的變化而變化。對第二級鎖存來說,傳送控制信號 /XFER 和寫信號 /WR2同時為低電平時,二級鎖存控制信號為高電平,8位的DAC寄存器的輸出隨輸入而變化,此后,當(dāng) /WR2由低電平變高時,控制信號變?yōu)榈碗娖?,于是將輸入寄存器的信息鎖存到DAC寄存器中。圖中其余各引腳的功能定義如下:(1)、DI7DI0 :8位的數(shù)據(jù)輸入端,DI7為最高位。(2)

14、、IOUT1 :模擬電流輸出端1,當(dāng)DAC寄存器中數(shù)據(jù)全為1時,輸出電流最大,當(dāng) DAC寄存器中數(shù)據(jù)全為0時,輸出電流為0。(3)、IOUT2 :模擬電流輸出端2, IOUT2與IOUT1的和為一個常數(shù),即IOUT1IOUT2常數(shù)。(4)、RFB :反饋電阻引出端,DAC0832部已經(jīng)有反饋電阻,所以 RFB端可以直接接到外部運(yùn)算放大器的輸出端,這樣相當(dāng)于將一個反饋電阻接在運(yùn)算放大器的輸出端和輸入端之間。(5)VREF :參考電壓輸入端,此端可接一個正電壓,也可接一個負(fù)電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,VREF圍為(+10-10)V。 VREF端與D/A部T形電阻網(wǎng)絡(luò)

15、相連。(6)、Vcc :芯片供電電壓,圍為(+5 15)V。(7)、AGND :模擬量地,即模擬電路接地端。(8)、DGND :數(shù)字量地。4.鍵盤模塊當(dāng)輸出電壓經(jīng)R13限流和R14取樣后,即可送入TLC2453-1進(jìn)行模數(shù)轉(zhuǎn)換。圖中的TLC2453-1為11通道、12位串行AD轉(zhuǎn)換器,具有12位分辨率,轉(zhuǎn)換時間為10s,有11個模擬輸入通道,3路置自測試方式,采樣率為66 kbps,線性誤差1LSBmax,同時帶有轉(zhuǎn)換結(jié)果輸出EOC,并可單、雙極性輸出。通過其可編程的MSB或LSB前導(dǎo)可編程輸出數(shù)據(jù)長度。 TLC2453-1的時鐘頻率選用4.1 MHz,電源輸出電壓Uo的取樣信號從IN0輸入,

16、芯片的IO時鐘端、數(shù)據(jù)輸入端、轉(zhuǎn)換數(shù)據(jù)輸出端、片選端分別與AT89S51單片機(jī)的P0.0,P0.1,P0.2,P0.3相連,然后經(jīng)單片機(jī)處理后從P0口輸出,在經(jīng)芯片MC74HC573N驅(qū)動后送入數(shù)碼管,通過數(shù)碼管顯示輸出電壓。電路中AT89S51單片機(jī)的晶振頻率選用12 MHz,P3.0,P3.2,P3.5,P3.6接調(diào)壓按鈕。K1實現(xiàn)設(shè)置功能,即通過此按鍵可以實現(xiàn)電平快速切換功能(3V,5V,6V,9V,12V),K2實現(xiàn)調(diào)控增加電壓的功能,K3實現(xiàn)調(diào)控減小電壓的功能,K4實現(xiàn)按鍵鎖定和解鎖的功能,防止誤觸造成不便。5電壓顯示電路該部分電路通過運(yùn)用兩個MC74HC573N芯片控制數(shù)碼管的位選

17、和段選,并且,都將他們接在AT89S51的主芯片的.口上進(jìn)行對數(shù)碼管的控制。通過數(shù)碼管的時時檢測來知道電路電壓輸出的大小。電壓顯示電路,如下圖所示:電路按一般的接法,在段,位選口上接上上拉電阻。并用三極管實現(xiàn)電路電流的放大小效果。數(shù)碼管使用四位計數(shù),使數(shù)碼管的顯示可以達(dá)到V的精確要求。6.主芯片電路控制該部分電路采用了最基本的AT89S51為基核,通過對該芯片編程,使芯片實現(xiàn)各種強(qiáng)大的功能。該部分電路的電路圖,如圖所示:該部分電路通過控制AT89S51芯片的IO口實現(xiàn)電路的各項控制功能。通過控制P3.0,P3.1,P3.5,P3.6口實現(xiàn)按鍵的調(diào)節(jié)設(shè)置電壓功能;通過控制芯片的P0口接的譯碼驅(qū)動

18、器MC74HC573芯片實現(xiàn)電壓的時時跟蹤顯示功能;通過和的轉(zhuǎn)換,實現(xiàn)電路的數(shù)模和模數(shù)轉(zhuǎn)換等。MC78系列24C02芯片概述:CAT24WC01/02/04/08/16 是一個1K/2K/4K/8K/16K 位串行CMOS E2PROM 部含有128/256/512/1024/2048 個8 位字節(jié)CATALYST 公司的先進(jìn)CMOS 技術(shù)實質(zhì)上減少了器件的功耗CAT24WC01 有一個8 字節(jié)頁寫緩沖器CAT24WC02/04/08/16 有一個16 字節(jié)頁寫緩沖器該器件通過I2C 總線接口進(jìn)行操作有一個專門的寫保護(hù)功能。管腳描述:SCL 串行時鐘CAT24WC01/02/04/08/16

19、串行時鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘這是一個輸入管腳。SDA 串行數(shù)據(jù)/地址CAT24WC01/02/04/08/16 雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收SDA 是一個開漏,輸出管腳可與其它開漏輸出或集電極開路輸出進(jìn)行線或wire-ORA0 A1 A2 器件地址輸入端這些輸入腳用于多個器件級聯(lián)時設(shè)置器件地址當(dāng)這些腳懸空時默認(rèn)值為0 24WC01 除外。當(dāng)使用24WC01 或24WC02 時最大可級聯(lián)8 個器件如果只有一個24WC02 被總線尋址這三個地址輸入腳A0 A1 A2 可懸空或連接到Vss 如果只有一個24WC01 被總線尋址這三個地址輸入腳A0 A1

20、A2 必須連接到Vss。當(dāng)使用24WC04 時最多可連接4 個器件該器件僅使用A1 A2 地址管腳A0 管腳未用可以連接到Vss 或懸空如果只有一個24WC04 被總線尋址A1 和A2 地址管腳可懸空或連接到Vss。當(dāng)使用24WC08 時最多可連接2 個器件且僅使用地址管腳A2 A0 A1 管腳未用可以連接到Vss 或懸空如果只有一個24WC08 被總線尋址A2 管腳可懸空或連接到Vss。當(dāng)使用24WC16 時最多只可連接1 個器件所有地址管腳A0 A1 A2 都未用管腳可以連接到Vss 或懸空WP 寫保護(hù)。如果WP 管腳連接到Vcc 所有的容都被寫保護(hù)只能讀當(dāng)WP 管腳連接到Vss 或懸空允

21、許器件進(jìn)行正常的讀/寫操作。芯片的時序圖:Data ValidityStart and Stop DefinitionOutput Acknowledge集成運(yùn)放NE5534芯片description/ordering informationThe NE5534, NE5534A, SA5534, and SA5534A are high-performance operational amplifiers combiningexcellent dc and ac characteristics. Some of the features include very low noise, hig

22、h output-drive capability,high unity-gain and maximum-output-swing bandwidths, low distortion, and high slew rate.These operational amplifiers are compensated internally for a gain equal to or greater than three. Optimizationof the frequency response for various applications can be obtained by use o

23、f an external compensationcapacitor between COMP and COMP/BAL. The devices feature input-protection diodes, output short-circuitprotection, and offset-voltage nulling capability with use of the BALANCE and COMP/BAL pins (see theapplication circuit diagram).For the NE5534A and SA5534A, a maximum limi

24、t is specified for the equivalent input noise voltage.symbolapplication circuitTLC2543芯片引腳圖,如圖所示:TLC2543概述TLC2543是12位的串行模數(shù)轉(zhuǎn)換器,使用開關(guān)電容逐次逼近技術(shù)完成A/D轉(zhuǎn)換過程。由于是串行輸入結(jié)構(gòu),能夠節(jié)省51系列單片機(jī)的I/O資源;且價格適中,分辨率較高,因此使用較為廣泛。 TLC2543與圍外電路的連線簡單,三個控制輸入端的CS(片選)、輸入/輸出時鐘(I/O CLOCK)以與串行數(shù)據(jù)輸入端(DATE INPUT 。片的14通道多路器可以選擇11個輸入中的任何一個或三個測試

25、電壓中的一個,采樣保持是自動的,轉(zhuǎn)換結(jié)束,EOC輸出變高。引腳號名稱I/O說明19,11,12AINOAIN10I模擬量的輸入端。11路輸入信號由部多路器選通。對于4.1MHZ的I/OCLOCK,驅(qū)動源阻抗必須小于或等于50歐,而且用60PF電容來限制模擬輸入電壓的斜率。15CSI片選端。在CS端由高變低時,部計數(shù)器復(fù)位。由低變高時,在設(shè)定的時間禁止DATAINPUT和I/O CLOCK17DATAINPUT串行數(shù)據(jù)輸入端,由位的串行地址輸入來選擇模擬量的輸入通道。16DATTAOUT0A/D 轉(zhuǎn)換結(jié)果的三態(tài)串行輸出端。為高時處于高阻抗?fàn)顟B(tài),為低時處于激活狀態(tài)。EOC轉(zhuǎn)換輸出端。在最后的下降沿

26、之后,EOC從高電平變?yōu)榈碗娖讲⒈3洲D(zhuǎn)換完成和數(shù)據(jù)準(zhǔn)備傳輸為止。10GND地。是部電路的回路端。除另外說明外,地所有的電壓測量都相對而言。I/O CLOCK輸入輸出時鐘端。I/OCLOCK接收串行輸入信號并完成以下四個功能:(1)在I/O clock 的錢8個上升沿,8為輸入數(shù)據(jù)存入數(shù)據(jù)寄存器。(2)在I/OCLOCK的第四個下降沿,被選通的模擬輸入電壓開始向電容器充電,直到I/OCLOCK的最后一個下降沿為止。(3)將前一次轉(zhuǎn)換數(shù)據(jù)的其余11位輸出到oUT端,在I/ OCLOCK 下降沿時數(shù)據(jù)開始變化。(4)I/OCLOCK 的最后一個下降沿,降轉(zhuǎn)換的控制信號送到部狀態(tài)控制位。14REF+I

27、正基準(zhǔn)電壓端?;鶞?zhǔn)電壓的正端(通常為)被加到,最大的輸入電壓圍由加于本端與端的電壓差決定。REFI負(fù)基準(zhǔn)電壓端,基準(zhǔn)電壓的低端(通常為低)被加到REF-20VCC電源TLC2543引腳、功能與時序一、引腳:TLC2543為20腳DIP封裝,引腳圖如下圖所示。TLC2543具有4線制串行接口,分別為片選端(CS),串行時鐘輸入端(I/O CLOCK),串行數(shù)據(jù)輸入端(DATA IN)和串行數(shù)據(jù)輸出端(DATA OUT)。它可以直接與SPI器件進(jìn)行連接,不需要其他外部邏輯。同時,它還在高達(dá)4MHz的串行速率下與主機(jī)進(jìn)行通信。TLC2543除了具有高速的轉(zhuǎn)換速度外,片還集成了14路多路開關(guān)。其中n路

28、為外部模擬量輸入,3路為片自測電壓輸入。在轉(zhuǎn)換結(jié)束后,EOC引腳變?yōu)楦唠娖?,轉(zhuǎn)換過程中由片時鐘系統(tǒng)提供時鐘,無需外部時鐘。在AD轉(zhuǎn)換器空閑期間,可以通過編程方式進(jìn)入斷電模式,此時器件耗電只有25pA。工作時序:以MSB為前導(dǎo),用CS進(jìn)行12個時鐘傳送的工作時序如下圖所示。1.上電時,EOC=“1”,CS=“1”2.使CS下降,前次轉(zhuǎn)換結(jié)果的MSB即A11位數(shù)據(jù)輸出到Dout供讀數(shù)。3.將輸入控制字的MSB位即C7送到Din,在CS之后tsu=1.425us后,使CLK上升,將Din上的數(shù)據(jù)移入輸入寄存器。4.CLK下降,轉(zhuǎn)換結(jié)果的A10位輸出到Dout供讀數(shù)。5.在第4個CLK下降時,由前4個

29、CLK上升沿移入寄存器的四位通道地址被譯碼,相應(yīng)模入通道接通,其模入電壓開始時對部開關(guān)電容充電。6.第8個CLK上升時,將Din腳的輸入控制字C0位移入輸入寄存器后,Din腳即無效。7.第11個CLK下降,上次AD結(jié)果的最低位A0輸出到Dout供讀數(shù)。至此,I/O數(shù)據(jù)已全部完成,但為實現(xiàn)12位同步,仍用第12個CLK脈沖,且在其第12個CLK下降時,模入通道斷開,EOC下降,本周期設(shè)置的AD轉(zhuǎn)換開始,此時使CS上升。8.經(jīng)過時間tconv=10us,轉(zhuǎn)換完畢,EOC上升。9.使CS下降,轉(zhuǎn)換結(jié)果的MSB位B11輸出到Dout供讀數(shù)。10.將新周期的輸入控制字的MSB位D7送到Din,在CS下降

30、之處,tSU時間處由CLK上升將Din數(shù)據(jù)移入輸入寄存器。11.CLK下降,將AD結(jié)果的B10位輸出到Dout。上電時,第一周期讀取的Dout數(shù)據(jù)無效,應(yīng)舍去。74HC57374HC573 概述74HC573是一款高速CMOS器件,74HC573引腳兼容低功耗肖特基TTL(LSTTL)系列。74HC573包含八路D 型透明鎖存器,每個鎖存器具有獨立的D 型輸入,以與適用于面向總線的應(yīng)用的三態(tài)輸出。所有鎖存器共用一個鎖存使能(LE)端和一個輸出使能(OE)端。當(dāng)LE為高時,數(shù)據(jù)從Dn輸入到鎖存器,在此條件下,鎖存器進(jìn)入透明模式,也就是說,鎖存器的輸出狀態(tài)將會隨著對應(yīng)的D輸入每次的變化而改變。當(dāng)L

31、E為低時,鎖存器將存儲D輸入上的信息一段就緒時間,直到LE的下降沿來臨。當(dāng)OE為低時,8個鎖存器的容可被正常輸出;當(dāng)OE為高時,輸出進(jìn)入高阻態(tài)。OE端的操作不會影響鎖存器的狀態(tài)。74HC573與以下型號邏輯功能一樣:74HC563,但輸出為反相74HC373,但引腳布局不同74HC571的特點:特點:三態(tài)總線驅(qū)動輸出置數(shù)全并行存取緩沖控制輸入使能輸入有改善抗擾度的滯后作用管腳圖如圖所示:芯片uA741通用高增益運(yùn)算通用放大器,雙列直插8腳或圓筒8腳封裝。工作電壓22V,差分電壓30V,輸入電壓18V,允許功耗500mW.其管腳與OP07(超低失調(diào)精密運(yùn)放)一樣。管腳圖如圖所示:芯片的引腳圖如圖

32、所示:AT89S51具有如下特點:40個引腳,4k Bytes Flash片程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片時鐘振蕩器。此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。2管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級

33、開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門

34、電流,當(dāng)P2口被寫“1”時,其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上

35、拉的緣故。P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振

36、蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有部程序存儲器。注意加密方式1時

37、,/EA將部鎖定為RESET;當(dāng)/EA端保持高電平時,此間部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入與部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。ICL7107測試電路ICL7107是一塊應(yīng)用非常廣泛的集成電路。它包含3 1/2位數(shù)字A/D轉(zhuǎn)換器,可直接驅(qū)動LED數(shù)碼管,部設(shè)有參考電壓、獨立模擬開關(guān)、邏輯控制、顯示驅(qū)動、自動調(diào)零功能等。參考電路:第四章 系統(tǒng)軟件設(shè)計軟件要實現(xiàn)的功能是:鍵盤對單片機(jī)輸入數(shù)據(jù),單片機(jī)對獲得的數(shù)據(jù)進(jìn)行處理,送到數(shù)模轉(zhuǎn)換器,再送入數(shù)碼管顯示,實現(xiàn)對電壓的控制。主控程序主控程序首先進(jìn)行系統(tǒng)的

38、初始化,然后顯示電路中的輸出電壓,初始應(yīng)為0V。按下功能轉(zhuǎn)換鍵進(jìn)入預(yù)置電壓環(huán)節(jié),等待鍵盤輸入。根據(jù)鍵盤的不同輸入,按下確定鍵后轉(zhuǎn)入相應(yīng)的應(yīng)用程序。執(zhí)行后,數(shù)碼管顯示電路中的電壓。直到被下一次設(shè)置電壓打斷。初始化函數(shù)進(jìn)入鍵盤掃描函數(shù),并根據(jù)所按鍵的不同運(yùn)行不同的子函數(shù)進(jìn)入檢驗函數(shù),判斷電路中的電流是否超過額定電流,若超過則作出相應(yīng)的反應(yīng)進(jìn)入大循環(huán)過流保護(hù)程序過流保護(hù)由中斷實現(xiàn),通過AD轉(zhuǎn)換檢測電路中的電流,若電流超過額定電流的1.2倍時蜂鳴器發(fā)出警報并在5秒后初始化電路。若電流超過額定電流的1.5倍時立即初始化原電路。判斷,若電流大于額定電壓的1.5倍,立刻進(jìn)行初始化判斷,若電流大于額定電壓的1

39、.2倍,進(jìn)入中斷,同時蜂鳴器發(fā)出報警,并在5秒后進(jìn)行初始化。3鍵盤顯示程序剛上電時,數(shù)碼管顯示的是電路的輸出電壓。當(dāng)?shù)谝淮伟聪骆I一(即s1)時,進(jìn)入設(shè)置步進(jìn)初值的模式,數(shù)碼管顯示設(shè)置的初始步進(jìn)值(用s2和s3分別控制步進(jìn)初值的增減),按下s4為確定鍵,此時數(shù)碼管顯示為電路輸出電壓。當(dāng)數(shù)碼管顯示輸出電壓時,若連續(xù)按下兩次s1則進(jìn)入常用電壓設(shè)置,用s2和s3分別控制常用電壓的增減,其中常用電壓有3V,5V,6V,9V,12V。按下s4為確定鍵,數(shù)碼管顯示為電路輸出電壓。當(dāng)數(shù)碼管顯示為電路輸出電壓,連續(xù)三次按下s1則進(jìn)入步步函數(shù),此時電路的輸出電壓以原電路的輸出電壓為基礎(chǔ)步步增大或減小,步進(jìn)值為0.

40、1V。增加到13V時開始減小,并在減小到0V時漸次增大。當(dāng)再次按下s1鍵時停止步步函數(shù)。在按下確定鍵后再按一次s4則為鎖定,此時再按s1,s2,s3鍵均無效,知道再次按下s4鍵解鎖。第八章 心得體會附錄一:完整的系統(tǒng)源代碼:#include#define uchar unsigned char#define uint unsigned int/*變量解釋:num0 輸出電壓除以AD芯片(TLC2543)的讀取電壓的比值num1 num1的值為放大比例,即輸出電流除以DA芯片(DAC0832)的輸出電壓*100(即顯示的值)的比值max 當(dāng)電路中電流為最大時,AD輸出的電流*/#define n

41、um0 1#define num1 1#define max 1/*變量解釋:flag 判斷是否鎖定鍵盤flag1 常用電壓的設(shè)定flag0 判斷DA值為bujin,還是常用電壓,還或是bubu函數(shù)s1num s1按鍵的值s4num s4按鍵的值a 判斷bubu程序是加還是減*/uchar s1num,s4num,flag,flag1,flag0, qian,bai,shi,ge,a;/*變量解釋:shu 輸出電壓的顯示值yibu 自動步進(jìn)的DA值bujin 步進(jìn)的設(shè)定值*/uint shu,yibu,bujin;uchar code table1=/normal number0 x3f,0

42、x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;uchar code table2= /+.number0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xdf;uchar code table3=/常用電壓0 x12c,0 x1f4,0 x258,0 x384,0 x4b0;sbit SCL=P17;/I2C的數(shù)據(jù)/地址傳輸端sbit SDA=P16;/I2C的時鐘端sbit dula=P32;/數(shù)碼管的段選,用來選擇數(shù)碼管顯示的數(shù)字sbit wela=P37;/數(shù)碼管的位選

43、,用來選擇顯示的數(shù)碼管sbit csda=P14;/DAC0832的片選信號端sbit wr=P15;/外部寫控制sbit s1=P30;/按鍵1,即功能切換鍵sbit s2=P31;/按鍵2,即增加鍵sbit s3=P35;/按鍵3,即減小鍵sbit s4=P36;/按鍵4,即鎖定解鎖鍵sbit ADEOC=P24;/AD轉(zhuǎn)換結(jié)束端,在最后的I/O CLOCK下降沿之后,/EOC從高電平變?yōu)榈碗娖讲⒈3值睫D(zhuǎn)換完成和數(shù)據(jù)準(zhǔn)備傳輸為止sbit ADCLOCK=P23;/輸入輸出時鐘端sbit ADIN=P22;/串行數(shù)據(jù)輸入端sbit ADOUT=P21;/AD轉(zhuǎn)換結(jié)果的串行輸出端sbit ad

44、cs=P20;/AD的片選端sbit di=P27;/蜂鳴器void delay();/延時一微秒左右void delayms(uint z);/延時單位為毫秒void init();/初始化函數(shù)void keyscan();/鍵盤掃描函數(shù)/*I2C函數(shù)聲明*/void start();/開始I2C通訊void stop();/停止I2C通訊void respons();/應(yīng)答void write_byte(uchar date);/寫數(shù)據(jù)uchar read_byte();/讀數(shù)據(jù)void write_add(uchar address,uchar date);/在指定地址寫數(shù)據(jù)uchar

45、read_add(uchar address);/在指定地址讀數(shù)據(jù)/*I2C函數(shù)聲明*/void display(uchar qian,uchar bai,uchar shi,uchar ge);/數(shù)碼管顯示,格式為XXXXvoid didi();/若電流超過1A的1.2倍時過5秒初始化,1A的1.5倍時直接初始化void dastart(uint x);/DA開始,并輸出指定電壓,其中x為需要輸出的電壓void xianshu();/顯示電路中的電流void shebujin();/設(shè)定并顯示設(shè)定的步進(jìn)電壓void shechang();/設(shè)定并顯示設(shè)定的常用電壓void bubu();/b

46、ubu每隔0.5秒輸出電壓變化0.1V,先增大,至超過13V時,再減小void bubustart();/開始bubu函數(shù)模式,數(shù)碼管顯示電路中的電壓void bubustop();/結(jié)束bubu函數(shù)模式,數(shù)碼管顯示電路中的電壓uint adwork();/讀取AD芯片的數(shù)據(jù)即測得的電流,但由于有乘以相應(yīng)的系數(shù),所以輸出結(jié)果為輸出端的電壓/*=主函數(shù)=*/void main()init();while(1)keyscan();if(s1num=0)xianshu();/顯示輸出電壓函數(shù)if(s1num=1)shebujin();/設(shè)定步進(jìn)電壓函數(shù)if(s1num=2)shechang();/設(shè)

47、定常用電壓函數(shù)if(s1num=0)if(flag0=1)dastart(bujin);/使DA芯片輸出指定的步進(jìn)電壓的相應(yīng)電流if(flag0=2)dastart(table3flag1);/使DA芯片輸出指定的常用電壓的相應(yīng)電流if(flag0=3)bubustart();/開始bubu函數(shù)if(flag0!=3)bubustop();/結(jié)束步步函數(shù)didi();/*=主函數(shù)=*/void init()di=1;/蜂鳴器,關(guān)閉wela=0;/數(shù)碼管,關(guān)閉dula=0;csda=1;/DA初始化,關(guān)閉wr=1;SDA=1;/I2C通訊,關(guān)閉delay();SCL=1;delay();TMOD

48、=0 x11;TH0=(65536-50000)/256;/初始化定時器0,關(guān)閉TL0=(65536-50000)%256;EA=1;ET0=1;TR0=0;TH1=(65536-50000)/256;/初始化定時器1,關(guān)閉TL1=(65536-50000)%256;EA=1;ET1=1;TR1=0;shu=0;bujin=0;yibu=0;s1num=0;s4num=0;flag=0;flag0=0;flag1=0;void delay() ; ; void delayms(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*=*/*=DA轉(zhuǎn)換=

49、*/*=*/void dastart(uint x)dula=0;/關(guān)閉數(shù)碼管顯示wela=0;csda=0;/開啟DAwr=0;P0=x*num1;/P0為DA接口,num1的值為放大比例,即輸出電流除以DA芯片(DAC0832)的輸出電壓*100(即顯示的值)的比值delayms(200);/*=*/*=DA轉(zhuǎn)換=*/*=*/*=*/*=數(shù)碼管顯示函數(shù)=*/*=*/void display(uchar qian,uchar bai,uchar shi,uchar ge)csda=1;/關(guān)閉DAwr=1; dula=1;P0=table1qian;dula=0;P0=0 xff;wela=1

50、;P0=0 x7f;wela=0;delayms(5); dula=1;P0=table2bai;/table2輸出的值,加有小數(shù)點dula=0;P0=0 xff;wela=1;P0=0 xbf;wela=0;delayms(5);dula=1;P0=table1shi;dula=0;P0=0 xff;wela=1;P0=0 xdf;wela=0;delayms(5);dula=1;P0=table1ge;dula=0;P0=0 xff;wela=1;P0=0 xef;wela=0;delayms(5);/*=*/*=數(shù)碼管顯示函數(shù)=*/*=*/void didi()if(adwork()=m

51、ax*1.5)init();/讓電路初始化if(adwork()=max*1.2)di=0;TR0=1;void timer0() interrupt 1/用于當(dāng)電流超過1.2倍時過5秒復(fù)位uchar aa=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa+;if(aa=20*5) aa=0;init();/讓電路初始化 void timer1() interrupt 3/用于bubu函數(shù)的每秒步進(jìn)0.1Vuchar tt=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt+;if(tt=10) tt

52、=0;bubu(); if(s1=0)delayms(5);if(s1=0)TR1=0;/關(guān)閉定時器,即關(guān)閉bubu函數(shù)/*=*/*=*/*=I2C總線通訊讀寫,啟動,停止函數(shù)=*/*=*/void start()/啟動I2C總線的函數(shù)SDA=1;delay();SCL=1;delay();SDA=0;delay();void stop()/終止I2C總線的函數(shù)SDA=0;delay();SCL=1;delay();SDA=1;delay();void respons()uchar i=0;SCL=1;delay();while(SDA=1)&(i250)i+;SCL=0;delay();vo

53、id write_byte(uchar date)uchar i,temp;temp=date;for(i=0;i12;i+)temp=temp1;SCL=0;delay();SDA=CY;delay();SCL=1;delay();SCL=0;delay();SDA=1;delay();uchar read_byte()uchar i,j,k;SCL=0;delay();SDA=1;delay();for(i=0;i12;i+)SCL=1;delay();j=SDA;k=(k1)|j;SCL=0;delay();return k;void write_add(uchar address,uc

54、har date)start();write_byte(0 xa0);/*器件地址,EEPROM默認(rèn)前四位為1010,第8位是數(shù)據(jù)的傳送方向位(R/T),0表示主機(jī)發(fā)送數(shù)據(jù)(T),1表示主機(jī)接收數(shù)據(jù)(R)。*/respons();write_byte(address);/器件部存儲器的地址,為隨便任意數(shù)respons();write_byte(date);/寫函數(shù)respons();stop();uchar read_add(uchar address)uchar date;start();write_byte(0 xa0);respons();write_byte(address);resp

55、ons();start();write_byte(0 xa1);respons();date=read_byte();stop();return date;/*=*/*=I2C總線通訊讀寫,啟動,停止函數(shù)=*/*=*/*=*/*=*/*=*/*=AD轉(zhuǎn)換=*/*=*/uint adwork()/讀出上一次AD值,并開始下一次轉(zhuǎn)換uint din=0;uchar dout,i;dout=0 x0c;/選擇控制命令0000 1011,0000指選擇的通道,10數(shù)據(jù)長度12bits,1前導(dǎo)選擇LSB first,1單雙極性選擇Bipolarwhile(ADEOC=0);/等待上一次通訊完成,EOC自動置一ADCLOCK=0;/EOC,CS置零開始本次通訊adcs=0;for(i=0;i16;i-)if(dout&0 x80)/1000 0000ADIN=1;/控制命令從MSB-LSB,向AD發(fā)數(shù),adin為端口號elseADIN=0;ADCLOCK=1;/時鐘一個周期開始,讀數(shù)據(jù)dout=1;/左移,準(zhǔn)備輸入下一位值din4);/16位,右移四位變?yōu)?2位精度 /

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論