導航:首頁 > 操作系統 > 51單片機16位加減乘除計算

51單片機16位加減乘除計算

發布時間:2023-12-24 15:46:00

⑴ 51單片機為基礎用匯編語言編寫用數碼管顯示一個同時有"加""減""乘""除"法功能的計算器程序,急用參考

ORG 0000H


LJMP MAIN


ORG 0100H


MAIN:MOV SP,#7EH


MOV 22H,#00H


CLR P2.0


CLR P2.3


MOV 20H,#00H


MOV 21H,#00H


MOV 30H, #00H


MOV 31H, #00H


MOV 32H, #00H ;初始化


SU: MOV 7DH,#0FFH


MOV 7EH,#0FFH


MOV 7FH,#0FFH


KEYI:ACALL KS1


CJNE A,#0F0H,LK1


ACALL DIR


AJMP KEYI


LK1:ACALL DIR


ACALL DIR


ACALL KS1


CJNE A, #0F0H,LK2


ACALL DIR


AJMP KEYI


LK2: ACALL KS1


MOV R2,A


ORL A,#0FH


MOV P0,A


ANL A,#0FH


ADD A,R2 ;鍵特徵值


CJNE A,#0EEH,JZHI1


MOV A,#00H


PUSH ACC


JZHI1: CJNE A,#0DEH,JZHI2


MOV A,#01H


PUSH ACC


JZHI2: CJNE A,#0BEH, JZHI3


MOV A,#02H


PUSH ACC


JZHI3: CJNE A,#7EH,JZHI4


MOV A,#03H


PUSH ACC


JZHI4: CJNE A, #0EDH, JZHI5


MOV A,#04H


PUSH ACC


JZHI5: CJNE A,#0DDH, JZHI6


MOV A, #05H


PUSH ACC


JZHI6: CJNE A,#0BDH, JZHI7


MOV A, #06H


PUSH ACC


JZHI7: CJNE A,#07DH, JZHI8


MOV A, #07H


PUSH ACC


JZHI8: CJNE A,#0EBH, JZHI9


MOV A, #08H


PUSH ACC


JZHI9: CJNE A,#0DBH, JZHI10


MOV A, #09H


PUSH ACC


JZHI10: CJNE A,#0BBH, JZHI11


MOV 20H,#01H


JZHI11: CJNE A,#07BH,FAN


MOV 21H, #01H


LCALL GMI


SETB P2.2 ;滅綠燈


LJMP SU ;改密


FAN: MOV A, 81H


CJNE A,#7FH, KEYI


JNB (20H).0, KEYITMP


MOV 20H,#00H


JBC (21H).0,LOOP


POP ACC


CJNE A,32H,NOTE


MOV 7FH,A


POP ACC


CJNE A,31H,NOTE


MOV 7EH,A


POP ACC


CJNE A,30H,NOTE


MOV 7DH,A


CLR P2.2


KEYITMP:LJMP KEYI


NOTE:LCALL BAOJ ;NOT是保留字不能做標號


SUTMP:LJMP SU


BAOJ:MOV SP,#7EH


INC 22H


JNB (22H).1, SUTMP


CLR P2.1


SETB P2.3


ACALL DELY1


CPL P2.1


CPL P2.3


MOV 22H,#00H


RET


GMI:JNB P2.2,SUTMP


LOOP:POP 32H


POP 31H


POP 30H


RET


DIR:MOV R0,#7DH


MOV R3,#01H


LD1: MOV A,@R0


MOV P1,A


MOV P3,R3


LCALL DELY


INC R0


MOV A,R3


JB ACC.2,LD2


RL A


MOV R3,A


SJMP LD1


LD2:RET ;顯示


DELY:MOV R7,#249


DL:DJNZ R7,DL


RET ;1ms延時


DELY1:MOV R5,#200


MOV R4,#50


LOOP1:MOV R3,#248


NOP


LOOP2:DJNZ R3,LOOP2


DJNZ R5,LOOP1


DJNZ R4,LOOP1


RET ;10s延時


KS1:MOV P0,#0F0H


MOV A,P0


ANL A, #0F0H


RET ;鍵是否按下


end


⑵ 關於51單片機的數值計算問題

U,是多少位二進制數字?
-------------------------
MOV A, U
MOV B, #209
MUL AB ;乘以209,可以方便以後的計算.
;乘積為16位。再除以256,右移8位即可.
;商就是剩下在B中的8位數了.
MOV A, B
MOV B, #10
DIV AB ;除以10,余數就是"一位小數"
MOV R2, B ;保存小數.
MOV B, #10
DIV AB ;再除以10,余數就是"個位數"
MOV R1, B ;保存個位數.
MOV R0, A ;保存十位數.

;完
結果的兩位整數,一位小數:分別存在 R0, R1, R2 中。

⑶ MCS-51單片機里的減法運算怎麼算的 比如0110 1010-1100 1001

MCS-51單片機里的減法運算, 比如0110 1010-1100 1001
0110 1010 6AH
- 1100 1001 - C9H
= 1010 0001 = A1H
不夠減 借位

⑷ 51單片機能做兩個16位的加法運算嗎如1010h和1010h,求大蝦!!!!!

沒有問題的,可以的,如用匯編
MOV R5, #10H ; 第一數據高位元組
MOV R4,#10H ; 第一數據低位元組
MOV R3, #10H ; 第二數據高位元組
MOV R2,#10H ; 第二數據低位元組
MOV A, R4
ADD A, R2
MOV R4, A ; 和低位元組 在 R4 中
MOV A, R5
ADDC A, R3
MOV R5, A ; 和高位元組 在 R5 中
RET

閱讀全文

與51單片機16位加減乘除計算相關的資料

熱點內容
壓縮文件好處 瀏覽:785
3d266期神童三膽計演算法 瀏覽:189
通過愛思助手怎麼下載app 瀏覽:323
vi命令將文件創在桌面上 瀏覽:923
程序員做競價 瀏覽:696
江蘇中小學編程納入課程 瀏覽:730
單純形法包括動態規劃演算法 瀏覽:951
cpdf百度網盤 瀏覽:671
綜合布線工程中配線架的演算法 瀏覽:925
單片機碩士論文 瀏覽:329
股票預測演算法現狀 瀏覽:430
程序員三高 瀏覽:180
pythonfiddle 瀏覽:215
韓信分油總共有幾種演算法 瀏覽:941
程序員思維方案 瀏覽:970
編譯環境要裝c盤嗎 瀏覽:648
單片機生成pwm 瀏覽:206
線上租車有什麼app 瀏覽:908
php程序修改 瀏覽:684
下列能查找文件或文件夾的操作是 瀏覽:314