① 鍗曠墖鏈轟簩榪涘埗鐮佸埌鍗佽繘鍒剁爜鐨勮漿鎹
鍗曠墖鏈轟簩榪涘埗鐮佸埌鍗佽繘鍒剁爜鐨勮漿鎹,涓嶆槸杞鎹錛岃屾槸鍒嗙
鍋囪緉um涓嶈秴榪3浣
b1=num/100;//鍒嗙葷櫨姣佹枟妗愪綅
b2=num/10%10;//鍒嗙誨嶮綰ゅ潶浣
b3=num%10;//鍒嗙諱釜浣
濡傛灉閿琚鏄4浣嶆暟1234錛屽垯涓婇潰榪愮畻緇撴灉鏄12 3 4 鏄劇劧涓嶈
鍙浠ヨ繖鏍峰啓錛
b0=num/1000;//鍒嗙誨崈浣
b1=num/100錛10;//鍒嗙葷櫨浣
b2=num/10%10;//鍒嗙誨嶮浣
b3=num%10;//鍒嗙諱釜浣
② 鍗曠墖鏈轟簩榪涘埗杞鍗佽繘鍒剁▼搴
鏁寸悊涓涓嬫牸寮忥紝鍘熸潵鐨勭▼搴忓備笅錛
DBUF1 EQU 40H ;瀹氫箟鏁版嵁瀛樺偍鍖鴻搗濮嬪湴鍧
NUM EQU 5AH ;緇欏畾杞鎹㈢殑鏁版嵁
ORG 0000H
CALL HEXDIV
SJMP $
HEXDIV:
MOV R1, #DBUF1 ;R1鎸囧悜鏁版嵁瀛樺偍鍖虹殑璧峰嬪湴鍧
MOV A, #NUM
MOV B, #100
DIV AB ;闄や互100錛屾眰寰楃櫨浣嶅
MOV @R1, A ;鐧句綅瀛樻斁鍦ㄥ瓨鍌ㄥ尯璧峰嬪湴鍧鍗曞厓涓
MOV A, #10 ;
XCH A, B ;鎶婁綑鏁版斁A錛岄櫎鏁版斁B
DIV AB ;闄や互10錛屾眰寰楀嶮浣嶅
INC R1 ;
MOV @R1, A ;鍗佷綅鏀懼湪瀛樺偍鍖鴻搗濮嬪湴鍧+1鍗曞厓涓
INC R1 ;
MOV A, B
MOV @R1, A ;涓浣嶆斁鍦ㄥ瓨鍌ㄥ尯璧峰嬪湴鍧+2鍗曞厓涓
RET
END
錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛
榪欎釜瀛愮▼搴忥紝緙栧啓鐨勫お婊ヤ簡錛屽幓鎺変笁鍒嗕箣涓鐨勬寚浠わ紝閮芥槸鍙浠ョ殑銆
綆鍖栧悗錛屽姛鑳藉畬鍏ㄧ浉鍚岋紝濡備笅銆
MOV A, #NUM
MOV B, #100
DIV AB ;闄や互100錛屾眰寰楃櫨浣
MOV DBUF1, A ;鐧句綅瀛樻斁鍒板瓨鍌ㄥ尯鐨勮搗濮嬪湴鍧鍗曞厓涓
MOV A, #10 ;
XCH A, B ;鎶婁豢瀛欎綑鏁版斁A錛岄櫎鏁版斁B
DIV AB ;闄や互瀹藉ぇ緙10
MOV DBUF1 + 1, A ;鍗佷綅鏀懼埌瀛樺偍鍖鴻搗濮嬪湴鍧+1鍗曞厓涓
MOV DBUF1 + 2, B ;涓浣嶆斁鍒板瓨鍌ㄥ尯璧峰嬪湴鍧+2鍗曞厓涓
RET
鍘熸枃鐨勬敞閲婏紝鏈変簺錛屽啓鐨勪篃涓嶅硅礬鎱庤京銆
濡備紶閫佹寚浠ょ殑娉ㄩ噴錛屽簲璇ュ啓錛氭暟鎹瀛樻斁鍒...錛屽畠鍗村啓錛氭暟鎹瀛樻斁鍦...銆
鏈変簺涔︼紝灝辨槸鍦ㄧ瀻緙栵紝涓嶇湅涔熺艦銆
③ 單片機C語言中將二進制數轉化為十進制的辦法
按照如下步驟即可用C語言把二進制數轉換成十進制數的程序:
1、首先在主函數中設置成函數Sum,另外定義了一個數組array[8],用於存放輸入的八位二進制數。