|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請(qǐng)問(wèn)哪里有十六進(jìn)制轉(zhuǎn)換十進(jìn)制的子程序,提供一個(gè),謝謝。 |
| 作者:笨鳥急飛 欄目:技術(shù)交流 |
| 2樓: | >>參與討論 |
| 作者: netjackycn 于 2005/5/13 9:21:00 發(fā)布:
!!! ;*********************************************************** ; ; 八位十六進(jìn)制數(shù)(255)轉(zhuǎn)成二位十進(jìn)制數(shù)(99)的子程序 ; ; 欲轉(zhuǎn)換的十六進(jìn)制數(shù)值存放在 DIGIT 寄存器中 ; ; 輸出值放在 BUFFER 寄存器中 ; 其中“低四位”為“各位”數(shù)碼管需要顯示的十進(jìn)制的內(nèi)容, ; 其中“高四位”為“十位”數(shù)碼管需要顯示的十進(jìn)制的內(nèi)容, ; ; ; ; ; ;二進(jìn)制調(diào)整為BCD碼的方法是將二進(jìn)制碼8次每次移位后 ;都檢查低四位LSD+3是否大于7,如果是則再加3,否則不加。 ;接著再將高四位MSD作相同處理 ; ; ; ;*********************************************************** list p=16F877,R=DEC include "p16F877.inc" COUNTER EQU 20H DIGIT EQU 21H BUFFER EQU 22H BUFFER1 EQU 23H SUM EQU 24H ORG 0000H MAIN MOVLW 048H MOVWF DIGIT CALL HEX2BCD STOP GOTO STOP ;*********************************************************** ; 八位十六進(jìn)制數(shù)(255)轉(zhuǎn)成二位十進(jìn)制數(shù)(99)的子程序 ;*********************************************************** HEX2BCD MOVLW 8 MOVWF COUNTER ;循環(huán)左移計(jì)數(shù)器置8,左移8次 CLRF BUFFER ;清除緩沖器 MOVF DIGIT,W ;DIGIT→W→BUFFER1 MOVWF BUFFER1 H2B RLF BUFFER1,1 ;二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼(以便顯示) RLF BUFFER,1 ; ; 當(dāng) BUFFER1 寄存器左移到有進(jìn)位(即 有1從左邊移出)的時(shí)候, ; 導(dǎo)致 STATUS 寄存器的 C 位為1; ; 當(dāng)下一條指令左移 BUFFER 寄存器的時(shí)候, ; 會(huì)將 STATUS 中的 C (此時(shí)C=1)帶到 BUFFER 寄存器中。 ; DECFSZ COUNTER,1 ;如果左移8次完成,則跳 GOTO ADJUST ; BTFSS STATUS,C ;判斷是否有進(jìn)位(即是否達(dá)到100),如已到100,則跳 ;(若C=1 則程序跳過(guò)下一條指令) RETFIE ; ; ………… ;所處理的數(shù)值已經(jīng)超過(guò)兩位。此處填寫超過(guò)兩位的處理程序 RETFIE ; ADJUST MOVLW 03H ;二進(jìn)制轉(zhuǎn)BCD的調(diào)整 ADDWF BUFFER,W ;每次移位后都檢查低四位LSD+3是否大于7 MOVWF SUM BTFSC SUM,3 MOVWF BUFFER ;接著再將高四位MSD作相同處理 MOVLW 30H ADDWF BUFFER,W ;如果是則再加3,否則不加。 MOVWF SUM BTFSC SUM,7 MOVWF BUFFER GOTO H2B ;*********************************************************** ; 子程序結(jié)束 ;*********************************************************** END |
|
| 3樓: | >>參與討論 |
| 作者: 將軍令 于 2005/6/16 11:53:00 發(fā)布:
這種軟件也要?jiǎng)e人給? |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |