版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄一、設(shè)計(jì)要求2二、設(shè)計(jì)目的2三、設(shè)計(jì)的具體實(shí)現(xiàn) 21. 系統(tǒng)概述22. 單元電路設(shè)計(jì)33. 軟件程序設(shè)計(jì)14四、結(jié)論與展望22五、心得體會(huì)及建議23六、附錄23七、參考文獻(xiàn)24一設(shè)計(jì)要求設(shè)計(jì)一個(gè)由8051MCU組成的簡(jiǎn)易直流電壓表系統(tǒng)。能夠測(cè)量一定范圍的電壓值,并以數(shù)字形式進(jìn)行顯示。通過這個(gè)過程熟悉A/D轉(zhuǎn)換、鍵盤控制、串口通信和七段數(shù)碼管的使用,掌握51系列單片機(jī)控制和測(cè)試方法。設(shè)計(jì)以AT89C51單片機(jī)為核心,對(duì)電壓信號(hào)首先進(jìn)行比例調(diào)節(jié)以滿足A/D的需要;設(shè)置按鍵用于調(diào)節(jié)不同的電壓檔位;用LED顯示測(cè)量得到的電壓值;設(shè)計(jì)通信接口電路以實(shí)現(xiàn)測(cè)量數(shù)據(jù)的傳送。完成基本要求,可以適當(dāng)發(fā)揮進(jìn)行
2、擴(kuò)展設(shè)計(jì)。測(cè)量范圍0-200V10位模數(shù)轉(zhuǎn)換采樣結(jié)果通過LED數(shù)碼管顯示通過串行口與PC通信 二、設(shè)計(jì)目的(1)利用所學(xué)單片機(jī)的理論知識(shí)進(jìn)行軟硬件整體設(shè)計(jì),鍛煉學(xué)生理論聯(lián)系實(shí)際、提高我們的綜合應(yīng)用能力。 (2)我們這次的課程設(shè)計(jì)是以單片機(jī)為基礎(chǔ),設(shè)計(jì)并開發(fā)直流電壓表。 (3)掌握各個(gè)接口芯片(如ADC0808等)的功能特性及接口方法,并能運(yùn)用其實(shí)現(xiàn)一個(gè)簡(jiǎn)單的微機(jī)應(yīng)用系統(tǒng)功能器件。三、設(shè)計(jì)的具體實(shí)現(xiàn)1.系統(tǒng)概述 直流電壓表是針對(duì)直流屏、太陽(yáng)能光伏、蓄電池、電鍍、通信電源、直流電動(dòng)工具等應(yīng)用場(chǎng)合設(shè)計(jì)的。該系列的直流電量?jī)x表包含直流電流表、直流電壓表、安培小時(shí)計(jì)、電壓小時(shí)計(jì)、直流功率表、
3、直流電能表等。數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表.傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足現(xiàn)代測(cè)量的需求,采用單片機(jī)的數(shù)字電壓表,它的精度高、抗干擾能力強(qiáng)??蓴U(kuò)展性強(qiáng)、集成方便,還可與PC進(jìn)行實(shí)時(shí)通信。目前,有各種單片A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能測(cè)量領(lǐng)域,與此同時(shí),也能把電量及非電量測(cè)量技術(shù)提高到嶄新水平。該系列產(chǎn)品是一種高精度的安裝式儀表.方案論證方案一:采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓
4、)轉(zhuǎn)換成不連續(xù)離散的數(shù)字形式并加以顯示的儀表。這種傳統(tǒng)的指針式電壓表功能單一精度低,不能滿足數(shù)字化時(shí)代的要求。方案二:采用單片機(jī)與AD轉(zhuǎn)換器設(shè)計(jì)一個(gè)數(shù)字電壓表,測(cè)量直流電壓值,四位數(shù)碼顯示。目前,由于各種單片A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量,工業(yè)自動(dòng)化儀表等測(cè)量領(lǐng)域,顯示出強(qiáng)大的生命力。從以上兩種方案,很容易看出,按系統(tǒng)功能實(shí)現(xiàn)要求,兩者相比較方案二的設(shè)計(jì)既簡(jiǎn)單又實(shí)用,軟件設(shè)計(jì)也比較簡(jiǎn)單同時(shí)也實(shí)現(xiàn)了功能要求,故采用方案二。T本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。其中,A/D轉(zhuǎn)換采用ADC0808對(duì)輸入的模擬信號(hào)進(jìn)行轉(zhuǎn)換,控制核心AT89C51再對(duì)轉(zhuǎn)換
5、的結(jié)果進(jìn)行運(yùn)算處理,最后驅(qū)動(dòng)輸出裝置LED顯示數(shù)字電壓信號(hào)??傮w結(jié)構(gòu)框圖如圖1所示模擬電 壓AT89C51 單片機(jī)ADC0808轉(zhuǎn)換LED數(shù)字顯 示圖1 總體結(jié)構(gòu)框圖2.單元電路設(shè)計(jì)(1)各部分概述 A/D轉(zhuǎn)換器的設(shè)計(jì) A/D轉(zhuǎn)換器具有抗干擾能力強(qiáng)的特點(diǎn),在采用零點(diǎn)校準(zhǔn)的前提下,其轉(zhuǎn)換精度也可以做得很高,但顯著的不足是轉(zhuǎn)換速度較慢,并且分辨率越高,其轉(zhuǎn)換速度也就越慢,因此本設(shè)計(jì)采用了A/D轉(zhuǎn)換器,可以較好的改善轉(zhuǎn)換速度慢的缺點(diǎn),它的轉(zhuǎn)換速率分辨率的乘積比傳統(tǒng)的雙積分式A/D轉(zhuǎn)換器提高至少兩個(gè)數(shù)量級(jí)。 單片機(jī)計(jì)數(shù)、控制電路設(shè)計(jì) 通過對(duì)A/D轉(zhuǎn)換器的方案分析,本設(shè)計(jì)采用的單片機(jī)編程實(shí)現(xiàn)A/D轉(zhuǎn)換,
6、脈沖的計(jì)數(shù)功能由單片機(jī)實(shí)現(xiàn),所以對(duì)單片機(jī)的速度提出了較高的要求,基本要求分辨率為11位,轉(zhuǎn)換速度不低于2次/S,發(fā)揮部分要求分辨率15位,采用MCS-51單片機(jī)實(shí)現(xiàn)控制和脈沖計(jì)數(shù),采用16MHZ晶振,完全能滿足分辨率15位和轉(zhuǎn)換速度2次/S的要求。顯示電路 顯示是電路采用數(shù)碼管顯示器,可顯示各種字體的數(shù)字、字母,還可以自定義內(nèi)容,增加了顯示的美觀性與直觀性,是重要的是提供了友好的人機(jī)界面。同時(shí)LED 8段數(shù)碼管有靜態(tài)顯示和動(dòng)態(tài)顯示兩種方式。靜態(tài)顯示方式的各位數(shù)碼管相互獨(dú)立,公共端恒定接地或接正電源。每一個(gè)字段都要獨(dú)占一條I/O口只要有斷碼輸出,顯示器就可以顯示出所要顯示的字符,如果CPU不改寫
7、,則一直保持下去。動(dòng)態(tài)顯示方式下各位數(shù)碼管的段選線相應(yīng)并連在一起,由一個(gè)8位的I/O口控制;各位的為選線有另外的I/O口控制。(2)單元硬件電路本次設(shè)計(jì)是以單片機(jī)AT89C51芯片、A/D轉(zhuǎn)換器為核心設(shè)計(jì)了一個(gè)簡(jiǎn)易的直流電壓測(cè)量電路,在硬件方面,通過一個(gè)可變電阻調(diào)節(jié)輸入電壓的變化來(lái)反映所檢測(cè)到的電壓變化。此變化的電壓通過ADC0808的一個(gè)通道(INO)送入并進(jìn)行A/D轉(zhuǎn)換后再送入單片機(jī)AT89C51中進(jìn)行處理,再轉(zhuǎn)換成相應(yīng)的實(shí)際電壓值,最后通過四位LED數(shù)碼管顯示,精確到十分位,LED采用的是動(dòng)態(tài)掃描顯示,使用74HC02P芯片進(jìn)行驅(qū)動(dòng),軟件方面采用匯編編程。使得整個(gè)系統(tǒng)完成一個(gè)簡(jiǎn)易的數(shù)字電
8、壓表的功能。輸入電壓電路輸入電路的作用是把不同量程的被測(cè)的電壓規(guī)范到A/D轉(zhuǎn)換器所要求的電壓值。衰減輸入電路如圖2所示 圖2衰減輸入電路 圖3量程切換開關(guān)本儀表設(shè)計(jì)的是0-1000V電壓,靈敏度高,所以只需衰減器,如圖2所示9M 900K 90K 和10K電阻構(gòu)成1/101/1001/1000的衰減器。衰減輸入電路可由開關(guān)來(lái)選擇不同的衰減率,從而切換檔位。AT89C51單片機(jī)AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)是低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。單
9、片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖4所示:?jiǎn)纹瑱C(jī)最小系統(tǒng)主要由電源、復(fù)位、振蕩電路以及擴(kuò)展部分等部分組成。最小系統(tǒng)原理圖如圖5所示。 圖4 AT89C51引腳圖 圖5最小系統(tǒng)電路圖接口分配電路設(shè)計(jì)如右圖6所示:VCC:供電電壓。 GND:接地。 圖6 單片機(jī)接口電路
10、P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/ 地址的第八位。在這里P0口作為輸入與輸出分別與ADC0808的輸出端和LCD顯示的輸入端相連,且P0外部被阻值為1K的電阻拉高。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P
11、2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。這里只用到了P2.0P2.3四個(gè)端口,其中P2.1P2.3都是作為輸出端口控制顯示電路的寄存器選擇、讀寫信號(hào)和使能端口。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,在這里用到了P3.3 /INT1(外部中斷1)、 P3.6 /WR(外部數(shù)據(jù)存
12、儲(chǔ)器寫選通)、P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在
13、外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。 A/D轉(zhuǎn)換器2.3.1概述 模數(shù)
14、轉(zhuǎn)換器即A/D轉(zhuǎn)換器,或簡(jiǎn)稱ADC,通常是指一個(gè)將模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)的電子元件。 通常的模數(shù)轉(zhuǎn)換器是將一個(gè)輸入電壓信號(hào)轉(zhuǎn)換為一個(gè)輸出的數(shù)字信號(hào)。由于數(shù)字信號(hào)本身不具有實(shí)際意義,僅僅表示一個(gè)相對(duì)大小。故任何一個(gè)模數(shù)轉(zhuǎn)換器都需要一個(gè)參考模擬量作為轉(zhuǎn)換的標(biāo)準(zhǔn),比較常見的參考標(biāo)準(zhǔn)為最大的可轉(zhuǎn)換信號(hào)大小。而輸出的數(shù)字量則表示輸入信號(hào)相對(duì)于參考信號(hào)的大小。 模數(shù)轉(zhuǎn)換器最重要的參數(shù)是轉(zhuǎn)換的精度,通常用輸出的數(shù)字信號(hào)的位數(shù)的多少表示。轉(zhuǎn)換器能夠準(zhǔn)確輸出的數(shù)字信號(hào)的位數(shù)越多,表示轉(zhuǎn)換器能夠分辨輸入信號(hào)的能力越強(qiáng),轉(zhuǎn)換器的性能也就越好。 A/D轉(zhuǎn)換一般要經(jīng)過采樣、保持、量化及編碼4個(gè)過程。在實(shí)際電路中,有些過
15、程是合并進(jìn)行的,如采樣和保持,量化和編碼在轉(zhuǎn)換過程中是同時(shí)實(shí)現(xiàn)的。 一般來(lái)說(shuō),AD比DA貴,尤其是高速的AD,因?yàn)樵谀承┨厥鈭?chǎng)合,如導(dǎo)彈的攝像頭部分要求有高速的轉(zhuǎn)換能力。一般那樣AD要上千美元。還有通過AD的并聯(lián)可以提高AD的轉(zhuǎn)換效率,多個(gè)AD同時(shí)處理數(shù)據(jù),能滿足處理器的數(shù)字信號(hào)需求了。模數(shù)轉(zhuǎn)換過程包括量化和編碼。量化是將模擬信號(hào)量程分成許多離散量級(jí),并確定輸入信號(hào)所屬的量級(jí)。編碼是對(duì)每一量級(jí)分配唯一的數(shù)字碼,并確定與輸入信號(hào)相對(duì)應(yīng)的代碼。最普通的碼制是二進(jìn)制,它有2n個(gè)量級(jí)(n為位數(shù)),可依次逐個(gè)編號(hào)。模數(shù)轉(zhuǎn)換的方法很多,從轉(zhuǎn)換原理來(lái)分可分為直接法和間接法兩大類。 直接法是直接將電壓轉(zhuǎn)換成數(shù)
16、字量。它用數(shù)模網(wǎng)絡(luò)輸出的一套基準(zhǔn)電壓,從高位起逐位與被測(cè)電壓反復(fù)比較,直到二者達(dá)到或接近平衡??刂七壿嬆軐?shí)現(xiàn)對(duì)分搜索的控制,其比較方法如同天平稱重。先使二進(jìn)位制數(shù)的最高位Dn-11,經(jīng)數(shù)模轉(zhuǎn)換后得到一個(gè)整個(gè)量程一半的模擬電壓VS,與輸入電壓Vin相比較,若Vin>VS,則保留這一位;若Vin<Vin,則Dn-10。然后使下一位Dn-21,與上一次的結(jié)果一起經(jīng)數(shù)模轉(zhuǎn)換后與Vin相比較,重復(fù)這一過程,直到使D01,再與Vin相比較,由Vin>VS還是Vin<V 來(lái)決定是否保留這一位。經(jīng)過n次比較后,n位寄存器的狀態(tài)即為轉(zhuǎn)換后的數(shù)據(jù)。這種直接逐位比較型(又稱反饋比較型)轉(zhuǎn)換器
17、是一種高速的數(shù)模轉(zhuǎn)換電路,轉(zhuǎn)換精度很高,但對(duì)干擾的抑制能力較差,常用提高數(shù)據(jù)放大器性能的方法來(lái)彌補(bǔ)。它在計(jì)算機(jī)接口電路中用得最普遍。 間接法不將電壓直接轉(zhuǎn)換成數(shù)字,而是首先轉(zhuǎn)換成某一中間量,再由中間量轉(zhuǎn)換成數(shù)字。常用的有電壓-時(shí)間間隔(V/T)型和電壓-頻率(V/F)型兩種,其中電壓-時(shí)間間隔型中的雙斜率法(又稱雙積分法)用得較為普遍。 模數(shù)轉(zhuǎn)換器的選用具體取決于輸入電平、輸出形式、控制性質(zhì)以及需要的速度、分辨率和精度。 用半導(dǎo)體分立元件制成的模數(shù)轉(zhuǎn)換器常常采用單元結(jié)構(gòu),隨著大規(guī)模集成電路技術(shù)的發(fā)展,模數(shù)轉(zhuǎn)換器體積逐漸縮小為一塊模板、一塊集成電路 接口分配電路設(shè)計(jì)如圖7所示:IN0IN7為8路
18、模擬量輸入端,這里只接一路電壓信號(hào),其輸入信號(hào)是由直流電源及可調(diào)電阻提供。 OUT1OUT8為8位二進(jìn)制數(shù)字量 圖7 A/D轉(zhuǎn)換電路 輸出端,其另一端連接到AT89C51單片機(jī)進(jìn)行數(shù)值轉(zhuǎn)換。 ADDA、ADDB、ADDC為3位片選地址輸入線,用于選通8路模擬輸入中的一路。 ALE為地址鎖存允許信號(hào),由單片機(jī)P3.6口寫信號(hào)與P2.0口相或取反輸入,高電平有效。 START為 AD轉(zhuǎn)換啟動(dòng)脈沖輸入端,由單片機(jī)P3.6口寫信號(hào)與P2.0口相或取反輸入一個(gè)正脈沖使其啟動(dòng)(脈沖上升沿使0808復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換)。 EOC為 AD轉(zhuǎn)換結(jié)束信號(hào),當(dāng)AD轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平取反給P3.3
19、口(轉(zhuǎn)換期間一直為低電平)。 OE為數(shù)據(jù)輸出允許信號(hào),高電平有效。當(dāng)AD轉(zhuǎn)換結(jié)束時(shí),此端由單片機(jī)P3.7讀信號(hào)與P2.0口相或后取反輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。2.3.2 逐次逼近型A/D轉(zhuǎn)換器原理逐次逼近型A/D轉(zhuǎn)換器是由一個(gè)比較器、A/D轉(zhuǎn)換器、存儲(chǔ)器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開始逐位試探比較。轉(zhuǎn)換過程如下:開始時(shí),寄存器各位清零,轉(zhuǎn)換時(shí),先將最高位置1,把數(shù)據(jù)送入A/D轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量大,則1不保留,然后從第二位依次重復(fù)上述過程直至最低位,最后寄存
20、器中的內(nèi)容就是輸入模擬量對(duì)應(yīng)的二進(jìn)制數(shù)字量。其原理框圖如圖8所示:順序脈沖發(fā)生器逐次逼近寄存器ADC電壓比較器輸入電壓輸入數(shù)字量圖8 逐次逼近式A/D轉(zhuǎn)換器原理圖2.3.3 ADC0808 主要特性ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,帶有使能控制端,與微機(jī)直接接口,片內(nèi)帶有鎖存功能的8路模擬多路開關(guān),可以對(duì)8路0-5V輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,由于ADC0808設(shè)計(jì)時(shí)考慮到若干種模/數(shù)變換技術(shù)的長(zhǎng)處,所以該芯片非常適應(yīng)于過程控制,微控制器輸入通道的接口電路,智能儀器和機(jī)床控制等領(lǐng)域5。ADC0808主要特性:8路8位A/D轉(zhuǎn)換器,即分辨率8位;具有鎖存控制的8路模擬開關(guān);
21、易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與TTL兼容;轉(zhuǎn)換時(shí)間:128s;轉(zhuǎn)換精度:0.2%;單個(gè)+5V電源供電;模擬輸入電壓范圍0- +5V,無(wú)需外部零點(diǎn)和滿度調(diào)整;低功耗,約15mW。2.3.4 ADC0808的外部引腳特征 ADC0808芯片有28條引腳,采用雙列直插式封裝,其引腳圖如圖9所示。圖9 ADC0808引腳圖下面說(shuō)明各個(gè)引腳功能:IN0-IN7(8條):8路模擬量輸入線,用于輸入和控制被轉(zhuǎn)換的模擬電壓。地址輸入控制(4條):ALE:地址鎖存允許輸入線,高電平有效,當(dāng)ALE為高電平時(shí),為地址輸入線,用于選擇IN0-IN7上那一條模擬電壓送給比較器進(jìn)行A/D轉(zhuǎn)換。ADDA,AD
22、DB,ADDC:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對(duì)應(yīng)關(guān)系如表1所示: 表1 ADC0808通道選擇表地址碼 對(duì)應(yīng)的輸入通道 C B A 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 START:START為“啟動(dòng)脈沖”輸入法,該線上正脈沖由CPU送來(lái),寬度應(yīng)大于100ns,上升沿清零SAR,下降沿啟動(dòng)ADC工作。EOC: EOC為轉(zhuǎn)換結(jié)束輸出線,該線上高電平表示A/D轉(zhuǎn)換已結(jié)束,數(shù)字量已鎖入三態(tài)輸出鎖存器。D1-D8:數(shù)字量輸出端,D1為高位。OE:OE為輸出允許端
23、,高電平能使D1-D8引腳上輸出轉(zhuǎn)換后的數(shù)字量。REF+、REF-:參考電壓輸入量,給電阻階梯網(wǎng)絡(luò)供給標(biāo)準(zhǔn)電壓。Vcc、GND: Vcc為主電源輸入端,GND為接地端,一般REF+與Vcc連接在一起,REF-與GND連接在一起. CLK:時(shí)鐘輸入端。2.3.5 ADC0808的內(nèi)部結(jié)構(gòu)及工作流程ADC0808由8路模擬通道選擇開關(guān),地址鎖存與譯碼器,比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時(shí)和控制電路和三態(tài)輸出鎖存器等組成,其內(nèi)部結(jié)構(gòu)如圖10所示。圖10 ADC0808的內(nèi)部結(jié)構(gòu)其中:(1)8路模擬通道選擇開關(guān)實(shí)現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進(jìn)行比較。(2)地址鎖存
24、與譯碼器用于當(dāng)ALE信號(hào)有效時(shí),鎖存從ADDA、ADDB、ADDC 3根地址線上送來(lái)的3位地址,譯碼后產(chǎn)生通道選擇信號(hào),從8路模擬通道中選擇當(dāng)前模擬通道。(3)比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時(shí)和控制電路組成8位A/D轉(zhuǎn)換器,當(dāng)START信號(hào)有效時(shí),就開始對(duì)當(dāng)前通道的模擬信號(hào)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時(shí)通過引腳送出轉(zhuǎn)換結(jié)束信號(hào)。(4)三態(tài)輸出鎖存器保存當(dāng)前模擬通道轉(zhuǎn)換得到的數(shù)字量,當(dāng)OE信號(hào)有效時(shí),把轉(zhuǎn)換的結(jié)果送出。ADC0808的工作流程為:(1)輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1
25、路模擬量送給比較器。(2)送START一高脈沖,START的上升沿使逐次寄存器復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換,并使EOC信號(hào)為低電平。(3)當(dāng)轉(zhuǎn)換結(jié)束時(shí),轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使EOC信號(hào)回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。(4)當(dāng)CPU執(zhí)行一讀數(shù)據(jù)指令時(shí),使OE為高電平,則從輸出端D0-D7讀出數(shù)據(jù)。2.4.1 LED基本結(jié)構(gòu)LED是發(fā)光二極管顯示器的縮寫。LED由于結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、與單片機(jī)接口方便等優(yōu)點(diǎn)而得到廣泛應(yīng)用。LED顯示器是由若干個(gè)發(fā)光二極管組成顯示字段的顯示器件6。在單片機(jī)中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8個(gè)發(fā)光二極管組成顯示字段,其中7個(gè)長(zhǎng)條形的
26、發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過不同的組合可用來(lái)顯示各種數(shù)字。LED引腳排列如下圖11所示:圖11 LED引腳排列2.4.2 LED顯示器的選擇在應(yīng)用系統(tǒng)中,設(shè)計(jì)要求不同,使用的LED顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號(hào)不同的LED顯示器供選擇,在本設(shè)計(jì)中,選擇4位一體的數(shù)碼型LED顯示器,簡(jiǎn)稱“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個(gè)位,后兩位顯示電壓的小數(shù)位。4-LED顯示器引腳如圖12所示,是一個(gè)共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、2、3、4分別是每
27、一位的位數(shù)選端,dp是小數(shù)點(diǎn)引出端,4位一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個(gè)單獨(dú)的LED組成,每個(gè)LED的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。圖12 4位LED引腳對(duì)于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計(jì)要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動(dòng)態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)在一起,用一個(gè)I/O接口控制)顯示。2.4.3 LED譯碼方式譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的字段碼的方式,對(duì)于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。硬件譯碼是指利用專門的硬件電路來(lái)實(shí)現(xiàn)顯示字符碼的轉(zhuǎn)換。軟件譯碼就是編寫軟件譯碼程序,通過譯碼
28、程序來(lái)得到要顯示的字符的字段碼,譯碼程序通常為查表程序。本設(shè)計(jì)系統(tǒng)中為了簡(jiǎn)化硬件線路設(shè)計(jì),LED譯碼采用軟件編程來(lái)實(shí)現(xiàn)。由于本設(shè)計(jì)采用的是共陰極LED,其對(duì)應(yīng)的字符和字段碼如下表2所示。表2 共陰極字段碼表顯示字符共陰極字段碼03FH106H25BH34FH466H56DH67DH707H87FH96FH2.4.4 LED顯示器與單片機(jī)接口設(shè)計(jì)由于單片機(jī)的并行口不能直接驅(qū)動(dòng)LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動(dòng)電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動(dòng)電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動(dòng)電路長(zhǎng)期在超負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動(dòng)電
29、路設(shè)計(jì)是一個(gè)非常重要的問題。為了簡(jiǎn)化數(shù)字式直流電壓表的電路設(shè)計(jì),在LED驅(qū)動(dòng)電路的設(shè)計(jì)上,可以利用單片機(jī)P0口上外接的上拉電阻來(lái)實(shí)現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點(diǎn)顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅(qū)動(dòng)能力,使得LED能按照正常的亮度顯示出數(shù)字,如圖13所示。圖13 LED與單片機(jī)接口間的設(shè)計(jì)3軟件程序設(shè)計(jì)(1)系統(tǒng)軟件設(shè)計(jì)進(jìn)行的整體操作流程方案,總體流程圖和A/D轉(zhuǎn)化流程圖最大的不同就在:總體流程圖是將總體控制電路的運(yùn)行步驟,而A/D轉(zhuǎn)化流程圖是局部中斷運(yùn)行方式,兩種控制功能融合在一起,是考慮到可以實(shí)現(xiàn)全部功能的原因,且原理簡(jiǎn)單。如此設(shè)計(jì),其優(yōu)點(diǎn)
30、在于:設(shè)計(jì)思想比較簡(jiǎn)單,較容易組裝電路?;蛘呤?,連線方便、一清二楚,不容易出錯(cuò)。要顯示電路的優(yōu)勢(shì),則勢(shì)必形成各門電路使用。引導(dǎo)顯示電路的穩(wěn)定性,抗干擾能力增強(qiáng)。主程序的內(nèi)容包括:起始地址、中斷服務(wù)程序的起始地址、有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序的調(diào)用等。根據(jù)設(shè)計(jì)要求,設(shè)計(jì)出如圖所示的主程序流程圖。A/D轉(zhuǎn)換子程序設(shè)計(jì): A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù),在整個(gè)系統(tǒng)設(shè)計(jì)中占有很高的地位。當(dāng)系統(tǒng)置好后,單片機(jī)掃描轉(zhuǎn)換結(jié)束管腳P3.7的輸入電平狀態(tài),當(dāng)輸入為高電平則轉(zhuǎn)換完成,將轉(zhuǎn)換的數(shù)值顯示輸出。若輸入為低電平,則繼續(xù)掃描。程序流程圖如下圖所示。(2)程序COM EQU 50H ; 指令寄存
31、器DAT EQU 51H ; 數(shù)據(jù)寄存器RS EQU P2.1 ; LCD寄存器選擇信號(hào)RW EQU P2.2 ; LCD讀/寫選擇信號(hào)E EQU P2.3 ; LCD使能信號(hào) ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP BT0 ;T0中斷入口 ORG 0030H ;主程序,初始化MAIN: MOV SP,#60H LCALL INT MOV 30H,#30H MOV 31H,#30H MOV 32H,#0A5H MOV 33H,#30H MOV 34H,#30H MOV R7,#30H LCALL N1 ;顯示 Voltage = 00.00MOV T
32、MOD,#00H ;定時(shí)器T0設(shè)為方式0MOV TH0,#00h ;裝入定時(shí)常數(shù)MOV TL0,#00hSETB TR0 ;啟動(dòng)T0MOV 24h, #03h ;裝入T0中斷次數(shù)MOV IE,#82H ;開中斷LP: MOV R7,#30H ;顯示緩沖區(qū)首地址LCALL DISPLYSJMP LP ;循環(huán)顯示DISPLY: MOV COM,#0CAH ;設(shè)置數(shù)據(jù)起始地址(第而行第10位) LCALL PR1 MOV R1,#05H MOV R0,#30Hl: MOV DAT,r0 LCALL PR2 INC R0 DJNZ R1,l RET;1. 逐字依次輸入方式演示程序段N1:MOV COM
33、,#01H ;清屏 LCALL PR1 MOV COM,#06H ;設(shè)置輸入方式 LCALL PR1 MOV COM,#081H ;設(shè)置數(shù)據(jù)起始地址(第一行地二位) LCALL PR1 MOV DPTR,#TAB1 MOV R2,#0EH MOV R3,#00HWRIN1: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN1 MOV COM,#0C1H ;設(shè)置數(shù)據(jù)起始地址(第二行地二位) LCALL PR1 MOV DPTR,#TAB2 MOV R2,#9 MOV R3,#00HWRIN2: MOV A,R3 MOVC
34、 A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN2 RETTAB1: DB "VOLTAGE= " LCD間接控制方式下的初始化子程序INT:LCALL DELAY ; 調(diào)延時(shí)子程序MOV COM,#38H ; 設(shè)置工作方式(2行,8位數(shù)據(jù))LCALL PR1MOV COM,#01H ; 清屏LCALL PR1MOV COM,#06H ; 設(shè)置輸入方式LCALL PR1MOV COM,#0CH ; 設(shè)置顯示方式LCALL PR1RETDELAY:MOV R6,#0FH ; 延時(shí)子程序MOV R7,#00HDELAY1: NO
35、P NOPDJNZ R7,DELAY1DJNZ R6,DELAY1RET;LCD間接控制方式的驅(qū)動(dòng)子程序如下;1 讀BF和AC值PR0: PUSH ACC MOV P0,#0FFH ; P0置位, 準(zhǔn)備讀 CLR RS ; RS=0 SETB RW; R/W=1 SETB E ; E=1 LCALL DELAY MOV COM,P0 ; 讀BF和AC6-4值 CLR E ; E=0 POP ACC RET;2 寫指令代碼子程序PR1: PUSH ACC CLR RS ; RS=0 SETB RW ; R/W=1PR11:MOV P0,#0FFH; P0置位, 準(zhǔn)備讀 SETB E ; E=1
36、LCALL DELAY NOP MOV A,P0 CLR E JB ACC.7,PR11;BF=1? CLR RW; R/W=0 MOV P0,COM SETB E ; E=1 CLR E ; E=0; E=0 POP ACC RET;3 寫顯示數(shù)據(jù)子程序PR2:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR21:MOV P0,#0FFH SETB E ; E=1 LCALL DELAY MOV A,P0 ; 讀BF和AC6-4值 CLR E ; E=0 JB ACC.7,PR21 SETB RS CLR RW MOV P0,DAT; 寫入數(shù)據(jù) SETB E C
37、LR E POP ACC RET;4 讀顯示數(shù)據(jù)子程序PR3:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR31:MOV P0,#0FFH ; P0置位, 準(zhǔn)備讀 SETB E ; E=1 LCALL DELAY MOV A,P0 ; 讀BF和AC6-4值 CLR E ; E=0 JB ACC.7,PR31 SETB RS SETB RW; R/W=1 MOV P0,#0FFH ; 讀數(shù)據(jù) SETB E ; E=1 MOV DAT,P0 CLR E ; E=0 POP ACC RET; 定時(shí)器T0中斷服務(wù)程序,讀取ADC0809第0通道的A/D轉(zhuǎn)換結(jié)果并化為顯示
38、值BT0: PUSH ACC ;保護(hù)現(xiàn)場(chǎng)PUSH PSWMOV PSW,#08HCLR TR0 ;停止T0MOV TH0,#00h ;重裝定時(shí)常數(shù)MOV TL0,#00hMOV DPTR,#0F6FFH ;0809端口地址MOV A,#0 ;0通道MOVX DPTR,A ;啟動(dòng)0809MOV R7,#0FFH ;等待A/D轉(zhuǎn)換完DJNZ R7,$MOVX A,DPTR ;讀0809轉(zhuǎn)換結(jié)果 MOV B,#03H ;將轉(zhuǎn)換的值除以3再累加,存入40H中 DIV AB ADD A,40H MOV 40H,A MOV A,B ;將除以3后的余數(shù)累加放入41H中 ADD A,41H MOV 41H,A
39、 DEC 24h ;3次中斷未到則返回MOV A,24HJNZ RNT1 MOV 24h,#03h ;重裝中斷次數(shù) MOV A,41H ;將累加的余數(shù)再除3后相加 DIV AB ADD A,40H MOV 40H,#0 ;清零累加數(shù) MOV 41H,#0RTN: MOV B,#0fh ;A/D轉(zhuǎn)換結(jié)果化為顯示值 MUL AB ;(AD*5)/256 MOV R0,A MOV A,B MOV B,R0 MOV R0,A ADD A,#246 MOV A,R0 MOV 30H,#00H JNC LOOP ADD A,#06H MOV 30H,#01HLOOP: MOV 31H,A ;AD*5的高字
40、節(jié)為整數(shù)部分 MOV A,B MOV B,#0AH MUL AB ;AD*5的低字節(jié)為/256的結(jié)果,為小數(shù)部分 MOV 33H,B ;二進(jìn)制小數(shù)換為10進(jìn)制數(shù) MOV B,#0AH MUL AB MOV 34H,B LJMP RTN1RTN1: SETB TR0 ORL 30H,#30H ORL 31H,#30H MOV 32H,#0A5H ;小數(shù)點(diǎn) ORL 33H,#30H ORL 34H,#30H POP PSWPOP ACCRETI END(3)仿真1.打開WAVE 6000 軟件,菜單欄選擇“文件”中的“新建文件”,在彈出的窗口中編寫程序,然后保存后綴為“*.asm”的程序。2.菜單
41、欄選擇“項(xiàng)目”中的“編譯”,如果程序無(wú)誤即編譯成功,否則修改程序直至編譯成功。3.打開Proteus軟件,新建文件FileNew Design,同樣在彈出的原理圖編輯窗口中繪制原理圖,然后保存。4.加載程序,選擇SourceAdd/Remove Source Files,在彈出的對(duì)話框中點(diǎn)擊“New”選擇在WAVE 6000軟件中編寫保存的程序如“*.asm”,點(diǎn)擊“OK”即加載成功。5.在Proteus軟件中的左下方點(diǎn)擊圖標(biāo)仿真調(diào)試開始,即可看到仿真調(diào)試的結(jié)果。四、結(jié)論與展望基于單片機(jī)的直流數(shù)字電壓表使用性能好、結(jié)構(gòu)簡(jiǎn)單、成本低、外接元件少。在實(shí)際應(yīng)用工作中適應(yīng)性強(qiáng),測(cè)量電壓準(zhǔn)確,精度高。系統(tǒng)功能、指標(biāo)達(dá)到了課題的預(yù)期要求、系統(tǒng)在硬件設(shè)計(jì)上充分考慮了可擴(kuò)展性,經(jīng)過一定的改造,可以增加功能。本文設(shè)計(jì)主要實(shí)現(xiàn)了簡(jiǎn)易數(shù)字直流電壓表測(cè)量電壓的功能,詳細(xì)說(shuō)明了從原理圖的設(shè)計(jì)、電路圖的仿真再到軟件的調(diào)試。通過本次設(shè)計(jì),我
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度商業(yè)寫字樓車位使用權(quán)轉(zhuǎn)讓合同模板
- 二零二五年度大型商場(chǎng)消防工程驗(yàn)收及安全評(píng)估合同3篇
- 二零二五年度個(gè)人消費(fèi)信貸合同模板8篇
- 二零二五年度青少年戶外夏令營(yíng)活動(dòng)參加協(xié)議3篇
- 二零二五版房地產(chǎn)售后服務(wù)居間合同范本
- 二零二五年度個(gè)人房產(chǎn)買賣合同終止協(xié)議3篇
- 二零二五年度鋼材采購(gòu)與供應(yīng)合同范本
- 二零二五年度深海探測(cè)設(shè)備制造個(gè)人工勞務(wù)分包合同4篇
- 二零二五年度離婚探望權(quán)協(xié)議范本與子女監(jiān)護(hù)權(quán)規(guī)定3篇
- 煤矸石空心砌塊墻施工方案
- 慢性腎衰竭的護(hù)理課件
- 2024-2025學(xué)年河南省鄭州市高二上期期末考試數(shù)學(xué)試卷(含答案)
- 2024年黑河嫩江市招聘社區(qū)工作者考試真題
- 新版中國(guó)食物成分表
- 小升初幼升小擇校畢業(yè)升學(xué)兒童簡(jiǎn)歷
- 資金支付審批單
- 第一單元(金融知識(shí)進(jìn)課堂)課件
- 新概念二冊(cè)課文電子版
- 介入導(dǎo)管室護(hù)士述職報(bào)告(5篇)
- GB/T 37062-2018水產(chǎn)品感官評(píng)價(jià)指南
- 零件的工藝分析及毛坯選擇
評(píng)論
0/150
提交評(píng)論