基于單片機數(shù)控直流電源設(shè)計畢業(yè)論文_第1頁
已閱讀1頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p>  本次我們所設(shè)計的數(shù)控直流穩(wěn)壓電源與傳統(tǒng)的穩(wěn)壓電源相比,具有操作方便,電壓穩(wěn)定度高的特點,其輸出電壓大小采用數(shù)字顯示,輸出電壓的大小調(diào)節(jié)通過“+”、“-”兩鍵操作,分別作加、減電壓控制,單片機將根據(jù)按鍵鎖進行的操作增加或減小D/A轉(zhuǎn)換電路的輸入數(shù)值,D/A轉(zhuǎn)換器將數(shù)字量按比例轉(zhuǎn)換成模擬電壓,然后經(jīng)過射極跟隨器控制調(diào)整輸出級輸出所需的穩(wěn)定電壓。并ICH7

2、07芯片實時測試顯示輸出電壓的變化,使設(shè)計更加人性化。</p><p>  第二章 方案論證及比較</p><p><b>  2.1 控制器部分</b></p><p>  方案一:應(yīng)用PIC芯片作為控制器。PIC單片機系列是美國微芯公司(Microship)的產(chǎn)品,是當前市場份額增長最快的單片機之一。PIC系列單片機的I/O口是雙向的,其輸

3、出電路為CMOS互補推挽輸出電路。I/O腳增加了用于設(shè)置輸入或輸出狀態(tài)的方向寄存器(TRISn , 其中n對應(yīng)各口,如A、B、C、D、E等),從而解決了51系列I/O腳為高電平時同為輸入和輸出的狀態(tài)。當置位1時為輸入狀態(tài),且不管該腳呈高電平或低電平,對外均呈高阻狀態(tài);置位0時為輸出狀態(tài),不管該腳為何種電平,均呈低阻狀態(tài),有相當?shù)尿?qū)動能力,低電平吸入電流達25mA,高電平輸出電流可達20mA。相對于51系列而言,這是一個很大的優(yōu)點,它可以

4、直接驅(qū)動數(shù)碼管顯示且外電路簡單。它的A/D為10位,能滿足精度要求。具有在線調(diào)試及編程(ISP)功能。</p><p>  方案二:應(yīng)用AT89S51作為控制器。51系列優(yōu)點之一是它從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),稱作位處理器,或布爾處理器。它的處理對象不是字或字節(jié)而是位。它不光能對片內(nèi)某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應(yīng)手

5、。51系列的另一個優(yōu)點是乘法和除法指令,這給編程也帶來了便利。而且,51系列的I/O腳的設(shè)置和使用非常簡單,當該腳作輸入腳使用時,只須將該腳設(shè)置為高電平(復位時,各I/O口均置高電平)。當該腳作輸出腳使用時,則為高電平或低電平均可。低電平時,吸入電流可達20mA,具有一定的驅(qū)動能力;而為高電平時,輸出電流僅數(shù)十μA甚至更?。娏鲗嶋H上是由腳的上拉電流形成的),基本上沒有驅(qū)動能力。</p><p>  PIC芯片的

6、內(nèi)置很強大,但是一方面它的價格比較昂貴,另一方面,也是由于我們對PIC不大了解,沒有試驗過,所以,我們選擇了51作為我們的控制器。這樣一來,我們實現(xiàn)一些功能就必須要加外圍電路了。</p><p><b>  2.2 顯示部分</b></p><p>  方案一 :使用LED顯示。優(yōu)點:可是角度寬,價格便宜。缺點:顯示的內(nèi)容少,介面呆板,而且占用較多的IO口資源。<

7、;/p><p>  方案二 :使用1602液晶顯示器??梢暶娣e大,介面美觀,抗干擾能力強,調(diào)用方便簡單,而且可以節(jié)省軟件中斷資源,應(yīng)用串行連接,節(jié)省I/O口資源。</p><p>  這次,我們選用了LED作為我們的顯示器。因為1602液晶顯示器相對來說比較昂貴,而且我們的顯示部分只是顯示電壓的輸出值。用四位數(shù)碼管就可以實現(xiàn)。但是,使用LED占用了比較多的I/O資源。</p>&

8、lt;p><b>  2.3 電源部分</b></p><p>  方案一:三端固定輸出電壓式穩(wěn)壓電源78XX系列運用其器件內(nèi)部電路來實現(xiàn)過壓保護、過流保護、過熱保護 。這使它的性能很穩(wěn)定。能夠?qū)崿F(xiàn)1A以上的電流 器件具有良好的溫度系數(shù)。并且有多種電壓輸出值5V~24V,因此產(chǎn)品的應(yīng)用范圍很泛 。可以運用本地調(diào)節(jié)來消除噪聲影響,解決了與單點調(diào)節(jié)相關(guān)的分散問題輸出電壓誤差精度分為

9、7;3%和±5% 。</p><p><b>  方案二:</b></p><p>  LM117/LM317 是美國國家半導體公司的三端可調(diào)正穩(wěn)壓器集成電路。LM117/LM317 的輸出電壓范圍是1.2V至37V,負載電流最大為1.5A。它的使用非常簡單,僅需兩個外接電阻來設(shè)置輸出電壓。此外它的線性調(diào)整率和負載調(diào)整率也比標 準的固定穩(wěn)壓器好。LM117/

10、LM317 內(nèi)置有過載保護、安全區(qū)保護等多種保護電路。通常 LM117/LM317 不需要外接電容,除非輸入濾波電容到 LM117/LM317 輸入端的連線超過 6 英寸(約 15 厘米)。使用輸出電容能改變瞬態(tài)響應(yīng)。調(diào)整端使用濾波電容能得到比標準三端穩(wěn)壓器高的多的紋波抑制比。LM117/LM317能夠有許多特殊的用法。比如 把調(diào)整端懸浮到一個較高的電壓上,可以用來調(diào)節(jié)高達數(shù)百伏的電壓,只要輸入輸出壓差不超過117/LM317的極限就行

11、。當然還要避免輸出端短路。還 可以把調(diào)整端接到一個可編程電壓上,實現(xiàn)可編程的電源輸出。</p><p>  通過比較分析,此次我們選擇了78XX系列芯片來實現(xiàn)我們的電源輸出。因為78XX系列的芯片能滿足我們的四個固定電壓的輸出。</p><p>  第三章 主要電路單元的設(shè)計</p><p>  本系統(tǒng)由電源模塊、調(diào)壓模塊、D/A轉(zhuǎn)換模塊、顯示與鍵盤模塊組成。系統(tǒng)電

12、路結(jié)構(gòu)原理圖,如圖所示:</p><p><b>  +</b></p><p><b>  電路設(shè)計:</b></p><p>  1.整流、濾波電路設(shè)計。</p><p>  首先確定整流電路結(jié)構(gòu)為橋式電路,選用大的電解電容對輸入的電流進行濾波處理。電路如圖所示:</p><

13、p><b>  整流濾波電路</b></p><p>  該整流濾波電路中,220V 的市電輸入到電路中,經(jīng)過一個整流橋堆整流電路 。整流電路的任務(wù)是將電網(wǎng)供給的交流電變換成脈動的直流電,通常利用二極管的單向?qū)щ娦詠韺崿F(xiàn)。一般分為半波整流/全波整流/橋式整流/被壓整流等,而橋堆就是用在橋式整流中的。通過整流橋堆后的電壓為U=U0*1.2。U0為經(jīng)過變壓器變壓后的輸出電壓。經(jīng)過

14、整流后的電壓用兩個電容實現(xiàn)濾波處理。</p><p><b>  2.電源電路</b></p><p>  該電源電路采用了四個三端集成穩(wěn)壓器來為電路輸出電路所需要的各種電壓。一般三集成穩(wěn)壓電路的最小輸入、輸出電壓差約為2V,否則不能輸出穩(wěn)定的電壓,使電壓差保持在4-5V,即經(jīng)變壓器變壓,二極管整流,電容器濾波后的電壓應(yīng)比穩(wěn)壓值高一些 。78系列的三端穩(wěn)壓器能夠輸出正

15、的電壓。79系列的三端穩(wěn)壓器輸出是負電壓。由于該電路的芯片發(fā)熱較大,一般要加上合適的散熱片散熱保護電路。芯片分三個引腳,輸入、輸出和接地,三個引腳不能接反,否則容易燒化電路。</p><p><b>  3.放大電路:</b></p><p>  這部分電路是實現(xiàn)電壓放大的電路。電路的比較放大采用運放NE5534來設(shè)計,該器件具有共模抑制比高,響應(yīng)速度快和壓擺率高的特

16、點。設(shè)計時可由R10、R11A、R12組成分壓取樣電路,并要求R10/(R11A+R12)=1/4,即當輸出電壓存在△UO=0.05 V時,△Ua=0.04 V,這與DAC的輸出(10/255=0.04V=1LSB)變化一致。事實上,經(jīng)過DAC轉(zhuǎn)換以將電流轉(zhuǎn)換為電壓并進行電壓放大后,即可將得到的10 V電壓送比較器NE54534的同相端作為比較的基準電壓。由于DAC0832是8位的D/A轉(zhuǎn)換器,故有255步進。由此,當CPU控制DAC變

17、化1LSB時,其對應(yīng)Va的變化為0.04 V,故Uout的可調(diào)變化量為0.05 V(步長)。NE5534和Q1、Q3及取樣電路構(gòu)成的負反饋電路可實現(xiàn)調(diào)節(jié)輸出電壓的目的(穩(wěn)壓)。</p><p>  電路中的過流保護由R9與Q2完成。當Io>0.7A時,VR9=R9Io≥1×0.7=0.7 V,此時Q2導通,并對調(diào)整管Q3的基極分流,使TIP41的導通電阻增大,輸出電壓降低,從而達到過流保護的目的。

18、該系統(tǒng)的短路保護采用保險管來完成。</p><p>  該電路的數(shù)模轉(zhuǎn)換電路是由DAC0832、兩級低漂移的運放μA714和VREF電路組成。DAC0832和運放U3A將CPU發(fā)出的8位二進制數(shù)據(jù)轉(zhuǎn)換成0~-5 V的電壓,然后經(jīng)運放U3B反向放大2倍,以得到0~10 V電壓。因此,該DAC的轉(zhuǎn)換分辨率為10/(28-1)=0.04 V,即CPU輸出給DAC的數(shù)據(jù)變化為1 Bit,DAC輸出電壓的變化為0.04 V

19、。VREF電路為DAC提供基準電壓,調(diào)節(jié)R5A,可使基準電壓保持為5 V。</p><p>  8位數(shù)模轉(zhuǎn)換器DAC0832芯片</p><p>  1. 引腳及其功能</p><p>  DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。圖1-1和圖1-2分別為DAC0832的引腳圖和內(nèi)部結(jié)構(gòu)圖。其主要參數(shù)如下 :分辨率為8

20、位,轉(zhuǎn)換時間為1μs,滿量程誤差為±1LSB,參考電壓為(+10?/span>-10)V,供電電源為(+5~+15)V,邏輯電平輸入與TTL兼容。從圖1-1中可見, 在DAC0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器,它的允許鎖存信號為ILE,第二級鎖存器稱為DAC寄存器,它的鎖存信號也稱為通道控制信號 /XFER。</p><p>  DAC0832引腳圖如圖所示:</p>

21、<p>  圖中,當ILE為高電平,片選信號 /CS 和寫信號 /WR1為低電平時,輸入寄存器控制信號為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當 /WR1 由低電平變高時,控制信號成為低電平,此時,數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)DB的變化而變化。</p><p>  對第二級鎖存來說,傳送控制信號 /XFER 和寫信號 /WR2同時為低電平時,二級鎖存控

22、制信號為高電平,8位的DAC寄存器的輸出隨輸入而變化,此后,當 /WR2由低電平變高時,控制信號變?yōu)榈碗娖?,于是將輸入寄存器的信息鎖存到DAC寄存器中。</p><p>  圖中其余各引腳的功能定義如下:</p><p>  (1)、DI7~DI0 :8位的數(shù)據(jù)輸入端,DI7為最高位。</p><p>  (2)、IOUT1 :模擬電流輸出端1,當DAC寄存器中數(shù)

23、據(jù)全為1時,輸出電流最大,當 DAC寄存器中數(shù)據(jù)全為0時,輸出電流為0。</p><p>  (3)、IOUT2 :模擬電流輸出端2, IOUT2與IOUT1的和為一個常數(shù),即IOUT1+IOUT2=常數(shù)。</p><p>  (4)、RFB :反饋電阻引出端,DAC0832內(nèi)部已經(jīng)有反饋電阻,所以 RFB端可以直接接到外部運算放大器的輸出端,這樣相當于將一個反饋電阻接在運算放大器 的輸出

24、端和輸入端之間。</p><p>  (5)VREF :參考電壓輸入端,此端可接一個正電壓,也可接一個負電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,VREF范圍為(+10~-10)V。 VREF端與D/A內(nèi)部T形電阻網(wǎng)絡(luò)相連。</p><p>  (6)、Vcc :芯片供電電壓,范圍為(+5~ 15)V。</p><p>  (7)、AGND :模擬

25、量地,即模擬電路接地端。</p><p>  (8)、DGND :數(shù)字量地。 </p><p><b>  4.鍵盤模塊</b></p><p>  當輸出電壓經(jīng)R13限流和R14取樣后,即可送入TLC2453-1進行模數(shù)轉(zhuǎn)換。圖中的TLC2453-1為11通道、12位串行A/D轉(zhuǎn)換器,具有12位分辨率,轉(zhuǎn)換時間為10μs,有11個模擬輸入通道

26、,3路內(nèi)置自測試方式,采樣率為66 kbps,線性誤差±1LSBmax,同時帶有轉(zhuǎn)換結(jié)果輸出EOC,并可單、雙極性輸出。通過其可編程的MSB或LSB前導可編程輸出數(shù)據(jù)長度。 TLC2453-1的時鐘頻率選用4.1 MHz,電源輸出電壓Uo的取樣信號從IN0輸入,芯片的I/O時鐘端、數(shù)據(jù)輸入端、轉(zhuǎn)換數(shù)據(jù)輸出端、片選端分別與AT89S51單片機的P0.0,P0.1,P0.2,P0.3相連,然后經(jīng)單片機處理后從P0口輸出,在經(jīng)芯片M

27、C74HC573N驅(qū)動后送入數(shù)碼管,通過數(shù)碼管顯示輸出電壓。電路中AT89S51單片機的晶振頻率選用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)按鍵鎖定和解鎖的功能,防止誤觸造成不便。</p><p><b>  5.電壓顯示電路&

28、lt;/b></p><p>  該部分電路通過運用兩個MC74HC573N芯片控制數(shù)碼管的位選和段選,并且,都將</p><p>  他們接在AT89S51的主芯片的P0.0~P0.7口上進行對數(shù)碼管的控制。通過數(shù)碼管的時時檢測來知道電路電壓輸出的大小。</p><p>  電壓顯示電路,如下圖所示:</p><p>  電路按一般的

29、接法,在段,位選口上接上上拉電阻。并用三極管實現(xiàn)電路電流的放大小效果。</p><p>  數(shù)碼管使用四位計數(shù),使數(shù)碼管的顯示可以達到0.01V的精確要求。</p><p><b>  6.主芯片電路控制</b></p><p>  該部分電路采用了最基本的AT89S51為基核,通過對該芯片編程,使芯片實現(xiàn)各種強大的功能。</p>

30、<p>  該部分電路的電路圖,如圖所示:</p><p>  該部分電路通過控制AT89S51芯片的IO口實現(xiàn)電路的各項控制功能。通過控制P3.0,P3.1,P3.5,P3.6口實現(xiàn)按鍵的調(diào)節(jié)設(shè)置電壓功能;通過控制芯片的P0口接的譯碼驅(qū)動器MC74HC573N芯片實現(xiàn)電壓的時時跟蹤顯示功能;通過D/A和A/D的轉(zhuǎn)換,實現(xiàn)電路的數(shù)模和模數(shù)轉(zhuǎn)換等。</p><p><b&g

31、t;  MC78系列</b></p><p><b>  24C02芯片</b></p><p><b>  概述:</b></p><p>  CAT24WC01/02/04/08/16 是一個1K/2K/4K/8K/16K 位串行CMOS E2PROM 內(nèi)部含有128/256/512/1024/2048 個

32、8 位字節(jié)CATALYST 公司的先進CMOS 技術(shù)實質(zhì)上減少了器件的功耗CAT24WC01 有一個8 字節(jié)頁寫緩沖器CAT24WC02/04/08/16 有一個16 字節(jié)頁寫緩沖器該器件通過I2C 總線接口進行操作有一個專門的寫保護功能。</p><p><b>  管腳描述:</b></p><p><b>  SCL 串行時鐘</b><

33、;/p><p>  CAT24WC01/02/04/08/16 串行時鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘這是一個輸入管腳。</p><p>  SDA 串行數(shù)據(jù)/地址</p><p>  CAT24WC01/02/04/08/16 雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收SDA 是一個開漏,輸出管腳可與其它開漏輸出或集電極開路輸出進行線或wire-

34、ORA0 A1 A2 器件地址輸入端這些輸入腳用于多個器件級聯(lián)時設(shè)置器件地址當這些腳懸空時默認值為0 24WC01 除外。</p><p>  當使用24WC01 或24WC02 時最大可級聯(lián)8 個器件如果只有一個24WC02 被總線尋址這三個地址輸入腳A0 A1 A2 可懸空或連接到Vss 如果只有一個24WC01 被總線尋址這三個地址輸入腳A0 A1 A2 必須連接到Vss。</p><p

35、>  當使用24WC04 時最多可連接4 個器件該器件僅使用A1 A2 地址管腳A0 管腳未用可以連接到Vss 或懸空如果只有一個24WC04 被總線尋址A1 和A2 地址管腳可懸空或連接到Vss。</p><p>  當使用24WC08 時最多可連接2 個器件且僅使用地址管腳A2 A0 A1 管腳未用可以連接到</p><p>  Vss 或懸空如果只有一個24WC08 被總線尋址

36、A2 管腳可懸空或連接到Vss。</p><p>  當使用24WC16 時最多只可連接1 個器件所有地址管腳A0 A1 A2 都未用管腳可以連接到</p><p>  Vss 或懸空WP 寫保護。</p><p>  如果WP 管腳連接到Vcc 所有的內(nèi)容都被寫保護只能讀當WP 管腳連接到Vss 或懸空允許器件進行正常的讀/寫操作。</p><

37、p><b>  芯片的時序圖:</b></p><p>  Data Validity </p><p>  Start and Stop Definition</p><p>  Output Acknowledge</p><p>  集成運放NE5534芯片</p><p>  des

38、cription/ordering information</p><p>  The NE5534, NE5534A, SA5534, and SA5534A are high-performance operational amplifiers combiningexcellent dc and ac characteristics. Some of the features include very low

39、 noise, high output-drive capability,high unity-gain and maximum-output-swing bandwidths, low distortion, and high slew rate.</p><p>  These operational amplifiers are compensated internally for a gain equal

40、 to or greater than three. Optimizationof the frequency response for various applications can be obtained by use of an external compensationcapacitor between COMP and COMP/BAL. The devices feature input-protection diodes

41、, output short-circuit</p><p>  protection, and offset-voltage nulling capability with use of the BALANCE and COMP/BAL pins (see theapplication circuit diagram).</p><p>  For the NE5534A and SA5

42、534A, a maximum limit is specified for the equivalent input noise voltage.</p><p><b>  symbol</b></p><p>  application circuit</p><p><b>  TLC2543</b></p&

43、gt;<p>  芯片引腳圖,如圖所示:</p><p><b>  TLC2543概述</b></p><p>  TLC2543是12位的串行模數(shù)轉(zhuǎn)換器,使用開關(guān)電容逐次逼近技術(shù)完成A/D轉(zhuǎn)換過程。由于是串行輸入結(jié)構(gòu),能夠節(jié)省51系列單片機的I/O資源;且價格適中,分辨率較高,因此使用較為廣泛。</p><p>  TLC25

44、43與圍外電路的連線簡單,三個控制輸入端的CS(片選)、輸入/輸出時鐘(I/O CLOCK)以及串行數(shù)據(jù)輸入端(DATE INPUT 。片內(nèi)的14通道多路器可以選擇11個輸入中的任何一個或三個測試電壓中的一個,采樣保持是自動的,轉(zhuǎn)換結(jié)束,EOC輸出變高。</p><p>  TLC2543引腳、功能及時序</p><p><b>  一、引腳:</b></p&g

45、t;<p>  TLC2543為20腳DIP封裝,引腳圖如下圖所示。</p><p>  TLC2543具有4線制串行接口,分別為片選端(CS),串行時鐘輸入端(I/O CLOCK),串行數(shù)據(jù)輸入端(DATA IN)和串行數(shù)據(jù)輸出端(DATA OUT)。它可以直接與SPI器件進行連接,不需要其他外部邏輯。同時,它還在高達4MHz的串行速率下與主機進行通信。</p><p> 

46、 TLC2543除了具有高速的轉(zhuǎn)換速度外,片內(nèi)還集成了14路多路開關(guān)。其中n路為外部模擬量輸入,3路為片內(nèi)自測電壓輸入。在轉(zhuǎn)換結(jié)束后,EOC引腳變?yōu)楦唠娖?,轉(zhuǎn)換過程中由片內(nèi)時鐘系統(tǒng)提供時鐘,無需外部時鐘。在AD轉(zhuǎn)換器空閑期間,可以通過編程方式進入斷電模式,此時器件耗電只有25pA。</p><p><b>  工作時序 :</b></p><p>  以MSB為前導,

47、 用CS進行12個時鐘傳送的工作時序如下圖所示。</p><p>  1.上電時,EOC=“1”,CS=“1”</p><p>  2.使CS下降,前次轉(zhuǎn)換結(jié)果的MSB即A11位數(shù)據(jù)輸出到Dout供讀數(shù)。</p><p>  3.將輸入控制字的MSB位即C7送到Din,在CS之后tsu>=1.425us后,使CLK上升,將Din上的數(shù)據(jù)移入輸入寄存器。<

48、/p><p>  4.CLK下降,轉(zhuǎn)換結(jié)果的A10位輸出到Dout供讀數(shù)。</p><p>  5.在第4個CLK下降時,由前4個CLK上升沿移入寄存器的四位通道地址被譯碼,相應(yīng)模入通道接通,其模入電壓開始時對內(nèi)部開關(guān)電容充電。</p><p>  6.第8個CLK上升時,將Din腳的輸入控制字C0位移入輸入寄存器后,Din腳即無效。</p><p&

49、gt;  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上升。</p><p>  8.經(jīng)過時間tconv<=10us,轉(zhuǎn)換完畢,EOC上升。</p><p>  9.使CS下降,轉(zhuǎn)換結(jié)果的MSB位B

50、11輸出到Dout供讀數(shù)。</p><p>  10.將新周期的輸入控制字的MSB位D7送到Din,在CS下降之處,tSU時間處由CLK上升將Din數(shù)據(jù)移入輸入寄存器。</p><p>  11.CLK下降,將AD結(jié)果的B10位輸出到Dout。</p><p>  上電時,第一周期讀取的Dout數(shù)據(jù)無效,應(yīng)舍去。</p><p><b&

51、gt;  74HC573</b></p><p>  74HC573 概述  74HC573是一款高速CMOS器件,74HC573引腳兼容低功耗肖特基TTL(LSTTL)系列?! ?4HC573包含八路D 型透明鎖存器,每個鎖存器具有獨立的D 型輸入,以及適用于面向總線的應(yīng)用的三態(tài)輸出。所有鎖存器共用一個鎖存使能(LE)端和一個輸出使能(OE)端?! ‘擫E為高時,數(shù)據(jù)從Dn輸入到鎖存器,在此條

52、件下,鎖存器進入透明模式,也就是說,鎖存器的輸出狀態(tài)將會隨著對應(yīng)的D輸入每次的變化而改變。當LE為低時,鎖存器將存儲D輸入上的信息一段就緒時間,直到LE的下降沿來臨?! ‘擮E為低時,8個鎖存器的內(nèi)容可被正常輸出;當OE為高時,輸出進入高阻態(tài)。OE端的操作不會影響鎖存器的狀態(tài)。  74HC573與以下型號邏輯功能相同:  74HC563,但輸出為反相  74HC373,但引腳布局不同</p><p>  

53、74HC571的特點:</p><p>  特點: ·三態(tài)總線驅(qū)動輸出 ·置數(shù)全并行存取 ·緩沖控制輸入 ·使能輸入有改善抗擾度的滯后作用</p><p><b>  管腳圖如圖所示:</b></p><p><b> ?。眨粒罚矗毙酒?lt;/b

54、></p><p>  uA741通用高增益運算通用放大器,雙列直插8腳或圓筒8腳封裝。工作電壓±22V,差分電壓±30V,輸入電壓±18V,允許功耗500mW.其管腳與OP07(超低失調(diào)精密運放)一樣。</p><p><b>  管腳圖如圖所示:</b></p><p><b> ?。粒裕福梗樱?/p>

55、1</b></p><p>  芯片的引腳圖如圖所示:</p><p>  AT89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 </

56、p><p>  此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位。</p><p><b>  2.管腳說明:</b></p><p><b>  VCC:

57、供電電壓。</b></p><p><b>  GND:接地。</b></p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,

58、此時P0外部必須被拉高。</p><p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p>  P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可

59、接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p&

60、gt;<p>  P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p><p&g

61、t;  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1)</p><p>  P3.4 T0(記時器0外部輸入)</p><p>  P3.5 T1(記時器1外部輸入)</p><p>  P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)

62、存儲器讀選通)</p><p>  P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p>  RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p>  ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期

63、輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>  /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取

64、指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p>  /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p>

65、<p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p>  XTAL2:來自反向振蕩器的輸出。</p><p>  ICL7107測試電路 </p><p>  ICL7107是一塊應(yīng)用非常廣泛的集成電路。它包含3 1/2位數(shù)字A/D轉(zhuǎn)換器,可直接驅(qū)動LED數(shù)碼管,內(nèi)部設(shè)有參考電壓、獨立模擬開關(guān)、邏輯控制、顯示驅(qū)動、自動

66、調(diào)零功能等。參考電路:</p><p>  第四章 系統(tǒng)軟件設(shè)計</p><p>  軟件要實現(xiàn)的功能是:鍵盤對單片機輸入數(shù)據(jù),單片機對獲得的數(shù)據(jù)進行處理,送到數(shù)模轉(zhuǎn)換器,再送入數(shù)碼管顯示,實現(xiàn)對電壓的控制。</p><p><b>  主控程序</b></p><p>  主控程序首先進行系統(tǒng)的初始化,然后顯示電路中

67、的輸出電壓,初始應(yīng)為0V。按下功能轉(zhuǎn)換鍵進入預(yù)置電壓環(huán)節(jié),等待鍵盤輸入。根據(jù)鍵盤的不同輸入,按下確定鍵后轉(zhuǎn)入相應(yīng)的應(yīng)用程序。執(zhí)行后,數(shù)碼管顯示電路中的電壓。直到被下一次設(shè)置電壓打斷。</p><p><b>  過流保護程序</b></p><p>  過流保護由中斷實現(xiàn),通過AD轉(zhuǎn)換檢測電路中的電流,若電流超過額定電流的1.2倍時蜂鳴器發(fā)出警報并在5秒后初始化電路。

68、若電流超過額定電流的1.5倍時立即初始化原電路。</p><p><b>  3.鍵盤顯示程序</b></p><p>  剛上電時,數(shù)碼管顯示的是電路的輸出電壓。當?shù)谝淮伟聪骆I一(即s1)時,進入設(shè)置步進初值的模式,數(shù)碼管顯示設(shè)置的初始步進值(用s2和s3分別控制步進初值的增減),按下s4為確定鍵,此時數(shù)碼管顯示為電路輸出電壓。當數(shù)碼管顯示輸出電壓時,若連續(xù)按下兩

69、次s1則進入常用電壓設(shè)置,用s2和s3分別控制常用電壓的增減,其中常用電壓有3V,5V,6V,9V,12V。按下s4為確定鍵,數(shù)碼管顯示為電路輸出電壓。當數(shù)碼管顯示為電路輸出電壓,連續(xù)三次按下s1則進入步步函數(shù),此時電路的輸出電壓以原電路的輸出電壓為基礎(chǔ)步步增大或減小,步進值為0.1V。增加到13V時開始減小,并在減小到0V時漸次增大。當再次按下s1鍵時停止步步函數(shù)。在按下確定鍵后再按一次s4則為鎖定,此時再按s1,s2,s3鍵均無效,

70、知道再次按下s4鍵解鎖。</p><p><b>  第八章 心得體會</b></p><p><b>  附錄一:</b></p><p>  完整的系統(tǒng)源代碼: </p><p&g

71、t;  #include<reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p><b>  /*</b></p><p><b>  變量解釋:</b><

72、/p><p>  num0 輸出電壓除以AD芯片(TLC2543)的讀取電壓的比值</p><p>  num1 num1的值為放大比例,即輸出電流除以DA芯片(DAC0832)的輸出電壓*100(即顯示的值)的比值</p><p>  max 當電路中電流為最大時,AD輸出的電流</p><p><b>  */</b&

73、gt;</p><p>  #define num0 1</p><p>  #define num1 1</p><p>  #define max 1</p><p><b>  /*</b></p><p><b>  變量解釋:</b></p><

74、;p>  flag 判斷是否鎖定鍵盤</p><p>  flag1 常用電壓的設(shè)定</p><p>  flag0 判斷DA值為bujin,還是常用電壓,還或是bubu函數(shù)</p><p>  s1num s1按鍵的值</p><p>  s4num s4按鍵的值</p><p>  a 判斷bubu

75、程序是加還是減</p><p><b>  */</b></p><p>  uchar s1num,s4num,flag,flag1,flag0,</p><p>  qian,bai,shi,ge,a;</p><p><b>  /*</b></p><p><b

76、>  變量解釋:</b></p><p>  shu 輸出電壓的顯示值</p><p>  yibu 自動步進的DA值</p><p>  bujin 步進的設(shè)定值</p><p><b>  */</b></p><p>  uint shu,yibu,bujin;&

77、lt;/p><p>  uchar code table1[]={//normal number</p><p>  0x3f,0x06,0x5b,0x4f,</p><p>  0x66,0x6d,0x7d,0x07,</p><p>  0x7f,0x6f};</p><p>  uchar code table2[

78、]={ //+'.'number</p><p>  0xbf,0x86,0xdb,0xcf,</p><p>  0xe6,0xed,0xfd,0x87,</p><p>  0xff,0xdf};</p><p>  uchar code table3[]={//常用電壓</p><p>  0

79、x12c,0x1f4,0x258,0x384,0x4b0};</p><p>  sbit SCL=P1^7;//I2C的數(shù)據(jù)/地址傳輸端</p><p>  sbit SDA=P1^6;//I2C的時鐘端</p><p>  sbit dula=P3^2;//數(shù)碼管的段選,用來選擇數(shù)碼管顯示的數(shù)字</p><p> 

80、 sbit wela=P3^7;//數(shù)碼管的位選,用來選擇顯示的數(shù)碼管</p><p>  sbit csda=P1^4;//DAC0832的片選信號端</p><p>  sbit wr=P1^5;//外部寫控制</p><p>  sbit s1=P3^0;//按鍵1,即功能切換鍵</p><p>  sb

81、it s2=P3^1;//按鍵2,即增加鍵</p><p>  sbit s3=P3^5;//按鍵3,即減小鍵</p><p>  sbit s4=P3^6;//按鍵4,即鎖定解鎖鍵</p><p>  sbit ADEOC=P2^4;//AD轉(zhuǎn)換結(jié)束端,在最后的I/O CLOCK下降沿之后,</p><p>

82、  //EOC從高電平變?yōu)榈碗娖讲⒈3值睫D(zhuǎn)換完成和數(shù)據(jù)準備傳輸為止</p><p>  sbit ADCLOCK=P2^3;//輸入輸出時鐘端</p><p>  sbit ADIN=P2^2;//串行數(shù)據(jù)輸入端</p><p>  sbit ADOUT=P2^1;//AD轉(zhuǎn)換結(jié)果的串行輸出端</p><p>  sb

83、it adcs=P2^0;//AD的片選端</p><p>  sbit di=P2^7;//蜂鳴器</p><p>  void delay();//延時一微秒左右</p><p>  void delayms(uint z);//延時單位為毫秒</p><p>  void init

84、();//初始化函數(shù)</p><p>  void keyscan();//鍵盤掃描函數(shù)</p><p>  /*-----------------I2C函數(shù)聲明-----------------*/</p><p>  void start();//開始I2C通訊</p><p&

85、gt;  void stop();//停止I2C通訊</p><p>  void respons();//應(yīng)答</p><p>  void write_byte(uchar date);//寫數(shù)據(jù)</p><p>  uchar read_byte();//讀數(shù)據(jù)</p>

86、<p>  void write_add(uchar address,uchar date);//在指定地址寫數(shù)據(jù)</p><p>  uchar read_add(uchar address);//在指定地址讀數(shù)據(jù)</p><p>  /*-----------------I2C函數(shù)聲明-----------------*/</p><

87、;p>  void display(uchar qian,uchar bai,uchar shi,uchar ge);</p><p>  //數(shù)碼管顯示,格式為XX.XX</p><p>  void didi();</p><p>  //若電流超過1A的1.2倍時過5秒初始化,1A的1.5倍時直接初始化</p>&l

88、t;p>  void dastart(uint x);</p><p>  //DA開始,并輸出指定電壓,其中x為需要輸出的電壓</p><p>  void xianshu();//顯示電路中的電流</p><p>  void shebujin();//設(shè)定并顯示設(shè)定的步進電壓</p>

89、<p>  void shechang();//設(shè)定并顯示設(shè)定的常用電壓</p><p>  void bubu();</p><p>  //bubu每隔0.5秒輸出電壓變化0.1V,先增大,至超過13V時,再減小</p><p>  void bubustart();</p>

90、<p>  //開始bubu函數(shù)模式,數(shù)碼管顯示電路中的電壓</p><p>  void bubustop();</p><p>  //結(jié)束bubu函數(shù)模式,數(shù)碼管顯示電路中的電壓</p><p>  uint adwork();</p><p>  //讀取AD芯片的數(shù)據(jù)即測得的電

91、流,但由于有乘以相應(yīng)的系數(shù),所以輸出結(jié)果為輸出端的電壓</p><p>  /*===========================主函數(shù)==================*/</p><p>  void main()</p><p><b>  {</b></p><p><b>  init();&

92、lt;/b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  keyscan();</p><p>  if(s1num==0)</p><p><b>  {</b></p&

93、gt;<p>  xianshu();//顯示輸出電壓函數(shù)</p><p><b>  }</b></p><p>  if(s1num==1)</p><p><b>  {</b></p><p>  shebujin();//設(shè)定步進電壓函數(shù)</p&

94、gt;<p><b>  }</b></p><p>  if(s1num==2)</p><p><b>  {</b></p><p>  shechang();//設(shè)定常用電壓函數(shù)</p><p><b>  }</b></p>&

95、lt;p>  if(s1num==0)</p><p><b>  {</b></p><p>  if(flag0==1)</p><p><b>  {</b></p><p>  dastart(bujin);</p><p>  //使DA芯片輸出指定的

96、步進電壓的相應(yīng)電流</p><p><b>  }</b></p><p>  if(flag0==2)</p><p><b>  {</b></p><p>  dastart(table3[flag1]);</p><p>  //使DA芯片輸出指定的常用電壓的

97、相應(yīng)電流</p><p><b>  }</b></p><p>  if(flag0==3)</p><p><b>  {</b></p><p>  bubustart();//開始bubu函數(shù)</p><p><b>  }</b>&

98、lt;/p><p>  if(flag0!=3)</p><p><b>  {</b></p><p>  bubustop();//結(jié)束步步函數(shù)</p><p><b>  }</b></p><p><b>  }</b></p>

99、<p><b>  didi();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*===========================主函數(shù)==================*/</p><p>

100、;  void init()</p><p><b>  {</b></p><p>  di=1;//蜂鳴器,關(guān)閉</p><p>  wela=0;//數(shù)碼管,關(guān)閉</p><p><b>  dula=0;</b></p><p>  csda=1;//DA

101、初始化,關(guān)閉</p><p><b>  wr=1;</b></p><p>  SDA=1;//I2C通訊,關(guān)閉</p><p><b>  delay();</b></p><p><b>  SCL=1;</b></p><p><b&g

102、t;  delay();</b></p><p>  TMOD=0x11;</p><p>  TH0=(65536-50000)/256;//初始化定時器0,關(guān)閉</p><p>  TL0=(65536-50000)%256;</p><p><b>  EA=1;</b></p>&

103、lt;p><b>  ET0=1;</b></p><p><b>  TR0=0;</b></p><p>  TH1=(65536-50000)/256;//初始化定時器1,關(guān)閉</p><p>  TL1=(65536-50000)%256;</p><p><b>  

104、EA=1;</b></p><p><b>  ET1=1;</b></p><p><b>  TR1=0;</b></p><p><b>  shu=0;</b></p><p><b>  bujin=0;</b></p>

105、<p><b>  yibu=0;</b></p><p><b>  s1num=0;</b></p><p><b>  s4num=0;</b></p><p><b>  flag=0;</b></p><p><b>  

106、flag0=0;</b></p><p><b>  flag1=0;</b></p><p><b>  }</b></p><p>  void delay()</p><p><b>  { ; ; }</b></p><p>  vo

107、id delayms(uint z)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p>

108、<b>  }</b></p><p>  /*===================================================*/</p><p>  /*====================DA轉(zhuǎn)換=========================*/</p><p>  /*===================

109、================================*/</p><p>  void dastart(uint x)</p><p><b>  {</b></p><p>  dula=0;//關(guān)閉數(shù)碼管顯示</p><p><b>  wela=0;</b></p

110、><p>  csda=0;//開啟DA</p><p><b>  wr=0;</b></p><p>  P0=x*num1;//P0為DA接口,num1的值為放大比例,即輸出電流除以DA芯片(DAC0832)的輸出電壓*100(即顯示的值)的比值</p><p>  delayms(200);&l

111、t;/p><p><b>  }</b></p><p>  /*===================================================*/</p><p>  /*====================DA轉(zhuǎn)換=========================*/</p><p>  /*

112、===================================================*/</p><p>  /*===================================================*/</p><p>  /*================數(shù)碼管顯示函數(shù)=====================*/</p><p&

113、gt;  /*===================================================*/</p><p>  void display(uchar qian,uchar bai,uchar shi,uchar ge)</p><p><b>  {</b></p><p>  csda=1;//關(guān)閉D

114、A</p><p><b>  wr=1;</b></p><p><b>  dula=1;</b></p><p>  P0=table1[qian];</p><p><b>  dula=0;</b></p><p><b>  P0=

115、0xff;</b></p><p><b>  wela=1;</b></p><p><b>  P0=0x7f;</b></p><p><b>  wela=0;</b></p><p>  delayms(5);</p><p>&l

116、t;b>  dula=1;</b></p><p>  P0=table2[bai];//table2輸出的值,加有小數(shù)點</p><p><b>  dula=0;</b></p><p><b>  P0=0xff;</b></p><p><b>  wel

117、a=1;</b></p><p><b>  P0=0xbf;</b></p><p><b>  wela=0;</b></p><p>  delayms(5);</p><p><b>  dula=1;</b></p><p>  P

118、0=table1[shi];</p><p><b>  dula=0;</b></p><p><b>  P0=0xff;</b></p><p><b>  wela=1;</b></p><p><b>  P0=0xdf;</b></p

119、><p><b>  wela=0;</b></p><p>  delayms(5);</p><p><b>  dula=1;</b></p><p>  P0=table1[ge];</p><p><b>  dula=0;</b></p&g

120、t;<p><b>  P0=0xff;</b></p><p><b>  wela=1;</b></p><p><b>  P0=0xef;</b></p><p><b>  wela=0;</b></p><p>  delayms

121、(5);</p><p><b>  }</b></p><p>  /*===================================================*/</p><p>  /*================數(shù)碼管顯示函數(shù)=====================*/</p><p>  /

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論