① 鍗旷墖链轰簩杩涘埗镰佸埌鍗佽繘鍒剁爜镄勮浆鎹
鍗旷墖链轰簩杩涘埗镰佸埌鍗佽繘鍒剁爜镄勮浆鎹,涓嶆槸杞鎹锛岃屾槸鍒嗙
锅囱緉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],用于存放输入的八位二进制数。