《電子工程師項目教學(xué)與訓(xùn)練》課件第7章_第1頁
《電子工程師項目教學(xué)與訓(xùn)練》課件第7章_第2頁
《電子工程師項目教學(xué)與訓(xùn)練》課件第7章_第3頁
《電子工程師項目教學(xué)與訓(xùn)練》課件第7章_第4頁
《電子工程師項目教學(xué)與訓(xùn)練》課件第7章_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章數(shù)控直流穩(wěn)壓電源設(shè)計

7.1引言7.2數(shù)控直流穩(wěn)壓電源設(shè)計任務(wù)書

7.3數(shù)控直流穩(wěn)壓電源設(shè)計方案7.4數(shù)控直流穩(wěn)壓電源硬件電路設(shè)計7.5程序設(shè)計原理7.6程序清單7.1引言線性直流穩(wěn)壓電源具有結(jié)構(gòu)簡單、紋波小、穩(wěn)壓效果好等突出優(yōu)點,其在要求紋波干擾較低的應(yīng)用場合中開關(guān)電源是難以替代的。隨著科技的發(fā)展,新一代的數(shù)控直流穩(wěn)壓電源具有顯示更直觀、操作更方便、穩(wěn)壓效果更好等優(yōu)點,成為線性直流穩(wěn)壓電源應(yīng)用和發(fā)展的趨勢。7.2數(shù)控直流穩(wěn)壓電源設(shè)計任務(wù)書

1.設(shè)計任務(wù)設(shè)計制作單路的數(shù)控直流穩(wěn)壓電源,輸出電壓范圍為0~12V,輸出電流范圍為0~1A。該數(shù)控直流穩(wěn)壓電源采用數(shù)顯方式來顯示電壓和電流值,能夠通過按鍵來設(shè)定直流穩(wěn)壓電源的電壓,當(dāng)電源輸出電流超過最大可提供的電流時能夠進(jìn)行保護(hù),關(guān)斷電源輸出并發(fā)出報警信號。

2.設(shè)計要求

1)功能要求

(1)通過“+”、“-”鍵步進(jìn)調(diào)整輸出電壓,可調(diào)范圍為0~+12V,步進(jìn)幅度為0.5V。

(2)通過4位LED顯示輸出電壓和電流值,顯示精度分別為0.1V和0.01A。通過“F1”鍵實現(xiàn)電壓/電流顯示切換,開機默認(rèn)顯示電壓,按“F1”鍵轉(zhuǎn)換為顯示電流,再按“F1”鍵轉(zhuǎn)換為顯示電壓。4位LED末位為顯示單位,電流顯示“”,電壓顯示“”。

(3)具有過流保護(hù)與報警功能。

2)技術(shù)指標(biāo)

(1)交流輸入電壓范圍:220V±10%。

(2)輸出電壓范圍:0~+12V。

(3)輸出電流范圍:0~1A。

(4)輸出紋波電壓:<10mV(輸出電壓為10V,輸出電流為500mA時測得)。

(5)過流保護(hù)動作電流:1.1A。7.3數(shù)控直流穩(wěn)壓電源設(shè)計方案線性直流穩(wěn)壓電源通常由降壓變壓器、整流濾波電路、電壓調(diào)整電路、采樣電路、控制電路及輔助電源等部分組成。線性直流穩(wěn)壓電源穩(wěn)壓的基本原理是負(fù)反饋控制,即通過控制電路對輸出電壓信號進(jìn)行采樣,采樣信號與給定信號進(jìn)行比較,如果輸出電壓高于設(shè)定值,則比較產(chǎn)生的信號作用于電壓調(diào)整電路使輸出電壓減??;相反,如果輸出信號低于設(shè)定值,則比較后產(chǎn)生的控制信號作用于調(diào)壓電路使輸出電壓增大。當(dāng)電路工作后,負(fù)載本身的變化及輸入電源的變化都可能引起輸出電壓的波動,而穩(wěn)壓電路就是不斷采樣并不斷調(diào)整從而控制輸出電壓與設(shè)定值相等。線性直流穩(wěn)壓電源的一般結(jié)構(gòu)如圖7-1所示。圖7-1線性直流穩(wěn)壓電源的結(jié)構(gòu)框圖在傳統(tǒng)的線性直流穩(wěn)壓電源中,控制電路是直接用硬件電路來實現(xiàn)的,這樣的電路結(jié)構(gòu)簡單,但靈活性較差;與之相配套的電壓電流指示通常采用模擬的指針式表頭來實現(xiàn),讀數(shù)不方便;電壓的調(diào)整直接通過電位器來實現(xiàn),而電位器的接觸故障常常造成電壓的突跳甚至電源故障等問題,由于傳統(tǒng)直流穩(wěn)壓電源的這些不足影響到其應(yīng)用,而采用數(shù)字控制技術(shù)可以較好地改善傳統(tǒng)穩(wěn)壓電源存在的不足,提高線性穩(wěn)壓電源的性能,因此內(nèi)嵌有數(shù)字控制器的穩(wěn)壓電源得到越來越多的應(yīng)用。圖7-2是此次設(shè)計所采用的數(shù)控直流穩(wěn)壓電源結(jié)構(gòu)框圖。從圖可以看出,該電路的主要組成部分包括:變壓器、整流濾波電路、微控制器(MCU)、采樣電路、A/D及D/A轉(zhuǎn)換電路、鍵盤接口電路、LED顯示接口電路、報警和保護(hù)電路及輔助電源等。在這一系統(tǒng)中,穩(wěn)壓電源的輸出設(shè)定是通過鍵盤接口來實現(xiàn)的。穩(wěn)壓器的輸出電壓通過電壓采樣電路進(jìn)行采樣,并通過信號的調(diào)理由A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號,再送給微處理器進(jìn)行處理。在構(gòu)成數(shù)字閉環(huán)控制的情況下該電壓采樣信號與通過鍵盤設(shè)定的給定值進(jìn)行比較,如果采樣值小于給定值,則通過微處理器給出增大的數(shù)字控制信號,該信號經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換成控制信號加到電壓調(diào)整電路使輸出電壓上升;相反,如果反饋電壓大于給定值,則微控制器輸出的數(shù)字量減小并通過D/A轉(zhuǎn)換使輸出電壓減小,從而達(dá)到電壓調(diào)整和穩(wěn)壓的目的。采樣得到的電壓可以直接通過LED顯示接口以數(shù)字量的形式顯示,讀數(shù)直觀清楚。該數(shù)控直流穩(wěn)壓電源還可以通過檢流電路檢測穩(wěn)壓器帶載后的負(fù)載電流,并通過LED電路可以顯示檢測到的電流值。報警和電流保護(hù)電路可以保證當(dāng)穩(wěn)壓器輸出電流超出穩(wěn)壓器可提供的最大電流時及時關(guān)斷電源輸出,從而避免過流發(fā)生造成的破壞,同時發(fā)出報警信號提示用戶排除過流故障。不管是傳統(tǒng)的線性穩(wěn)壓電源還是數(shù)控直流穩(wěn)壓電源如果要實現(xiàn)從0V起調(diào),則都必須設(shè)置輔助電源電路,通過該輔助電源電路可以有效地解決穩(wěn)壓源輸出存在死區(qū)的問題。在數(shù)控穩(wěn)壓源中輔助電源還要為數(shù)字部分的電路提供電源。圖7-2數(shù)控直流穩(wěn)壓電源的結(jié)構(gòu)框圖在本系統(tǒng)的設(shè)計中,根據(jù)設(shè)計的要求選用了單片機作為微處理器組成控制系統(tǒng),采用8位的A/D及D/A作為模/數(shù)和數(shù)/模轉(zhuǎn)換的基本器件。7.4數(shù)控直流穩(wěn)壓電源硬件電路設(shè)計7.4.1單片機系統(tǒng)及人機交互電路設(shè)計此次設(shè)計中采用了AT89S52單片機作為基本的控制器,由其組成的單片機基本系統(tǒng)如圖7-3所示。在該系統(tǒng)中單片機的所有I/O口都作為基本I/O口使用,總線功能未使用。單片機I/O口的安排與使用情況為:P0口作為一般的I/O口使用,用來連接A/D和D/A的數(shù)據(jù)端口,由于P0口結(jié)構(gòu)原因不能直接作為一般I/O口使用,必須在其引腳外部加上拉電阻,圖中,排阻ZP1即為P0口的上拉電阻;鍵盤接口被連接到P1口的高4位,這樣就為系統(tǒng)提供了4個小按鍵,用于設(shè)定輸出電壓的大??;J6用于連接外接的鍵盤,鍵盤的工作方式采用中斷鍵盤,即當(dāng)有鍵按下時通過U1074LS21觸發(fā)中斷,進(jìn)而單片機進(jìn)行中斷響應(yīng)和鍵盤處理,這樣的結(jié)構(gòu)提高了系統(tǒng)鍵盤處理的實時性,單片機的軟件開銷較?。籎5用于連接LED顯示器,為了節(jié)省I/O接口資源,這里采用了串行口擴展的方式來實現(xiàn)LED顯示,這樣的顯示方式不但可以節(jié)省I/O口資源,而且還可以實現(xiàn)較高質(zhì)量的靜態(tài)顯示;單片機其他I/O口資源的使用會在后面結(jié)合具體的接口進(jìn)行介紹。圖7-4是系統(tǒng)的鍵盤接口電路。圖7-5是通過串行口實現(xiàn)的4位LED顯示器接口電路。圖中,4片74LS164通過級聯(lián)的方式進(jìn)行連接,每一片74LS164驅(qū)動一個共陰極型的數(shù)碼管,單片機需要顯示時通過串行口向4片74LS164發(fā)送顯示代碼即可實現(xiàn)。當(dāng)單片機向顯示接口發(fā)送顯示代碼時,可以采用單片機的同步串行口模式來實現(xiàn),也可以直接控制單片機的I/O口構(gòu)建模擬串口來實現(xiàn)數(shù)據(jù)的傳送。圖7-3單片機基本系統(tǒng)圖圖7-4鍵盤接口電路圖7-5串行顯示電路這里鍵盤和顯示部分為了便于安裝都是獨立制板的,再通過接口插接到主板,以實現(xiàn)與主控制板的鏈接。7.4.2A/D及D/A轉(zhuǎn)換接口電路設(shè)計

1.A/D轉(zhuǎn)換接口電路在該系統(tǒng)中A/D轉(zhuǎn)換主要實現(xiàn)兩個功能:其一是檢測輸出的電壓,即把采樣后的電壓信號數(shù)字化,數(shù)字化的電壓信號可用于顯示和控制;其二是把穩(wěn)壓電源輸出的負(fù)載電流進(jìn)行數(shù)字化,數(shù)字化的電流可用于顯示及過流保護(hù)。在進(jìn)行A/D轉(zhuǎn)換之前,電壓和電流的采樣信號都已經(jīng)調(diào)理過,范圍不超過A/D轉(zhuǎn)換器的參考電壓。圖7-6是A/D轉(zhuǎn)換的接口電路圖。圖7-6A/D轉(zhuǎn)換接口電路從圖中可以看出,此處選用的A/D轉(zhuǎn)換器為ADC0809,該A/D轉(zhuǎn)換器逐次逼近式的8位8通道A/D轉(zhuǎn)換器,是教科書上經(jīng)常提到的A/D轉(zhuǎn)換器,也是大家都熟悉的芯片,這里選用該芯片來實現(xiàn)A/D接口并不是出于方案的先進(jìn)性或制造的成本等因素考慮,而僅僅是選這樣一種大家較熟悉的器件解決問題。圖中ADC0809的通道0和通道1分別用于被轉(zhuǎn)換的輸出電壓信號和負(fù)載電流信號的輸入,其中UOAD為穩(wěn)壓電源的輸出電壓信號經(jīng)采樣和放大后送A/D轉(zhuǎn)換器的信號,而IOAD為負(fù)載電流的采樣信號。A/D轉(zhuǎn)換器的參考電源通過4.7V的穩(wěn)壓管產(chǎn)生,也就是說該A/D轉(zhuǎn)換器的參考電源為4.7V。ADC0809工作時必須外加時鐘信號,這里預(yù)設(shè)了兩種時鐘信號的產(chǎn)生模式,其一是利用AT89S52單片機內(nèi)部的定時/計數(shù)器2時鐘產(chǎn)生模式來產(chǎn)生所需的時鐘信號,其二是利用單片機內(nèi)的定時/計數(shù)器控制單片機的I/O口線產(chǎn)生所需的時鐘信號。在該系統(tǒng)中,A/D轉(zhuǎn)換器與單片機之間的接口采用I/O方式來實現(xiàn),即通過單片機的I/O口線直接控制ADC0809的引腳,進(jìn)行通道的選擇、A/D轉(zhuǎn)換的啟動及轉(zhuǎn)換結(jié)果的讀取。當(dāng)ADC0809一次轉(zhuǎn)換結(jié)束后EOC信號變高電平,該信號經(jīng)三極管T3反相后變低用于觸發(fā)單片機的中斷,在單片機的中斷服務(wù)程序中單片機讀取轉(zhuǎn)換結(jié)果。通過中斷方式來讀取結(jié)果可以減小CPU的軟件開銷,有利于提高效率。2.D/A轉(zhuǎn)換接口電路圖7-7是的D/A轉(zhuǎn)換接口電路圖,這里采用了電流型D/A轉(zhuǎn)換器DAC0832,通過該D/A轉(zhuǎn)換器來產(chǎn)生輸出電壓的給定值。單片機與D/A轉(zhuǎn)換器之間的接口仍然采用直接I/O方式來實現(xiàn),單片機通過P0口送出待轉(zhuǎn)換的8位數(shù)據(jù),并通過信號把該數(shù)據(jù)鎖存到DAC0832的內(nèi)部寄存器中進(jìn)行轉(zhuǎn)換。DAC0832轉(zhuǎn)換的參考電壓通過穩(wěn)壓二極管產(chǎn)生,DAC0832外接運算放大器將電流信號轉(zhuǎn)換為相應(yīng)的電壓信號,由于參考電壓為正電壓信號,因此轉(zhuǎn)換后的電壓信號為負(fù)值。設(shè)DAC0832轉(zhuǎn)換的數(shù)字量為d,參考電壓為uref,則運放輸出的電壓信號。圖7-7D/A轉(zhuǎn)換接口電路7.4.3模擬部分電路設(shè)計

1.輔助電源電路在該電路中,由于穩(wěn)壓電源的輸出要求在0~12V之間可調(diào),為了能使電壓從0V起調(diào),就必須設(shè)置輔助電源以消除電壓調(diào)整電路的死區(qū)。圖7-8是該穩(wěn)壓電源模擬部分的電路圖,從圖中可以看出,輔助電源部分電路主要提供3個工作電壓,包括±12V和+5V。其中±12V的電壓主要為運算放大器電路供電,由+12V產(chǎn)生的+5V電壓為數(shù)字部分電路的工作供電。J1是輔助電源部分的變壓器接口,通過該接口把前端帶中心抽頭的變壓器的輸出引入,經(jīng)整流濾波再由7812和7912產(chǎn)生±12V的電壓信號,+12V信號經(jīng)7805變換為+5V。圖7-8模擬部分電路

2.電源主電路圖7-8中,J2為電源主電路的變壓器輸入端,J3為穩(wěn)壓電源的輸出端。經(jīng)J2輸入的交流電壓信號經(jīng)過D5~D8組成的橋式整流濾波電路后變換成一直流電壓信號,T1管為電壓調(diào)整管,這里選用了達(dá)林頓管TIP122,調(diào)整管后由R4、R5及RP1組成的電路即為輸出電壓采樣電路,整流濾波后的直流電壓信號經(jīng)調(diào)整管調(diào)整后就變成了所需的穩(wěn)壓輸出。調(diào)整管的作用就是根據(jù)采樣信號調(diào)整自身所承擔(dān)的電壓從而使輸出電壓保持穩(wěn)定。J4用于連接發(fā)光二極管用來指示主電路是否有電。輸出電壓采樣信號從RP1的中心抽頭出引出,該采樣信號引入到控制電路之后主要用于兩個目的:其一是實現(xiàn)穩(wěn)壓控制;其二是送A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換結(jié)果送給單片機進(jìn)行處理。調(diào)整管的ADJ端通過D9接控制電路來實現(xiàn)電壓的調(diào)整。電阻R3為負(fù)載電流采樣電阻,該采樣主要用于負(fù)載電流的測量和過流保護(hù)。這里要特別強調(diào)的一點是:輔助電源的地信號是和穩(wěn)壓電源輸出的電源“+”端相連的,而不是共地的,這一點非常重要。

3.穩(wěn)壓控制電路穩(wěn)壓控制電路主要由運算放大器U4A及其外圍電路組成。U4A的反相輸入端接來自于D/A的電壓給定信號,其同相輸入端接穩(wěn)壓輸出采樣信號。由于輔助電源的地和穩(wěn)壓電源的“+”相連接,因此穩(wěn)壓電源的采樣信號為一負(fù)電壓,穩(wěn)壓電源的輸出幅值越高,采樣得到的負(fù)相電壓幅值越高。從D/A轉(zhuǎn)換器輸出的電壓給定信號也為一負(fù)值電壓。穩(wěn)壓控制電路工作的基本原理簡述如下:當(dāng)穩(wěn)壓電路輸出的電壓值高于設(shè)定值時,采樣得到的電壓值低于給定值,即加在CONTROL端的電壓,此時由U4A組成的積分器由于反相輸入端的電壓高于同相輸入端的電壓,積分器輸出電壓減小,這樣經(jīng)R2和D9控制達(dá)林頓管的導(dǎo)通程度減弱,調(diào)整管分擔(dān)電壓增大,輸出電壓減??;反之,當(dāng)穩(wěn)壓電路輸出的電壓值低于設(shè)定值時,采樣得到的電壓值高于給定值,此時由U4A組成的積分器由于反相輸入端的電壓低于同相輸入端的電壓,積分器的輸出電壓增大,這樣經(jīng)R2和D9控制達(dá)林頓管的導(dǎo)通程度增強,調(diào)整管分擔(dān)電壓減小,輸出電壓增大。該穩(wěn)壓電路工作后就是靠不斷地對輸出電壓進(jìn)行動態(tài)的調(diào)整從而達(dá)到穩(wěn)定輸出電壓的目的的。輸出電壓采樣信號除用于穩(wěn)壓之外還被用來提供給D/A轉(zhuǎn)換,供單片機使用。由U5A和U5B及其外圍電路組成的電壓變換電路對采樣電壓進(jìn)行變換,先是進(jìn)行同相電壓跟隨,在進(jìn)行反相跟隨使電壓采樣信號變換為對地為正極性的電壓信號,該信號由A/D轉(zhuǎn)換器轉(zhuǎn)換后即可得到輸出電壓的數(shù)字量幅值。由穩(wěn)壓電路的基本原理可以看出:該電路中單片機通過D/A送出給定信號后,穩(wěn)壓是通過硬件電路的負(fù)反饋控制來實現(xiàn)的,單片機并不在負(fù)反饋控制環(huán)內(nèi),它的作用就是產(chǎn)生給定信號。

4.電流采樣和過流保護(hù)電路從圖7-8可以看出,當(dāng)負(fù)載電流流過檢流電阻R3時,在R3上就形成了對地的電壓信號,該信號代表電流的強弱,由U4B組成的同相放大器對電流采樣信號進(jìn)行放大產(chǎn)生IOAD送A/D轉(zhuǎn)換后,供單片機使用;其次IOAD還信號送由U4C組成的積分比較電路,實現(xiàn)過流保護(hù)功能,其原理為:當(dāng)負(fù)載電流小于設(shè)定的動作電流時,U4C的同相輸入端電壓高于反相輸入端電壓,U4C輸出為高電平,由于D10的存在U4C的輸出不起作用;當(dāng)負(fù)載電流超過設(shè)定的動作電流時,U4C的同相輸入端的電壓低于反相輸入端的電壓,U4C輸出為低電平。由于D10導(dǎo)通將使調(diào)整管截止關(guān)斷,此時輸出電壓將消減,負(fù)載電流下降,因此當(dāng)電流下降到動作電流以下時,U4C的輸出重新上升,這樣D10重新關(guān)斷,調(diào)整管重新導(dǎo)通,輸出電流又上升。如果引起過流的負(fù)載條件沒有消除,又會重新引起調(diào)整管的關(guān)斷和電流的下降,這樣不斷循環(huán)。也就是說,此時調(diào)整管的ADJ端不斷地在高、低電平之間變化、振蕩。當(dāng)過流現(xiàn)象發(fā)生時電路還會通過蜂鳴器發(fā)出報警聲,其原理是:當(dāng)穩(wěn)壓電路正常工作時,通過計算可知U4A的輸出端電壓應(yīng)在2~3V之間,此時由TIP521、D12、T2及蜂鳴器等組成的電路因TIP521截止而不工作。當(dāng)過流情況發(fā)生時調(diào)整管截止,非常低的輸出電壓信號經(jīng)采樣加在U4A的同相輸入端使U4A的輸出電壓達(dá)到最大值,近似為電源電壓+12V,此時TIP521導(dǎo)通,蜂鳴器工作報警。由于過流發(fā)生時加在調(diào)整管ADJ端的電壓信號是振蕩的,因此報警電路蜂鳴器的工作也是間歇的,從而發(fā)出斷續(xù)的蜂鳴聲。一旦引發(fā)報警的負(fù)載條件消失,報警信號也就自然消除了。7.5程序設(shè)計原理該系統(tǒng)的程序設(shè)計主要實現(xiàn)鍵盤命令的輸入、電壓電流的顯示、A/D轉(zhuǎn)換及D/A轉(zhuǎn)換等功能。系統(tǒng)上電后先進(jìn)行初始化,在初始化程序中主要完成中斷及定時器的初始化設(shè)置。該系統(tǒng)中鍵盤是通過中斷方式驅(qū)動的,當(dāng)有鍵按下時即觸發(fā)INT1中斷,在中端程序中進(jìn)行按鍵的掃描和處理。A/D轉(zhuǎn)換的時鐘信號是通過定時器T2產(chǎn)生的,因此在中斷初始化時把其設(shè)置為重載的外部時鐘模式,為A/D轉(zhuǎn)換器提供時鐘信號。系統(tǒng)工作后,通過定時器T1來觸發(fā)A/D轉(zhuǎn)換,即使定時器T1工作在16位的中斷定時模式下,每次定時器中斷時啟動一次新的A/D轉(zhuǎn)換。當(dāng)每次A/D轉(zhuǎn)換結(jié)束后,A/D轉(zhuǎn)換器的輸出信號OE可觸發(fā)單片機的外中斷INT0,在INT0的中斷處理程序中讀取當(dāng)前的轉(zhuǎn)換值。系統(tǒng)的主程序主要是實現(xiàn)輸出電壓或負(fù)載電流的循環(huán)顯示。為了提高采樣的精度,減小紋波的干擾,每次顯示前對所采樣的電壓或電流值需進(jìn)行平滑濾波處理,然后進(jìn)行顯示。7.6程序清單

/**********************************文件名:skdy.c功能:數(shù)控直流穩(wěn)壓電源程序作者:hadaqu時間:2009-08-06**********************************/

#include<regx52.h>

#include<intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

#definenop_nop_()

#definedateportP0

#defineN12//模擬串口sbitdat=P3^0;sbitclk=P3^1;//鍵盤定義sbitk1=P1^4;sbitk2=P1^5;sbitk3=P1^6;sbitk4=P1^7;//DAC0832sbitload=P2^6;//ADC0809sbitclk1=P2^5;sbita0=P2^0;sbita1=P2^1;sbitale=P2^2;sbitstart=P2^3;sbitoe=P2^4;ucharcnt=0;ucharkey=0x00;ucharad_u[10],ad_i[10];ucharad,ad1;uchardis_u[4],dis_i[4];ucharvo=0;ucharstep=1;ucharcodetab[]={0xfa,/*0*/0x60,/*1*/0xdc,/*2*/0xf4,/*3*/0x66,/*4*/0xb6,/*5*/0xbe,/*6*/0xe0,/*7*/0xfe,/*8*/0xf6,/*9*/0xee,/*A*/0x7a/*U*/};/*************************************************zms延時********************************************************/voiddelay(uintz){uintx,y;for(x=0;x<z;x++)for(y=0;y<220;y++);}/**************************************************發(fā)送顯示數(shù)據(jù)***************************************************/voidsend_byte(uchardate){uchari;for(i=0;i<8;i++){if(date&0x01)dat=1;elsedat=0;clk=0;clk=1;date>>=1;}}/************************************************啟動AD轉(zhuǎn)換*************************************************/voidadc0809(ucharchannel){if(channel==0){a0=0;a1=0;}if(channel==1){a0=1;a1=0;}ale=0;ale=1;

nop;nop;

ale=0;start=0;start=1;nop;nop;start=0;}/**************************************************啟動DA轉(zhuǎn)換*****************************************************/voiddac0832(uchardate){dateport=date;load=0;nop;load=1;}/**************************************************u算術(shù)平均濾波******************************************************/voiduFiliter(){uintsum=0;uchari;for(i=0;i<10;i++){sum+=ad_u[i];}ad=sum/10;}/************************************************電壓測量值轉(zhuǎn)換***************************************************/voidcov_u(){//Uo=D*(12/240)//uinti;ad=ad/2;dis_u[0]=ad/100;ad=ad%100;dis_u[1]=ad/10;dis_u[2]=ad%10;//dis_u[3]=0xa7;}/*************************************************i算術(shù)平均濾波*****************************************************/voidiFiliter(){uintsum=0;uchari;for(i=0;i<10;i++){sum+=ad_i[i];}ad1=sum/10;}/***************************************************I進(jìn)行標(biāo)度變換**************************************************/voidcov_i(){//I=D*4.6/(255*11*0.33)*1000=D*5(I擴大1000倍)uintk;k=ad1/2;dis_i[0]=k/100;k%=100;dis_i[1]=k/10;k%=10;dis_i[2]=k;dis_i[3]=0xee;}/***********************************************顯示函數(shù)U**********************************************/voiddisp_u(){send_byte(0x7a);send_byte(tab[dis_u[2]]);send_byte(tab[dis_u[1]]|0x01);send_byte(tab[dis_u[0]]);}/***********************************************顯示函數(shù)I**********************************************/voiddisp_i(){send_byte(0xee);send_byte(tab[dis_i[2]]);send_byte(tab[dis_i[1]]);send_byte(tab[dis_i[0]]|0x01);}/**************************************************讀取AD轉(zhuǎn)換結(jié)果*************************************************/voidint0()interrupt0using2{uchari;EX0=0;oe=1;

P0=0xff;if(cnt==0){for(i=0;i<9;i++){ad_u[i]=ad_u[i+1];}ad_u[9]=dateport;

}if(cnt==1){for(i=0;i<9;i++){

ad_i[i]=ad_u[i+1];}

ad_i[9]=dateport;}oe=0;EX0=1;}/**************************************************鍵盤中斷******************************************************/voidint1()interrupt2using3{uchartep;EX1=0;delay(20);tep=P1;tep=~tep;tep&=0xf0;if(tep!=0)

{switch(tep){case0x10:key=0x01;break;case0x20:key=0x02;break;case0x40:key=0x03;break;case0x80:key=0x04;break;default:key=0xff;break;}while(tep!=0){tep=P1;tep=~tep;tep&=0xf0;}if(key==0x01){key=0xff;if(vo<240)vo+=1*step;elsevo=240;dac0832(vo);}if(key==0x02){key=0xff;if(vo>1*step)vo-=1*step;elsevo=0;dac0832(vo);}if(key==0x03){key=0xff;cnt++;if(cnt>1)cnt=0;}if(key==0x04){key=0xff;step++;if(step>10)step=1;}}EX1=1;}/*************************************************啟動AD轉(zhuǎn)換****************************************************/voidtimer1()interrupt3using1{uchari=0;ET1=0;TH1=(65535-2000)/256;TL1=(65535-2000)%256;adc0809(cnt);ET1=1;}/**************************************************timer1初始化***************************************************/void

溫馨提示

  • 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

提交評論