版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程 單片機原理及應(yīng)用課程設(shè)計題目 自行車里程表的設(shè)計 主要內(nèi)容、基本要求、主要參考資料等1、主要內(nèi)容:根據(jù)單片機課程所學內(nèi)容,結(jié)合其他相關(guān)課程知識,設(shè)計一個自行車里程表,以加深對單片機知識的理解,鍛煉實踐動手能力,為以后的畢業(yè)設(shè)計和工作打下堅實基礎(chǔ)。2、基本要求:以AT89C2051型單片機為核心,實時測量并顯示自行車行駛過程中兩項運動參數(shù):速度和里程。所測量各值可單獨顯示,測量值誤差小于1%。超速行駛(設(shè)置兩各可選擇的限速參數(shù):10m/s,8m/s)時,能自動發(fā)出聲光報警。3、主要參考資料: 1 張毅坤,陳善久.單片微型計算機原理及應(yīng)用.西安:西安電子科技大學出版社,2002. 2 張友德
2、,趙志英,徐時亮.單片微機原理應(yīng)用與實驗.上海:復(fù)旦大學出版社,2000. 3 偉福Lab2000P系列單片機仿真實驗系統(tǒng)說明書.完成期限2010.3.15-2010.3.19 指導(dǎo)教師 專業(yè)負責人 2010年3 月 13日目 錄第一章 概 述2第二章 硬件設(shè)計32.1系統(tǒng)組成結(jié)構(gòu)框圖32.2具體硬件電路及工作原理32.3 AT89C2051單片機簡介42.3.1芯片概述42.4其他外圍硬件電路62.4.1電源電路62.4.2霍爾傳感器62.4.3 4位串行靜態(tài)顯示電路7第三章 軟件設(shè)計83.1主程序設(shè)計83.2 外中斷0和 T1定時溢出中斷服務(wù)子程序設(shè)計83.3 速度/里程顯示控制子程序設(shè)計
3、83.4系統(tǒng)完整源程序9總 結(jié)10參考文獻11附錄12附錄1 整體電路圖12附錄2 源程序13第一章 概 述本設(shè)計介紹的速度與里程表設(shè)計以單片機和光電傳感器為核心。傳感器將不同車速轉(zhuǎn)變成的不同頻率的脈沖信號輸入到單片機進行控制與計算,再采用LED模塊進行顯示,使得電動自行車的速度與里程數(shù)據(jù)能直接的顯示給使用者。該設(shè)計能實時地將所測的速度與累計里程數(shù)顯示出來,主要是將傳感器輸入到單片機的脈沖信號的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號)實時地測量出來,考慮到信號的衰減、干擾等影響,在信號送入單片機前應(yīng)對其進行放大整形,然后通過單片機計算出速度和里程,再將所得的數(shù)據(jù)存儲到串口數(shù)據(jù)存儲器,并
4、由LED顯示模塊交替顯示所測速度與里程。本設(shè)計的里程數(shù)的算法是一種大概的算法(假設(shè)在一定時間內(nèi)自行車是勻速行進,平均速度與時間的乘積即為里程數(shù))。本系統(tǒng)由信號預(yù)處理電路、單片機AT89C2051、系統(tǒng)化LED顯示模塊、串口數(shù)據(jù)存儲電路和系統(tǒng)軟件組成。其中信號預(yù)處理電路包含信號放大、波形變換和波形整形。對待測信號進行放大的目的是降低對待測信號的幅度要求;波形變換和波形整形電路則用來將放大的信號轉(zhuǎn)換成可與單片機相連的TTL信號;通過單片機的設(shè)置可使內(nèi)部定時器T1對脈沖輸入引腳T0進行控制,這樣能精確地算出加到T0引腳的單位時間內(nèi)檢測到的脈沖數(shù);設(shè)計中速度顯示采用LED模塊,通過速度換算得來的里程數(shù)
5、采用I2C總線并通過E2PROM來存儲,既節(jié)省了所需單片機的口線和外圍器件,同時也簡化了顯示部分的軟件編程。 設(shè)計時,應(yīng)綜合考慮測速精度和系統(tǒng)反應(yīng)時間。本設(shè)計用測量脈沖頻率來計算速度,因而具有較高的測速精度。在計算里程時取了自行車的理想狀態(tài)。實際中,誤差控制在幾米之內(nèi),相對于整個里程來說不是很大。為了保證系統(tǒng)的實時性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊都采用快速算法。另外,還應(yīng)盡量保證其他子模塊在編程時的通用性和高效性。本設(shè)計的速度和里程值采用6位顯示,并包含兩個小數(shù)位。第二章 硬件設(shè)計2.1系統(tǒng)組成結(jié)構(gòu)框圖根據(jù)功能要求,首先要進行的是總體方案的設(shè)計于論證,構(gòu)思一個符合實際要求的系統(tǒng),
6、如圖2.1所示。系統(tǒng)由測量模塊、功能選擇模塊、顯示模塊、供電模塊和單片機小系統(tǒng)構(gòu)成。功能選擇后啟動測量,大片及實時采集、處理后顯示?;魻杺鞲衅鏖_關(guān)功能選擇顯 示功能指示燈2051 單 片 機 穩(wěn)壓器+5V電池組充電電路發(fā)電機圖2.1 系統(tǒng)組成結(jié)構(gòu)框圖2.2具體硬件電路及工作原理具體硬件電路如圖2.2所示。 圖2.2 系統(tǒng)硬件電路原理圖速度和里程由開關(guān)型霍爾傳感器測量,已知自行車輪子的周長(本系統(tǒng)采用的是1.8m,設(shè)為L),輪子每轉(zhuǎn)動一圈,傳感器采樣一個下降沿信號并送到單片機的外中斷0產(chǎn)生一次中斷,全書加1,兩個相鄰下降沿信號的時間由單片機定時器1計時(設(shè)為T),哪么計算當前速度(設(shè)為V)和行駛
7、里程(設(shè)為S)的公式為: V=1.8/T, S=1.8m*所行駛的圈數(shù)S1是單片機的復(fù)位開關(guān),系統(tǒng)采用按鍵電平復(fù)位開關(guān);S2是電源開關(guān),并由燈D1指示;S3為速度和里程切換開關(guān);S4為限速切換開關(guān),可以根據(jù)自身需要選擇不同的最大超速速度;S5為里程單位切換開關(guān)。P1.4輸出低電平時,控制D2亮,表示此時顯示的里程值為km/h,P1.5輸出低電平時,控制燈D3亮,提示速度太慢;P1.6輸出低電平時,控制燈D4亮,表示此時的顯示值時里程(否則為速度);P1.7控制超速報警電路,其為高電平表示行駛速度正常,為低電平時,三極管9012導(dǎo)通,驅(qū)動蜂鳴器報警。2.3 AT89C2051單片機簡介2.3.1
8、芯片概述AT89C2051是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含2k bytes的可反復(fù)擦寫的只讀Flash程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大AT89C2051單片機可為您提供許多高性價比的應(yīng)用場合。AT89C2051是一個功能強大的單片機,但它只有20個引腳,15個雙向輸入/輸出(I/O)端口,其中P1是一個完整的8位雙向I/O口,兩個外中斷口,兩個16位可編程定時計數(shù)器,兩個全雙向串行通信口,一個模擬比較放大器。同時
9、AT89C2051的時鐘頻率可以為零,即具備可用軟件設(shè)置的睡眠省電功能,系統(tǒng)的喚醒方式有RAM、定時/計數(shù)器、串行口和外中斷口,系統(tǒng)喚醒后即進入繼續(xù)工作狀態(tài)。省電模式中,片內(nèi)RAM將被凍結(jié),時鐘停止振蕩,所有功能停止工作,直至系統(tǒng)被硬件復(fù)位方可繼續(xù)運行。管角配置圖2.3所示。圖2.3 2051引腳圖主要功能介紹(1) 兼容MCS51指令系統(tǒng)(2) 15個雙向I/O口(3) 兩個16位可編程定時/計數(shù)器(4) 時鐘頻率0-24MHz(5) 兩個外部中斷源(6) 可直接驅(qū)動LED(7) 低功耗睡眠功能(8) 可編程UARL通道(9) 2k可反復(fù)擦寫(1000次)Flash ROM(10) 6個中斷
10、源(11) 2.7-6.V的寬工作電壓范圍(12) 128x8bit內(nèi)部RAM(13) 兩個串行中斷(14) 兩級加密位(15) 內(nèi)置一個模擬比較放大器(16) 軟件設(shè)置睡眠和喚醒功能可見。2051可以為很多的嵌入式控制應(yīng)用提供高度靈活而且價格低廉的方案,特別適合小系統(tǒng)。本系統(tǒng)僅用到單片機的10個I/O口,所以選用2051單片機做主系統(tǒng)。2.4其他外圍硬件電路 2.4.1電源電路 如圖2.4所示。發(fā)電機發(fā)出+15V的交流電,經(jīng)整流濾波后,再給鎳氫電池組充電,充電采用恒流方式。已充電的電池組經(jīng)7805穩(wěn)壓,給霍爾傳感器和單片機系統(tǒng)供電。由圖2.4 電源電路原理圖于充電電流可達400500mA,且
11、充電時間較長,所以三極管選用功率高的C8050。5K的電位器用于調(diào)節(jié)充電電流,避免電流過大燒壞元件。當然,實驗設(shè)計過程中為了簡便,我們可以不用電機。直接用4個1.5V的電池組經(jīng)7805穩(wěn)壓后得到+5V電壓給單片機系統(tǒng)和霍爾傳感器供電。2.4.2霍爾傳感器 霍爾傳感器是利用霍爾效應(yīng)把磁輸入信號轉(zhuǎn)換成電信號的器件。本系統(tǒng)采用JK8002D霍爾接近開關(guān),他是一種非接觸型無觸點開關(guān),系統(tǒng)通過它探測外部的磁場的強弱變化,繼而控制開關(guān)輸出。磁場由外部的磁鋼產(chǎn)生。JK8002D霍爾接近開關(guān)的內(nèi)部原理圖和輸入/輸出特性如圖(5)和圖(6)所示。JK8002D霍爾接近開關(guān)的輸入量是磁感應(yīng)強度B,當B值達到一定的
12、程度(如Bl)時,霍爾開關(guān)內(nèi)部的觸發(fā)器翻轉(zhuǎn),其輸出電平狀態(tài)也隨之翻轉(zhuǎn)。當探頭與磁鋼距離由遠而近為8mm時,霍爾元件輸出端輸出一個無抖動的低電平(約為0.2V),當兩者距離足夠遠時,霍爾元件輸出端輸出一個無抖動的高電平(約為3.7V),所以輸出信號可直接到單片機的外中斷0的引腳。 2.4.3 4位串行靜態(tài)顯示電路當單片機的UART口部進行串行通信時,可設(shè)置其工作于同步移位寄存器方式0,以輸出顯示信息,實現(xiàn)n位LED的靜態(tài)顯示,這樣做只占用了很少的I/O口線。系統(tǒng)中,4各共陽極得LED數(shù)碼管和4片 74LS164構(gòu)成4位數(shù)字顯示電路,74LS164將串行輸入的顯示信息轉(zhuǎn)換成并行輸出,驅(qū)動數(shù)碼管顯示
13、。74LS164在低電平輸出時允許通過的電流為8mA,故不必添加驅(qū)動電路即可獲取理想亮度。與動態(tài)掃描方式相比較,該方式無須CPU做不停的掃描,頻繁地為顯示服務(wù),節(jié)省了CPU的時間,軟件世界也比較簡單。顯示電路如圖2.5所示。圖2.5 4位串行靜態(tài)顯示電路原理圖第三章 軟件設(shè)計3.1主程序設(shè)計主程序流程圖見圖3.1。開機后系統(tǒng)自檢,正常時LED顯示“”,同時等待自行車行駛。輪子開始轉(zhuǎn)圈后,系統(tǒng)進行記錄和計算,并根據(jù)速度/里程開關(guān)的選擇顯示數(shù)值。N系統(tǒng)初始化主程序P3.2=0?Y開始初始顯示P1.0=1?N顯示里程顯示速度Y圖3.1 主程序流程圖3.2 外中斷0和 T1定時溢出中斷服務(wù)子程序設(shè)計外
14、中斷0服務(wù)子程序用于對輸入脈沖的個數(shù)即輪子轉(zhuǎn)圈的次數(shù)計數(shù)。每計數(shù)一次,系統(tǒng)保存圈數(shù)值的同時保存定時器的計時值,并根據(jù)功能開關(guān)鍵實時顯示相應(yīng)的值。T1定時溢出中斷服務(wù)子程序用于實時統(tǒng)計記一次數(shù)的經(jīng)歷時間。T1定時的基準時間設(shè)為20ms,假設(shè)記一次數(shù)中T1中斷的次數(shù)為C,1.8/(20C)ms即當前自行車行駛的速度。用內(nèi)部定時加外中斷的方法實現(xiàn)了對輸入脈沖信號的測量,這是本系統(tǒng)最關(guān)鍵的程序部分。3.3 速度/里程顯示控制子程序設(shè)計最大允許速度由限速切換開關(guān)S4控制,超速使單片機的P1.7輸出低電平報警。若行駛速度太慢(0.5m/s),燈D3不斷閃爍,LED交替顯示“Erro”、“Sudu”和當前速
15、度值,以引起騎車者的注意。速度顯示值的單位有km/h和每m/s,由功能鍵S5切換。對于里程值,為了較精確地顯示,程序設(shè)置了不同里程范圍時所顯示的小數(shù)點后數(shù)字的位數(shù):里程為10m99m,顯示2位小數(shù);里程為100m999m,顯示1位小數(shù)。3.4系統(tǒng)完整源程序如附錄1總 結(jié)本設(shè)計以AT89C2051為核心,通過光電傳感器來檢測自行車的運轉(zhuǎn)情況進而實現(xiàn)電動自行車的速度,里程的計算及里程的累計,存儲,最后用6位的LED能直觀的將速度與里程顯示給用戶,并且在速度高于一定的值時可自動向用戶報警,從而達到智能速度里程表。這次課程設(shè)計使我掌握了很多實踐知識,在老師和同學的幫助下對單片機有了進一步的了解。通過這
16、次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,進而提高自己的實際動手能力和獨立思考的能力。整個設(shè)計過程可以說不是很順利,因為有很多知識已經(jīng)淡忘,還有很多新的東西沒有掌握,所以這次設(shè)計在不斷的復(fù)習、學習中度過,使我受益匪淺,也使我對單片機的運用有了進一步的了解和掌握,也為今后的學習生活和工作打下良好的基礎(chǔ)。參考文獻1 張毅坤,陳善久.單片微型計算機原理及應(yīng)用.西安:西安電子科技大學出版社,2002.2 張友德,趙志英,徐時亮.單片微機原理應(yīng)用與實驗.上海:復(fù)旦大學出版社,2000.3 偉福Lab2000P系列單片
17、機仿真實驗系統(tǒng)說明書.附錄附錄1 整體電路圖附錄2 源程序自行車里程表 /* 各引腳用途及系統(tǒng)功能說明P1.0 速度和里程切換:1顯示速度,0顯示里程P1.1 限速度切換:1 10m/s;0 8m/sP1.2 km/h和 m/s的切換:P1.4 指示顯示器單位為km/hP1.5 速度太慢燈閃爍警告P1.6 0時燈亮,指示里程;為以燈不亮,顯示速度P1.7 超速度報警 距離最大值為9999m6H圈、 38H圈、 22C圈、 15B6圈0m=S10m 10m=S100m 100m=S1000m 1000m=S10000m周長0707H 00B4H 0012H 0012H/0AH/變量定義/XIAO
18、SHU EDU 57H ; 小數(shù)點位數(shù)單元 GEWEI EDU 40H ; 顯示單元SHIWEI EDU 41H ; BAIWEI EDU 42H ;QIANWEI EDU 43H ; QSHU1 EDU 43H ; QSHU0 EDU 61H ; 自行車圈數(shù)存儲單元高位QSHU0 EDU 62H ; 自行車圈數(shù)存儲單元低位SJIAN0 EDU 6CH ; T1定時溢出存儲單元高位SJIAN1 EDU 6DH ; T1定時溢出存儲單元低位/主程序/ ORG 000H AJMP START ORG 0003H AJMP INTEX0 ORG 001BH AJMP IT11 ORG 0030HST
19、ART: MOV SP,#75H ; 設(shè)置堆棧指針 MOV SCON,#00H ; 串行口工作方式 MOV GEWEI,#0AH ; 開機顯示 MOV SHIWEI,#0AH MOV BAIWEI,#0AH MOV QIANWEI,#0AH ACALL DIS11 SETB P3.2 ; 外中斷0為輸入查詢方式 JB P3.2 ; 等待第一個有效脈沖(下降沿)到來 ACALL CLEARRAM ; 調(diào)用系統(tǒng)準備顯示初始化子程序STLOOP: JNB P1.0,ST1 ; p1.0=0,顯示速度 ACALL DISPLAYS ; P1.0=1, 顯示里程 SJMP STLOOP ; 循環(huán)顯示ST
20、1: ACALL DISPLAYV ; 第一個下降沿來后顯示速度 AJMP STLOOP ; 循環(huán)顯示/系統(tǒng)準備顯示初始化子程序/CLEARRAM: MOV TMOD,#10H ; T1用于定時,工作于模式1 MOV TH1,#0B1H ; 定時20ms初始值 SETB P1.2 ; P1.2-P1.0為輸入 SETB P1.1 SERB P1.0 CLR A ; 相應(yīng)內(nèi)RAM空間清零 MOV 21H,A ; 速度/里程的BCD碼高位清0 MOV 22H,A ; 速度/里程的BCD碼低位清0 MOV QSHU1,A ; 圈數(shù)空間清0 MOV QSHU0,A MOV 6AH,A ; T1溢出次數(shù)
21、暫存單元高位清0 MOV 6BH,A ; T1溢出次數(shù)暫存單元低位清0 MOV SJIAN0,A ; 計數(shù)器空間清零 MOV SJIAN1,A MOV XIAOSHU,#01H ; 默認顯示3位小數(shù) SETB IT0 ; 設(shè)置外中斷為邊沿觸發(fā)方式 SETB PT1 ; T1優(yōu)先級最高 SETB EA ; 開總中斷 SETB ET1 ; 開T1中斷 SETB EX0 ; 開外0中斷/外中斷0服務(wù)子程序/INTEX0: PUSH ACC ; 累加器堆棧保護 PUSH PSW ; 狀態(tài)字堆棧保護 INC QSHU0 ; 圈加1 SETB P1.7 ; 置1不報警 CLR A ; 清A CJNE A,
22、QSHU0,SUBX0 ; 計數(shù)沒溢出轉(zhuǎn)SUBX0 INC QSHU1 ; 溢出進位(61H加1)SUBX0: CLR TR1 ; 關(guān)計時,讀輪子轉(zhuǎn)一圈的時間 MOV 6AH,SJIAN0 ; 時間暫存 MOV 6BH,SJIAN1 MOV TH1,#0B1H ; 定時器T1重付初值 MOV TL1,#0DFH CLR A MOV SJIAN0,A ; 清計時空間 MOV SJIAN1,A SETB TR1 ; 重新計時 POP PSW ; 狀態(tài)字恢復(fù) POP ACC ; 累加器恢復(fù) RETI ; 中斷返回/T1定時器溢出時中斷服務(wù)子程序/IT11: PUSH ACC ; 堆棧保護 PUSH
23、PSW INC SJIAN1 ; 定時20毫秒溢出次數(shù) MOV A,SJIAN1 ; 讀一圈定時的次數(shù) CJNE A,#0BBH,SUBT1 ; 速度太慢(0.5),處理 AJMP SUBT2 SUBT1: JC SUBT2 INC 69H ; (69H)為奇數(shù),LED顯示“Erro” MOV A,69H ; 再顯示具體速度的值 JB ACC.0 ERRO ; (69H)為偶數(shù),LED顯示“Sudu” MOV GEWEI,#05H ; 再顯示具體速度的值 MOV SHIWEI,#0BH MOV BAIWEI,#0DH MOV QIANWEI,#0BH MOV XIAOSHU,#0BH ACAL
24、L DIS11 SJMP FS12ERRO: MOV GEWEI,#0CH MOV SHIWEI,#OBH MOV BAIWEI,#0BH MOV QIANWEI,#0DH ACALL DIS21;“Erro”或“sudu”和具體速度大值交替閃爍顯示FS12: MOV R2,#01H ; CLR P1.5 ACALL DELAY2 SETB P1.5 ACALL DELAY2 DJNZ R2,FLASHSUBT2: MOV TH1,#0B1H MOV TL1,#0DFH SETB TR1 POP PSW POP ACC RETI/里程顯示控制子程序/DISPLAYS:CLR P1.6 ACAL
25、L JULI MOV A,QSHU1 CJNE A,#02H,DIAOYONG AJMP PANDYDIAOYONG:JNC PANDY1 AJMP BUDYPANDY: MOV A,QSHU0 CJNE A,#2CH,PANDY2 AJMP PANDY1PANDY2: JC BUDYPANDY1: MOV R6,#00h MOV R7,#0AH ACALL JULI2 ACALL BCDC ACALL FENKAI ACALL DIS21 ACALL DELAY1 RETBUDY: MOV R6,#00h MOV R7,#01h ACALL JULI2 ACALL BCDC ACALL FE
26、NKAI ACALL DIS11 ACALL DELAY1 ACALL DELAY1 RET/速度顯示控制子程序/DISPLAYV:SETB P1.6 ACALL SUDU ACALL BCDC ACALL FENKAI MOV XIAOSHU,#01H RET/處理子程序1/JULI: PUSH PSW PUSH ACC MOV R2,QSHU1 MOV R3,QSHU0 JNZ GAO MOV A,QSHU0 CJNE A,#06H,PAN1 AJMP PAN2PAN1: JNC PAN2 AJMP CZ707PAN2: MOV A,QSHU0 CJNE A,#38H,PAN3 AJMP
27、GAOPAN3: JC CZB4GAO: AJMP CZ12CZ707: MOV R6,#07H MOV R7,#07H MOV XIAOSHU,#01H AJMP KAISHICZB4: MOV R6,#00H MOV R7,#0B4H MOV XIAOSHU,#02H AJMP KAISHICZ12: MOV R6,#00H MOV R7,#00H MOV XIAOSHU,#03H KAISHI為兩字節(jié)乘兩字節(jié)程序段KAISHI: MOV A,R3 MOV B,R7 MUL AB MOV R4,B MOV R5,B MOV A,R3 MOV B,R6 MUL AAB ADD A,R4 MO
28、V R4,A CLR A ADDC A,B MOV B,R7 MUL AB ADD A,R4 MOV R4,A MOV A,R3 ADDC A,B MOV R3,A CLR A RLC A XCH A,R2 MOV B,R6 MUL AB ADD A,R3 MOV R3,A MOV A,R2 ADDC A,B MOV 50H,R2 MOV 51H,R3 MOV 52H,R4 MOV 53H,R5 POP PSW POP ACC RET/處理里程子程序2/Juli2: PUSH PSW PUSH ACC MOV R2,50H MOV R3,51H MOV R4,52H MOV R5,53HDIV
29、D11: CLR C MOV A,R3 SUBB A,R7 MOV A,R2 SUBB A,R6 JC DVD11 SETB OV RETDVD111: MOV B,#10HDVD211: CLR C MOV A,R5 MOV R5,A MOV A,R4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A XCH A,R2 XCH A,R2 MOV F0,C CLR C SUBB A,R7 MOV R1,A MOV A,R2 SUBB A,R6 ANL C,/F0 JC DVD311 MOV R2,A MOV A,R1 MOV R3,A INC R5DVD311: D
30、JNZ B,DVD211 MOV A,R4 MOV R2,A MOV A,R5 MOV R3,A CLR OV MOV 30H,R2 MOV 31H,R3 POP ACC POP PSW NOP RET/十六進制轉(zhuǎn)換乘BCD子程序/BCDC: PUSH ACC PUSH PSW MOV R6,30H MOV R7,31H CLR A MOV R3,A MOV R4,A MOV R5,A MOV R2,#10HHB322: MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 DA A MOV R5,A MOV A,R4 ADDC A,
31、R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 DJNZ R2,HB322 MOV 20H,R3 MOV 21H,R4 MOV 22H,R5 POP PSW POP ACC NOP RET/算速度十六進制值子程序/SUDU: PUSH PSW PUSH ACC JB P1.2,KM SJMP JUBUKM: MOV R2,#00H MOV R3,#04H MOV R4,#0F1H MOV R5,#0A0H CLR P1.4 SJMP QUANJUJUBU: MOV R2,#00H MOV R3,#001H MOV R4,#05FH MOV R5,#090H CLR P1
32、.4QUANJU: MOV A,6BH JB P1.1,XIAN10 CJNE A,#0BH,BUXIANG SJMP JC0XIAN10: CJNE A,#09H,BUXIANG SJMP JC0BUXIANG: JC JC0 SJMP BUJGJC0: MOV A,6AH CJNE A,#00H,BUJG AJMP JIANGGAOJIANGGAO: CLR P1.7 MOV GEWEI,#0CH MOV SHIWEI,#0BH MOV BAIWEI,#0BH MOV QIANWEI,#0DH ACALL DIS21 ACALL DELAY1 MOV GEWEI,#0EH MOV SHII
33、WEI, #0EH MOV BAIWEI,#0EH MOV QIANWEI,#0EH ACALL DIS21 ACALL DELAY1 SJMP QUANJUBUJU: MOV A,6BH CJNE A,#0AFH,LING0 AJMP LING1LING0: JC LING1 AJMP BUJINGLING1: MOV A,6AH CJNE A,#00J,BULING0 AJMP BULING1BULING0: JC BULING1BULING: MOV SJIAN0,#00H MOV SJIAN1,#00H RET /4字節(jié)除2字節(jié)除法子程序/BULING1: MOV R6,6AH MOV
34、 R7,6BHDIVD: CLR C MOV A,R3 SUBB A,R7 MOV A,R2 SUBB A,R6 JC DVD1 SETB OV RETDVD1: MOV B,#10HDVD2: CLR C MOV A,R5 RLC A MOV R5,A MOV A,A4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A XCH A,R2 XCH A,R2 MOV F0,C CLR C SUBB A,R7 MOV R1,A MOV A,R2 SUBB A,R6 ANL C,/F0 JC DVD3 MOV R2,A MOV A,R1 MOV R3,A INC R5DVD3: DJNZ B,DVD2 MOV A,R4 MOV R2,A MOV A,R5 MOV R3,A CLR OV MOV 30H,R2 MOV 31H,R3 POP ACC POP PSW SETB P1.7 NOP RET/壓縮BCD碼轉(zhuǎn)乘非壓縮BCD碼子程序/FENKAI: MOV R7,#02H MOV R0,#GEWEI MOV R1,#21HFENKAI1: MOV A,R1 ANL A,#0F0H SWAP A MOV R0,A INC R0 MOV A,R1 ANL A,#0FH MOV R0,A IN
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息技術(shù)質(zhì)量控制與保障措施
- 化妝品行業(yè)安全生產(chǎn)方案及質(zhì)量控制措施
- 高效混合式教學的設(shè)計與實施心得
- 購物中心裝修保修政策
- 南京財經(jīng)大學文獻綜述選題技巧分享
- 房地產(chǎn)開發(fā)項目管理協(xié)調(diào)措施
- 2024年度浙江省公共營養(yǎng)師之四級營養(yǎng)師題庫附答案(基礎(chǔ)題)
- 2024年度浙江省公共營養(yǎng)師之二級營養(yǎng)師能力提升試卷B卷附答案
- 2024年度海南省公共營養(yǎng)師之三級營養(yǎng)師考前沖刺模擬試卷B卷含答案
- 戲劇編導(dǎo)專業(yè)實習報告范文
- GB/T 12914-2008紙和紙板抗張強度的測定
- GB/T 1185-2006光學零件表面疵病
- ps6000自動化系統(tǒng)用戶操作及問題處理培訓(xùn)
- 家庭教養(yǎng)方式問卷(含評分標準)
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設(shè)計和原理
- TSG ZF001-2006 安全閥安全技術(shù)監(jiān)察規(guī)程
- 部編版二年級語文下冊《蜘蛛開店》
- 鍋爐升降平臺管理
- 200m3╱h凈化水處理站設(shè)計方案
- 個體化健康教育記錄表格模板1
評論
0/150
提交評論