




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、綜合實(shí)驗(yàn)課程報(bào)告課題名稱直流數(shù)控電壓源設(shè)計(jì)專 業(yè) 電子與信息工程 班 級(jí) 07電子(2) 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)教師 直流數(shù)控電壓源設(shè)計(jì)一系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)框圖本數(shù)控直流穩(wěn)壓電源的設(shè)計(jì)以一穩(wěn)壓電源為基礎(chǔ),以高性能單片機(jī)系統(tǒng)為控制核心,以穩(wěn)壓驅(qū)動(dòng)放大電路、短路保護(hù)電路為外圍的硬件系統(tǒng),在檢測(cè)與控制軟件的支持下實(shí)現(xiàn)對(duì)電壓輸出的數(shù)字控制,通過對(duì)穩(wěn)壓電源輸出的電壓進(jìn)行數(shù)據(jù)采樣與給定數(shù)據(jù)比較,從而調(diào)整和控制穩(wěn)壓電源的工作狀態(tài)及監(jiān)測(cè)開關(guān)電路的輸出電流大小。本數(shù)控直流穩(wěn)壓電源實(shí)現(xiàn)以下功能:鍵盤可以直接設(shè)定輸出電壓值;可快速調(diào)整電壓;LCD顯示電壓值等。AT89S51矩陣鍵盤LCD顯示D/A轉(zhuǎn)換DAC0832A
2、/D轉(zhuǎn)換ADC0809可調(diào)穩(wěn)壓源穩(wěn)壓電源+5V+15-15V鍵盤編碼MM74C922 8051簡(jiǎn)介我們采用8051系列的AT89S51作為CPU,AT89S51是一種帶4K字節(jié)FLASH可編程可擦除只讀存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。12 主要特性1)與MCS-51兼容 ;2)8位字長(zhǎng)的CPU;3)可在線ISP編程的4KB片內(nèi)FLASH存儲(chǔ)器,用于程序存儲(chǔ),可擦寫1000次
3、;4) 256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器,其中高128字節(jié)地址被特殊功能寄存器SFR占用;5)可編程的32根I/O口線(P0P3);6)2個(gè)可編程16位定時(shí)器;7)一個(gè)數(shù)據(jù)指針DPTR;8)1個(gè)可編程的全雙工串行通信口;9)具有“空閑”和“掉電”兩種低功耗工作方式;10)可編程的3級(jí)程序鎖定位;11)工作電源的電壓為5(1±0.2)V;12)振蕩器最高頻率為24MHz;13)編程頻率3 24 MHz,編程電流1mA,編程電壓為5V。13芯片引腳排列與名稱DIP封裝形式的AT89S51的芯片引腳排列與名稱如圖1所示。VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位,并行,圖1 AT89
4、S51的芯片引腳排列與名稱漏極開路雙向I/O口,作為輸出時(shí)可驅(qū)動(dòng)8個(gè)TTL負(fù)載。該口內(nèi)無上拉電阻,在設(shè)計(jì)中作為D/A,A/D及液晶顯示器的數(shù)據(jù)口。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個(gè)TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,該口在設(shè)計(jì)中低四位作為鍵盤輸入口,高四位與RST作為在線編程下載口。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收/輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,可作為輸入。在作為輸出時(shí),P2口的管腳被外部拉低,將輸出電流。該口在設(shè)計(jì)中作為D/A,A/D及液晶顯
5、示器的控制口。P3口:P3口管腳是帶內(nèi)部上拉電阻的8位雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流,這是由于上拉的緣故。P3口也可作為AT89S51的一些特殊功能口,如下表1所示:表1 各端口引腳與復(fù)用功能表端口引腳復(fù)用功能TXD(串行輸入口)RXD(串行輸出口)/INT0(外部中斷0)/INT1(外部中斷1)T0(記時(shí)器0外部輸入)T1(記時(shí)器1外部輸入)/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)該口在設(shè)計(jì)中使用其特殊功能作為D/A,A/D讀寫信號(hào)的控制口。和A/D的中斷
6、輸入口。RST:該引腳為復(fù)位信號(hào)輸入端,高電平有效。在振蕩器穩(wěn)定工作情況下,該引腳被置成高電平并持續(xù)兩個(gè)機(jī)器周期以上是系統(tǒng)復(fù)位。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。該引腳在設(shè)計(jì)中作為鎖存器器和A/D的時(shí)鐘信號(hào)。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。/EA/VPP:/EA為訪問芯片內(nèi)部和芯片外部程序存儲(chǔ)器的選擇信號(hào)。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:芯片內(nèi)振蕩器放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:芯片內(nèi)振蕩器放大器的輸出。2 鍵盤控制器MM74C9
7、2221 簡(jiǎn)介鍵盤的作用是對(duì)單片機(jī)輸入數(shù)據(jù),設(shè)計(jì)中要求能是電壓進(jìn)行“+”,“-”,及電壓值的設(shè)定,所以采用鍵盤為4×4的薄膜矩陣鍵盤,用MM74CP1.3作為鍵盤輸入口。傳統(tǒng)的4×4矩陣鍵盤識(shí)別處理程序的編寫相對(duì)煩瑣。所以采用MM74C922芯片來將4×4矩陣鍵盤的鍵值轉(zhuǎn)換成4位BCD碼以簡(jiǎn)化程序的編寫。22 主要特性CMOS工藝技術(shù)制造,工作電壓3-15V,“二鍵鎖定”功能,編碼輸出為三態(tài)輸出,可直接與微處理器數(shù)據(jù)總線相連,內(nèi)部振蕩器能完成4×4矩陣鍵盤掃描,亦可用外部振蕩器使鍵盤操作與其他處理同步,通過外接電容避免開關(guān)發(fā)生前、后沿彈跳所許的延時(shí)。有按
8、鍵按下時(shí)數(shù)據(jù)有效線變高,同時(shí)封鎖其他鍵,片內(nèi)鎖存器將保持鍵盤矩陣的4位編盤,可由微處理器讀出23 芯片引腳排列與名稱DIP封裝形式的MM74C922的芯片引腳排列與名稱如圖4所示。VCC:供電電壓(+5+15);GND:接地; Y1Y2:矩陣鍵盤行輸入,圖4 MM74C922芯片引腳排列與名稱其內(nèi)部接有上拉電阻; X1X2:矩陣鍵盤列輸入; OUT1OUT2:矩陣鍵盤列輸出;OSC:振蕩器輸入;DA:按鍵有效輸出,當(dāng)有任意鍵按下是DA輸出高電平; /OE:輸出有效端,低電平有效。3 D/A轉(zhuǎn)換器DAC0832331簡(jiǎn)介設(shè)計(jì)要求電壓輸出范圍是0.0V9.9V,步進(jìn)0.1V,共有100種狀態(tài),因此
9、采用8位的D/A轉(zhuǎn)換器就能滿足設(shè)計(jì)要求。因此采用常用的DAC0832芯片。8位字長(zhǎng)的D/A轉(zhuǎn)換器DAC0832具有256種狀態(tài),能滿足設(shè)計(jì)要求。DAC0832芯片是具有兩個(gè)輸入數(shù)據(jù)寄存器的8位DAC,它能直接與AT89S51單片機(jī)相連接,32 主要特性1)8位分辨率;2)電流型輸出,穩(wěn)定時(shí)間為1uS;3)可雙緩沖輸入,單緩沖輸入或直接數(shù)字輸入;4)單一電源供電(+5+15V);5 低功耗(20mW;)33 芯片引腳排列與名稱DIP封裝形式的DAC0832的芯片引腳排列與名稱如圖51所示。VCC:電源電壓,+5V。GND:地線輸入端。圖5 DAC0832的芯片引腳排列與名稱D0D7:8位數(shù)字量輸
10、入引腳。單片機(jī)由這8根線傳送給D/A轉(zhuǎn)換數(shù)字量。D7為最高有效位,D0為最低有效位。Vref:參考電壓端。/CS:片選信號(hào),當(dāng)/CS為低電平時(shí)候,芯片被選中工作。ILE:允許數(shù)字量輸入線。高電平有效。/XREF:傳送控制輸入線,低電平有效。/WR1,/WR2:寫命令輸入線。Ffb:運(yùn)算放大器反饋線。Iout1,Iout2:模擬電流輸出線,Iout1+Iout2為一常數(shù)。二硬件電路設(shè)計(jì)1.A/D轉(zhuǎn)換器ADC080911 簡(jiǎn)介ADC0809是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的8位ADC,它是采用逐次逼近的方法完成A/D轉(zhuǎn)換的。ADC0809的內(nèi)部結(jié)構(gòu)框圖如圖 所示。ADC0809由單一+5V電源供電,片內(nèi)有
11、帶鎖存功能的8路模擬多路開關(guān),可對(duì)8路05V的輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,完成一次轉(zhuǎn)換約需100us;輸出具有TTL三臺(tái)鎖存緩沖器,可以直接接到單片機(jī)數(shù)據(jù)總線上。通過適當(dāng)?shù)耐饨与娐?,ADC0809可對(duì)05V的雙級(jí)性模擬信號(hào)進(jìn)行轉(zhuǎn)換。12主要特性1)8路8位AD轉(zhuǎn)換器,即分辨率8位。 2)具有轉(zhuǎn)換起??刂贫?。 3)轉(zhuǎn)換時(shí)間為100s4)單5V電源供電 5)模擬輸入電壓范圍05V,不需零點(diǎn)和滿刻度校準(zhǔn)。 6)工作溫度范圍為-4085攝氏度 7)低功耗,約15mW。13 芯片引腳排列與名稱DIP封裝形式的ADC0809的芯片引腳排列與名稱如圖6所示各引腳功能說明如下:VCC:電源電壓,+5V。GN
12、D:地線輸入端。D0D7:8位數(shù)字量輸出引腳。A/D轉(zhuǎn)換結(jié)果由這8根線傳送給單片機(jī)。D7為最高有效位,圖6 0809引腳圖排列與名稱D0為最低有效位。IN0IN7:8路模擬量輸入引腳。Vref(+):參考電壓正端。Vref(-):參考電壓負(fù)端。START:啟動(dòng)信號(hào)輸入端,START為正脈沖,其上升沿清除ADC0808的內(nèi)部的各寄存器,其下降沿啟動(dòng)A/D開始轉(zhuǎn)換。ALE:地址鎖存啟動(dòng)信號(hào),在ALE的上升沿,將A、B、C上的通道地址鎖存到內(nèi)部的地址鎖存器。START和ALE兩信號(hào)用于啟動(dòng)A/D轉(zhuǎn)換。EOC:轉(zhuǎn)換完成信號(hào),當(dāng)EOC上升為高電平時(shí),表明內(nèi)部A/D轉(zhuǎn)換已完成。OE:允許輸出信號(hào)。當(dāng)OE=
13、1時(shí),即為高電平,允許輸出鎖存器輸出數(shù)據(jù)。CLK:時(shí)鐘輸入信號(hào),0809的時(shí)鐘頻率范圍在101200kHz,典型值為640kHz。A、B、C:3位地址輸入線,經(jīng)過譯碼后可選通IN0IN78個(gè)通道中的一個(gè)通道進(jìn)行轉(zhuǎn)換。A、B、C的輸入與選通的通道的關(guān)系如表2所示:表2被選通的通道C B A被選通的通道C B AIN00 0 0IN41 0 0IN10 0 1IN51 0 1IN20 1 0IN61 1 0IN30 1 1IN71 1 12 顯示器設(shè)計(jì)要求能顯示當(dāng)前電壓值,因此可采用液晶顯示或者數(shù)碼管顯示兩種方法??紤]到數(shù)碼管顯示過于單調(diào),因此采用采用液晶顯示。液晶顯示模塊具有體積小、功耗低、顯示
14、內(nèi)容豐富等特點(diǎn),現(xiàn)在點(diǎn)陣型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中常用的信息顯示器件了。21 簡(jiǎn)介本設(shè)計(jì)中采用了1602C型點(diǎn)陣式液晶顯示模塊。LCD技術(shù)和半導(dǎo)體技術(shù)的結(jié)合使該顯示模塊具有高可靠性和低功耗的特點(diǎn)。1602C型點(diǎn)陣式液晶顯示模塊內(nèi)部有字符產(chǎn)生存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。該顯示模塊可直接與AT89s51單片機(jī)相接,所有的顯示功能由控制器用指令實(shí)現(xiàn)。由單一的+5V的電源供電,數(shù)據(jù)傳送方式有4位和8位兩種選擇。內(nèi)有顯示92個(gè)ASCII字符和92個(gè)特殊字符的字庫(kù)。22 引腳排列與名稱1602C引腳排列與名稱如圖7所示。GND:電源地;VCC:電源正極,4.55.5V,通常使用5V電壓;VO:LCD對(duì)比
15、度調(diào)節(jié)端,電壓調(diào)節(jié)范圍為05V;RS:寫入數(shù)據(jù)或者指令選擇端。要寫入指令時(shí),使RS為低電平;要寫入數(shù)據(jù)時(shí),使RS為高電平; R/W:讀寫控制端。R/W為高電平時(shí),讀取數(shù)據(jù);R/W為低電平時(shí),寫入數(shù)據(jù); E:LCD模塊使能信號(hào)控制端。寫數(shù)據(jù)時(shí),圖7 1602C引腳排列與名稱需要下降沿觸發(fā);。DB0DB7:8位數(shù)據(jù)總線,三態(tài)雙向。如果I/O口資源緊張的話,該模塊也可以只使用4位數(shù)據(jù)線DB4DB7接口傳送數(shù)據(jù)。A: LED背光正極。需要背光時(shí),A串接一個(gè)限流電阻接VDD,K接地,實(shí)測(cè)該模塊的背光電流為50mA左右;K: LED背光地端31 MM74C922接口電路設(shè)計(jì)中MM74C922的輸出口與P1
16、口的低四位相接,DA端通過反向器與P32相接。每當(dāng)有按鍵按下時(shí),DA就產(chǎn)生高電平,同時(shí)向P1口低四位傳送16進(jìn)制的BCD碼,分別對(duì)應(yīng)16個(gè)按鍵。MM74C922與鍵盤及AT89S51的接線圖見圖9圖9 MM74C922接口電路32 DAC0832接口電路DAC0832 最具特色是輸入為雙緩沖結(jié)構(gòu),數(shù)字信號(hào)在進(jìn)入D/A 轉(zhuǎn)換前,需經(jīng)過兩個(gè)獨(dú)立控制的8 位鎖存器傳送。其優(yōu)點(diǎn)是D/A 轉(zhuǎn)換的同時(shí),DAC 寄存器中保留現(xiàn)有的數(shù)據(jù),而在輸入寄存器中可送入新的數(shù)據(jù)。系統(tǒng)中多個(gè)D/A 轉(zhuǎn)換器內(nèi)容可用一公共的選通信號(hào)選通輸出。設(shè)計(jì)中用2個(gè)電壓控制字代表0.1V當(dāng)電壓控制字從0,2,4,到198時(shí),可調(diào)穩(wěn)壓源輸
17、出0.0,0.1,9.9。由于DAC0832是電流輸出型,輸出的電流隨輸入的電壓控制字線性變化。若要得到電壓,還需要外接一片運(yùn)放來實(shí)現(xiàn)電流到電壓的轉(zhuǎn)換。由于DAC0832 輸出級(jí)沒有加集成運(yùn)放,所以需外加LM324相配適用。考慮到設(shè)計(jì)需要,采用了單緩沖雙級(jí)性的接法,如圖10所示:圖10 DAC0832接口電路其計(jì)算公式為:其中Vref為參考電壓,D為DAC0832接收到的數(shù)據(jù)。5為DAC0832基準(zhǔn)電壓。如果圖中所示電阻RX,RY,RZ的阻值選取適當(dāng),則輸出電壓范圍在電壓控制字從0,2,4,。33 ADC0809接口電路由于輸出電壓范圍是0.0V9.9V超出了ADC0809的測(cè)量范圍,因此使用
18、電位器將輸出電壓分壓后送至ADC0809的輸入端。ADC0809與AT89S51的接口電路如圖11所示圖11 ADC0809接口電路其中P2.6為0809的片選信號(hào),與WR和RD分別通過或非門接到0809的START和OE上,EOC通過非門與AT89S51的INT0相接。由于0809需要時(shí)鐘信號(hào),因此可以從AT89S51的ALE端得到6分頻的振蕩信號(hào),為了使6分頻后的信號(hào)能滿足0809的需求,我們采用的是4M的晶體振蕩器。34 LCD1602C接口電路LCD1602C與AT89S51的接口電路如圖12所示圖12 LCD顯示電路可調(diào)穩(wěn)壓源電路為了獲得大的負(fù)載電流,可調(diào)穩(wěn)壓部分使用了最大輸出電流為
19、1A 的7805三端集成穩(wěn)壓塊。7805原本是輸出固定電壓為5V的集成穩(wěn)壓塊,但可以外接電路來改變輸出電壓值??烧{(diào)穩(wěn)壓的電路見圖13:設(shè)運(yùn)放理想。這時(shí),可認(rèn)為運(yùn)放輸入電壓很小。即:圖13 可調(diào)穩(wěn)壓電路-5V的電壓,因而Vout的變化可以從0.0V9.9V。經(jīng)實(shí)驗(yàn)證明:這種可調(diào)穩(wěn)壓輸出具有良好的負(fù)載特性,輸出最大負(fù)載電流可達(dá)到1A。電壓輸出端接上500mA負(fù)載與未接負(fù)載(空載)之間輸出電壓僅相差0.04V以內(nèi)。由于。流穩(wěn)壓電路本設(shè)計(jì)共用到電源有三種:即±15V,+5V 。可選用的有開關(guān)電源和穩(wěn)壓電源兩種,由于開關(guān)電源的紋波系數(shù)比較大,且設(shè)計(jì)要求電壓紋波不大于10mV 。因此采用常用的穩(wěn)
20、壓電源來作為整個(gè)系統(tǒng)的電源。穩(wěn)壓電源由電源變壓器、整流電路、濾波電路和穩(wěn)壓電路組成,如圖14所示圖14 電源方框及波形圖整流和濾波電路:整流作用是將交流電壓U2變換成脈動(dòng)電壓U3。濾波電路一般由電容組成,其作用是脈動(dòng)電壓U3中的大部分紋波加以濾除,以得到較平滑的直流電壓U4。再通過穩(wěn)壓電路得到平直的直流電壓U5。電源變壓器采用了雙17.2V的變壓器,輸入220V,50Hz交流電,經(jīng)全橋整流,濾波,穩(wěn)壓后得到±15V和+5V三種輸出,+5V部分供單片機(jī)及D/A,A/D,顯示等部分使用,電流最大約400mA;+15V和-15V部分供運(yùn)放使用,最大電流不超過50mA。電路如圖15所示:圖1
21、5 電源部分原理圖圖中繼電器部分是一個(gè)開關(guān)電路及短路保護(hù)電路。當(dāng)系統(tǒng)接到220V交流電后經(jīng)變壓器降壓,整流橋整流后接到K1,此時(shí)由于U1(7815)沒有輸入,所以K1沒有供電,整個(gè)后續(xù)系統(tǒng)處于關(guān)閉狀態(tài),當(dāng)按下SW_ON鍵時(shí)U1得到輸入,產(chǎn)生+15V的輸出,同時(shí)K1得電吸合,形成自鎖狀態(tài),同時(shí)79L15也得電輸出-15V電壓。松開SW_ON鍵后由于K1處于自鎖狀態(tài),整個(gè)系統(tǒng)處于開啟狀態(tài)。當(dāng)按下SW_OFF鍵時(shí),K1被短路,從而斷開電源達(dá)到關(guān)機(jī)的目的。同樣,在任一時(shí)刻如果產(chǎn)生短路,則K1也會(huì)斷開達(dá)到短路保護(hù)的目的。+5V部分的供電電流在400mA左右,因此采用了最大輸出電流為1A 的7805三端穩(wěn)
22、壓集成電路,由于功耗大,負(fù)載重,加裝了散熱片。而+15V和-15V部分最大電流不超過50mA。在設(shè)計(jì)過程中發(fā)現(xiàn)中兩片7805的均使用了散熱片且溫度偏高,因此加裝了風(fēng)扇,使用+15V電源,將78L15該為7815后可滿足風(fēng)扇需求。這樣在保證性能的同時(shí)也降低了成本。三程序設(shè)計(jì)1主控程序圖16為系統(tǒng)主控程序。開始系統(tǒng)初始化D/A子程序鍵盤處理子程序A/D子程序有鍵按下?顯示子程序是否圖16 系統(tǒng)主控程序框圖2 D/A子程序圖17為D/A子程序框圖。開始將顯示值轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字量數(shù)字量送D/A返回1圖17 D/A子程序框圖可以看出,D/A子程序的作用是將設(shè)定的數(shù)字量通過變換送給D/A。3 A/D子程序
23、圖18為A/D子程序框圖。開始返回將輸出電壓轉(zhuǎn)換成數(shù)字量與送D/A數(shù)字量相比較是否相等?將送D/A數(shù)字量減01H相等不等大于送D/A數(shù)字量?是否將送D/A數(shù)字量加01H1圖18 A/D子程序框圖由A/D子程序框圖看出,修改精度為一個(gè)數(shù)字量,由于A/D和D/A的精度限制,修改量只能達(dá)到0.05V,但足已滿足設(shè)計(jì)需要。4 鍵盤子程序圖19為鍵盤子程序框圖。開始判斷按鍵+-設(shè) 置其 它步進(jìn),步減子程序設(shè) 置子程序返回圖19 鍵盤子程序框圖框圖41 步進(jìn)步減子程序圖20為步進(jìn),步減子程序框圖開始D/A數(shù)字量加02H為“+”?1否是D/A數(shù)字量加02H返回是否為9.9V否是否為0.0V否保持不變?yōu)椤?”
24、?是是是圖20 步進(jìn),步減子程序框圖由步進(jìn),步減子程序框圖可以看出,如果每次把D/A的數(shù)字量加01H,可以使步進(jìn)量和步減量由0.1V變?yōu)?.05V。如果采用更高位的D/A轉(zhuǎn)換器??梢允共竭M(jìn)量和步減量進(jìn)一步的減小,以滿足更高的要求。42 設(shè)置子程序圖21為設(shè)置子程序框圖:開始返回?cái)?shù)字鍵?顯示PLEASE SETVOLTAGE V判斷按鍵顯示PLEASE SET VOLTAGE X V否判斷按鍵是顯示PLEASE SET VOLTAGE X. V是取消鍵?顯示 SET CANCLE VOLTAGE A.B V(AB為設(shè)置前電壓值)是否判斷按鍵“?!辨I?否取消鍵?是22否3數(shù)字鍵?否取消鍵?是否3判
25、斷按鍵顯示PLEASE SET VOLTAGE X.Y V是4確認(rèn)鍵?否取消鍵?否是4顯示SET COMPLATE VOLTAGE X.Y V是圖21設(shè)置子程序框圖由設(shè)置子程序可以看出,進(jìn)入設(shè)置子程序后就屏蔽了“+”,“-”和設(shè)置鍵。然后逐步判斷按鍵,執(zhí)行相應(yīng)程序。五設(shè)計(jì)總結(jié)在本次設(shè)計(jì)過程中,對(duì)紋波也沒有提出嚴(yán)格要求,所以常用的穩(wěn)壓集成電路就可以滿足要求。在電路中采用了模擬器件和數(shù)字器件所以需要+5V、和-15V 電源供電。本設(shè)計(jì)輸出的電壓穩(wěn)壓精度高,可以用在對(duì)直流電壓要求較高的設(shè)備上,或在科研實(shí)驗(yàn)室中當(dāng)作實(shí)驗(yàn)電源使用。在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是很難,很不順手,看似很
26、簡(jiǎn)單的電路,要?jiǎng)邮职阉o設(shè)計(jì)出來,是很難的一件事,主要原因是我們沒有經(jīng)常動(dòng)手設(shè)計(jì)過電路,還有資料的查找也是一大難題,這就要求我們?cè)谝院蟮膶W(xué)習(xí)中,應(yīng)該注意到這一點(diǎn),更重要的是我們要學(xué)會(huì)把從書本中學(xué)到的知識(shí)和實(shí)際的電路聯(lián)系起來,這不論是對(duì)我們以后的就業(yè)還是學(xué)習(xí),都會(huì)起到很大的促進(jìn)和幫助,我相信,通過這次的課程設(shè)計(jì),在下一階段的學(xué)習(xí)中我會(huì)更加努力,力爭(zhēng)把這門課學(xué)好,學(xué)精。同時(shí),通過本次課程設(shè)計(jì),鞏固了我們學(xué)習(xí)過的專業(yè)知識(shí),也使我們把理論與實(shí)踐從真正意義上相結(jié)合了起來;考驗(yàn)了我們借助互聯(lián)網(wǎng)絡(luò)搜集、查閱相關(guān)文獻(xiàn)資料,和組織材料的綜合能力;從中可以自我測(cè)驗(yàn),認(rèn)識(shí)到自己哪方面有欠缺、不足,以便于在日后的學(xué)習(xí)
27、中得以改進(jìn)、提高;通過使用電路CAD 軟件Protel 99 se , 也讓我們了解到計(jì)算機(jī)輔助設(shè)計(jì)(CAD)的智能化,有利于提高工作效率。本次關(guān)于簡(jiǎn)易數(shù)控直流穩(wěn)壓電源的設(shè)計(jì)與制作是在嚴(yán)輝老師以及其他輔導(dǎo)老師的精心指導(dǎo)下,和同組內(nèi)其他成員的共同交流下才得以順利完成。經(jīng)過本次畢業(yè)設(shè)計(jì)把我大學(xué)三年來所學(xué)的理論知識(shí)轉(zhuǎn)化為實(shí)際應(yīng)用,既鍛煉了我們的實(shí)際操作能力,又使理論知識(shí)得以加強(qiáng)和升華,激發(fā)了創(chuàng)新意識(shí)。再次感謝各位老師和同學(xué)們的幫助。六附件A、程 序 實(shí) 現(xiàn)單片機(jī)系統(tǒng)初始化和存儲(chǔ)器分配程序$NOMOD51;-; This file is part of the C51 Compiler package
28、 /這個(gè)文件是c51 鏈接的數(shù)據(jù);-; STARTUP.A51: This code is executed after processor reset. 這個(gè)代碼在程序重啟之后執(zhí)行; To translate this file use A51 with the following invocation:; To link the modified STARTUP.OBJ file to your application use the following; BL51 invocation:; BL51 <your object file list>, STARTUP.OBJ &
29、lt;controls>-; User-defined Power-On Initialization of Memory; With the following EQU statements the initialization of memory; at processor reset can be defined:; ; the absolute start-address of IDATA memory is always 0IDATALEN EQU 80H ; the length of IDATA memory in bytes. IDATA存儲(chǔ)的字節(jié)長(zhǎng)度;XDATASTAR
30、T EQU 0H ; the absolute start-address of XDATA memory XDATA 存儲(chǔ)的實(shí)際起始地址XDATALEN EQU 0H ; the length of XDATA memory in bytes.;PDATASTART EQU 0H ; the absolute start-address of PDATA memoryPDATALEN EQU 0H ; the length of PDATA memory in bytes.; Notes: The IDATA space overlaps physically the DATA and BI
31、T areas of the; 8051 CPU. At minimum the memory space occupied from the C51 ; run-time routines must be set to zero. ;-; Reentrant Stack Initilization; The following EQU statements define the stack pointer for reentrant; functions and initialized it:; Stack Space for reentrant functions in the SMALL
32、 model.IBPSTACK EQU 0 ; set to 1 if small reentrant is used.IBPSTACKTOP EQU 0FFH+1 ; set top of stack to highest location+1.; Stack Space for reentrant functions in the LARGE model. XBPSTACK EQU 0 ; set to 1 if large reentrant is used.XBPSTACKTOP EQU 0FFFFH+1; set top of stack to highest location+1.
33、; Stack Space for reentrant functions in the COMPACT model. PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.PBPSTACKTOP EQU 0FFFFH+1; set top of stack to highest location+1.;-; Page Definition for Using the Compact Model with 64 KByte xdata RAM; The following EQU statements define the xdata p
34、age used for pdata; variables. The EQU PPAGE must conform with the PPAGE control used; in the linker invocation.;PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.;PPAGE EQU 0 ; define PPAGE number. ;PPAGE_SFR DATA 0A0H ; SFR that supplies uppermost address byte; (most 8051 variants use P2 as up
35、permost address byte);-; Standard SFR Symbols ACC DATA 0E0HB DATA 0F0HSP DATA 81HDPL DATA 82HDPH DATA 83H NAME C_STARTUPC_C51STARTUP SEGMENT CODESTACK SEGMENT IDATA RSEG STACK DS 1 EXTRN CODE (?C_START) PUBLIC C_STARTUP CSEG AT 0?C_STARTUP: LJMP STARTUP1 RSEG C_C51STARTUPSTARTUP1:IF IDATALEN <>
36、; 0 MOV R0,#IDATALEN - 1 CLR AIDATALOOP: MOV R0,A DJNZ R0,IDATALOOPENDIFIF XDATALEN <> 0 MOV DPTR,#XDATASTART MOV R7,#LOW (XDATALEN) IF (LOW (XDATALEN) <> 0 MOV R6,#(HIGH (XDATALEN) +1 ELSE MOV R6,#HIGH (XDATALEN) ENDIF CLR AXDATALOOP: MOVX DPTR,A INC DPTR DJNZ R7,XDATALOOP DJNZ R6,XDATA
37、LOOPENDIFIF PPAGEENABLE <> 0 MOV PPAGE_SFR,#PPAGEENDIFIF PDATALEN <> 0 MOV R0,#LOW (PDATASTART) MOV R7,#LOW (PDATALEN) CLR APDATALOOP: MOVX R0,A INC R0 DJNZ R7,PDATALOOPENDIFIF IBPSTACK <> 0EXTRN DATA (?C_IBP) MOV C_IBP,#LOW IBPSTACKTOPENDIFIF XBPSTACK <> 0EXTRN DATA (?C_XBP)
38、 MOV C_XBP,#HIGH XBPSTACKTOP MOV C_XBP+1,#LOW XBPSTACKTOPENDIFIF PBPSTACK <> 0EXTRN DATA (C_PBP) MOV C_PBP,#LOW PBPSTACKTOPENDIF MOV SP,#STACK-1; This code is required if you use L51_BANK.A51 with Banking Mode 4; EXTRN CODE (B_SWITCH0); CALL B_SWITCH0 ; init bank mechanism to code bank 0 LJMP
39、C_START END鍵盤掃描程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit key1=P10;sbit key2=P11;void delay(uint z); uchar keyscan() / 鍵盤掃描程序 uchar temp,num; num=17; temp=P1; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=P1; temp=temp&0xf0; if(temp!=0xf0) /delay(10
40、); /延遲去抖 P1=P1&0xf0; while(P1!=0xf0); switch(temp) case 0xd0:num=8;break; / p1.0與p1.5的交處, case 0xb0:num=9;break; case 0x70:num=15;break; default:break; else break; P1=0xfd; temp=P1; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=P1; temp=temp&0xf0; if(temp!=0xf0) /delay(10);P1=P1&
41、0xf0;while(P1!=0xf0); switch(temp) case 0xe0:num=4;break; case 0xd0:num=5;break; case 0xb0:num=6;break; case 0x70:num=14;break; default:break; else break; P1=0xfb; temp=P1; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=P1; temp=temp&0xf0; if(temp!=0xf0) /delay(10); P1=P1&0xf0;while(P
42、1!=0xf0); switch(temp) case 0xe0:num=1;break; case 0xd0:num=2;break; case 0xb0:num=3;break; case 0x70:num=13;break; default:break; else break; P1=0xf7; temp=P1; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=P1; temp=temp&0xf0; if(temp!=0xf0) /delay(10); P1=P1&0xf0;while(P1!=0xf0); sw
43、itch(temp) case 0xe0:num=10;break; case 0xd0:num=0;break; case 0xb0:num=11;break; case 0x70:num=12;break; default:break; else break; return num;主程序 #include<reg52.h>#include<absacc.h>#include<intrins.h>#include<math.h>#include"keyscan.h"#define uchar unsigned char#d
44、efine uint unsigned int#define dac0832 XBYTE0X7FFF /P2.7作片選,啟動(dòng)DA轉(zhuǎn)換#define int0 XBYTE0X7FF8 /結(jié)束AD轉(zhuǎn)換,鎖存通道0,讀出AD值uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; /數(shù)組table存放代碼uchar temp1,weishu,flag,dot;uchar volt4=0,0,0,0;void delay(
45、uint z) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void display(uchar z) /LED顯示函數(shù) uchar j; P2=0xFE; /P2.0口置0 ,選擇第一個(gè)數(shù)碼管 for(j=0;j<z;j+) / 循環(huán)控制 P0=tablevoltj; / 將P0口數(shù)據(jù)送 LED顯示 delay(6); if(j<z-1) P2=_crol_(P2,1); /判斷,依次選擇P2.1,P2.2口 void main() uchar keynum,i; float voltage,xiaoshu,sum; i=0; voltage=0; temp1=0; flag=0; weishu=1; /定義數(shù)字量值temp1,進(jìn)位標(biāo)志flag,數(shù)碼管位數(shù)weishu等變量 while(1) dac0832=temp1; / 初始值設(shè)定為0 keynum=keyscan(); /調(diào)用鍵盤掃描函數(shù) if(keynum=15) /如果鍵值15,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 退休人員上崗協(xié)議書
- 聘請(qǐng)合唱老師協(xié)議書
- 雙方風(fēng)險(xiǎn)承擔(dān)協(xié)議書
- 活動(dòng)承辦意向協(xié)議書
- 物品保用協(xié)議書范本
- 農(nóng)村繼承協(xié)議書范本
- 手工合作加工協(xié)議書
- 勞動(dòng)事故私了協(xié)議書
- 家庭家產(chǎn)分配協(xié)議書
- 貨款協(xié)議書范本簡(jiǎn)單
- (2023)四年級(jí)科學(xué)質(zhì)量監(jiān)測(cè)試題
- 自然常數(shù)e的意義與計(jì)算
- 農(nóng)村土地延包確權(quán)實(shí)施方案
- 糖尿病眼部護(hù)理課件
- (課件)文題5【鄉(xiāng)情】
- 如何培養(yǎng)嚴(yán)重精神障礙患者的社交技能和人際交往能力
- 護(hù)工病房護(hù)理培訓(xùn):針對(duì)病房環(huán)境中的護(hù)理工作的專項(xiàng)培訓(xùn)課件
- 健康生活從個(gè)人衛(wèi)生做起
- 中小學(xué)科普講座《水與人類生活》公開課教案教學(xué)設(shè)計(jì)課件案例測(cè)試練習(xí)卷題
- 消化內(nèi)科病房的醫(yī)院感染預(yù)防與控制
- 【提高酒店服務(wù)質(zhì)量的思考:以S酒店為例4700字(論文)】
評(píng)論
0/150
提交評(píng)論