c51计数器代码汇编语⾔,基于51单⽚机的计算器设计程序代码
(汇编).docx
基于51单⽚机的计算器设计程序代码(汇编)
DBUFEQU 30HTEMP EQU 40HYJ EQU50H ;结果存放YJ1 EQU51H ;中间结果存放GONG EQU52H ;功能键存放ORG
00HSTART:MOV R3,#0 ;初始化显⽰为空MOV GONG,#0MOV 30H,#10HMOV 31H,#10HMOV 32H,#10HMOV
33H,#10HMOV 34H,#10HMLOOP:CALL DISP ;PAN调显⽰⼦程序WAIT:CALL TESTKEY ;判断有⽆按键JZ WAIT CALL GETKEY ;读键INC R3 ;按键个数CJNE A,#0,NEXT1 ;判断是否数字键LJMP E1 ;转数字键处理NEXT1:CJNE A,#1,NEXT2LJMP E1NEXT2:CJNE A,#2,NEXT3LJMP E1NEXT3:CJNE A,#3,NEXT4LJMP E1NEXT4:CJNE A,#4,NEXT5LJMP E1NEXT5:CJNE A,#5,NEXT6LJMP
网页计算器html代码E1NEXT6:CJNE A,#6,NEXT7LJMP E1NEXT7:CJNE A,#7,NEXT8LJMP E1NEXT8:CJNE A,#8,NEXT9LJMP E1NEXT9:CJNE
A,#9,NEXT10LJMP E1NEXT10:CJNE A,#10,NEXT11 ;判断是否功能键LJMP E2 ;转功能键处理NEXT11:CJNE
A,#11,NEXT12LJMP E2NEXT12:CJNE A,#12, NEXT13LJMP E2NEXT13:CJNE A,#13,NEXT14LJMP E2NEXT14:CJNE
A,#14,NEXT15LJMP E2NEXT15:LJMP E3 ;判断是否清除键E1:CJNE R3,#1,N1 ;判断第⼏次按键LJMP E11 ;为第⼀个数字N1:CJNE R3,#2,N2LJMP E12 ;为第⼆个数字N2:CJNE R3,#3,N3 LJMP E13 ;为第三个数字N3:LJMP E3 ;第四个数字转溢出E11:MOV R4,A ;输⼊值暂存R4MOV 34H,A ;输⼊值送显⽰缓存MOV 33H,#10HMOV 32H,#10HLJMP MLOOP ;等待再次输⼊E12: MOV R7,A ;个位数暂存R7MOV B,#10MOV A,R4MUL AB ;⼗位数ADDA,R7MOV R4,A ;输⼊值存R4MOV 32H,#10H ;输⼊值送显⽰缓存MOV
33H,34HMOV 34H,R7LJMP MLOOPE13:MOV R7,AMOV B,#10MOV A,R4MUL ABJB OV,E3 ;输⼊溢出ADD A,R7JB CY,E3 ;输⼊溢出MOV R4,AMOV 32H,33H;输⼊值送显⽰缓存MOV 33H,34HMOV 34H,R7LJMP MLOOPE3:MOV R3,#0 ;按键次数清零MOV R4,#0 ;输⼊值清零MOV YJ,#0 ;计算结果清零MOV GONG,#0 ;功能键设为零MOV 30H,#10H ;显⽰清空MOV 31H,#10HMOV 32H,#10HMOV 33H,#10HMOV 34H,#10HLJMP MLOOPE2:MOV 34H,#10HMOV 33H,#10HMOV 32H,#1

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。