版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于AT89C51單片機(jī)的數(shù)字電壓表的設(shè)計(jì)</p><p> 摘要:本文中數(shù)字電壓表的控制系統(tǒng)采用AT89C51單片機(jī),A/D轉(zhuǎn)換器采用ADC0808為主要硬件,LED動(dòng)態(tài)顯示模塊、電源模塊,實(shí)現(xiàn)數(shù)字電壓表的硬件電路與軟件設(shè)計(jì)。該系統(tǒng)能完成電壓量的采集、A/D轉(zhuǎn)換、手動(dòng)量程切換、實(shí)時(shí)顯示采集到電壓量。</p><p> 關(guān)鍵字:?jiǎn)纹瑱C(jī); 數(shù)字電壓表;AT89C51
2、;ADC0808</p><p><b> 1引言</b></p><p> 數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求,采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方
3、便,還可與PC進(jìn)行實(shí)時(shí)通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,示出強(qiáng)大的生命力。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新水平。本章重點(diǎn)介紹單片A/D 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機(jī)的數(shù)字電壓表的工作原理。本報(bào)告介紹了基于AT89C51單片機(jī)為核心的、以ADC0808數(shù)模轉(zhuǎn)換芯片采樣、以液晶屏顯示的具
4、有電壓測(cè)量功能的具有一定精度的數(shù)字電壓表。</p><p><b> 1 數(shù)字電壓表</b></p><p> 1.1 電壓表的發(fā)展概況</p><p> 電壓測(cè)量是電子測(cè)量的一個(gè)重要內(nèi)容。隨著電子技術(shù)的發(fā)展,對(duì)電壓測(cè)量提出了一系列的要求,主要可概括為:第一應(yīng)有足夠?qū)挼碾妷簻y(cè)量范圍;第二應(yīng)有足夠高的測(cè)量準(zhǔn)確度;第三應(yīng)有足夠高的輸入阻抗;第
5、四應(yīng)具有高的抗干擾能力。</p><p> 電壓測(cè)量?jī)x器總的可分為兩大類:即模擬式和數(shù)字式的。模擬式電壓表是指針式的。用磁電式電流表作為指示器,并在電流表表盤上以電壓(或db)刻度。數(shù)字式電壓表首先將模擬量通過(guò)模/數(shù)(A/D)變換器變成數(shù)字量,然后用電子計(jì)數(shù)器計(jì)數(shù),并以十進(jìn)制數(shù)字顯示被測(cè)電壓值。模擬式電壓表由于電路簡(jiǎn)單、價(jià)廉,特別是在測(cè)量高頻電壓時(shí),其測(cè)量準(zhǔn)確度不亞于數(shù)字電壓表,因此,在電壓測(cè)量中仍將占有重要地
6、位。數(shù)字式電壓表在近年來(lái)已成為極其精確,靈活多用的電子儀器,并且價(jià)格正在逐漸下降。數(shù)字式電壓表能很好地與其它數(shù)字儀器相交接,因此在電壓測(cè)量系統(tǒng)的發(fā)展中是非常重要的。討論數(shù)字式電壓表的主要內(nèi)容可歸結(jié)為電壓測(cè)量的數(shù)字化方法。模擬量的數(shù)字化測(cè)量,其關(guān)鍵是如何把隨時(shí)間作連續(xù)變化的模擬量變換成數(shù)字量,完成這種變換的電路叫模/數(shù)變換器。所以,數(shù)字式電壓表可以簡(jiǎn)單理解為模/數(shù)變換。</p><p> 1.2 數(shù)字電壓表的簡(jiǎn)介
7、</p><p> 數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求,采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC進(jìn)行實(shí)時(shí)通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工
8、業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,示出強(qiáng)大的生命力。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新水平。</p><p><b> 2 單片機(jī)的介紹</b></p><p> 2.1 單片機(jī)簡(jiǎn)介 </p><p> 單片機(jī)全稱為單片機(jī)微型計(jì)算機(jī)(Single Chip Mic
9、rosoftcomputer)。從應(yīng)用領(lǐng)域來(lái)看,單片機(jī)主要用來(lái)控制,所以又稱為微控制器(Microcontroller Unit)或嵌入式控制器。單片機(jī)是將計(jì)算機(jī)的基本部件微型化并集成在一塊芯片上的微型計(jì)算機(jī)。</p><p> 2.2 單片機(jī)的發(fā)展史</p><p> (1) 4位單片機(jī)
10、 </p><p> 1975年,美國(guó)德克薩斯儀器公司首次推出4位單片機(jī)TMS-1000;此后,各個(gè)計(jì)算機(jī)公司競(jìng)相推出四位單片機(jī)。日本松下公司的MN1400系列,美國(guó)洛克威爾公司的PPS/1系列等。四位單片機(jī)的主要應(yīng)用領(lǐng)域有:PC機(jī)的輸入裝置,電池充電器,運(yùn)動(dòng)器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計(jì)算器,多功能電話等。
11、 </p><p> (2) 8位單片機(jī) </p><p> 1972年,美國(guó)Intel公司首先推出8位微處理器8008,并于1976年9月率先推出MCS-48系列單片機(jī)。在這以后,8位單片機(jī)紛紛面市。例如,莫斯特克
12、和仙童公司合作生產(chǎn)的3870系列,摩托羅拉公司生產(chǎn)的6801系列等。隨著集成電路工藝水平的提高,一些高性能的8位單片機(jī)相繼問(wèn)世。例如,1978年摩托羅拉公司的MC6801系列及齊洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。這類單片機(jī)的尋址能力達(dá)64KB,片內(nèi)ROM容量達(dá)4--8KB,片內(nèi)除帶有并行I\O口外,還有串行I\O口,甚至還有A\D轉(zhuǎn)化器功能。8位單片機(jī)由于功能強(qiáng),被廣泛用于自動(dòng)化裝置、智能儀器儀表、智能接口、
13、過(guò)程控制、通信、家用電器等各個(gè)領(lǐng)域。</p><p> (3) 16位單片機(jī) </p><p> 1983年以后,集成電路的集成度可達(dá)幾十萬(wàn)只管/片,各系列16位單片機(jī)紛紛面市。這一階段的代表產(chǎn)品有1983年Intel公司推出的MCS-96系列,1987年I
14、ntel推出了80C96,美國(guó)國(guó)家半導(dǎo)體公司推出的HPC16040,NEC公司推出的783XX系列等。16位單片機(jī)主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)備等場(chǎng)合。</p><p> (4) 32位單片機(jī) </p><p> 隨著高新技術(shù)只智能機(jī)器人,
15、光盤驅(qū)動(dòng)器,激光打印機(jī),圖像與數(shù)據(jù)實(shí)時(shí)處理,復(fù)雜實(shí)時(shí)控制,網(wǎng)絡(luò)服務(wù)器等領(lǐng)域的應(yīng)用與發(fā)展,20世紀(jì)80年代末推出了32位單片機(jī),如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年來(lái)流行的ARM系列單片機(jī)。32位單片機(jī)是單片機(jī)的發(fā)展趨勢(shì),隨著技術(shù)的發(fā)展及開發(fā)成本和產(chǎn)品價(jià)格的下降,將會(huì)與8位單片機(jī)并駕齊驅(qū)。</p><p> (5) 64位單片機(jī)
16、 </p><p> 近年來(lái),64位單片機(jī)在引擎控制,智能機(jī)器人,磁盤控制,語(yǔ)音圖像通信,算法密集的實(shí)時(shí)控制場(chǎng)合已有應(yīng)用,如英國(guó)Inmos公司的Transputer T800是高性能的64位單片機(jī)。</p><p> 2.3 單片機(jī)的特點(diǎn)
17、 </p><p> (1) 單片機(jī)的存儲(chǔ)器ROM和RAM時(shí)嚴(yán)格區(qū)分的。ROM稱為程序存儲(chǔ)器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及存放用戶數(shù)據(jù)。 </p><p> (2) 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。
18、 </p><p> (3) 單片機(jī)的I/O口通常時(shí)多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實(shí)際引腳數(shù)和需要的信號(hào)線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來(lái)設(shè)置或由機(jī)器狀態(tài)來(lái)區(qū)分。 </p><p> (4) 單片機(jī)的外部擴(kuò)展能力很強(qiáng)。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時(shí),均可在外部進(jìn)行擴(kuò)展,與許
19、多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計(jì)帶來(lái)了很大的方便。</p><p> 2.4 AT89C51單片機(jī)介紹 </p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p&
20、gt;<p> P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收
21、輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。
22、這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存 儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> 圖2.4 AT89C51單片機(jī)</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上
23、拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口
24、)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸入)</p><p> P3.5 T1(記時(shí)器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><
25、p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。\</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入
26、編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器 時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p> PSEN:外
27、部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> 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編程期間,此引腳也用于施加1
28、2V編程電源(VPP)。</p><p><b> 3 硬件設(shè)計(jì)</b></p><p><b> 3.1 單片機(jī)芯片</b></p><p> 3.1.1 AT89C51 </p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Program
29、mable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器, AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。2.4有AT89C51的介紹。</p><p> 3.1.2 管腳接法</p><p> VCC:
30、供電電壓我們接+5V。 </p><p><b> GND:接地。 </b></p><p> P0口:在這個(gè)設(shè)計(jì)中我們將AT89C51做為BCD碼的輸出口與LED顯示器相連。由于P0口輸出驅(qū)動(dòng)電路中沒有上拉電阻,所以我們?cè)谕饨与娐飞辖由侠娮琛?</p><p> P1口:把AT89C51中的P1口與ADC0808的輸出端相連,做為數(shù)字
31、信號(hào)的接收端。 </p><p> P2口:我們把P2口做為位碼輸出口,以P2.0—2.3輸出位控線與LED顯示器相連. </p><p> P3口:利用P3.0,P3.1,P3.2,P3.4,P3.5,P3.6分別與ADC0808的OE,EOC,START/ALE,A,B,C端相連。 </p><p> XTAL1 ,XTAL2:外接一振蕩電路。</p
32、><p> 3.2 A/D轉(zhuǎn)換器</p><p> 3.2.1 ADC0808</p><p> A/D轉(zhuǎn)換器是模擬量輸入通道中的一個(gè)環(huán)節(jié),單片機(jī)通過(guò)A/D轉(zhuǎn)換器把輸入模擬量變成數(shù)字量再處理。 </p><p> 隨著大規(guī)模集成電路的發(fā)展,目前不同廠家已經(jīng)生產(chǎn)出了多種型號(hào)的A/D轉(zhuǎn)換器,以滿足不同應(yīng)用場(chǎng)合的需要。如果按照轉(zhuǎn)換原理劃分,主要
33、有3種類型,即雙積分式A/D轉(zhuǎn)換器、逐次逼近式A/D轉(zhuǎn)換器和并行式A/D轉(zhuǎn)換器。目前最常用的是雙積分和逐次逼近式。 </p><p> 雙積分式A/D轉(zhuǎn)換器具有抗干擾能力強(qiáng)、轉(zhuǎn)換精度高、價(jià)格便宜等優(yōu)點(diǎn),比如ICL71XX系列等,它們通常帶有自動(dòng)較零、七段碼輸出等功能。與雙積分相比,逐次逼近式A/D轉(zhuǎn)換的轉(zhuǎn)換速度更快,而且精度更高,比如ADC0808、ADC0809等,它們通常具有8路模擬選通開關(guān)及地址譯碼、鎖存
34、電路等,它們可以與單片機(jī)系統(tǒng)連接,將數(shù)字量送入單片機(jī)進(jìn)行分析和顯示。 </p><p> 本設(shè)計(jì)中,由于對(duì)精度沒做很大要求,我們采用逐次逼近式A/D轉(zhuǎn)換ADC0808,如圖3.2。精度為0.02,所以四位LED顯示中的最后一位我們?cè)O(shè)置為V。</p><p> 3.2.2 ADC0808管腳說(shuō)明和接法</p><p> IN0~I(xiàn)N7:為模擬量的輸入口,我們選取
35、IN3口為入口,外接可變電阻,通過(guò)改變阻值來(lái)控制模擬量的輸入。 </p><p> A、B、C:3位地址輸入,2個(gè)地址輸入端的不同組合選擇八路模擬量輸入。這里我們將A,B接高電平,C為低電平。</p><p> 圖3.2.2 ADC0808</p><p> ALE:地址鎖存啟動(dòng)信號(hào),在ALE的上升沿,將A、B、C上的通道地址鎖存到內(nèi)部的地址鎖存器。 <
36、/p><p> D0~D7:八位數(shù)據(jù)輸出線,A/D轉(zhuǎn)換結(jié)果由這8根線傳送給單片機(jī)。 </p><p> OE:允許輸出信號(hào)。當(dāng)OE=1時(shí),即為高電平,允許輸出鎖存器輸出數(shù)據(jù)。 </p><p> START:?jiǎn)?dòng)信號(hào)輸入端,START為正脈沖,其上升沿清除ADC0808的內(nèi)部的各寄存器,其下降沿啟動(dòng)A/D開始轉(zhuǎn)換。 </p><p> E
37、OC:轉(zhuǎn)換完成信號(hào),當(dāng)EOC上升為高電平時(shí),表明內(nèi)部A/D轉(zhuǎn)換已完成。 </p><p> CLK:時(shí)鐘輸入信號(hào),選用頻率500KHZ。</p><p> 3.3 電壓顯示電路</p><p> 設(shè)計(jì)中采用的是4段LED數(shù)碼管來(lái)顯示電壓值。LED具有耗電低、亮度高、視角大、線路簡(jiǎn)單、耐震及壽命長(zhǎng)等優(yōu)點(diǎn),它由4個(gè)發(fā)光二極管組成,其中3個(gè)按‘8’字型排列,另一個(gè)發(fā)
38、光二極管為圓點(diǎn)形狀,位于右下角,常用于顯示小數(shù)點(diǎn)。把4個(gè)發(fā)光二極管連在一起,公共端接高電平,叫共陽(yáng)極接法,相反,公共端接低電平的叫共陰極接法,我們采用共陰極接法。當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一段筆畫或點(diǎn)就發(fā)亮,從而形成不同的發(fā)光字符。其8段分別命名為dp g f e d c b a。例如,要顯示“0”,則dp g f e d c b a分別為:00111111B;若要顯示多個(gè)數(shù)字,只要讓若干個(gè)數(shù)碼管的位碼循環(huán)為高電平就可以了。 </
39、p><p> 根據(jù)設(shè)計(jì)要求,顯示電路需要至少4位LED數(shù)碼管來(lái)顯示電壓值,我們?cè)俣嗉右晃挥脕?lái)顯示電壓?jiǎn)挝弧癡”,則有7位LED循環(huán)顯示。利用單片機(jī)的I/O口驅(qū)動(dòng)LED數(shù)碼管的亮滅,設(shè)計(jì)中由P0口驅(qū)動(dòng)LED的段碼顯示,即顯示字符,由P2口選擇LED位碼,即選擇點(diǎn)亮哪位LED來(lái)顯示。</p><p> 圖3.3 四段LED數(shù)碼管</p><p> 另外,一般I/O接口
40、芯片的驅(qū)動(dòng)能力是很有限的,在LED顯示器接口電路中,輸出口所能提供的驅(qū)動(dòng)電流一般是不夠的尤其是設(shè)計(jì)中需要用到多位LED,此時(shí)就需要增加LED驅(qū)動(dòng)電路。驅(qū)動(dòng)電路有多種,常用的是TTL或MOS集成電路驅(qū)動(dòng)器,在本設(shè)計(jì)中采用了ADC0808芯片驅(qū)動(dòng)電路。</p><p> 3.4 硬件系統(tǒng)的整體</p><p><b> AD采樣</b></p><
41、p> 圖3.4 硬件系統(tǒng)整體框圖</p><p><b> 4 軟件設(shè)計(jì)</b></p><p> 4.1 軟件總體框架設(shè)計(jì) </p><p> 在編寫匯編語(yǔ)言時(shí),先存放數(shù)碼管的段碼,再存放轉(zhuǎn)換后的數(shù)據(jù),選取通道并設(shè)值.再將AD轉(zhuǎn)換結(jié)果轉(zhuǎn)換成BCD碼,通過(guò)換算LED上顯示.。</p><p> 在
42、換算中,利用關(guān)系得到LED上個(gè)位,十位,百位的顯示,然后設(shè)置小數(shù)點(diǎn)。</p><p><b> 圖4-1流程圖</b></p><p> 在系統(tǒng)上電開始測(cè)量前,要用萬(wàn)用表的電壓檔對(duì)被測(cè)電壓進(jìn)行估測(cè),然后再測(cè)。由于ADC0808進(jìn)行A/D轉(zhuǎn)換時(shí)需要有CLK信號(hào),而此時(shí)的ADC0808的CLK是接在AT89S51單片機(jī)的P3.3端口上,也就是要求從P3.3輸出CLK信
43、號(hào)供ADC0808使用。因此產(chǎn)生CLK信號(hào)的方法就得用軟件來(lái)產(chǎn)生了。</p><p> 由于ADC0808的參考電壓VREF=VCC,所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過(guò)數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。實(shí)際顯示的電壓值 (D/256*VREF)。</p><p><b> 4.2 程序設(shè)計(jì)</b></p><p> CLK BIT P3.5;定義C
44、LK</p><p><b> ORG 0000H</b></p><p> LJMP MAIN ;轉(zhuǎn)入主程序</p><p><b> ORG 0013H</b></p><p> LJMP AGA ;;中斷TNT1,用于讀取轉(zhuǎn)換后的數(shù)據(jù)</p><p>&
45、lt;b> ORG 001BH</b></p><p> LJMP WQ ;T1中斷入口,用于產(chǎn)生時(shí)鐘和顯示</p><p><b> ;主程序;</b></p><p><b> ORG 0030H</b></p><p> MAIN: MOV TMOD,#
46、10H ;工作方式1</p><p> MOV TH1,#(65536-200)/256 ;產(chǎn)生500HZ</p><p> MOV TL1,#(65536-200)%256</p><p> SETB EA ;開總中斷.</p><p> SETB ET1 ; 開T1中斷</p><p>
47、; SETB TR1 ;啟動(dòng)T1</p><p> SETB EX1 ;開外部中斷1</p><p> SETB IT1 ; 邊沿觸發(fā)</p><p> MOV DPTR ,#1FFFH ;指向通道INC0</p><p> MOVX @DPTR,A ;啟動(dòng)轉(zhuǎn)換</p><p>
48、 LOOP: LCALL DISPLAY ;調(diào)用顯示程序.</p><p><b> SJMP LOOP</b></p><p> 外部1中斷,;顯示數(shù)據(jù)轉(zhuǎn)為3位BCD碼子程序</p><p> 顯示數(shù)據(jù)轉(zhuǎn)為3位BCD碼存入33H,34H,35H(最大值約為5.00V)</p><p> AGA:
49、 MOV DPTR,#1FFF</p><p> MOVX A,@DPTR ;讀取轉(zhuǎn)換后的數(shù)據(jù).</p><p> MOV B,#51 ;255÷51=5.00V運(yùn)算</p><p><b> DIV AB</b></p><p> MOV 33H,A ; ;個(gè)位數(shù)放入3
50、3H</p><p> MOV A,B ; ;余數(shù)大于19H,F(xiàn)0為1,乘法溢出,結(jié)果加5</p><p><b> CLR F0</b></p><p> SUBB A,#1AH</p><p><b> MOV F0,C</b></p><p><b
51、> MOV A,#10</b></p><p><b> MUL AB</b></p><p><b> MOV B,#51</b></p><p><b> DIV AB</b></p><p> JB F0,LOOP2 </p>
52、<p><b> ADD A,#5</b></p><p> LOOP2: MOV 34H,A ; ;小數(shù)后第一位放入34H</p><p><b> MOV A,B</b></p><p><b> CLR F0</b></p><p> SUB
53、B A,#1AH</p><p><b> MOV F0,C</b></p><p><b> MOV A,#10</b></p><p><b> MUL AB</b></p><p><b> MOV B,#51</b></p>
54、<p><b> DIV AB</b></p><p> JB F0,LOOP3</p><p><b> ADD A,#5H</b></p><p> LOOP3: MOV 35H,A ; ;小數(shù)后第二位放入35H</p><p> MOVX @DPTR,A ; 啟動(dòng)轉(zhuǎn)
55、換</p><p><b> RETI</b></p><p><b> 顯示程序</b></p><p> DISPLAY: MOV R1,#33H ;指向顯示數(shù)據(jù)首址</p><p> MOV R0,#0FEH ;掃描控制字初值</p><p> PLAY:
56、 MOV A,R0 ;掃描字放入A</p><p> MOV P2,A ;從P2口輸出</p><p> MOV A,@R1 ;取顯示數(shù)據(jù)到A</p><p> MOV DPTR,#TAB ;取段碼表地址</p><p> MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對(duì)應(yīng)段碼</p><p> CJNE R0,
57、#0FEH,PAP ; 查看是第一位否.</p><p> ORL A,#80H ;是,則取小數(shù)點(diǎn).</p><p> PAP: MOV P1,#0FFH ;防閃爍.</p><p> MOV P1,A ;段碼放入P1口</p><p> LCALL DL1MS ;顯示1MS</p><
58、p> INC R1 ;指向下一地址</p><p> MOV A,R0 ;掃描控制字放入A</p><p> JNB ACC.2,ENDOUT ;ACC.3=0時(shí)一次顯示結(jié)束</p><p> RL A ; A中數(shù)據(jù)循環(huán)左移</p><p> MOV R0,A ; 放回R5內(nèi)</p><p> AJM
59、P PLAY ; 跳回PLAY循環(huán)</p><p> ENDOUT: RET</p><p> TAB: DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH</p><p> ;;;;;;;;;;;;;;;;;;; 延時(shí)程序;1MS延時(shí)程序,LED顯示程序用;;;;;;;;;;;;;;;;;;</p>
60、<p> DL1MS: MOV R6,#14H</p><p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET</b></p><p>
61、;;T1定時(shí)器中斷服務(wù)程序,用于給ADC0808產(chǎn)生時(shí)鐘周期;;;</p><p> WQ: MOV TH1,#(65536-200)/256</p><p> MOV TL1,#(65536-200)%256</p><p> CPL CLK ;取反.</p><p> RE: RETI</p>&
62、lt;p><b> END</b></p><p> 4.3 仿真圖和仿真結(jié)果分析</p><p><b> 4.3.1 仿真圖</b></p><p> 在該設(shè)計(jì)中,利用Proteus軟件進(jìn)行仿真。Proteus是英國(guó)Labcenter公司開發(fā)的電路分析與仿真軟件。運(yùn)行于Windows操作系統(tǒng)上,可以仿真、
63、分析(SPICE)數(shù)字電路、模擬電路、數(shù)?;旌想娐罚悄壳拔ㄒ荒軐?shí)現(xiàn)對(duì)51、PIC、AVR、HC11、ARM等處理器的仿真軟件。</p><p> 圖4.3.1 仿真圖</p><p> 4.3.2 仿真結(jié)果分析</p><p> 程序運(yùn)行后,通過(guò)調(diào)節(jié)劃線變阻器的電阻值來(lái)測(cè)量分壓,如圖4.2示,數(shù)碼管與萬(wàn)用電壓表顯示數(shù)據(jù)基本統(tǒng)一。經(jīng)測(cè)試,數(shù)據(jù)誤差不超過(guò)0.01
64、V.</p><p><b> 5 結(jié)束語(yǔ)</b></p><p> 通過(guò)本次課程設(shè)計(jì),我學(xué)到了許多書本上無(wú)法學(xué)到的知識(shí),也深刻體會(huì)到單片機(jī)技術(shù)應(yīng)用領(lǐng)域的廣泛。不僅讓我對(duì)學(xué)過(guò)的單片機(jī)知識(shí)有了很多的鞏固,同時(shí)也對(duì)單片機(jī)這一門課程產(chǎn)生了更大的興趣。本設(shè)計(jì)涉及到《電機(jī)學(xué)》、《單片機(jī)原理及應(yīng)用》、《微型計(jì)算機(jī)控制技術(shù)》、《模擬電子技術(shù)》等學(xué)科。讓我對(duì)專業(yè)知識(shí)有了更深的理解
65、。</p><p> 在本次課程設(shè)計(jì)過(guò)程中,我學(xué)會(huì)了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計(jì)的各硬件的資源,其中包括:數(shù)字電壓表原理、AT89C51單片機(jī)及其引腳說(shuō)明、ADC0808引腳圖及其引腳功能等,為本次課程設(shè)計(jì)提供了一定的資料。</p><p> 這次課程設(shè)計(jì),使我對(duì)單片機(jī)有了更為深入的了解,對(duì)一個(gè)課題如何畫流程圖,編程序等,有了一定的認(rèn)識(shí),進(jìn)一步加強(qiáng)了自己的動(dòng)手能力和運(yùn)用專業(yè)知識(shí)的能力,從中學(xué)
66、習(xí)到如何去思考和解決問(wèn)題,以及如何靈活地改變方法去實(shí)現(xiàn)設(shè)計(jì)方案。特別是使我深刻體會(huì)到的是軟件和硬件結(jié)合的重要性,以及兩者的聯(lián)系和配合作用。同時(shí)明白了辦事只要有信心,有毅力,找對(duì)方法,就會(huì)成功!</p><p><b> 致謝</b></p><p> 首先我要感謝我的指導(dǎo)老師xxx師,在老師的耐心幫助下,我才能完成這篇論文。一次次的錯(cuò)誤,xx老師都很耐心的教我如何
67、改正,為此耽誤了老師很多私人時(shí)間,在此向老師表示十分感謝!其次在程序的設(shè)計(jì)與編寫中我也得到了許多同學(xué)的幫助,在此我向他們表示衷心的感謝!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 劉湘濤.江世明.單片機(jī)原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2006.</p><p> [2] 何立民.單片機(jī)初級(jí)教程[M].
68、 北京:北京航空航天大學(xué)出版社,1999.</p><p> [3] 周航慈.單片機(jī)程序設(shè)計(jì)基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社,2004.</p><p> [4] 謝自美. 電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試[M]. 武漢:華中理工大學(xué)出版社,1992.</p><p> [5] 付家才. 單片機(jī)控制工程實(shí)踐技[M]. 北京:化學(xué)工業(yè)出版社
69、 2004.</p><p> [6] 周向紅. 51系列彈片機(jī)應(yīng)用與實(shí)踐教程.北京航空航天大學(xué)出版</p><p><b> 社,2008</b></p><p> [7] 胡輝. 單片機(jī)原理與應(yīng)用.中國(guó)水利水電出版社,2007</p><p> [8] 徐瑞華. 單片機(jī)原理與接口技術(shù).人民郵電出版社,2
70、008</p><p> [9] 潘永雄. 新編單片機(jī)原理與應(yīng)用.西安電子科技大學(xué)出版社,2008</p><p> [10] 王法能.單片機(jī)原理及應(yīng)用.科學(xué)出版社,2004 [11] 劉 勇.數(shù)字電壓.電子工業(yè)出版社,2004 [12] 趙偉軍.PROTEL99SE教程.人民郵電出版社,2004 [13] 黃強(qiáng).模擬電子技術(shù).科學(xué)出版社,2003 </p>&l
71、t;p> [14] 徐愛鈞.《智能化測(cè)量控制儀表原理與設(shè)計(jì)》(第二版)[M].北京:北京航空航天大學(xué)出版社,2004</p><p> [15] 吳金戌,沈慶陽(yáng),郭庭吉.《8051單片機(jī)實(shí)踐與應(yīng)用》[M].北京:清華大學(xué)出版社,2002</p><p> [16] 張國(guó)勛,《縮短ICL7135A/D采樣程序時(shí)間的一種方法》[J].《電子技術(shù)應(yīng)用》,1993第一期</p&g
72、t;<p> [17] 高峰,《單片微型計(jì)算機(jī)與接口技術(shù)》 [M].北京:科學(xué)出版社,2003</p><p> The Design of Electronic Locks Based on Microcomputer AT89C51</p><p><b> ABSTRACT</b></p><p> In this
73、paper a digital voltage meter control system using AT89C51MCU, A / D converter with ADC0808as main hardware, LED dynamic display module, power supply module, digital voltage meter to achieve hardware circuit and software
74、 design. The system can complete the voltage volume collection, A / D conversion, a manual switch range, real-time display the collected voltage.</p><p> Keywords : SCM, digital voltage meter, AT89C51, ADC0
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89c51單片機(jī)的數(shù)字電壓表設(shè)計(jì)(畢業(yè)論文)
- 畢業(yè)論文--基于at89c51單片機(jī)的數(shù)字電壓表的設(shè)計(jì)
- 基于at89c51單片機(jī)的數(shù)字電壓表設(shè)計(jì)
- 基于at89c51單片機(jī)的數(shù)字電壓表的仿真設(shè)計(jì)
- 數(shù)字電壓表畢業(yè)論文--基于51單片機(jī)的數(shù)字電壓表設(shè)計(jì)
- 基于51單片機(jī)的數(shù)字電壓表設(shè)計(jì) 畢業(yè)論文
- @基于AT89C51單片機(jī)的數(shù)字電壓表的Proteus仿真設(shè)計(jì)與應(yīng)用.pdf
- 基于at89c51的簡(jiǎn)易數(shù)字電壓表設(shè)計(jì)
- 2017畢業(yè)論文-基于at89c51單片機(jī)數(shù)字時(shí)鐘的設(shè)計(jì)
- 基于STC89C51單片機(jī)的數(shù)字電壓表設(shè)計(jì).pdf
- 89c51單片機(jī)數(shù)字電壓表課程設(shè)計(jì)
- 基于at89c51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
- 畢業(yè)論文基于at89s52單片機(jī)的數(shù)字電壓表設(shè)計(jì)
- 基于單片機(jī)的數(shù)字電壓表畢業(yè)論文
- (畢業(yè)論文)基于單片機(jī)的數(shù)字電壓表設(shè)計(jì)
- 畢業(yè)論文——基于單片機(jī)的數(shù)字電壓表
- 基于51單片機(jī)的數(shù)字電壓表設(shè)計(jì)
- 基于單片機(jī)的數(shù)字電壓表——畢業(yè)論文
- 畢業(yè)論文--基于單片機(jī)的數(shù)字電壓表設(shè)計(jì)
- 基于at89s52單片機(jī)的數(shù)字電壓表設(shè)計(jì)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論