單片機(jī)電壓越限警報(bào) 檢測(cè)及報(bào)警系統(tǒng)的設(shè)計(jì)及開發(fā)_第1頁(yè)
單片機(jī)電壓越限警報(bào) 檢測(cè)及報(bào)警系統(tǒng)的設(shè)計(jì)及開發(fā)_第2頁(yè)
單片機(jī)電壓越限警報(bào) 檢測(cè)及報(bào)警系統(tǒng)的設(shè)計(jì)及開發(fā)_第3頁(yè)
單片機(jī)電壓越限警報(bào) 檢測(cè)及報(bào)警系統(tǒng)的設(shè)計(jì)及開發(fā)_第4頁(yè)
單片機(jī)電壓越限警報(bào) 檢測(cè)及報(bào)警系統(tǒng)的設(shè)計(jì)及開發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘要隨著社會(huì)的發(fā)展和時(shí)代的進(jìn)步,人們不斷的對(duì)于環(huán)境的安全性提出更多的要求,由此設(shè)計(jì)出一個(gè)行之有效的檢測(cè)與報(bào)警系統(tǒng)是有很大的必要。自從電的問(wèn)世以來(lái),隨著愛迪生發(fā)明了燈泡,電類設(shè)備的大量的使用,電這一能源便于人們的生活息息相關(guān),在日常生活及工業(yè)生產(chǎn)中扮演著重要的角色,因此對(duì)于電的安全使用和電路的保護(hù)也尤為重要。本課題為檢測(cè)與報(bào)警系統(tǒng)的設(shè)計(jì)與開發(fā),以單片機(jī)為中心設(shè)計(jì)一個(gè)能夠根據(jù)輸入電壓的大小進(jìn)行報(bào)警的儀器。本設(shè)計(jì)選為單片機(jī),A/D轉(zhuǎn)換器等元器件為主要部分,利用可變電阻器作為輸入電壓,來(lái)對(duì)于電壓值進(jìn)行監(jiān)控,達(dá)到保護(hù)作用。在設(shè)定范圍0-5V之內(nèi),當(dāng)輸入電壓高于上限值2.5V時(shí)進(jìn)行報(bào)警,并實(shí)時(shí)顯示輸入的電

2、壓值,輸入電壓通過(guò)A/D轉(zhuǎn)換器進(jìn)行模擬信號(hào)與數(shù)字信號(hào)的轉(zhuǎn)換,并將信號(hào)送入單片機(jī),最終經(jīng)單片機(jī)處理運(yùn)算后來(lái)進(jìn)行驅(qū)動(dòng)LED發(fā)光顯示。電壓越限報(bào)警器的廣泛使用將會(huì)大量降低實(shí)際應(yīng)用中由于電壓值越限所帶來(lái)的影響。關(guān)鍵詞:AT89C51 ,DAC0808,PROTEUS1引言設(shè)計(jì)并開發(fā)能檢測(cè)模擬信號(hào),并能產(chǎn)生報(bào)警信號(hào)的系統(tǒng)。1.對(duì)輸入的05V模擬電壓信號(hào)進(jìn)行檢測(cè)。2.能判斷所檢測(cè)的信號(hào)是否超界。3.若信號(hào)超界則進(jìn)行報(bào)警(可用發(fā)光二極管閃爍表示)。說(shuō)明:其界限值是自行設(shè)定的(如2.5V),其所對(duì)應(yīng)的數(shù)字量為(2.5/5)*255=127.5=80H),事先將其存放在某寄存器或存貯單元。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)

3、展和普及,檢測(cè)與報(bào)警系統(tǒng)在多個(gè)領(lǐng)域有著廣泛的應(yīng)用對(duì)某一檢測(cè)點(diǎn)任意參數(shù)能夠進(jìn)行隨機(jī)查尋,將其在某一時(shí)間段內(nèi)檢測(cè)得到的數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)換提取出來(lái),以便進(jìn)行比較,并進(jìn)行超范圍的LED警報(bào)。 隨著工、農(nóng)業(yè)的發(fā)展,多路數(shù)據(jù)采集勢(shì)必將得到越來(lái)越多的應(yīng)用,為適應(yīng)這一趨勢(shì),作這方面的研究就顯得十分重要。在科學(xué)研究中,成為廣大電子領(lǐng)域中必須掌握的過(guò)程,并且對(duì)測(cè)量的精度和采集功能的要求也越來(lái)越高,而電壓的測(cè)量,顯示與測(cè)量系統(tǒng)甚為重要。在課程設(shè)計(jì)中對(duì)一路電壓采集系統(tǒng)與顯示系統(tǒng)作了基本的研究。電壓采集與通信控制采用了模塊化的設(shè)計(jì),并用單片機(jī)8051來(lái)實(shí)現(xiàn),硬件部分是以單片機(jī)為核心,還包括模-數(shù)轉(zhuǎn)換模塊,顯示模塊,和串行接口

4、部分,還有一些簡(jiǎn)單的外圍電路。1路被測(cè)電壓通過(guò)通用ADC0808模-數(shù)轉(zhuǎn)換,實(shí)現(xiàn)對(duì)采集到的電壓進(jìn)行模擬量到數(shù)字量的轉(zhuǎn)換,由單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理,用數(shù)碼管顯示模塊來(lái)顯示所采集的結(jié)果,由相關(guān)控制器完成數(shù)據(jù)接收和顯示,匯編程序編寫了更加明了化數(shù)據(jù)顯示界面。本系統(tǒng)主要包括四大模塊:數(shù)據(jù)采集模塊、控制模塊、顯示模塊、A/D轉(zhuǎn)換模塊和LED警報(bào)電路。繪制電路原理圖與工作流程圖,并進(jìn)行調(diào)試,最終設(shè)計(jì)完成了該系統(tǒng)的硬件電路。在軟件編程上,采用了匯編語(yǔ)言進(jìn)行編程,開發(fā)環(huán)境使用相關(guān)集成開發(fā)環(huán)境。開發(fā)了顯示模塊程序、A/D轉(zhuǎn)換程序。2總體設(shè)計(jì)方案2.1 設(shè)計(jì)思路A、利用ADC0809及其適當(dāng)?shù)耐鈬娐穼?shí)現(xiàn)直流電壓的

5、采集。B、采集結(jié)果在LED數(shù)碼管上顯示出來(lái),數(shù)據(jù)范圍為:05v,超過(guò)2.5V時(shí)對(duì)其輸入信號(hào)進(jìn)行LED亮燈警報(bào)C、繪制硬件連接圖,編寫相應(yīng)的控制程序。D、撰寫設(shè)計(jì)報(bào)告、調(diào)試報(bào)告、設(shè)計(jì)心得。2.1.1 設(shè)計(jì)方案(1).方案確立依據(jù)綜合課程設(shè)計(jì)的要求,利用ADC0808設(shè)計(jì)一個(gè)單通道模擬電壓采集顯示電路,要求對(duì)所接通道變化的模擬電壓值進(jìn)行采集,采集來(lái)的數(shù)字量送至數(shù)碼管指示出來(lái),通過(guò)相關(guān)轉(zhuǎn)換在數(shù)碼管上精確顯示出來(lái)。本課程設(shè)計(jì)相當(dāng)于測(cè)直流電壓的大小,通過(guò)對(duì)電壓值的采集與處理,而由所學(xué)微控制器的知識(shí)可知,可以利用單片機(jī)的模數(shù)轉(zhuǎn)換來(lái)實(shí)現(xiàn)這一設(shè)計(jì),進(jìn)一步把相應(yīng)的電壓值精確顯示出來(lái)。 模數(shù)轉(zhuǎn)換就是利用單片機(jī)控制

6、模數(shù)轉(zhuǎn)換芯片(A/D),讓它對(duì)外部的一個(gè)模擬信號(hào)進(jìn)行采樣、量化、編碼然后轉(zhuǎn)化為一個(gè)離散的數(shù)字量,提供給控制器作進(jìn)一步處理。對(duì)于常用的A/D轉(zhuǎn)換芯片有ADC0809、ADC0808等。它們都是8位的模數(shù)轉(zhuǎn)換芯片,就是把模擬量轉(zhuǎn)換為一個(gè)8位的二進(jìn)制數(shù)。利用單片機(jī)AT89C51與ADC0809設(shè)計(jì)一個(gè)電壓采集系統(tǒng),將模擬信號(hào)(實(shí)際設(shè)計(jì)時(shí)采用05 V)之間的直流電壓值轉(zhuǎn)換成數(shù)字量信號(hào)0FF,以數(shù)碼管顯示。Proteus軟件啟動(dòng)仿真,當(dāng)前輸入電壓為25 0V,轉(zhuǎn)換成數(shù)字值為7FH,用鼠標(biāo)指針調(diào)節(jié)電位器尺,可改變輸入模數(shù)轉(zhuǎn)換器ADC0808的電壓,并通過(guò)虛擬電壓表觀察ADC0808模擬量輸入信號(hào)的電壓值,

7、LED數(shù)碼管實(shí)時(shí)顯示相應(yīng)的數(shù)值量。 此次電壓表總體的方案就是用單片機(jī)的I/O口輸出信號(hào)來(lái)控制A/D啟動(dòng)轉(zhuǎn)換,將送入的模擬量轉(zhuǎn)換為一個(gè)8位數(shù)字量,然后再通過(guò)I/O口送回單片機(jī)內(nèi)部進(jìn)行處理,單片機(jī)進(jìn)行一系列的運(yùn)算和校準(zhǔn)后,通過(guò)數(shù)碼管將電壓值顯示出來(lái)。而在方案的實(shí)現(xiàn)上由兩部分組成:硬件部分和軟件部分。硬件即電子元器件的選擇且將它們連接成一個(gè)可行的硬件系統(tǒng),軟件是硬件系統(tǒng)功能化的重要組成部分。硬件的設(shè)計(jì)可以在Proteus上進(jìn)行,軟件可以用Proteus自帶的匯編工具,然后在Proteus將硬軟件相結(jié)合,進(jìn)行仿真,再根據(jù)結(jié)果不斷對(duì)硬件進(jìn)行改進(jìn),對(duì)軟件進(jìn)行調(diào)試,實(shí)現(xiàn)電壓的采集與顯示功能。2.2 設(shè)計(jì)方框

8、圖圖1.1 總體模塊圖2.2.1 電源采集電路本設(shè)計(jì)利用可變電阻器作為輸入電壓,輸入電壓范圍為0-5V,將采集端電壓最大值設(shè)置為5V,隨著可變電阻器百分比的變化輸入電壓的大小也隨之變化。此電源采集電路元器件簡(jiǎn)單,并且操作方便,充分滿足此設(shè)計(jì)輸入電壓的要求。圖1.2元器件圖2.2.2 A/D轉(zhuǎn)換電路ADC0808是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。 (1)ADC0808的內(nèi)部邏輯結(jié)構(gòu)     由下圖可知,ADC0808由一個(gè)8路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器

9、和一個(gè)三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。圖1.3 ADC080原理圖(2)ADC0809引腳結(jié)構(gòu) ADC0809各腳功能如下:D7-D0:8位數(shù)字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負(fù)端。START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。ALE:地址鎖存允許信號(hào)輸入端。(以上兩種信號(hào)用于啟動(dòng)A/D轉(zhuǎn)換).EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開始轉(zhuǎn)換時(shí)為

10、低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時(shí)鐘信號(hào)輸入端(一般為500KHz)。A、B、C:地址輸入線。 圖1.4 原理圖 圖1.5 實(shí)物圖    ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是05V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條     ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的

11、通道的模擬量進(jìn)入轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7圖1.6 功能表數(shù)字量輸出及控制線:11條     ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換

12、得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。 CLK為時(shí)鐘輸入信號(hào)線。因ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ, VREF(),VREF()為參考電壓輸入。 2 ADC0809應(yīng)用說(shuō)明 (1) ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89S51單片機(jī)直接相連。 (2) 初始化時(shí),使ST和OE信號(hào)全為低電平。 (3) 送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。 (4) 在ST端給出一個(gè)至少有100ns寬的正脈沖信號(hào)。 (5) 是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號(hào)來(lái)判斷。 (6) 當(dāng)EOC變?yōu)楦唠娖綍r(shí),這時(shí)給OE為高電平,轉(zhuǎn)

13、換的數(shù)據(jù)就輸出給單片機(jī)了。AD轉(zhuǎn)換是一種非常重要的技術(shù)手段,是單片機(jī)等控制芯片與外界信號(hào)的接口部分。AD轉(zhuǎn)換將輸入的模擬電壓轉(zhuǎn)換為與之成正比的的數(shù)字量。常用的AD轉(zhuǎn)換器主要有并聯(lián)比較性,逐次比較式,雙積分式。本設(shè)計(jì)采用的ADC0808A/D轉(zhuǎn)換器為8位逐次比較式轉(zhuǎn)換器。在ADC0808的轉(zhuǎn)換過(guò)程中通過(guò)引腳WR來(lái)啟動(dòng)轉(zhuǎn)換的控制輸入,相當(dāng)于ADC的轉(zhuǎn)換開始(CS=0時(shí)),當(dāng)WR由高變?yōu)榈蜁r(shí)轉(zhuǎn)換器被清。在ADC0808元件圖中引腳VIN(+)和引腳VIN(-)為模擬電壓輸入端,單邊輸入時(shí)模擬電壓輸入接VIN(+)端,VIN(-)端接地。當(dāng)轉(zhuǎn)換器進(jìn)行雙邊輸入時(shí)VIN(+),VIN(-)分別接模擬電壓信

14、號(hào)的正端和負(fù)端。當(dāng)輸入的模擬電壓信號(hào)存在“零點(diǎn)漂移電壓”時(shí),可在VIN(-)接一個(gè)等值的零點(diǎn)補(bǔ)償電壓,變換時(shí)將自動(dòng)從VIN(+)中減去這一電壓,在本設(shè)計(jì)中ADC0804采用單邊輸入模擬電壓。為保證A/D轉(zhuǎn)換器的所需的時(shí)鐘信號(hào),通過(guò)CLKIN和CLKR外接RC振蕩電路。并且最終通過(guò)DB0-DB7輸出A/D轉(zhuǎn)換后的二進(jìn)制結(jié)果。圖1.7 元器件圖2.2.3 單片機(jī)及其外圍電路ADC0808與8051單片機(jī)的硬件接口有3種形式,分別是查詢方式、中斷方式和延時(shí)等待方式,本題中選用中斷接口方式。由于ADC0809無(wú)片內(nèi)時(shí)鐘,時(shí)鐘信號(hào)可由單片機(jī)的ALE信號(hào)經(jīng)D觸發(fā)器二分頻后獲得。該題目中單片機(jī)時(shí)鐘頻率采用1

15、2MHz,則ALE輸出的頻率是2MHz,四分頻后為500KHz,符合ADC0809對(duì)頻率的要求。由于ADC0808內(nèi)部設(shè)有地址鎖存器,所以通道地址由P0口的低3位直接與ADC0808的A、B、C相連。通道基本地址為0000H0007H。其對(duì)應(yīng)關(guān)系上面已做介紹。 控制信號(hào):將P2.7作為片選信號(hào),在啟動(dòng)A/D轉(zhuǎn)換時(shí),由單片機(jī)的寫信號(hào)和P2.7控制ADC的地址鎖存和啟動(dòng)轉(zhuǎn)換。由于ALE和START連在一起,因此ADC0808在鎖存通道地址的同時(shí)也啟動(dòng)轉(zhuǎn)換。在讀取轉(zhuǎn)換結(jié)果時(shí),用單片機(jī)的P3.0產(chǎn)生正脈沖作為OE信號(hào),用來(lái)打開三態(tài)輸出鎖存器。圖1.8 元器件圖2.2.4 LED顯示電路共陽(yáng)極7段LED

16、數(shù)碼管和共陰極LED數(shù)碼管結(jié)構(gòu)類似,其引腳配置,如圖所示。從圖中可以看出7段LED數(shù)碼管同樣由8個(gè)發(fā)光二極管組成,其中7個(gè)發(fā)光二極管構(gòu)成字形“8”,另一個(gè)發(fā)光二極管構(gòu)成小數(shù)點(diǎn)。共陽(yáng)極7段LED數(shù)碼管的內(nèi)部結(jié)構(gòu),如圖所示。其中所有發(fā)光二極管的陽(yáng)極為公共端,接+5v電壓。如果發(fā)光二極管的陰極為低電平的時(shí)候,發(fā)光二極管導(dǎo)通,該字段發(fā)光;反之,如果發(fā)光二極管的陰極為高電平的時(shí)候,發(fā)光二極管截止,該字段不發(fā)光。圖1.9 元器件圖2.2.5 報(bào)警電路主程序可以不斷采樣電壓值并與設(shè)定范圍進(jìn)行比較,如果電壓異常,則應(yīng)該啟動(dòng)定時(shí)中斷,定時(shí)中斷完成報(bào)警過(guò)程,如果報(bào)警過(guò)程中電壓恢復(fù)正常,則報(bào)警應(yīng)該結(jié)束。當(dāng)輸入電壓值

17、超過(guò)所允許的范圍之內(nèi),經(jīng)過(guò)一系列電路元器件的工作,LED將會(huì)亮發(fā)出報(bào)警信號(hào)。在利用中斷方式對(duì)P2.4的端口高低電平進(jìn)行控制,在ADC0808輸出經(jīng)過(guò)數(shù)模轉(zhuǎn)換的數(shù)值與寄存器或存貯單元中存儲(chǔ)的警報(bào)電壓2.5V進(jìn)行比較,比較過(guò)后,若超過(guò)警報(bào)電壓則輸出低電平,LED警報(bào)燈亮;反而輸出高電平。LED報(bào)警燈保持熄滅狀態(tài)。圖1.10 元器件圖3 設(shè)計(jì)原理分析3.1 系統(tǒng)整體的設(shè)計(jì)原理1 硬件設(shè)計(jì)(1)系統(tǒng)構(gòu)成該系統(tǒng)主要包括幾大模塊:數(shù)據(jù)采集模塊、AD轉(zhuǎn)換模塊、控制模塊、顯示模塊、按鍵模塊等。采用AT89C51作為控制模塊,ADC0808作為AD轉(zhuǎn)換模塊的核心,ADC0808本身具有8路模擬量輸入端口,通過(guò)C

18、、B、A,3位地址輸入端,能從8路中選擇一路進(jìn)行轉(zhuǎn)換。如每隔一段時(shí)間依次輪流改變3位地址輸入端的地址,就能依次對(duì)8路輸入電壓進(jìn)行測(cè)量。LED數(shù)碼管的顯示采用軟件譯碼動(dòng)態(tài)顯示,通過(guò)按鍵模塊的操作可以選擇8路循環(huán)顯示,也可以選擇某條單路顯示。(2)數(shù)據(jù)采集電路數(shù)據(jù)采集電路是系統(tǒng)的主要組成部分,ADC0808具有8路模擬量輸入通道IN0IN7,通過(guò)3位地址輸入端C、B、A(引腳2325)進(jìn)行選擇。引腳22為地址鎖存控制端ALE,當(dāng)輸入為高電平時(shí),C、B、A引腳輸入的地址鎖存于ADC0809內(nèi)部鎖存器中,經(jīng)內(nèi)部譯碼電路譯碼選中相應(yīng)的模擬通道。引腳6為啟動(dòng)轉(zhuǎn)換控制端START,當(dāng)輸入一個(gè)2 US寬的高電

19、平脈沖時(shí),就啟動(dòng)ADC0808開始對(duì)輸入通道的模擬量進(jìn)行轉(zhuǎn)換。引腳7為AD轉(zhuǎn)換器,當(dāng)開始轉(zhuǎn)換時(shí),EOC信號(hào)為低電平,經(jīng)過(guò)一段時(shí)間,換結(jié)束,轉(zhuǎn)換結(jié)束信號(hào)EOC輸出高電平,轉(zhuǎn)換結(jié)果存放干ADC0809內(nèi)部的輸出數(shù)據(jù)寄存器中。引腳9腳為AD轉(zhuǎn)換數(shù)據(jù)輸出允許控制端OE,當(dāng)0E為高電平時(shí),存放于輸出數(shù)據(jù)鎖存器中的數(shù)據(jù)通過(guò)ADC0808的數(shù)據(jù)線DOD7輸出。引腳10為ADC0808的時(shí)鐘信號(hào)輸人端CLOCK。在連接時(shí),ADC0808的數(shù)據(jù)線D0D7與AT89C51的P1口相連接,ADC0808的地址引腳、地址鎖存端ALE、啟動(dòng)信號(hào)START、數(shù)據(jù)輸出允許控制端OE分別與AT89C51的P3口相連接,轉(zhuǎn)換結(jié)

20、束信號(hào)EOC與AT89C52的P31相連接。2 軟件設(shè)計(jì)(1)主程序主程序包含初始化部分,調(diào)用AD轉(zhuǎn)換子程序和調(diào)用顯示子程序。(2)數(shù)據(jù)處理子程序ADC0808轉(zhuǎn)換之后輸出的結(jié)果是8位二進(jìn)制數(shù)。由公式(1)可知,當(dāng)ADC0808輸出為(1l1l11111)時(shí),輸入電壓值V =500V當(dāng)ADC0809輸出為(00000000)時(shí),輸入電壓值為0.0O0V;當(dāng)ADC0809輸出為(10000000)時(shí),輸入電壓值V =250V。由于單片機(jī)進(jìn)行數(shù)學(xué)運(yùn)算時(shí)結(jié)果只取整數(shù)部分,因此當(dāng)輸出為(10000000)時(shí)計(jì)算出的電壓值V =2OOV,很不準(zhǔn)確。為了提高精確度,必須把小數(shù)部分保留,具體運(yùn)算方式如公式(

21、2)。個(gè)位:Dout*196/10000 十分位:(Dout*196/1000)%10 百分位:(Dout*196/100)%10 千分位:(Dout*196/10)%10 由此得到較為精確的數(shù)值。對(duì)上面的硬件部分,按照軟件流程框圖進(jìn)行軟件設(shè)計(jì)。用C語(yǔ)言進(jìn)行程序的編寫。3.2硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)流程硬件總體框圖該系統(tǒng)硬件總體框圖由四個(gè)模塊組成,如下圖1.11所示。在芯片的選擇中,一般的A/D芯片具有多路轉(zhuǎn)換通道,本課程設(shè)計(jì)中我們只做一路通道,該通道采集電壓,對(duì)采集的電壓值進(jìn)行采集、處理并顯示,我們還可以通過(guò)改變A/D芯片的參考電壓來(lái)改變其量程,達(dá)到對(duì)電壓值的多樣化顯示。A/D芯片將輸入的模擬

22、電壓值轉(zhuǎn)換為一個(gè)8位的二進(jìn)制數(shù)字,再輸送到單片機(jī)控制單元,經(jīng)過(guò)處理顯示出相應(yīng)電壓值。直流電壓模數(shù)轉(zhuǎn)換模塊微控制器模塊數(shù)碼顯示&LED警報(bào)模擬電壓數(shù)字電壓程序控制控制模塊圖1.11 原理圖3.3軟件設(shè)計(jì)流程圖1.11 原理圖程序設(shè)計(jì)過(guò)程中,調(diào)用多個(gè)子程序,方便在增強(qiáng)設(shè)計(jì)過(guò)程中的邏輯性以及運(yùn)行時(shí)候的查錯(cuò)處理。其中包括延時(shí)程序;數(shù)碼轉(zhuǎn)換數(shù)碼管顯示程序;初始化程序;中斷程序以及主程序。其中:1.5.1 延時(shí)程序 主要用于每個(gè)執(zhí)行語(yǔ)句之后,用于添加時(shí)間緩沖,以減少出錯(cuò)率。其中包括對(duì)ADC0808進(jìn)行A/D數(shù)模轉(zhuǎn)換之后的結(jié)束信號(hào)進(jìn)行了二次確認(rèn),以減少出錯(cuò)。1.5.2 數(shù)碼轉(zhuǎn)換數(shù)碼管顯示程序主要用于

23、對(duì)ADC0808輸出的轉(zhuǎn)化二進(jìn)制碼輸入通過(guò)規(guī)定的公式運(yùn)算后直接送到數(shù)碼顯示管進(jìn)行顯示。由于DC0808轉(zhuǎn)換之后輸出的結(jié)果是8位二進(jìn)制數(shù)。當(dāng)ADC0808輸出為(1l1l11111)時(shí),輸入電壓值V =500V當(dāng)ADC0809輸出為(00000000)時(shí),輸入電壓值為0.0O0V;當(dāng)ADC0809輸出為(10000000)時(shí),輸入電壓值V =250V。由于單片機(jī)進(jìn)行數(shù)學(xué)運(yùn)算時(shí)結(jié)果只取整數(shù)部分,因此當(dāng)輸出為(10000000)時(shí)計(jì)算出的電壓值V =2OOV,很不準(zhǔn)確。為了提高精確度,必須把小數(shù)部分保留,具體運(yùn)算方式如公式(2)。個(gè)位:Dout*196/10000 十分位:(Dout*196/100

24、0)%10 百分位:(Dout*196/100)%10 千分位:(Dout*196/10)%10 由此得到較為精確的數(shù)值。1.5.3 初始化程序主要對(duì)中斷程序進(jìn)行初始化,對(duì)其各個(gè)寄存器進(jìn)行工作方式的確認(rèn),以及對(duì)ADC0808的A/D轉(zhuǎn)換器進(jìn)行3位地址輸入線用于宣統(tǒng)8路模擬輸入中的一路。1.5.4 中斷程序主要用于在每隔10ms的時(shí)間間隔之后,對(duì)C51單片機(jī)獲得的ADC0808輸入的電壓信號(hào)進(jìn)行對(duì)警報(bào)值電壓進(jìn)行比較。如果超過(guò)2.5V則P24接口輸出低電平以點(diǎn)亮LED警報(bào)燈,反之則熄滅LED警報(bào)燈。1.5.5 主程序主要用于對(duì)ADC0808的轉(zhuǎn)換結(jié)束信號(hào)進(jìn)行監(jiān)控,并啟動(dòng)器轉(zhuǎn)換信號(hào)和啟動(dòng)ADC080

25、8的數(shù)據(jù)輸出允許信號(hào),對(duì)輸入的模擬信號(hào)電壓值進(jìn)行A/D轉(zhuǎn)換以獲取相對(duì)應(yīng)的二進(jìn)制數(shù)值4 結(jié)束語(yǔ)通過(guò)本次課程設(shè)計(jì),我對(duì)模數(shù)轉(zhuǎn)換芯片ADC0808有進(jìn)一步了解,故我將此次設(shè)計(jì)的重點(diǎn)放在了功能的擴(kuò)展部分模塊的實(shí)現(xiàn)方法及顯示的改變上。大二學(xué)期教學(xué)實(shí)驗(yàn)中,通過(guò)網(wǎng)上資料及課本信息,我會(huì)會(huì)了簡(jiǎn)單的編程和設(shè)計(jì)最重要的是排版效果,在這些過(guò)程中我獲益匪淺:加深了對(duì)模數(shù)轉(zhuǎn)換的了解,能對(duì)其功能進(jìn)行多元化的應(yīng)用;數(shù)碼管的顯示技術(shù)上,我在以前所存靜態(tài)顯示的基礎(chǔ)上,又掌握了動(dòng)態(tài)掃描方法;另一個(gè)收獲是在課程設(shè)計(jì)的過(guò)程中,我邊學(xué)邊用C語(yǔ)言,對(duì)簡(jiǎn)單的C語(yǔ)言編程能夠獨(dú)立輕松的完成,C語(yǔ)言在單片機(jī)的編程中靈活,功能強(qiáng)大,效率高,簡(jiǎn)單明

26、了,具有很多優(yōu)勢(shì),學(xué)會(huì)它是此次課程設(shè)計(jì)的最大收獲。參考文獻(xiàn)1.戴梅萼 史嘉權(quán) 微型計(jì)算機(jī)技術(shù)及應(yīng)用 北京:清華大學(xué)出版社,20032.仇玉章 32位微型計(jì)算機(jī)原理與接口技術(shù) 北京:清華大學(xué)出版社,20013.鄭學(xué)堅(jiān) 周斌 微型計(jì)算機(jī)原理及應(yīng)用 北京:清華大學(xué)出版社,19984.李伯成 候伯亭 微型計(jì)算機(jī)及應(yīng)用 西安:電子科技大學(xué)出版社,19985.鄧元慶 賈鵬 數(shù)字電路與系統(tǒng)設(shè)計(jì) 西安:電子科技大學(xué)出版社,2003附錄圖1.1整體電路原理圖源程序#include<reg51.h>#include<intrins.h>#define uchar unsigned char

27、#define uint unsigned intsbit P2_0=P20;sbit P2_1=P21; sbit P2_2=P22;sbit P2_3=P23;sbit P2_4=P24;sbit OE=P30; sbit EOC=P31;sbit ST=P32;sbit P3_4=P34;sbit P3_5=P35;sbit P3_6=P36;uchar d;uchar code table1=0x40,0x79,0x24,0x30,0x19,0x12; /´øСÊýµãµÄ05ucha

28、r code table2=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /¹²Ñô¼«µÄ09void delay(uchar b) /ÑÓʱ³ÌÐò uchar a,c; for(c=0;c<b;c+) for(a=0;a<125;a+);void convert(uchar volt_data) /½«ADת»

29、»Æ÷ת»»³öµÄÊý¾ÝÔÚÊýÂë¹ÜÏÔʾ³öÀ´ P0=table1volt_data*196/10000; / ¸öλº¬Ð¡Êýµã P2_0=1; delay(2); P2_0=0; P0=table2volt_data*196/1000%10; /

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論