基于單片機(jī)的數(shù)字多用表的設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的數(shù)字多用表的設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的數(shù)字多用表的設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的數(shù)字多用表的設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的數(shù)字多用表的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(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、基于單片機(jī)的數(shù)字多用表的設(shè)計(jì)基于單片機(jī)的數(shù)字多用表的設(shè)計(jì)學(xué)院:學(xué)院:班級(jí):班級(jí):指導(dǎo)老師:指導(dǎo)老師:姓名:姓名:時(shí)間:時(shí)間:2014.6.91摘 要本設(shè)計(jì)用單片機(jī)芯片 AT89C51 設(shè)計(jì)一個(gè)數(shù)字萬(wàn)用表,能夠測(cè)量交、直流電壓值,交、直流電流,電阻,四位數(shù)碼顯示。此系統(tǒng)由分流電阻、分壓電阻、基準(zhǔn)電阻、51單片機(jī)最小系統(tǒng)、顯示部分、報(bào)警部分、A/D 轉(zhuǎn)換和控制部分組成。本設(shè)計(jì)主要針對(duì)萬(wàn)用表硬件以及軟件部分的實(shí)現(xiàn)來(lái)展開。研究?jī)?nèi)容包括兩部分:硬件和軟件。為使系統(tǒng)更加穩(wěn)定,使系統(tǒng)整體精度得以保障,本電路使用了ADC0808數(shù)據(jù)轉(zhuǎn)換芯片,單片機(jī)系統(tǒng)設(shè)計(jì)采用AT89C51單片機(jī)作為主控芯片,配以RC上電復(fù)位

2、電路和11.0592MHZ振蕩電路,顯示芯片用7SEG-XP-4M-CC,驅(qū)動(dòng)8位數(shù)碼管顯示。程序每執(zhí)行周期耗時(shí)縮到最短,這樣保證了系統(tǒng)的實(shí)時(shí)性。關(guān)鍵詞: 數(shù)字萬(wàn)用表;A/D 轉(zhuǎn)換和控制;AT89C51 單片機(jī);ADC0808; 7SEG2目 錄1、引言、引言.31.1 數(shù)字萬(wàn)用表研究背景、目的和意義.31.2 國(guó)內(nèi)外研究現(xiàn)狀.31.3 研究?jī)?nèi)容.31.4 章節(jié)安排.42、數(shù)字萬(wàn)用表基本原理、數(shù)字萬(wàn)用表基本原理.52.1 直流電壓測(cè)量原理.52.2 交流電壓測(cè)量原理.62.3 直流電流測(cè)量原理.62.4 交流電流測(cè)量原理.72.5 電阻測(cè)量原理.83、數(shù)字萬(wàn)用表硬件介紹與設(shè)計(jì)、數(shù)字萬(wàn)用表硬件介

3、紹與設(shè)計(jì).103.1 硬件系統(tǒng)部分芯片介紹.103.2 數(shù)字萬(wàn)用表硬件設(shè)計(jì).154、系統(tǒng)軟件與流程圖、系統(tǒng)軟件與流程圖.204.1 電路功能模塊.204.2 系統(tǒng)總流程圖.214.3 電壓測(cè)量流程圖.224.4 電流、電阻測(cè)量流程圖.225、仿真結(jié)果:、仿真結(jié)果:.375.1 整體仿真 PROTUES圖:.375.2 待測(cè)電壓仿真結(jié)果圖:.385.3 待測(cè)電流仿真結(jié)果圖:.385.4 待測(cè)電阻仿真結(jié)果圖.396、結(jié)、結(jié) 論論.407、參考文獻(xiàn)、參考文獻(xiàn).418、致、致 謝謝.4231、引言1.1 數(shù)字萬(wàn)用表研究背景、目的和意義傳統(tǒng)的指針式萬(wàn)用表功能單一精度低,不能滿足數(shù)字化時(shí)代的需求,數(shù)字萬(wàn)用

4、表是利用模數(shù)轉(zhuǎn)換原理,將被測(cè)量數(shù)據(jù)轉(zhuǎn)化為數(shù)字量,并將測(cè)量結(jié)果以數(shù)字的形式顯示出來(lái)的一種測(cè)量?jī)x表。與指針式萬(wàn)用表相比,新一代數(shù)字萬(wàn)用表具有精度高、輸入快、輸入阻抗大、數(shù)字顯示、讀數(shù)準(zhǔn)確、可擴(kuò)展性強(qiáng)、集成方便、抗干擾能力強(qiáng)、測(cè)量自動(dòng)化程度高等優(yōu)點(diǎn),因而被廣泛應(yīng)用,得到工程師的青睞。數(shù)字萬(wàn)用表是當(dāng)前電子、電工、儀器、儀表和測(cè)量領(lǐng)域大量使用的一種基本測(cè)量,已被廣泛應(yīng)用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,顯示出強(qiáng)大的生命力。隨著時(shí)代科技的進(jìn)步,數(shù)字萬(wàn)用表的功能越來(lái)越強(qiáng)大,把電量及非電量的測(cè)量技術(shù)提高到嶄新水平。1.2 國(guó)內(nèi)外研究現(xiàn)狀目前電子行業(yè)具有很高的發(fā)展速度,測(cè)試測(cè)量?jī)x器

5、更是走在行業(yè)的尖端,便攜式高精度儀器更是發(fā)揮了巨大的作用,并且顯示了無(wú)比的潛力。它可以取代測(cè)量技術(shù)在傳統(tǒng)領(lǐng)域內(nèi)的各類儀器,它在組成和改變儀器的功能和技術(shù)性能上具有很大靈活性和經(jīng)濟(jì)性,因而特別適應(yīng)于當(dāng)代科學(xué)技術(shù)迅速發(fā)展和科學(xué)技術(shù)不斷深化所提出的更高更新的測(cè)量課題和測(cè)量需求1。由于科學(xué)的進(jìn)步,社會(huì)的發(fā)展,電子產(chǎn)業(yè)也會(huì)發(fā)展到一個(gè)新的階段,電子技術(shù)的提高代表了一個(gè)國(guó)家的整體實(shí)力,高精尖的電子產(chǎn)品更新?lián)Q代的周期越來(lái)越短,每一款電子產(chǎn)品的設(shè)計(jì)生產(chǎn)都需要更精密的電子測(cè)量?jī)x器與之相配合,這樣更先進(jìn)的測(cè)量?jī)x器將成為電子產(chǎn)品開發(fā)的必備條件,那么精密的測(cè)量?jī)x器將是電子行業(yè)發(fā)展中的重中之重2。1.3 研究?jī)?nèi)容此數(shù)字萬(wàn)

6、用表由硬件和軟件兩部分組成,硬件主要完成信號(hào)的采集,軟件主要完成對(duì)硬件的控制以及數(shù)據(jù)的處理, 所以本文主要針對(duì)萬(wàn)用表硬件以及軟件部分的實(shí)現(xiàn)來(lái)展開。研究?jī)?nèi)容包括兩部分:硬件和軟件。(1) 整體方案的設(shè)計(jì) 按照需求制定數(shù)字萬(wàn)用表的功能,指標(biāo),以及軟硬件的整體框架。 按照硬件需求指標(biāo),研究硬件實(shí)現(xiàn)的框架結(jié)構(gòu),以及模塊劃分。 軟件為嵌入式軟件,按照功能需求設(shè)計(jì)自己的多線程結(jié)構(gòu)。(2) 功能4該萬(wàn)用表的功能主要包括:測(cè)量交直流電壓、交直流電流、電阻。 電流的量程有50mA,500mA,5A。 電壓的量程有5V,50V,500V。 電阻的量程有500,5K,50K,500K,5M。(3) 硬件模塊的研究?jī)?nèi)

7、容參考數(shù)字真有值效萬(wàn)用表,對(duì)萬(wàn)用表的測(cè)量功能和結(jié)構(gòu)進(jìn)行研究,完成基本硬件模塊的設(shè)計(jì)。該模塊可分為模擬部分和數(shù)字部分。模擬部分完成對(duì)前端信號(hào)的采集并且轉(zhuǎn)化為相應(yīng)電壓量。數(shù)字部分完成對(duì)采集的信號(hào)進(jìn)行處理還有控制的功能。(4) 軟件部分的研究?jī)?nèi)容軟件部分主要為該表自身軟件,實(shí)現(xiàn)其測(cè)量功能,采用C語(yǔ)言完成。(5)本設(shè)計(jì)重點(diǎn)要解決的問(wèn)題是對(duì)不同量程的各種測(cè)量?jī)?nèi)容的轉(zhuǎn)換,還有就是各部分電路組合成一個(gè)完整的數(shù)字萬(wàn)用表,而難點(diǎn)解決的問(wèn)題就是程序的設(shè)計(jì),要保正其可行性從而保證設(shè)計(jì)的正確性。1.4 章節(jié)安排本文在第二章介紹了數(shù)字萬(wàn)用表的基本原理,第三章介紹了系統(tǒng)硬件設(shè)計(jì)方案,第四章介紹了軟件的實(shí)現(xiàn)方案。5R1R2

8、入入入入入入U(xiǎn)I0U0R19MR2900 KR3100 KUA/D入 入 入5V50V500 V2、數(shù)字萬(wàn)用表基本原理數(shù)字萬(wàn)用表的最基本功能是能夠測(cè)量交直流電壓,交直流電流,還能夠測(cè)量電阻 。下面我們來(lái)分析一下數(shù)字萬(wàn)用表測(cè)電壓,測(cè)電流,測(cè)電阻的原理??傮w來(lái)說(shuō),我們此次用的 A/D 轉(zhuǎn)換芯片是 ADC0809,它允許的模擬輸入電壓值直流 05V,設(shè)想在測(cè)量電壓時(shí),如果能把電壓都轉(zhuǎn)換成 05V 的直流電壓,然后送 A/D 轉(zhuǎn)換器,在顯示時(shí)適當(dāng)擴(kuò)大相應(yīng)的倍數(shù),那么就可以測(cè)出電壓了,如果測(cè)電流時(shí),若也能將電流轉(zhuǎn)換成05V 的電壓,最后乘以相應(yīng)的比例系數(shù),那么電流也測(cè)量出來(lái),測(cè)量電阻的道理也是如此,可見

9、重點(diǎn)研究方向是直流電壓表的設(shè)計(jì)和各個(gè)轉(zhuǎn)換電路,下面為我們具體分析一下各個(gè)原理。2.1 直流電壓測(cè)量原理在基準(zhǔn)數(shù)字電壓表頭前面加一級(jí)分壓電路(衰減器),可以擴(kuò)展直流電壓測(cè)量的量程。如圖 2-1 所示,U0為電壓表頭的量程(如 5V),r 為其內(nèi)阻(如 10M),R1、R2為分壓電阻,UI0為擴(kuò)展后的量程。 圖 2-1 電壓擴(kuò)展量程原理 圖 2-2 多量程分壓器原理由于 RR2,所以分壓比為:02012IURURR擴(kuò)展后的量程為:12002IRRUUR多量程分壓器原理電路見圖 2-2,三檔量程的分壓比分別為 1、0.1、0.01,對(duì)應(yīng)的量程分別為 5V,50V,500V。6換量程時(shí),多刀量程轉(zhuǎn)換開

10、關(guān)可以根據(jù)檔位自動(dòng)調(diào)整小數(shù)點(diǎn)的顯示,使用者可方便地直讀出測(cè)量結(jié)果3。2.2 交流電壓測(cè)量原理測(cè)量交流電壓的原理是先將交流電壓進(jìn)行衰減,使其在 05V 之間,然后把交流電壓化為直流電壓,送 A/D 轉(zhuǎn)換器。其原理框圖如下圖 2-3:圖 2-3 交流電壓測(cè)量框圖交流/直流電路如下圖 2-4: 圖 2-4 直流/交流電壓電路圖2.3 直流電流測(cè)量原理一般來(lái)說(shuō)電流測(cè)量分為直接式測(cè)量和間接式測(cè)量。直接式測(cè)量是在被測(cè)回路中串聯(lián)一個(gè)檢測(cè)電阻,根據(jù)I=U/R,只要檢測(cè)電壓,知道R,就可計(jì)算出電流。間接式測(cè)量是根據(jù)霍爾效應(yīng),實(shí)現(xiàn)磁場(chǎng),電場(chǎng)的轉(zhuǎn)換,最終還是要根據(jù)I=U/R來(lái)計(jì)算。采用檢測(cè)電阻直接測(cè)量,比較簡(jiǎn)潔,成

11、本較低,但檢測(cè)電流比較小,一般不超過(guò)10A。采用霍爾元件進(jìn)行間接測(cè)量,比較復(fù)雜,成本較高,但檢測(cè)電流可以很大,如幾十安都可以。為了實(shí)現(xiàn)電流的檢測(cè),就必須將被測(cè)電流變成05V的直流電壓,即實(shí)現(xiàn)衰減和I/U變換,一般測(cè)量電路經(jīng)常使用這樣一些方法來(lái)實(shí)現(xiàn)。其一,將被測(cè)電流通過(guò)一個(gè)由電阻構(gòu)成的分流器,使之形成三個(gè)分流系數(shù),即1/10(V/mA),1/100(V/mA),1/1000(V/mA),當(dāng)被測(cè)電流分別為50 mA, 500mA,5 A時(shí),均被轉(zhuǎn)換成了5V的輸入電壓5。其原理圖如下圖:交流電壓分壓器交流/直流電路A/D 轉(zhuǎn)換器21入入3411入入75A500mA50mAIUA/D入 入 入R19M

12、R2900KR3100KRA/D入入入圖2-5 直流電流測(cè)量原理圖一圖2-6 直流電流測(cè)量原理圖二其二,使三檔輸入電流50 mA, 500mA,5 A都通過(guò)一個(gè)取樣電阻,比如,R=10,取樣電阻將電流變成相對(duì)應(yīng)的500 mV,5V,50V,然后通過(guò)一個(gè)比例放大器,若比例系數(shù)對(duì)應(yīng)為10,1,0.1,則經(jīng)比例放大器的輸出電壓均為5V,以此作為A/D轉(zhuǎn)換器的輸入。圖 2-7 多量程分流器電路2.4 交流電流測(cè)量原理首先把交流電流通過(guò)一取樣電阻轉(zhuǎn)換成交流電壓,然后將交流電壓進(jìn)行衰減,變成 05V 的交流電壓,再通過(guò)交流/直流電路將其化成 05V 的直流電壓,然后送A/D 轉(zhuǎn)換器。這一原理是測(cè)量直流電流

13、和測(cè)量交流電壓的綜合。RUIR1100R210R3150mA500 mA 5AIU82.5 電阻測(cè)量原理(1) 恒流法測(cè)量電阻恒流法測(cè)量電阻是讓恒流源流 I 過(guò)被測(cè)電阻 RX,測(cè)試流過(guò) RX的電壓 UX,其測(cè)量原理圖如下:圖 2-8 恒流源法測(cè)電阻上圖2-8中I是標(biāo)準(zhǔn)電流源,那么只需測(cè)得兩端的電壓UX,就可以求出被測(cè)電阻RX了:RX=UX/I,而Ux如第二章開始所講原理相同。由于恒流源測(cè)電阻無(wú)法消除衰減放大電路中和A/D電路中的增益隨溫度變化所帶來(lái)的誤差,以及橫流源精度較難控制,一般不用此法測(cè)電阻,而是選用比例法測(cè)電阻6。(2) 比例法測(cè)電阻比例測(cè)量法原理電路見圖 2-9:圖 2-9 比列法測(cè)

14、電阻原理由穩(wěn)壓管 ZD 提供測(cè)量基準(zhǔn)電壓,流過(guò)標(biāo)準(zhǔn)電阻 R0和被測(cè)電阻 RX的電流基本相等(A/D 轉(zhuǎn)換器的輸入阻抗很高,其取用的電流可忽略不計(jì))。所以 A/D 轉(zhuǎn)換器的參考電壓 UREF和輸入電壓 UIN有如下關(guān)系: 即0REFINXRUUR0INXREFURRU根據(jù)所用 A/D 轉(zhuǎn)換器的特性可知,數(shù)字表顯示的是 UIN與 UREF的比值,當(dāng)RXUXIRVC CR0RXA/D入入入U(xiǎn)XUR EFIN+IN-VR EF+VR EF-9UIN=UREF時(shí)顯示“1000” , UIN=0.5UREF時(shí)顯示“500” ,以此類推。所以,當(dāng) R0=RX時(shí),表頭將顯示“1000” ,當(dāng) R0=0.5RX

15、時(shí)顯示“500” ,這稱為比例讀數(shù)特性。因此,我們只要選取不同的標(biāo)準(zhǔn)電阻并適當(dāng)?shù)貙?duì)小數(shù)點(diǎn)進(jìn)行定位,就能得到不同的電阻測(cè)量檔7。如對(duì) 500 檔,取 R01=100,小數(shù)點(diǎn)定在十位上。當(dāng) RX=100 時(shí),表頭就會(huì)顯示出 500.0。當(dāng) RX變化時(shí),顯示值相應(yīng)變化,可以從 0.1 測(cè)到 499.9。又如對(duì) 5k 檔,取 R02=1k,小數(shù)點(diǎn)定在千位上。當(dāng) RX變化時(shí),顯示值相應(yīng)變化,可以從 0.001k 測(cè)到 4.999k。數(shù)字萬(wàn)用表多量程電阻檔電路見圖 2-10:圖 2-10 多量程測(cè)電阻原理由上分析可知:R1=R01=100R2=R02-R01=1000-100=900R3=R03R02=9

16、K圖 2-10 中由正溫度系數(shù)(PTC)熱敏電阻 R0與晶體管 T 組成了過(guò)壓保護(hù)電路,以防誤用電阻檔去測(cè)高電壓時(shí)損壞集成電路。當(dāng)誤測(cè)高電壓時(shí),晶體管 T 發(fā)射極將擊穿從而限制了輸入電壓的升高。同時(shí) R1 隨著電流的增加而發(fā)熱,其阻值迅速增大,從而限制了電流的增加,使 T 的擊穿電流不超過(guò)允許范圍。即 T 只是處于軟擊穿狀態(tài),不會(huì)損壞,一旦解除誤操作,R0和 T 都能恢復(fù)正常。10 3、數(shù)字萬(wàn)用表硬件介紹與設(shè)計(jì)如圖 3-1 所示,本萬(wàn)用表由以下幾部分功能組成,復(fù)位電路、震蕩電路、ADC 輸入、被測(cè)量顯示、超限報(bào)警、ADC 使能控制。復(fù)位電路用來(lái)清零,進(jìn)行下一次的測(cè)量;震蕩電路用來(lái)消除一些外來(lái)干

17、擾,使電路工作更加穩(wěn)定;ADC 輸入則是將輸入量進(jìn)行AD 轉(zhuǎn)換;測(cè)量顯示就是顯示測(cè)量的數(shù)值;超限報(bào)警部分則是用作當(dāng)測(cè)量量超出量程范圍時(shí)發(fā)出警報(bào),以便提醒用戶更改大量程;ADC 使能控制則用來(lái)對(duì)輸入量進(jìn)行控制,允許輸入或者不允許輸入。圖 3-1 硬件系統(tǒng)設(shè)計(jì)總體框架圖3.1 硬件系統(tǒng)部分芯片介紹3.1.1 AT89C51 芯片簡(jiǎn)介 圖 3-2 AT89C51 芯片引腳圖復(fù)位電路振蕩電路ADC輸入89C51被測(cè)量顯示超限報(bào)警ADC使能控制XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD4

18、35P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.2/ECI3P1.3/CEX04P1.4/CEX15P1.5/CEX26P1.6/CEX37P1.7/CEX48P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1805111(1)AT89C51 主要特性8:1)與 MCS-51

19、 兼容2)4K 字節(jié)可編程 FLASH 存儲(chǔ)器3)壽命:1000 寫/擦循環(huán)4)數(shù)據(jù)保留時(shí)間:10 年5)全靜態(tài)工作:0Hz-24MHz6)三級(jí)程序存儲(chǔ)器鎖定7)1288 位內(nèi)部 RAM8)32 可編程 I/O 線9)兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器10)5 個(gè)中斷源11)可編程串行通道12)低功耗的閑置和掉電模式13)片內(nèi)振蕩器和時(shí)鐘電路(2)功能特性描述9:AT89C51 是一種帶 4K 字節(jié) FLASH 存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能 CMOS 8 位微處理器,俗稱單片機(jī)。AT89C205

20、1 是一種帶 2K 字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(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à)廉的方案。(3)AT89C51 提供以下標(biāo)準(zhǔn)功能:4K 字節(jié) Flash 閃速存儲(chǔ)器,128 字節(jié)內(nèi)部RAM,32 個(gè) I/O 口線,兩個(gè) 16 位定時(shí)/計(jì)數(shù)器,一個(gè) 5

21、 向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止 CPU 的工作,但允許 RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。12(4)VCC:供電電壓。GND:接地。(5)AT89C51 單片機(jī)的 P 口特點(diǎn)10:P0 口:P0 口為一個(gè) 8 位漏級(jí)開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當(dāng) P0口的管腳第一次寫 1 時(shí),被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可

22、以被定義為數(shù)據(jù)/地址的低八位。在 FIASH 編程時(shí),P0 口作為原碼輸入口,當(dāng) FIASH進(jìn)行校驗(yàn)時(shí),P0 輸出原碼,此時(shí) P0 外部必須接上拉電阻。 P1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2 口:P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出4個(gè) TTL 門電流,當(dāng) P2 口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻

23、拉高,且作為輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。這是由于內(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)11。 P3 口:P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電流。當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(IL

24、L)這是由于上拉的緣故。 3.1.2 ADC0808 芯片介紹ADC0808 是 CMOS 型的 8 位逐次逼近式單片 A/D 轉(zhuǎn)換器。ADC0808 是帶有 8 位 A/D 轉(zhuǎn)換器、8 路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS 組件。它是逐次逼近式 A/D 轉(zhuǎn)換器,可以和單片機(jī)直接接口。(1) 主要特性13 分辨率為 8 位。 轉(zhuǎn)換時(shí)間 100us。 單一+5V 供電電,模擬壓輸入在 0+5 V 之間。 功耗為 15mW。(2) ADC0808 的內(nèi)部邏輯結(jié)構(gòu)圖 3-3 ADC0808 的內(nèi)部邏輯結(jié)構(gòu)上圖 3-3 可知,ADC0808 由一個(gè) 8 路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)

25、A/D 轉(zhuǎn)換器和一個(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ù)。(3) ADC0808 引腳結(jié)構(gòu)8位模擬開關(guān)地址鎖存與譯碼控制與時(shí)序SAR樹狀開關(guān)三態(tài)輸出鎖存緩沖器電阻網(wǎng)絡(luò)ADDAADDBADDCALEIN7IN0STARTCLKEOCD7-D0VccGND REF(+)REF(-)OEOUT121ADD B24ADD A25ADD C23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75STA

26、RT6OUT58EOC7OE9CLOCK10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE22U2ADC080814圖 3-4 ADC0808 引腳結(jié)構(gòu)圖地址輸入和控制線:4 條ALE 為地址鎖存允許輸入線,高電平有效。當(dāng) ALE 線為高電平時(shí),地址鎖存與譯碼器將 A,B,C 三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B 和 C 為地址輸入線,用于選通 IN0IN7上的一路模擬量輸入。通道選擇表如下表所示12。CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN

27、5110IN6111IN7表 3-5 地址輸入線的通道選擇數(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)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0 為數(shù)字量輸出線。 CLK 為時(shí)鐘輸入信號(hào)線。因 ADC0809 的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為 500KHZ, VR

28、EF() ,VREF()為參考電壓輸入。 15(4) ADC0809 應(yīng)用說(shuō)明: ADC0809 內(nèi)部帶有輸出鎖存器,可以與 AT89c51 單片機(jī)直接相連。 初始化時(shí),使 ST 和 OE 信號(hào)全為低電平。 送要轉(zhuǎn)換的哪一通道的地址到 A,B,C 端口上。 在 ST 端給出一個(gè)至少有 100ns 寬的正脈沖信號(hào)。 是否轉(zhuǎn)換完畢,我們根據(jù) EOC 信號(hào)來(lái)判斷。 當(dāng) EOC 變?yōu)楦唠娖綍r(shí),這時(shí)給 OE 為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。3.1.3 7SEG-XP-4M-CC 簡(jiǎn)述(1) 概述7SEG-XP-4M-CC 共陰極 8X8 段 LED 數(shù)碼管(8X8 點(diǎn)陣)顯示驅(qū)動(dòng)電路是全定制專用集

29、成電路。該電路由開機(jī)自清電路、振蕩電路、位掃描驅(qū)動(dòng)電路、8X8 bit 移位寄存器電路、8X8 bit 數(shù)據(jù)鎖存器電路、段多路選擇器驅(qū)動(dòng)電路組成。它可與各種型號(hào)的微處理器串行口或并行口,專供驅(qū)動(dòng) 8 位 X8 段共陰極 LED 數(shù)碼管(8X8LED 點(diǎn)陣)11。(2) 特點(diǎn) 工作電壓:+4V+6V。 位掃描驅(qū)動(dòng)電流80mA(VDD=+5V) 。 段掃描驅(qū)動(dòng)電流10mA(VDD=+5V) 。 可驅(qū)動(dòng)高彩色 LED 管。 可通過(guò) N 個(gè) TEC6122 級(jí)聯(lián)實(shí)行 NX8 位 LED 顯示。 管腳間距 2.54mm ,標(biāo)準(zhǔn) 24pin 窄塑封雙列直插封裝。(3) 位掃描共陰極 LED 顯示原理位掃描

30、信號(hào)接S1,S2,S8 順序依次出現(xiàn),循環(huán)反復(fù)。S1 顯示第一位(個(gè)位) ,S2 顯示第二位(十位) ,依次地S8 顯示第八位(千萬(wàn)位) 。要顯示的段碼 A,B,DP 是由 S1S8 依次分別選通送出,S1 送 A1,B1,DP1,顯個(gè)位,其它位不顯示。同樣地 S8 送出 A8,B8,DP8,顯千萬(wàn)位,其它位不顯示,這就是位掃描共陰極 LED 顯示原理。3.2 數(shù)字萬(wàn)用表硬件設(shè)計(jì)3.2.1 分模塊詳述系統(tǒng)各部分的實(shí)現(xiàn)方法一、電源部分16F12.5AD1D2ODEDIODEJX 1CO N1由于高壓交流電會(huì)對(duì)弱電系統(tǒng)產(chǎn)生干擾,影響系統(tǒng)的穩(wěn)定性,而電池之類的電源又存在維護(hù)不方便和電壓電流衰減等的缺

31、點(diǎn),所以本次設(shè)計(jì)采用外部穩(wěn)壓電源供電13。圖 3-8 電源電路圖二、輸入端圖 3-9 萬(wàn)用表正表筆輸入端電路被測(cè)量的輸入端經(jīng)過(guò)表筆流經(jīng)保險(xiǎn)絲,這樣做是為了起到保護(hù)作用,防止過(guò)壓過(guò)流而燒壞元器件。三、分流電阻圖 3-10 分流電阻電路如上圖 3-10,使用有一定規(guī)律的電阻組合構(gòu)成精密的電阻分流器,能夠?qū)崿F(xiàn)分流大電流的目的。R19MR2900 KR3100 K5V50V500 VUR3R2R110010150mA500mA5A17四、分壓電阻圖 3-11 分壓電阻電路如上圖 3-11,使用有一定規(guī)律的電阻組合構(gòu)成精密的電阻分壓器,能夠?qū)崿F(xiàn)分流大電壓的目的。五、基準(zhǔn)電阻圖 3-12 基準(zhǔn)電阻電路測(cè)量

32、電阻與測(cè)量電流或者電壓一樣重要,俗稱“三用表” ,利用數(shù)字電壓表做成的多量程電阻表,采用的是“比例法”測(cè)量,因此,它比起指針萬(wàn)用表的電阻測(cè)量來(lái)精確度更高,而且耗電很小,上圖 2-12 中所配置的一組電阻就叫“基準(zhǔn)電阻” ,就是通過(guò)切換各個(gè)接點(diǎn)得到不同的基準(zhǔn)電阻值,再由 ADC0808 的參考電壓 Vref與被測(cè)電阻上得到的電壓 V 測(cè)進(jìn)行“比例讀數(shù)” 。六、ADC 部分R5900KR490KR39KR2900R11005M500K50K5K500ABCDEFGH231U4:A74LS02564U4:B74LS02P1XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/A

33、D039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.2/ECI3P1.3/CEX04P1.4/CEX15P1.5/CEX26P1.6/CEX37P1.7/CEX48P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.

34、6/A1427U18051+5VOUT121ADD B24ADD A25ADD C23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START6OUT58EOC7OE9CLOCK10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE22U2ADC08088910U4:C74LS02D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1CLK11U374LS374VVAV111213U4:D74LS02RDP2.7WR12U5:A74LS04P2

35、.7WRRD18圖 3-13 ADC0808 轉(zhuǎn)換電路15由圖中可以看到,ADC0808 的啟動(dòng)信號(hào) START 由片選線 P2.7 與寫信號(hào) WR 的“或非”產(chǎn)生。這要求一條向 ADC0808 寫操作指令來(lái)啟動(dòng)轉(zhuǎn)換。ALE 與 START 相連,即按打入的通道地址接通模擬量并啟動(dòng)轉(zhuǎn)換。輸出允許信號(hào) OE 由讀信號(hào) RD 與片選線 P2.7“或非”產(chǎn)生,即一條 ADC0808 的讀操作使數(shù)據(jù)輸出。由于 ADC0808 的參考電壓 VREFVCC,所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過(guò)數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。七、報(bào)警部分圖 3-14 報(bào)警電路當(dāng)檢測(cè)到被測(cè)量超出預(yù)定的值,蜂鳴器發(fā)出“嘀”聲。具體的實(shí)現(xiàn)

36、過(guò)程是單片機(jī)P3.3 腳輸出高電平,使得 Q2 導(dǎo)通。使得 LS1 對(duì)地導(dǎo)通,蜂鳴器發(fā)出響聲16。八、單片機(jī)最小系統(tǒng)XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.2/ECI3P1.3/CEX04P1.4/CEX15P1.5/CEX26P1.6/CEX37P1.7/CEX48P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P

37、3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U18051C110uR110kC322pX1CRYSTALC222p19圖 3-15 單片機(jī)最小系統(tǒng)電路單片機(jī)工作時(shí),先以主震蕩頻率為基準(zhǔn)發(fā)出CPU時(shí)序,對(duì)指令進(jìn)行譯碼,然后發(fā)出各種控制信號(hào),完成一系列定時(shí)控制的操作,用來(lái)協(xié)調(diào)單片機(jī)內(nèi)部各功能部件之間的數(shù)據(jù)傳輸,數(shù)據(jù)運(yùn)算等操作。單片機(jī)最小系統(tǒng)由震蕩電路,復(fù)位電路及一片單片機(jī)構(gòu)成,是單片機(jī)正常工作的最基本組成。其最小系統(tǒng)如圖3-15所示17

38、。九、顯示電路圖 3-16 顯示電路采用 SPI 總線 LED 驅(qū)動(dòng)器 7SEG-XP-4M-CC 驅(qū)動(dòng) 8 位數(shù)碼管,使得整個(gè)系統(tǒng)響應(yīng)時(shí)間最快,顯示精度更高。采用 4 合 1 數(shù)碼管,減少 PCB 表面走線從而提高系統(tǒng)穩(wěn)定18。1234ABCDEFGHXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.2/ECI3P1.3/CEX04P1.4/CEX15P1.5/CEX26P1.

39、6/CEX37P1.7/CEX48P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U18051C110uR110kC322pX1CRYSTALC222p1234測(cè)測(cè)電電阻阻測(cè)測(cè)電電壓壓測(cè)測(cè)電電流流測(cè)測(cè)量量轉(zhuǎn)轉(zhuǎn)換換20、十、開關(guān)電路圖 3-17 開關(guān)電路 如上 3-17 圖,類似于常用的萬(wàn)用表開關(guān),可以根據(jù)需要手動(dòng)轉(zhuǎn)換測(cè)量量的量程,根據(jù)

40、所需要測(cè)量的量選擇合適的量程19。3.2.2 電路工作過(guò)程描述此工作當(dāng)然是要求在正確的程序都寫入了各個(gè)芯片中才能完成工作,當(dāng)開關(guān)要測(cè)量電壓、電流或者電阻時(shí),則根據(jù)不同的量程需要分別選擇不同的量程開關(guān),于是便得到最準(zhǔn)確的測(cè)量數(shù)據(jù)。AT89C51 的 P0 口做為 ADC0809 的數(shù)據(jù)總線,P2.4、P2.5、P2.6 作為顯示芯片的 SPI 總線輸出。P1.0、P1.1、P1.2、P3.2 作為ADC0808 的控制線。ADC0808 將測(cè)量的量轉(zhuǎn)換成單片機(jī)能識(shí)別的量之后由所給程序控制輸出,再送到顯示芯片顯示。顯示芯片根據(jù)顯示程序顯示內(nèi)容。本設(shè)計(jì)的原來(lái)要求是 4 位數(shù)碼顯示,但考慮到芯片 7S

41、EG-XP-4M-CC 是驅(qū)動(dòng) 8 位數(shù)碼顯示的,所以數(shù)碼管TYP2 不接上也是滿足設(shè)計(jì)要求的,接上去只是滿足芯片的 8 位驅(qū)動(dòng)20。 4 系統(tǒng)軟件與流程圖4.1 電路功能模塊由總體設(shè)計(jì)框圖 4-1,本萬(wàn)用表由以下幾部分功能模塊組成,復(fù)位電路、震蕩電路、ADC 輸入、ADC 使能控制、被測(cè)量顯示、超限報(bào)警、等電路組成。程序中的子程50mA500mA5A5V50V500V1234測(cè)測(cè)電電阻阻測(cè)測(cè)電電壓壓測(cè)測(cè)電電流流測(cè)測(cè)量量轉(zhuǎn)轉(zhuǎn)換換21序 功能模塊主要分成 3 個(gè),延時(shí)、ADC 轉(zhuǎn)換和顯示,延時(shí)子程序在整個(gè)程序中多次被調(diào)用,ADC 轉(zhuǎn)換則是每次測(cè)量都會(huì)需要用到的,當(dāng)進(jìn)行測(cè)量時(shí),ADC0808 將被

42、測(cè)量轉(zhuǎn)換為 2 進(jìn)制數(shù)發(fā)給單片機(jī)然后單片機(jī)根據(jù)軟件協(xié)議送顯示,顯示子程序則包括一個(gè)8 位字節(jié)的發(fā)送程序和一個(gè) TEC6122 的驅(qū)動(dòng)程序。圖 4-1 功能模塊設(shè)計(jì)框圖復(fù)位電路振蕩電路ADC輸入89C51被測(cè)量顯示超限報(bào)警ADC使能控制224.2 系統(tǒng)總流程圖 圖 4-2 系統(tǒng)總流程圖 圖 4-3 電壓測(cè)量流程圖4.3 電壓測(cè)量流程圖電壓測(cè)量流程圖如上圖 4-34.4 電流、電阻測(cè)量流程圖電流的測(cè)量流程圖如下圖 4-4;開始電壓量程選擇選擇500V檔位顯示是否小于50V選擇50V檔位顯示是否小于5V選擇5V檔位結(jié)束返回YYNNN系統(tǒng)初始開始P3.1=1?LED初始使能A/D轉(zhuǎn)換P3.2=1?轉(zhuǎn)換

43、結(jié)果單片機(jī)接收超限否?送LED顯示報(bào)警結(jié)束N YN Y23開始電阻量程選擇選擇5M檔位顯示是否小于500K選擇500K檔位顯示是否小于50K選擇50K檔位顯示是否小于5K選擇5K檔位顯示是否小于500選擇500檔位結(jié)束返回YYYYNNNN電阻的測(cè)量流程圖如下圖 4-5。圖 4-4 電流測(cè)量流程圖 圖 4-5 電阻測(cè)量流程圖4.5 軟件程序:org 0000h;單片機(jī)復(fù)位地址ajmp main;轉(zhuǎn)移到主程序處org 0100h;main 被定位在 0 x0100 處開始電流量程選擇選擇5A檔位顯示是否小于500A選擇500A檔位顯示是否小于50A選擇50A檔位結(jié)束返回YYNNN24main: m

44、ov sp,#80h ;初始化堆棧指針jnb P1.0,crjnb P1.1,cvjnb P1.2,cacr: mov R7,#00hlcall adcLCALL RDATlcallDISPLAY sjmp mainCV: MOV R7,#01HLCALLADCLCALL VDATLCALLDISPLAYSJMPMAINCA: MOV R7,#02HLCALLADCLCALLADATLCALLDISPLAY SJMPMAINADC: MOV A,R7 ;0808 A/D 轉(zhuǎn)換子程序MOV DPTR,#7FFFHMOVX DPTR,AJB P3.3,$MOVX A,DPTR ;輸入轉(zhuǎn)換結(jié)果RET

45、 vdat:mov R2,#00hmov R3,A25mov R6,#01hmov R7,#0F4hcallMULD2;乘以 500clr Cmov A,r5add A,#60h;加 96 修正mov r5,Amov A,r4addcA,#00hmov r4,Amov A,r3addcA,#00hmov r3,Amov A,r2addcA,#00hmov r2,Amov r0,#30hmov r1,#34hmov A,R2mov r1,Ainc r1mov A,R3mov r1,Ainc r1mov A,R4mov r1,Ainc r1mov A,R5mov r1,Ainc r1mov r1,

46、#00h26inc r1mov r1,#00hinc r1mov r1,#00hinc r1mov r1,#0FFhcallDIVD4;除以 255mov r1,#38hmov r1,#00hinc r1mov r1,#00hinc r1mov r1,#00hinc r1mov r1,#0AhcallDIVD4mov 43h,33hcallDIVD4mov 42h,33hcallDIVD4mov 41h,33hmov r0,#40hmov r0,#00hinc r0mov A,41hmov DPTR,#SEGMENT7movcA,A+DPTRorl A,#80hmov r0,Ainc r0mo

47、v A,42h27mov DPTR,#SEGMENT7movcA,A+DPTRmov r0,Ainc r0mov A,43hmov DPTR,#SEGMENT7movcA,A+DPTRmov r0,AretADAT:mov B,Amov A,#0B6hclr C;以下根據(jù)范圍設(shè)置數(shù)值以防溢出subbA,Bjc LARGERAmov A,BsubbA,#16hjc LESSAajmpMIDDLEALARGERA:mov A,#0B6hajmpCALCULATEALESSA:mov A,#16hajmpCALCULATEAMIDDLEA:mov A,BCALCULATEA:mov r2,#0C3h

48、mov r3,#50hmov r6,#00hmov r7,AcallMULD2;乘以 50000clr C28mov A,r5subbA,#70h;以下減去 102000mov r5,Amov 37h,Amov A,r4subbA,#8Ehmov r4,Amov 36h,Amov A,r3subbA,#01hmov r3,Amov 35h,Amov A,r2subbA,#00hmov r2,Amov 34h,Amov r0,#30hmov r1,#38hmov r1,#00hinc r1mov r1,#01hinc r1mov r1,#5Ehinc r1mov r1,#0A0hcallDIVD

49、4;除以 89760mov r1,#38hmov r1,#00hinc r1mov r1,#00hinc r129mov r1,#00hinc r1mov r1,#0Ahmov DPTR,#SEGMENT7callDIVD4mov A,33hmovcA,A+DPTRmov 43h,AcallDIVD4mov A,33hmovcA,A+DPTRmov 42h,AcallDIVD4mov A,33hmovcA,A+DPTRcjneA,#3Fh,NOTEQUmov A,#00hNOTEQU:mov 41h,Amov 40h,#00hRETrdat:mov R2,#00hmov R3,Amov R6,

50、#03hmov R7,#0E8hcallMULD2;乘以 1000mov r0,#30hmov r1,#34hmov A,R2mov r1,A30inc r1mov A,R3mov r1,Ainc r1mov A,R4mov r1,Ainc r1mov A,R5mov r1,Ainc r1mov r1,#00hinc r1mov r1,#00hinc r1mov r1,#00hinc r1mov r1,#0FFhcallDIVD4;除以 255mov r1,#38hmov r1,#00hinc r1mov r1,#00hinc r1mov r1,#00hinc r1mov r1,#0Ahmov

51、 DPTR,#SEGMENT7callDIVD4;連續(xù)進(jìn)行 4 次除以 10 的操作mov A,33h;取得 10 進(jìn)制值movcA,A+DPTRmov 43h,A31callDIVD4mov A,33hmovcA,A+DPTRmov 42h,AcallDIVD4mov A,33hmovcA,A+DPTRmov 41h,AcallDIVD4mov A,33hmovcA,A+DPTRcjneA,#3Fh,NONZEROmov A,#00hNONZERO:mov 40h,AretDELAY_5ms: mov R5,#01h;設(shè)置 R5 初始計(jì)數(shù)值DELAY_5ms1:mov R6,#16h;設(shè)置

52、R6 初始計(jì)數(shù)值DELAY_5ms2:mov R7,#70h;設(shè)置 R7 初始計(jì)數(shù)值DELAY_5ms3:djnzR7,DELAY_5ms3;延時(shí)時(shí)間為 Time=( ( (R7*2)+2+1 )*R6+2+1 )*R5+1djnzR6,DELAY_5ms2;djnzR5,DELAY_5ms1;retSEGMENT7: DB 3Fh ;7 段數(shù)碼管字符 0 的 abcdefg 的值,a 在最低位,最高位始終保留為 0DB 06hDB 5BhDB 4Fh32DB 66hDB 6DhDB 7DhDB 07hDB 7FhDB 6FhDISPLAY:mov DPTR,#0fEffh;寫第一位數(shù)碼管mo

53、v r1,#40hmov A,r1movxDPTR,AsetbCmov P1.4,Cclr Cmov P1.4,CcallDELAY_5mssetbCmov P1.4,Cinc r1mov A,r1;寫第二位數(shù)碼管movxDPTR,AsetbCmov P1.5,Cclr Cmov P1.5,CcallDELAY_5mssetbCmov P1.5,Cinc r1mov A,r1;寫第三位數(shù)碼管movxDPTR,A33setbCmov P1.6,Cclr Cmov P1.6,CcallDELAY_5mssetbCmov P1.6,Cinc r1mov A,r1;寫第四位數(shù)碼管movxDPTR,As

54、etbCmov P1.7,Cclr Cmov P1.7,CcallDELAY_5mssetbCmov P1.7,Cret;雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)乘法;被乘數(shù)在 R2(高位)、R3(低位)中,乘數(shù)在 R6(高位)、R7(低位)中。;乘積在 R2(高位)、R3、R4、R5(低位)中。;用到累加器 A,B,PSW,R2R7。;永遠(yuǎn)不會(huì)產(chǎn)生進(jìn)位。;在出口時(shí)總是清除 C。;若結(jié)果超出 2 個(gè)字節(jié)范圍則 OV=1。MULD2: MOV A,R3MOV B,R7MUL AB34MOV R4,BMOV R5,AMOV A,R3MOV B,R6MUL ABADD A,R4MOV R4,ACLR AADDC A,B

55、MOV R3,AMOV A,R2MOV B,R7MUL ABADD A,R4MOV R4,AMOV A,R3ADDCA,BMOV R3,ACLR ARLC AXCH A,R2MOV B,R6MUL ABADD A,R3MOV R3,AMOV A,R2ADDCA,BMOV R2,AORL A,R3JZ MULD21SETBOV35RETMULD21:CLR OVRET;四字節(jié)無(wú)符號(hào)數(shù)除法;R0 存放被除數(shù),除數(shù),商數(shù)的地址。;從 R0 開始的連續(xù)四個(gè)字節(jié)為結(jié)果的余數(shù),入口時(shí)可以為任意,但在出口時(shí)發(fā)生變化。;其后的連續(xù) 4 個(gè)字節(jié)在入口時(shí)是被除數(shù),出口時(shí)是商數(shù)。;再其后的連續(xù)四個(gè)字節(jié)在入口時(shí)是除數(shù)

56、,出口時(shí)保持不變。;用到累加器 A,B,PSW,R0R7。;如果除數(shù)為零,則置 OV=1 標(biāo)志,否則清零。;在出口時(shí)總是清除 C。DIVD4:MOV A,R0MOV B,AADD A,#08hMOV R1,AMOV A,#00hORL A,R1INC R1ORL A,R1INC R1ORL A,R1INC R1ORL A,R1JZ DIVD45MOV R1,B36MOV R2,#04hDIVD41:MOV R1,#00hINC R1DJNZR2,DIVD41MOV R3,#20hDIVD42:MOV R2,#08hMOV A,BMOV R0,AADD A,#07hMOV R1,ACLR CDI

57、VD43:MOV A,R1RLC AMOV R1,ADEC R1DJNZR2,DIVD43MOV A,R0ADD A,#03hMOV R1,AMOV A,R0ADD A,#0BhMOV R0,AMOV A,R1SUBBA,R0MOV R4,ADEC R1DEC R0MOV A,R137SUBBA,R0MOV R5,ADEC R1DEC R0MOV A,R1SUBBA,R0MOV R6,ADEC R1DEC R0MOV A,R1SUBBA,R0MOV R7,AJC DIVD44MOV A,BMOV R0,AADD A,#03hMOV R1,AMOV A,R4MOV R1,ADEC R1MOV A

58、,R5MOV R1,ADEC R1MOV A,R6MOV R1,ADEC R1MOV A,R7MOV R1,AMOV A,R0ADD A,#07hMOV R1,A38INC R1DIVD44:DJNZR3,DIVD42MOV R0,BCLR OVCLR CRETDIVD45:SETBOVCLR CRETend5.仿真結(jié)果:5.1 整體仿真 Protues 圖:圖 5-1 總體 Protues 仿真圖5.2 待測(cè)電壓仿真結(jié)果圖:ABCDEFGH1234ABCDEFGH231U4:A74LS02564U4:B74LS02P1XTAL218XTAL119ALE30EA31PSEN29RST9P0.0

59、/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.2/ECI3P1.3/CEX04P1.4/CEX15P1.5/CEX26P1.6/CEX37P1.7/CEX48P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P

60、2.6/A1427U18051+5VOUT121ADD B24ADD A25ADD C23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START6OUT58EOC7OE9CLOCK10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE22U2ADC08088910U4:C74LS02C110uR110kC322pX1CRYSTALC222pD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1CLK11U374LS374待待測(cè)測(cè)電電壓壓+5V

溫馨提示

  • 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)論