簡(jiǎn)易數(shù)字萬(wàn)用表設(shè)計(jì)設(shè)計(jì)_第1頁(yè)
簡(jiǎn)易數(shù)字萬(wàn)用表設(shè)計(jì)設(shè)計(jì)_第2頁(yè)
簡(jiǎn)易數(shù)字萬(wàn)用表設(shè)計(jì)設(shè)計(jì)_第3頁(yè)
簡(jiǎn)易數(shù)字萬(wàn)用表設(shè)計(jì)設(shè)計(jì)_第4頁(yè)
簡(jiǎn)易數(shù)字萬(wàn)用表設(shè)計(jì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、精選優(yōu)質(zhì)文檔-傾情為你奉上 目 錄1、設(shè)計(jì)任務(wù).1 1.1設(shè)計(jì)目的.1 1.2設(shè)計(jì)指標(biāo)及要求.12、設(shè)計(jì)思路與總體框圖.13、系統(tǒng)硬件電路的設(shè)計(jì).23.1多用表主電路.23.2 電阻測(cè)量輸入電路.23.3電壓測(cè)量輸入電路.33.4電流輸入測(cè)量電路.34、系統(tǒng)的軟件設(shè)計(jì).45、系統(tǒng)的設(shè)計(jì)仿真.5 5.1仿真原理圖.55.2實(shí)物圖.65.3主要元器件功能介紹.66、總結(jié)與體會(huì).206.1 總結(jié).136.2體會(huì).137、 參考文獻(xiàn).14專心-專注-專業(yè)1、設(shè)計(jì)任務(wù)11設(shè)計(jì)目的采用8位8路A/D轉(zhuǎn)換器ADC0809和AT89S52單片機(jī),設(shè)計(jì)一臺(tái)數(shù)字多用表,能進(jìn)行電壓、電流和電阻的測(cè)量,測(cè)量結(jié)果通過(guò)L

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

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

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

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

6、測(cè)量,這可以通過(guò)串接電阻R來(lái)實(shí)現(xiàn),注意R必須很?。ɡ?0.1),否則影響電流數(shù)值。由于待測(cè)電流和R都很小,R兩端的電壓也很小,必須將其放大到ADC0809能夠分辨的范圍之內(nèi)。假設(shè)待測(cè)電流大小為I,R兩端節(jié)點(diǎn)電壓分別為V和V,V經(jīng)過(guò)反向緩沖電路之后V=- V。V和V經(jīng)過(guò)差分放大電路得:V=-(V-V)( V-V)再經(jīng)過(guò)同相放大電路得:AV= V將AV送給ADC0809轉(zhuǎn)換后得到數(shù)字量為:DAV=單片機(jī)讀取A/D轉(zhuǎn)換數(shù)據(jù),再經(jīng)過(guò)逆向運(yùn)算可得I=有兩個(gè)問(wèn)題值得注意,首先,由于電流的單位是mA,不能直接計(jì)算I的值應(yīng)先變換為I=再進(jìn)行計(jì)算;其次,這么算出來(lái)的電流值誤差比較大,原因是LM324不是精密理

7、想運(yùn)算放大器,當(dāng)輸入信號(hào)很小時(shí)誤差比較大。因此需要對(duì)計(jì)算數(shù)值進(jìn)行修正,方法是先計(jì)算DAV*50000,然后將結(jié)果減去這個(gè)數(shù)值是通過(guò)反復(fù)測(cè)試并經(jīng)過(guò)曲線擬合得到的。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 存儲(chǔ)器3、1000 次擦寫(xiě)周期4、全靜態(tài)操作:0Hz33Hz 5、 三級(jí)加密程序存儲(chǔ)器6、32 個(gè)可編程I/O 口線7、三個(gè)16 位

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

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

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

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

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

13、DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址為8EH的SFR的第0位置 “1”,ALE操作將無(wú)效。這一位置 “1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)

14、的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。Flash 編程并行模式:AT89S52 帶有用作編程的片上

15、Flash 存儲(chǔ)器陣列。編程接口需要一個(gè)高電壓(12V)編程使能信號(hào),并且兼容常規(guī)的第三方Flash 或EPROM 編程器。AT89S52 程序存儲(chǔ)陣列采用字節(jié)式編程。編程方法:對(duì)AT89S52 編程之前,需根據(jù)Flash 編程模式表和圖13、圖14 對(duì)地址、數(shù)據(jù)和控制信號(hào)設(shè)置??刹捎孟铝胁襟E對(duì)AT89S52 編程:1在地址線上輸入編程單元地址信號(hào)2在數(shù)據(jù)線上輸入正確的數(shù)據(jù)3激活相應(yīng)的控制信號(hào)4把EA/Vpp 升至12V 5每給Flash 寫(xiě)入一個(gè)字節(jié)或程序加密位時(shí),都要給ALE/PROG 一次脈沖。字節(jié)寫(xiě)周期時(shí)自身定制的,典型值僅50us。改變地址、數(shù)據(jù)重復(fù)第1 步到第5 步知道全部文件結(jié)束

16、。Data Polling AT89S52 用Data Polling 作為一個(gè)字節(jié)寫(xiě)周期結(jié)束的標(biāo)志特征2、ADC0809介紹ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開(kāi)關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。(1)ADC0809的內(nèi)部邏輯結(jié)構(gòu) 圖2.14 ADC0809的內(nèi)部邏輯結(jié)構(gòu)上圖可知,ADC0809由一個(gè)8路模擬開(kāi)關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開(kā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í),才可以從

17、三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。(2) 引腳結(jié)構(gòu) 圖2.15 ADC0809引腳結(jié)構(gòu)圖IN0IN7:8條模擬量輸入通道 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)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。表2.3 地址輸入線的通道

18、選擇CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7數(shù)字量輸出及控制線:11條 ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開(kāi)始進(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)必須由外界提供,通常使用頻率

19、為500KHZ, VREF(),VREF()為參考電壓輸入。 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)換的數(shù)據(jù)就輸出給單片機(jī)了。6、總結(jié)與體會(huì)6. 1 總結(jié)本次課程設(shè)計(jì),雖然方案基本出來(lái)了,但是在硬件制作方面出現(xiàn)了幾個(gè)問(wèn)題,這也暴露出我們知識(shí)方面的一欠缺。不足主要體現(xiàn)在以下

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

21、匯編語(yǔ)言有了新的認(rèn)識(shí),對(duì)本學(xué)期的單片機(jī)學(xué)習(xí)有很大的助益,也在激勵(lì)我們多動(dòng)手,從實(shí)踐中去獲取新知識(shí)。在此要特別感謝老師在做設(shè)計(jì)期間精心指導(dǎo),他對(duì)我們要求非常嚴(yán)格。課程設(shè)計(jì)的順利完成離不開(kāi)老師的幫助的。他為我提供了很多寶貴的資料。本次課程設(shè)計(jì)自始至是在他的指導(dǎo)和幫助下完成的,在此再一次向他致以深深的敬意和感謝!7、 參考文獻(xiàn)(1) 張毅剛單片機(jī)原理及應(yīng)用高等教育出版社 2010年8月(2) 徐愛(ài)鈞單片機(jī)原理實(shí)用教程電子工業(yè)出版社 2011年3月(2) 張偉 王力 protel2004入門(mén)與提高 人民郵電出版社 2005年11月(3) 常健生 檢測(cè)與轉(zhuǎn)換技術(shù) 機(jī)械工業(yè)出版社 2000年2月(4) 閻

22、石 數(shù)字電子技術(shù)基礎(chǔ) 高等教育出版社 1998年12月(5) 童詩(shī)白 模擬電子技術(shù)基礎(chǔ) 高等教育出版社 2001年(6) 李伯成 微型計(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 ma

23、inCV:MOVR7,#01HLCALLADCLCALL VDATLCALLDISPLAYSJMPMAINCA:MOVR7,#02HLCALLADCLCALLADATLCALLDISPLAY SJMPMAINADC: MOV A,R7 ;0808 A/D轉(zhuǎn)換子程序MOV DPTR,#7FFFHMOVX DPTR,AJB P3.3,$MOVX A,DPTR ;輸入轉(zhuǎn)換結(jié)果RET vdat:movR2,#00hmovR3,AmovR6,#01hmovR7,#0F4hcallMULD2;乘以500clrCmovA,r5addA,#60h;加96修正movr5,AmovA,r4addcA,#00hmo

24、vr4,AmovA,r3addcA,#00hmovr3,AmovA,r2addcA,#00hmovr2,Amovr0,#30hmovr1,#34hmovA,R2movr1,Aincr1movA,R3movr1,Aincr1movA,R4movr1,Aincr1movA,R5movr1,Aincr1movr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0FFhcallDIVD4;除以255movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0AhcallDIVD4mov43h

25、,33hcallDIVD4mov42h,33hcallDIVD4mov41h,33hmovr0,#40hmovr0,#00hincr0movA,41hmovDPTR,#SEGMENT7movcA,A+DPTRorlA,#80hmovr0,Aincr0movA,42hmovDPTR,#SEGMENT7movcA,A+DPTRmovr0,Aincr0movA,43hmovDPTR,#SEGMENT7movcA,A+DPTRmovr0,AretADAT:movB,AmovA,#0B6hclrC;以下根據(jù)范圍設(shè)置數(shù)值以防溢出subbA,BjcLARGERAmovA,BsubbA,#16hjcLESSA

26、ajmpMIDDLEALARGERA:movA,#0B6hajmpCALCULATEALESSA:movA,#16hajmpCALCULATEAMIDDLEA:movA,BCALCULATEA:movr2,#0C3hmovr3,#50hmovr6,#00hmovr7,AcallMULD2;乘以50000clrCmovA,r5subbA,#70h;以下減去movr5,Amov37h,AmovA,r4subbA,#8Ehmovr4,Amov36h,AmovA,r3subbA,#01hmovr3,Amov35h,AmovA,r2subbA,#00hmovr2,Amov34h,Amovr0,#30hm

27、ovr1,#38hmovr1,#00hincr1movr1,#01hincr1movr1,#5Ehincr1movr1,#0A0hcallDIVD4;除以89760movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0AhmovDPTR,#SEGMENT7callDIVD4movA,33hmovcA,A+DPTRmov43h,AcallDIVD4movA,33hmovcA,A+DPTRmov42h,AcallDIVD4movA,33hmovcA,A+DPTRcjneA,#3Fh,NOTEQUmovA,#00hNOTEQU:

28、mov41h,Amov40h,#00hRETrdat:movR2,#00hmovR3,AmovR6,#03hmovR7,#0E8hcallMULD2;乘以1000movr0,#30hmovr1,#34hmovA,R2movr1,Aincr1movA,R3movr1,Aincr1movA,R4movr1,Aincr1movA,R5movr1,Aincr1movr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0FFhcallDIVD4;除以255movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hin

29、cr1movr1,#0AhmovDPTR,#SEGMENT7callDIVD4;連續(xù)進(jìn)行4次除以10的操作movA,33h;取得10進(jìn)制值movcA,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ù)值D

30、ELAY_5ms2:movR7,#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:DB3Fh;7段數(shù)碼管字符0的abcdefg的值,a在最低位,最高位始終保留為0DB06hDB5BhDB4FhDB66hDB6DhDB7DhDB07hDB7FhDB6FhDISPLAY:movDPTR,#0fEffh;寫(xiě)第一位數(shù)碼管movr1,#40hmovA,r1movxDPTR,AsetbCmovP

31、1.4,CclrCmovP1.4,CcallDELAY_5mssetbCmovP1.4,Cincr1movA,r1;寫(xiě)第二位數(shù)碼管movxDPTR,AsetbCmovP1.5,CclrCmovP1.5,CcallDELAY_5mssetbCmovP1.5,Cincr1movA,r1;寫(xiě)第三位數(shù)碼管movxDPTR,AsetbCmovP1.6,CclrCmovP1.6,CcallDELAY_5mssetbCmovP1.6,Cincr1movA,r1;寫(xiě)第四位數(shù)碼管movxDPTR,AsetbCmovP1.7,CclrCmovP1.7,CcallDELAY_5mssetbCmovP1.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: M

溫馨提示

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