单片机简单加法计算器

51单片机汇编

实现的是一个计算器,但是只能实现相加,写的比较简单,适合初学者使用。还要看具体开发板了

ORG 0000H					  
LJMP MAIN
MAIN:SETB P2.7CLR  P2.6MOV P0,#0F7HCLR P2.7SETB  P2.6CLR 30HKEYDOWN:                 MOV P3,#0FHLCALL DELAYMOV A,P3CJNE A,#0F0H,KEYSCANLJMP KEYDOWN
KEYSCAN:                       MOV A,P3CJNE A,#0EH,N1MOV R4,#00HLJMP NEXTN1: CJNE A,#0DH,N2MOV R4,#04HLJMP NEXTN2: CJNE A,#0BH,N3MOV R4,#08HLJMP NEXTN3: CJNE A,#07H,NEXTMOV R4,#0CHLJMP NEXTNEXT:                          ;判断按键所在行MOV P3,#0F0HMOV A,P3CJNE A,#0E0H,N4MOV R3,#00HLJMP NEXTN4: CJNE A,#0D0H,N5MOV R3,#01HLJMP NEXTN5: CJNE A,#0B0H,N6MOV R3,#02HLJMP NEXTN6: CJNE A,#70H,DIMOV R3,#03HLJMP DIDI: MOV A,R4ADD A,R3MOV B,AMOV DPTR,#LEDTABMOVC A,@A+DPTRCJNE A,#77H,D3 MOV P0,00HLJMP KEYDOWND3:  CJNE A,#7CH,D6	 MOV A,31HMOV B,32HADD A,BMOV B,#10DIV ABMOV DPTR,#LEDTABMOVC A,@A+DPTRMOV P0,ALCALL DELAYSETB P2.7CLR  P2.6MOV P0,#0EFHCLR P2.7SETB  P2.6MOV DPTR,#LEDTABMOV A,BMOVC A,@A+DPTRMOV P0,ALCALL DELAYLJMP KEYDOWND6:  MOV P0,AJB 30H,D5MOV 31H,BSETB 30HLJMP KEYDOWN
D5:	 MOV 32H,BLJMP KEYDOWN DELAY:                 ;延时函数
MOV R6,#25
D2: MOV R7,#100
DJNZ R7,$
DJNZ R6,D2
RET
LEDTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
END  

还要


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部