簡易數(shù)字萬用表設(shè)計(jì)畢業(yè)設(shè)計(jì)說明_第1頁
簡易數(shù)字萬用表設(shè)計(jì)畢業(yè)設(shè)計(jì)說明_第2頁
簡易數(shù)字萬用表設(shè)計(jì)畢業(yè)設(shè)計(jì)說明_第3頁
簡易數(shù)字萬用表設(shè)計(jì)畢業(yè)設(shè)計(jì)說明_第4頁
簡易數(shù)字萬用表設(shè)計(jì)畢業(yè)設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 目 錄1、設(shè)計(jì)任務(wù).1 1.1設(shè)計(jì)目的.11.2設(shè)計(jì)指標(biāo)與要求.12、設(shè)計(jì)思路與總體框圖.13、系統(tǒng)硬件電路的設(shè)計(jì).23.1多用表主電路.23.2 電阻測量輸入電路.23.3電壓測量輸入電路.33.4電流輸入測量電路.34、系統(tǒng)的軟件設(shè)計(jì).45、系統(tǒng)的設(shè)計(jì)仿真.55.1仿真原理圖.55.2實(shí)物圖.65.3主要元器件功能介紹.66、總結(jié)與體會.206.1 總結(jié).136.2體會.137、 參考文獻(xiàn).1425 / 261、設(shè)計(jì)任務(wù)11設(shè)計(jì)目的采用8位8路A/D轉(zhuǎn)換器ADC0809和AT89S52單片機(jī),設(shè)計(jì)一臺數(shù)字多用表,能進(jìn)行電壓、電流和電阻的測量,測量結(jié)果通過LED數(shù)碼管顯示,通過按鍵進(jìn)行測量

2、功能轉(zhuǎn)換。12設(shè)計(jì)指標(biāo)與要求電壓測量圍05V,測量誤差約為0.02V,電流測量圍1100mA,測量誤差約為0.5mA,電阻測量圍01000,測量誤差約為2。2、設(shè)計(jì)思路與總體框圖21設(shè)計(jì)思路首先利用P0 口數(shù)據(jù)地址復(fù)用,將地址通過P0口輸入到單片機(jī)中。再利用模數(shù)轉(zhuǎn)換將模擬信號轉(zhuǎn)換成數(shù)字信號,再次利用P0口將其輸入到單片機(jī)。最后,充分利用單片機(jī)強(qiáng)大的運(yùn)算轉(zhuǎn)化功能將其轉(zhuǎn)成適當(dāng)?shù)亩M(jìn)制信號控制數(shù)顯以確保正確的顯示被測量的讀數(shù)。22總體框圖89S52振蕩電路復(fù)位電路ADC0809驅(qū)動LED顯示待測電阻電路阻待測電流電路待測電壓電路3、系統(tǒng)硬件電路的設(shè)計(jì)31 數(shù)字多用表的主電路數(shù)字多表儀表主電路如圖1所

3、示。89S52單片機(jī)通過線選方式擴(kuò)展了A/D轉(zhuǎn)換器ADC0809和4位LED數(shù)碼管,單片機(jī)的P2.7引腳作為ADC0809的片選信號,因此A/D轉(zhuǎn)換器的端口地址為7FFFH.片選信號和信號一起經(jīng)或非門產(chǎn)生ADC0809的啟動信號START和地址鎖存信號ALE。片選信號和信號一起經(jīng)或非門產(chǎn)生輸出允許信號OE,OE=1時選通三態(tài)門使輸出鎖存器中的轉(zhuǎn)換結(jié)果送入數(shù)據(jù)總路線。ADC0809的EOC信號經(jīng)反相后接到89S52的引腳,用于產(chǎn)生A/D轉(zhuǎn)換完成中斷請求信號。ADC0809芯片的3位模擬量輸入通道地址輸入端A、B、C分別接到89S52的P0.0、P0.1和P0.2,故只要向端口地址0C000H分別

4、寫入00H07H,即可啟動模擬量輸入通道07進(jìn)行A/D轉(zhuǎn)換。ADC0809參考正電壓為5V,參考負(fù)電壓為0V,時鐘輸入為2MHz。圖1 數(shù)字多用表的主電路圖單片機(jī)的P1.0 P1.2引腳通過一個轉(zhuǎn)換開關(guān)接地,通過判斷P1.0 P1.2引腳電平的高低,決定是否進(jìn)行電阻測量、電壓測量或電流測量。32 數(shù)字多用表的電阻測量輸入電路圖2所示為數(shù)字多用表的電阻測量輸入電路。運(yùn)算放大器的反饋電阻R作為待測量電阻,通過1000電阻R接到電源-5V。假定運(yùn)算放大器理想,那么放大器的輸出電壓RV=,將RV送給ADC0809,轉(zhuǎn)換后得到數(shù)字量為DV=。單片機(jī)讀取A/D轉(zhuǎn)換數(shù)據(jù),再經(jīng)過逆向運(yùn)算可得R=,注意此時得到

5、的R為二進(jìn)制數(shù),需要轉(zhuǎn)化為十進(jìn)制數(shù)后才能送給數(shù)碼管顯示。程序中采用4字節(jié)專利號除法,連續(xù)進(jìn)行4次除以10的除法,依1000圍不超過2,如果測量其他圍的電阻,需要修改的數(shù)值,或者采用其他電路。33電壓測量輸入電路圖3所示為數(shù)字多用表的電壓測量輸入電路。待測電壓經(jīng)過低通濾波器濾除高頻干擾,再通過同相放大器送給ADC0809,電壓測量圍為05V,ADC0809的分辨率為8位,測量誤差為5/2550.02V.3.4 電流輸入測量電路圖4所示為數(shù)字多用表的電流輸入電路。電流測量圍為1100mA,因?yàn)锳DC0809是電壓轉(zhuǎn)換器件,必須交電流轉(zhuǎn)換為電壓才能進(jìn)行測量,這可以通過串接電阻R來實(shí)現(xiàn),注意R必須很小

6、(例如00.1),否則影響電流數(shù)值。由于待測電流和R都很小,R兩端的電壓也很小,必須將其放大到ADC0809能夠分辨的圍之。假設(shè)待測電流大小為I,R兩端節(jié)點(diǎn)電壓分別為V和V,V經(jīng)過反向緩沖電路之后V=- V。V和V經(jīng)過差分放大電路得:V=-(V-V)( V-V)再經(jīng)過同相放大電路得:AV= V將AV送給ADC0809轉(zhuǎn)換后得到數(shù)字量為:DAV=單片機(jī)讀取A/D轉(zhuǎn)換數(shù)據(jù),再經(jīng)過逆向運(yùn)算可得I=有兩個問題值得注意,首先,由于電流的單位是mA,不能直接計(jì)算I的值應(yīng)先變換為I=再進(jìn)行計(jì)算;其次,這么算出來的電流值誤差比較大,原因是LM324不是精密理想運(yùn)算放大器,當(dāng)輸入信號很小時誤差比較大。因此需要對

7、計(jì)算數(shù)值進(jìn)行修正,方法是先計(jì)算DAV*50000,然后將結(jié)果減去102000這個數(shù)值是通過反復(fù)測試并經(jīng)過曲線擬合得到的。4、系統(tǒng)的軟件設(shè)計(jì)數(shù)字多用表的軟件程序(略)5、系統(tǒng)的設(shè)計(jì)仿真5.1仿真原理圖5.2實(shí)物圖5.3主要元器件功能介紹1、AT89S52芯片功能特性描述AT89S52引腳框圖:圖2.12 AT89S52芯片引腳圖AT89S52 主要性能:1、 與MCS-51 單片機(jī)產(chǎn)品兼容2、8K 字節(jié)在系統(tǒng)可編程Flash 存儲器3、1000 次擦寫周期4、全靜態(tài)操作:0Hz33Hz 5、 三級加密程序存儲器6、32 個可編程I/O 口線7、三個16 位定時器/計(jì)數(shù)器8、八個中斷源9、全雙工U

8、ART 串行通道10、低功耗空閑和掉電模式l 1、掉電后中斷可喚醒l2、 看門狗定時器13、雙數(shù)據(jù)指針l 4、掉電標(biāo)識符功能特性描述:AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/

9、O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計(jì)數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片晶振與時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。VCC : 電源GND: 地P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用

10、。在這種模式下,P0具有部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗(yàn)時,輸出指令字節(jié)。程序校驗(yàn)時,需要外部上拉電阻。P1 口:P1 口是一個具有部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P1 端口寫“1”時,部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計(jì)數(shù)器2的外部計(jì)數(shù)輸(P1.0/T2)和時器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時,P1口接收低8位地址字節(jié)。表2.1 P1口

11、的第二功能P2 口:P2 口是一個具有部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P2 端口寫“1”時,部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR)時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的容。在flash編程和校驗(yàn)時,P2口也接收高8位地址字節(jié)和一些控制信號。P3 口:P3 口是一個具有部上拉

12、電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時,P3口也接收一些控制信號。表2.2 P3口的第二功能RST: 復(fù)位輸入。晶振工作時,RST腳持續(xù)2 個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有

13、效。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲器選通信號

14、(PSEN)是外部程序存儲器選通信號。當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。Flash 編程并行模式:AT89S52 帶有用作編程的片上Flash 存儲器陣列。編程接口需要一個高電壓(12V)編程使能信號,并且兼

15、容常規(guī)的第三方Flash 或EPROM 編程器。AT89S52 程序存儲陣列采用字節(jié)式編程。編程方法:對AT89S52 編程之前,需根據(jù)Flash 編程模式表和圖13、圖14 對地址、數(shù)據(jù)和控制信號設(shè)置。可采用下列步驟對AT89S52 編程:1在地址線上輸入編程單元地址信號2在數(shù)據(jù)線上輸入正確的數(shù)據(jù)3激活相應(yīng)的控制信號4把EA/Vpp 升至12V 5每給Flash 寫入一個字節(jié)或程序加密位時,都要給ALE/PROG 一次脈沖。字節(jié)寫周期時自身定制的,典型值僅50us。改變地址、數(shù)據(jù)重復(fù)第1 步到第5 步知道全部文件結(jié)束。Data Polling AT89S52 用Data Polling 作為

16、一個字節(jié)寫周期結(jié)束的標(biāo)志特征2、ADC0809介紹ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以與微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。(1)ADC0809的部邏輯結(jié)構(gòu) 圖2.14 ADC0809的部邏輯結(jié)構(gòu)上圖可知,ADC0809由一個8路模擬開關(guān)、一個地址鎖存與譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時,才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。(2) 引腳結(jié)構(gòu) 圖2.15 ADC0809引腳

17、結(jié)構(gòu)圖IN0IN7:8條模擬量輸入通道 ADC0809對輸入模擬量要求:信號單極性,電壓圍是05V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。表2.3 地址輸入線的通道選擇CBA選擇的通道000IN0001IN1010IN2011IN3100IN41

18、01IN5110IN6111IN7數(shù)字量輸出與控制線:11條 ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時,所有部寄存器清零;下跳沿時,開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。 CLK為時鐘輸入信號線。因ADC0809的部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ, VREF(),VREF()為參考電壓輸入。 ADC0809應(yīng)用說明:

19、(1) ADC0809部帶有輸出鎖存器,可以與AT89S51單片機(jī)直接相連。 (2) 初始化時,使ST和OE信號全為低電平。 (3) 送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。 (4) 在ST端給出一個至少有100ns寬的正脈沖信號。 (5) 是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷。 (6) 當(dāng)EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。6、總結(jié)與體會6. 1 總結(jié)本次課程設(shè)計(jì),雖然方案基本出來了,但是在硬件制作方面出現(xiàn)了幾個問題,這也暴露出我們知識方面的一欠缺。不足主要體現(xiàn)在以下幾個方面:(1)ADC0809的第10腳的時鐘信號,我們是通過單片機(jī)編程實(shí)現(xiàn)的但是由于頻

20、率過低,只有500KHz,造成LED數(shù)碼管顯示不穩(wěn)定而出現(xiàn)閃爍現(xiàn)象。最終驗(yàn)收時是通過從外部信號發(fā)生器輸入2MHz時鐘信號解決的。(2)萬用板焊接時,由于布線不太合理,使得背面線很零亂。并給后面的線路檢查帶來了不少麻煩。(3)對Proteus仿真軟件使用不熟練,使畫仿真圖時遇到不少問題。(4)51單片機(jī)基礎(chǔ)知識不扎實(shí),電路分析遇到比較多的問題。6. 2體會這次課程設(shè)計(jì)暴露出了很多問題,但在做課程設(shè)計(jì)的過程中也學(xué)到了很多東西。比如查閱資料,動手焊接萬用板等等,這些都是平時很少做的。此次課程設(shè)計(jì)讓我對基于單片機(jī)的匯編語言有了新的認(rèn)識,對本學(xué)期的單片機(jī)學(xué)習(xí)有很大的助益,也在激勵我們多動手,從實(shí)踐中去獲

21、取新知識。在此要特別感老師在做設(shè)計(jì)期間精心指導(dǎo),他對我們要求非常嚴(yán)格。課程設(shè)計(jì)的順利完成離不開老師的幫助的。他為我提供了很多寶貴的資料。本次課程設(shè)計(jì)自始至是在他的指導(dǎo)和幫助下完成的,在此再一次向他致以深深的敬意和感!7、 參考文獻(xiàn)(1) 毅剛單片機(jī)原理與應(yīng)用高等教育 2010年8月(2) 徐愛鈞單片機(jī)原理實(shí)用教程電子工業(yè) 2011年3月(2) 偉 王力 protel2004入門與提高 人民郵電 2005年11月(3) 常健生 檢測與轉(zhuǎn)換技術(shù) 機(jī)械工業(yè) 2000年2月(4) 閻石 數(shù)字電子技術(shù)基礎(chǔ) 高等教育 1998年12月(5) 童詩白 模擬電子技術(shù)基礎(chǔ) 高等教育 2001年(6) 伯成 微型

22、計(jì)算機(jī)原理與接口技術(shù) 清華大學(xué) 2005年1月(7) 昌喜 智能儀表原理與設(shè)計(jì) 化學(xué)工業(yè) 2005年2月附錄 系統(tǒng)源程序:org0000h;單片機(jī)復(fù)位地址ajmp main;轉(zhuǎn)移到主程序處org0100h;main被定位在0x0100處main: mov sp,#80h ;初始化堆棧指針jnbP1.0,crjnbP1.1,cvjnbP1.2,cacr:movR7,#00hlcall adcLCALL RDATlcallDISPLAY sjmp mainCV:MOVR7,#01HLCALLADCLCALL VDATLCALLDISPLAYSJMPMAINCA:MOVR7,#02HLCALLADC

23、LCALLADATLCALLDISPLAY SJMPMAINADC: MOV A,R7 ;0808 A/D轉(zhuǎn)換子程序MOV DPTR,#7FFFHMOVX DPTR,A P3.3,$MOVX A,DPTR ;輸入轉(zhuǎn)換結(jié)果RET vdat:movR2,#00hmovR3,AmovR6,#01hmovR7,#0F4hcallMULD2;乘以500clrCmovA,r5addA,#60h;加96修正movr5,AmovA,r4addcA,#00hmovr4,AmovA,r3addcA,#00hmovr3,AmovA,r2addcA,#00hmovr2,Amovr0,#30hmovr1,#34hmov

24、A,R2movr1,Aincr1movA,R3movr1,Aincr1movA,R4movr1,Aincr1movA,R5movr1,Aincr1movr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0FFhcallDIVD4;除以255movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0AhcallDIVD4mov43h,33hcallDIVD4mov42h,33hcallDIVD4mov41h,33hmovr0,#40hmovr0,#00hincr0movA,41hm

25、ovDPTR,#SEGMENT7movcA,A+DPTRorlA,#80hmovr0,Aincr0movA,42hmovDPTR,#SEGMENT7movcA,A+DPTRmovr0,Aincr0movA,43hmovDPTR,#SEGMENT7movcA,A+DPTRmovr0,AretADAT:movB,AmovA,#0B6hclrC;以下根據(jù)圍設(shè)置數(shù)值以防溢出subbA,BjcLARGERAmovA,BsubbA,#16hjcLESSAajmpMIDDLEALARGERA:movA,#0B6hajmpCALCULATEALESSA:movA,#16hajmpCALCULATEAMIDDL

26、EA:movA,BCALCULATEA:movr2,#0C3hmovr3,#50hmovr6,#00hmovr7,AcallMULD2;乘以50000clrCmovA,r5subbA,#70h;以下減去102000movr5,Amov37h,AmovA,r4subbA,#8Ehmovr4,Amov36h,AmovA,r3subbA,#01hmovr3,Amov35h,AmovA,r2subbA,#00hmovr2,Amov34h,Amovr0,#30hmovr1,#38hmovr1,#00hincr1movr1,#01hincr1movr1,#5Ehincr1movr1,#0A0hcallDI

27、VD4;除以89760movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0AhmovDPTR,#SEGMENT7callDIVD4movA,33hmovcA,A+DPTRmov43h,AcallDIVD4movA,33hmovcA,A+DPTRmov42h,AcallDIVD4movA,33hmovcA,A+DPTRcjneA,#3Fh,NOTEQUmovA,#00hNOTEQU:mov41h,Amov40h,#00hRETrdat:movR2,#00hmovR3,AmovR6,#03hmovR7,#0E8hcallMU

28、LD2;乘以1000movr0,#30hmovr1,#34hmovA,R2movr1,Aincr1movA,R3movr1,Aincr1movA,R4movr1,Aincr1movA,R5movr1,Aincr1movr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0FFhcallDIVD4;除以255movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0AhmovDPTR,#SEGMENT7callDIVD4;連續(xù)進(jìn)行4次除以10的操作movA,33h;取得10進(jìn)制值mo

29、vcA,A+DPTRmov43h,AcallDIVD4movA,33hmovcA,A+DPTRmov42h,AcallDIVD4movA,33hmovcA,A+DPTRmov41h,AcallDIVD4movA,33hmovcA,A+DPTRcjneA,#3Fh,NONZEROmovA,#00hNONZERO:mov40h,AretDELAY_5ms:movR5,#01h;設(shè)置R5初始計(jì)數(shù)值DELAY_5ms1:movR6,#16h;設(shè)置R6初始計(jì)數(shù)值DELAY_5ms2:movR7,#70h;設(shè)置R7初始計(jì)數(shù)值DELAY_5ms3:djnzR7,DELAY_5ms3;延時時間為 Time=(

30、 ( (R7*2)+2+1 )*R6+2+1 )*R5+1djnzR6,DELAY_5ms2;djnzR5,DELAY_5ms1;retSEGMENT7:DB3Fh;7段數(shù)碼管字符0的abcdefg的值,a在最低位,最高位始終保留為0DB06hDB5BhDB4FhDB66hDB6DhDB7DhDB07hDB7FhDB6FhDISPLAY:movDPTR,#0fEffh;寫第一位數(shù)碼管movr1,#40hmovA,r1movxDPTR,AsetbCmovP1.4,CclrCmovP1.4,CcallDELAY_5mssetbCmovP1.4,Cincr1movA,r1;寫第二位數(shù)碼管movxDP

31、TR,AsetbCmovP1.5,CclrCmovP1.5,CcallDELAY_5mssetbCmovP1.5,Cincr1movA,r1;寫第三位數(shù)碼管movxDPTR,AsetbCmovP1.6,CclrCmovP1.6,CcallDELAY_5mssetbCmovP1.6,Cincr1movA,r1;寫第四位數(shù)碼管movxDPTR,AsetbCmovP1.7,CclrCmovP1.7,CcallDELAY_5mssetbCmovP1.7,Cret;雙字節(jié)二進(jìn)制無符號數(shù)乘法;被乘數(shù)在R2(高位)、R3(低位)中,乘數(shù)在R6(高位)、R7(低位)中。;乘積在R2(高位)、R3、R4、R5(低位)中。;用到累加器A,B,PSW,R2R7。;永遠(yuǎn)不會產(chǎn)生進(jìn)位。;在出口時總是清除C。;若結(jié)果超出2個字節(jié)圍則OV=1。MULD2: MOV A,R3M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論