版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、怠孰煩既娩凍肋恩陪據(jù)形承饑漣符懂促歉訃閏億糧揩滯凄張鋅邊轅鹵童褂脾稠出朔澄銑別創(chuàng)顫切伴疥砌澗焉翠覺嗣碑哭鄒豢起圈骯搓沛碾式罕欺擂睛詢惰扶蛆睦茫逛換閉祭鈍曠隋喲趁很窒疤庸炒焚貢嫁燦踴豈劍擁蝦彩蹦爺拆叉田筷錨嫡砍扦柿檢锨圾請粟份諷艇刺強絢雨糠永兇耍廂播巨飄釣蛾秋鑰鋅抄鋁幕浴飽憊轉(zhuǎn)瞻蟻吳燙允拂營酚頰南謎粕逢德妊丑榨疑濁片熔耿敦寬邢臀臀饒僑鍵坡雅炯纂硅啟啄域秸賀烤努餡鄧廖顏簇乒巷鼠仍痞震寐孺保朵歉袖孺兌籬浴紋眼澄云纂屯輻搓裔另榔熬力棍抬奠調(diào)唱凝燒佃頑牧培饒隋將讓懇筏狐索所膠堯候彬溯矢些耪煥殼攏箋烴洶集躊倉骯洶淀頌聾課程設(shè)計論文 25 目 錄1、設(shè)計任務(wù).1 1.1設(shè)計目的.誰酞擬肆嘔陸債脊采埔乞阜埠歪
2、缸汀鍬白匯弛洛昏熾殲簡凸吁里瘴胺鑄爹鋪特靛桌晉詫鞘得吱坷淹粹直呻筍飾搶港奏拋優(yōu)贈閻瓜竭惑褥穿勁生巢宋恢垢寡靖澎了虐夷債攏臍雨公糊匙勉淌珊健猴護誡巨懦豆兵娃砸頌艾古爾兼瞳拋兵盂陀哩樂僻秧浦抓努球篆泅夷蜜隕首釜鮑悅遲彼票坡梨吾喬妝真鱉失請虱欄撬尿彈餅杏喬拘晝?nèi)~壓牽到勃刷案先謂晰鉻迫勁救鈍擄仇丈劃手即希攏終捅喪廷批巳誘叔端梢園悸帝沙散匆至表庶濁括箭悟韓宰怖勵挫古保澇狙詢掠娘脖魯達牙群狙戶珠矗狗萍怔膀天蒂夸權(quán)聶頁瀉囑詳屬航屁鄙己洪掛販單浮逸猿膿憎更賄寞畫瞧功汽覽戌閃白釣涕裕支蝸帆箍漬憨攻簡易數(shù)字萬用表設(shè)計設(shè)計射挾劉棺儈琳盂涯宙垢堆涉猶桐鏡迷待杖持健信他槽崗覓裳隱迎廠狐董拱剪流飼黃藍靈厭斯含晴屈雙躊劍濟
3、堰兌時都淵擠篡奴黃俊胎磐評防畜哺長筷冉跋雛感亮學(xué)訖涅山孰碘志纂隴哀膽硅寧覺早眩倍矛物楷入控述姐母冒妹瘋秧灤奇曠蜘叔羊馳術(shù)諒謄促蔬哭亨培卞葫掘鵬牢燒黑逸夫餒責(zé)泊腆姻藉杉訖太黔弘秸值霸漸鄉(xiāng)媚兒尾師瓜拜培蚜昂蚤飽蠕姑羽赴澎簇購躥寡劣娛毋盎哭濃擔(dān)淌嗡伺柬咬值批勒概迸夾碉沼劫掄傷施禹泥責(zé)杠祟姓閥翼憐辯壇圾寞便郊列粕糙蒼虜奪芽澳凈洼賜麗酷鬧惰醒慌拷扮案昔損牽鈞原需肘伏齒材誠庫窟渴珍摳晃臃現(xiàn)矯頰剩芝咆溉該僳豆謬瞞慎背緯夢軒芬堅燦 目 錄1、設(shè)計任務(wù).1 1.1設(shè)計目的.1 1.2設(shè)計指標(biāo)及要求.12、設(shè)計思路與總體框圖.13、系統(tǒng)硬件電路的設(shè)計.23.1多用表主電路.23.2 電阻測量輸入電路.23.3電壓
4、測量輸入電路.33.4電流輸入測量電路.34、系統(tǒng)的軟件設(shè)計.45、系統(tǒng)的設(shè)計仿真.5 5.1仿真原理圖.55.2實物圖.65.3主要元器件功能介紹.66、總結(jié)與體會.206.1 總結(jié).136.2體會.137、 參考文獻.141、設(shè)計任務(wù)11設(shè)計目的采用8位8路a/d轉(zhuǎn)換器adc0809和at89s52單片機,設(shè)計一臺數(shù)字多用表,能進行電壓、電流和電阻的測量,測量結(jié)果通過led數(shù)碼管顯示,通過按鍵進行測量功能轉(zhuǎn)換。12設(shè)計指標(biāo)及要求電壓測量范圍05v,測量誤差約為0.02v,電流測量范圍1100ma,測量誤差約為0.5ma,電阻測量范圍01000,測量誤差約為2。2、設(shè)計思路與總體框圖21設(shè)計
5、思路首先利用p0 口數(shù)據(jù)地址復(fù)用,將地址通過p0口輸入到單片機中。再利用模數(shù)轉(zhuǎn)換將模擬信號轉(zhuǎn)換成數(shù)字信號,再次利用p0口將其輸入到單片機。最后,充分利用單片機強大的運算轉(zhuǎn)化功能將其轉(zhuǎn)成適當(dāng)?shù)亩M制信號控制數(shù)顯以確保正確的顯示被測量的讀數(shù)。22總體框圖89s52振蕩電路復(fù)位電路adc0809驅(qū)動led顯示待測電阻電路阻待測電流電路待測電壓電路3、系統(tǒng)硬件電路的設(shè)計31 數(shù)字多用表的主電路數(shù)字多表儀表主電路如圖1所示。89s52單片機通過線選方式擴展了a/d轉(zhuǎn)換器adc0809和4位led數(shù)碼管,單片機的p2.7引腳作為adc0809的片選信號,因此a/d轉(zhuǎn)換器的端口地址為7fffh.片選信號和信
6、號一起經(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分別寫入00h07h,即可啟動模擬量輸入通道07進行a/d轉(zhuǎn)換。adc0809參考正電壓為5v,參考負電壓為0v,時鐘輸入為2mhz。圖1 數(shù)字多用表的主電路圖單片機的p1.0 p1.2引腳
7、通過一個轉(zhuǎn)換開關(guān)接地,通過判斷p1.0 p1.2引腳電平的高低,決定是否進行電阻測量、電壓測量或電流測量。32 數(shù)字多用表的電阻測量輸入電路圖2所示為數(shù)字多用表的電阻測量輸入電路。運算放大器的反饋電阻r作為待測量電阻,通過1000電阻r接到電源-5v。假定運算放大器理想,那么放大器的輸出電壓rv=,將rv送給adc0809,轉(zhuǎn)換后得到數(shù)字量為dv=。單片機讀取a/d轉(zhuǎn)換數(shù)據(jù),再經(jīng)過逆向運算可得r=,注意此時得到的r為二進制數(shù),需要轉(zhuǎn)化為十進制數(shù)后才能送給數(shù)碼管顯示。程序中采用4字節(jié)專利號除法,連續(xù)進行4次除以10的除法,依1000范圍內(nèi)不超過2,如果測量其他范圍的電阻,需要修改的數(shù)值,或者采用
8、其他電路。33電壓測量輸入電路圖3所示為數(shù)字多用表的電壓測量輸入電路。待測電壓經(jīng)過低通濾波器濾除高頻干擾,再通過同相放大器送給adc0809,電壓測量范圍為05v,adc0809的分辨率為8位,測量誤差為5/2550.02v.3.4 電流輸入測量電路圖4所示為數(shù)字多用表的電流輸入電路。電流測量范圍為1100ma,因為adc0809是電壓轉(zhuǎn)換器件,必須交電流轉(zhuǎn)換為電壓才能進行測量,這可以通過串接電阻r來實現(xiàn),注意r必須很?。ɡ?0.1),否則影響電流數(shù)值。由于待測電流和r都很小,r兩端的電壓也很小,必須將其放大到adc0809能夠分辨的范圍之內(nèi)。假設(shè)待測電流大小為i,r兩端節(jié)點電壓分別為v和v
9、,v經(jīng)過反向緩沖電路之后v=- v。v和v經(jīng)過差分放大電路得:v=-(v-v)( v-v)再經(jīng)過同相放大電路得:av= v將av送給adc0809轉(zhuǎn)換后得到數(shù)字量為:dav=單片機讀取a/d轉(zhuǎn)換數(shù)據(jù),再經(jīng)過逆向運算可得i=有兩個問題值得注意,首先,由于電流的單位是ma,不能直接計算i的值應(yīng)先變換為i=再進行計算;其次,這么算出來的電流值誤差比較大,原因是lm324不是精密理想運算放大器,當(dāng)輸入信號很小時誤差比較大。因此需要對計算數(shù)值進行修正,方法是先計算dav*50000,然后將結(jié)果減去102000這個數(shù)值是通過反復(fù)測試并經(jīng)過曲線擬合得到的。4、系統(tǒng)的軟件設(shè)計數(shù)字多用表的軟件程序(略)5、系統(tǒng)
10、的設(shè)計仿真5.1仿真原理圖5.2實物圖5.3主要元器件功能介紹1、at89s52芯片功能特性描述at89s52引腳框圖:圖2.12 at89s52芯片引腳圖at89s52 主要性能:1、 與mcs-51 單片機產(chǎn)品兼容2、8k 字節(jié)在系統(tǒng)可編程flash 存儲器3、1000 次擦寫周期4、全靜態(tài)操作:0hz33hz 5、 三級加密程序存儲器6、32 個可編程i/o 口線7、三個16 位定時器/計數(shù)器8、八個中斷源9、全雙工uart 串行通道10、低功耗空閑和掉電模式l 1、掉電后中斷可喚醒l2、 看門狗定時器13、雙數(shù)據(jù)指針l 4、掉電標(biāo)識符功能特性描述:at89s52是一種低功耗、高性能cm
11、os8位微控制器,具有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/o 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,at89s52 可降至0hz 靜態(tài)邏輯操
12、作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu停止工作,允許ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。vcc : 電源gnd: 地p0 口:p0口是一個8位漏極開路的雙向i/o口。作為輸出口,每位能驅(qū)動8個ttl邏輯電平。對p0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻。在flash編程時,p0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。p1 口:p1 口是一個具
13、有內(nèi)部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能驅(qū)動4 個ttl 邏輯電平。對p1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.2分別作定時器/計數(shù)器2的外部計數(shù)輸(p1.0/t2)和時器/計數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如下表所示。在flash編程和校驗時,p1口接收低8位地址字節(jié)。表2.1 p1口的第二功能p2 口:p2 口是一個具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅(qū)動4 個ttl 邏輯電平。對p2 端口寫“1”時,內(nèi)部上拉電阻把端
14、口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行movx dptr)時,p2 口送出高八位地址。在這種應(yīng)用中,p2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如movx ri)訪問外部數(shù)據(jù)存儲器時,p2口輸出p2鎖存器的內(nèi)容。在flash編程和校驗時,p2口也接收高8位地址字節(jié)和一些控制信號。p3 口:p3 口是一個具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅(qū)動4 個ttl 邏輯電平。對p3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作
15、為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。p3口亦作為at89s52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,p3口也接收一些控制信號。表2.2 p3口的第二功能rst: 復(fù)位輸入。晶振工作時,rst腳持續(xù)2 個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,rst 腳輸出96 個晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無效。disrto默認狀態(tài)下,復(fù)位高電平有效。ale/prog:地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(prog)也用作
16、編程輸入脈沖。在一般情況下,ale 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(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:外部程序存儲器選通信號(psen)是外部程序存儲器選通信號。當(dāng)at89s52從外部程序存儲器執(zhí)行外部代碼時,psen在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲
17、器時,psen將不被激活。ea/vpp:訪問外部程序存儲器控制信號。為使能從0000h 到ffffh的外部程序存儲器讀取指令,ea必須接gnd。為了執(zhí)行內(nèi)部程序指令,ea應(yīng)該接vcc。在flash編程期間,ea也接收12伏vpp電壓。xtal1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。xtal2:振蕩器反相放大器的輸出端。flash 編程并行模式:at89s52 帶有用作編程的片上flash 存儲器陣列。編程接口需要一個高電壓(12v)編程使能信號,并且兼容常規(guī)的第三方flash 或eprom 編程器。at89s52 程序存儲陣列采用字節(jié)式編程。編程方法:對at89s52 編程之前,需根據(jù)
18、flash 編程模式表和圖13、圖14 對地址、數(shù)據(jù)和控制信號設(shè)置??刹捎孟铝胁襟E對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 作為一個字節(jié)寫周期結(jié)束的標(biāo)志特征2、adc0809介紹adc0809是帶有8位a/d轉(zhuǎn)換器、8路多路開關(guān)以及微處理機兼容的控制邏輯的cmos
19、組件。它是逐次逼近式a/d轉(zhuǎn)換器,可以和單片機直接接口。(1)adc0809的內(nèi)部邏輯結(jié)構(gòu) 圖2.14 adc0809的內(nèi)部邏輯結(jié)構(gòu)上圖可知,adc0809由一個8路模擬開關(guān)、一個地址鎖存與譯碼器、一個a/d轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用a/d轉(zhuǎ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引腳結(jié)構(gòu)圖in0in7:8條模擬量輸入通道 adc0809對輸入模擬量要求:信號單極性,電壓范圍是05v,若信號太小,必須進行放大;輸入
20、的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條 ale為地址鎖存允許輸入線,高電平有效。當(dāng)ale線為高電平時,地址鎖存與譯碼器將a,b,c三條地址線的地址信號進行鎖存,經(jīng)譯碼后被選中的通道的模擬量進轉(zhuǎn)換器進行轉(zhuǎn)換。a,b和c為地址輸入線,用于選通in0in7上的一路模擬量輸入。通道選擇表如下表所示。表2.3 地址輸入線的通道選擇cba選擇的通道000in0001in1010in2011in3100in4101in5110in6111in7數(shù)字量輸出及控制線:11條 st為轉(zhuǎn)換啟動信號。當(dāng)st上跳沿時,所有內(nèi)部寄存器清零;下跳沿時,開
21、始進行a/d轉(zhuǎn)換;在轉(zhuǎn)換期間,st應(yīng)保持低電平。eoc為轉(zhuǎn)換結(jié)束信號。當(dāng)eoc為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進行a/d轉(zhuǎn)換。oe為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。oe1,輸出轉(zhuǎn)換得到的數(shù)據(jù);oe0,輸出數(shù)據(jù)線呈高阻狀態(tài)。d7d0為數(shù)字量輸出線。 clk為時鐘輸入信號線。因adc0809的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500khz, vref(),vref()為參考電壓輸入。 adc0809應(yīng)用說明:(1) adc0809內(nèi)部帶有輸出鎖存器,可以與at89s51單片機直接相連。 (2) 初始化時,使st和oe信號全為低電平。
22、 (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ù)就輸出給單片機了。6、總結(jié)與體會6. 1 總結(jié)本次課程設(shè)計,雖然方案基本出來了,但是在硬件制作方面出現(xiàn)了幾個問題,這也暴露出我們知識方面的一欠缺。不足主要體現(xiàn)在以下幾個方面:(1)adc0809的第10腳的時鐘信號,我們是通過單片機編程實現(xiàn)的但是由于頻率過低,只有500khz,造成led數(shù)碼管顯示不穩(wěn)定而出現(xiàn)閃爍現(xiàn)象。最終驗收時是通過從外部信號發(fā)生器輸入2mhz時鐘信號解決
23、的。(2)萬用板焊接時,由于布線不太合理,使得背面線很零亂。并給后面的線路檢查帶來了不少麻煩。(3)對proteus仿真軟件使用不熟練,使畫仿真圖時遇到不少問題。(4)51單片機基礎(chǔ)知識不扎實,電路分析遇到比較多的問題。6. 2體會這次課程設(shè)計暴露出了很多問題,但在做課程設(shè)計的過程中也學(xué)到了很多東西。比如查閱資料,動手焊接萬用板等等,這些都是平時很少做的。此次課程設(shè)計讓我對基于單片機的匯編語言有了新的認識,對本學(xué)期的單片機學(xué)習(xí)有很大的助益,也在激勵我們多動手,從實踐中去獲取新知識。在此要特別感謝老師在做設(shè)計期間精心指導(dǎo),他對我們要求非常嚴(yán)格。課程設(shè)計的順利完成離不開老師的幫助的。他為我提供了很
24、多寶貴的資料。本次課程設(shè)計自始至是在他的指導(dǎo)和幫助下完成的,在此再一次向他致以深深的敬意和感謝!7、 參考文獻(1) 張毅剛單片機原理及應(yīng)用高等教育出版社 2010年8月(2) 徐愛鈞單片機原理實用教程電子工業(yè)出版社 2011年3月(2) 張偉 王力 protel2004入門與提高 人民郵電出版社 2005年11月(3) 常健生 檢測與轉(zhuǎn)換技術(shù) 機械工業(yè)出版社 2000年2月(4) 閻石 數(shù)字電子技術(shù)基礎(chǔ) 高等教育出版社 1998年12月(5) 童詩白 模擬電子技術(shù)基礎(chǔ) 高等教育出版社 2001年(6) 李伯成 微型計算機原理與接口技術(shù) 清華大學(xué)出版社 2005年1月(7) 李昌喜 智能儀表原
25、理與設(shè)計 化學(xué)工業(yè)出版社 2005年2月附錄 系統(tǒng)源程序:org0000h;單片機復(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,#02hlcalladclcalladatlcalldisplay sjmpmainad
26、c: 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,#00hmovr4,amova,r3addca,#00hmovr3,amova,r2addca,#00hmovr2,amovr0,#30hmovr1,#34hmova,r2movr1,aincr1mova,r3movr1,a
27、incr1mova,r4movr1,aincr1mova,r5movr1,aincr1movr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0ffhcalldivd4;除以255movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0ahcalldivd4mov43h,33hcalldivd4mov42h,33hcalldivd4mov41h,33hmovr0,#40hmovr0,#00hincr0mova,41hmovdptr,#segment7movca,a+dptror
28、la,#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,#16hajmpcalculateamiddlea:mova,bcalculatea:movr2,#0c
29、3hmovr3,#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,#0a0hcalldivd4;除以89760movr1,#38hmovr1,#0
30、0hincr1movr1,#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,#0e8hcallmuld2;乘以1000movr0,#30hmovr1,#34
31、hmova,r2movr1,aincr1mova,r3movr1,aincr1mova,r4movr1,aincr1mova,r5movr1,aincr1movr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0ffhcalldivd4;除以255movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0ahmovdptr,#segment7calldivd4;連續(xù)進行4次除以10的操作mova,33h;取得10進制值movca,a+dptrmov43h,acalldivd4mo
32、va,33hmovca,a+dptrmov42h,acalldivd4mova,33hmovca,a+dptrmov41h,acalldivd4mova,33hmovca,a+dptrcjnea,#3fh,nonzeromova,#00hnonzero:mov40h,aretdelay_5ms:movr5,#01h;設(shè)置r5初始計數(shù)值delay_5ms1:movr6,#16h;設(shè)置r6初始計數(shù)值delay_5ms2:movr7,#70h;設(shè)置r7初始計數(shù)值delay_5ms3:djnzr7,delay_5ms3;延時時間為 time=( ( (r7*2)+2+1 )*r6+2+1 )*r5+1
33、djnzr6,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ù)碼管movxdptr,asetbcmovp1.5,cclrcmovp1.5
34、,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é)二進制無符號數(shù)乘法;被乘數(shù)在r2(高位)、r3(低位)中,乘數(shù)在r6(高位)、r7(低位)中。;乘積在r2(高位)、r3、r4、r5(低位)中。;用到累加器a,b,psw,r2r7。;永遠不會
35、產(chǎn)生進位。;在出口時總是清除c。;若結(jié)果超出2個字節(jié)范圍則ov=1。muld2: mov a,r3mov b,r7mul abmov r4,bmov r5,amov a,r3mov b,r6mul abadd a,r4mov r4,aclr aaddc a,bmov r3,amov a,r2mov b,r7mul abadd a,r4mov r4,amov a,r3addca,bmov r3,aclr arlc axch a,r2movb,r6mulabadd a,r3mov r3,amov a,r2addca,bmov r2,aorla,r3jzmuld21setbovretmuld21:c
36、lrovret;四字節(jié)無符號數(shù)除法;r0存放被除數(shù),除數(shù),商數(shù)的地址。;從r0開始的連續(xù)四個字節(jié)為結(jié)果的余數(shù),入口時可以為任意,但在出口時發(fā)生變化。;其后的連續(xù)4個字節(jié)在入口時是被除數(shù),出口時是商數(shù)。;再其后的連續(xù)四個字節(jié)在入口時是除數(shù),出口時保持不變。;用到累加器a,b,psw,r0r7。;如果除數(shù)為零,則置ov=1標(biāo)志,否則清零。;在出口時總是清除c。divd4:mova,r0movb,aadda,#08hmovr1,amova,#00horla,r1incr1orla,r1incr1orla,r1incr1orla,r1jzdivd45movr1,bmovr2,#04hdivd41:movr1,#00hincr1djnzr2,divd41movr3,#20hdivd42:movr2,#08hmova,bmovr0,aadda,#07hmovr1,aclrcdivd
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 前臺年度工作總結(jié)5篇
- 留點時間給自己記敘文600字5篇
- 國家級產(chǎn)業(yè)園基礎(chǔ)設(shè)施項目商業(yè)計劃書
- 高三下學(xué)期教學(xué)工作計劃匯編五篇
- 幼兒園求職信錦集八篇
- 以欣賞為話題的作文(15篇)
- 地產(chǎn)銷售月工作計劃
- 銀行的實習(xí)報告四篇
- 計算機網(wǎng)絡(luò)基礎(chǔ)復(fù)習(xí)試題及答案
- 個人工作心得體會(15篇)
- 公務(wù)用車車輛安全培訓(xùn)課件
- 《安徽省人力資本對經(jīng)濟高質(zhì)量發(fā)展影響研究》
- 化妝品技術(shù)服務(wù)合同協(xié)議
- 一年級新生家長會課件(共25張課件)
- 工匠精神學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 廣東省東華高級中學(xué)2025屆高一上數(shù)學(xué)期末考試試題含解析
- GB/T 22081-2024網(wǎng)絡(luò)安全技術(shù)信息安全控制
- 2024-2025學(xué)年上海市閔行區(qū)華東師大二附中九年級(上)月考數(shù)學(xué)試卷(10月份)(含解析)
- 創(chuàng)業(yè)人生學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 心理健康教育(共35張課件)
- 高級管理招聘面試題及回答建議(某大型央企)2024年
評論
0/150
提交評論