⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dpdj.asm

📁 用单片机实现的计算器,有不明白的可以联系我,QQ64134703,专业毕业设计辅导
💻 ASM
字号:
RS BIT P2.0
RW BIT P2.1
E BIT P2.2


ORG 00H

START:MOV P0,#01H
ACALL ENABLE
MOV P0,#01H
ACALL ENABLE
MOV P0,#38H
ACALL ENABLE
MOV P0,#0cH
ACALL ENABLE
MOV P0,#07H
ACALL ENABLE
MOV P0,#0CAH
CALL ENABLE

MOV R7,#0
MOV R3,#0
MOV 50H,#0




WAIT:  LCALL TESTKEY
       JZ WAIT
       CALL GETKEY
   	   CALL show	
       AJMP WAIT
TESTKEY:
       MOV P1,#0FH
       MOV A,P1
       CPL A
       ANL A,#0FH
       RET
KEYTABLE:
       DB  0D7H,0EBH,0DBH,0BBH   ;0,1,2,3
       DB  0EDH,0DDH,0BDH,0EEH   ;4,5,6,7
       DB  0DEH,0BEH,077H,07BH   ;8,9,+,-
       DB  07DH,07EH,0B7H,0E7H   ;*,/,=,ON/C
GETKEY:
       MOV R6,#10
       LCALL DELAY
       MOV P1,#0FH
       MOV A,P1
       CJNE A,0FH,K12
       LJMP WAIT
K12:   MOV B,A
       MOV P1,#0EFH
       MOV A,P1
       CJNE A,#0EFH,K13
       MOV P1,#0DFH
       MOV A,P1
       CJNE A,#0DFH,K13
       MOV P1,#0BFH
       MOV A,P1
       CJNE A,#0BFH,K13
       MOV P1,#07FH
       MOV A,P1
       CJNE A,#07FH,K13
       LJMP WAIT
K13:   ANL A,#0F0H
       ORL A,B
       MOV B,A
       MOV R1,#16
       MOV R2,#0
       MOV DPTR,#KEYTABLE
K14:   MOV A,R2
       MOVC A,@A+DPTR
       CJNE A,B,K16
       MOV P1,#0FH
K15:   MOV A,P1
       CJNE A,#0FH,K15
       MOV R6,#10
       LCALL DELAY1
       MOV A,R2

       RET
K16:   INC R2
       DJNZ R1,K14
       LJMP WAIT
	   delay1:mov r7,#80
dloop: djnz r7,dloop
       djnz r6,dloop
       ret

LESS:  RET
CLEAR: 
       MOV P0,#01H
       ACALL ENABLE
       MOV P0,#01H
       ACALL ENABLE
	   RET
show:	   push acc
       clr e
	   acall enable
	   add a,#30h
	   mov p0,a
	   setb rs 
	   clr rw
	   clr e
	   pop acc
	   ret
ENABLE:CLR RS
   CLR RW
   CLR E
   ACALL DELAY
   SETB E
   RET
DELAY:
   MOV P0,#0FFH
   CLR RS
   SETB RW
   CLR E
   NOP
   SETB E
   JB P0.7,DELAY
   RET
   END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -