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

📄 jiandan.asm

📁 单片机最小系统代码,键盘扫描,数码管显示以及PC机进行窜口通信
💻 ASM
字号:
   KEYBUF      EQU 30H
            ORG 00H
            LJMP START
            ORG 23H
            LJMP RECEIVE
START:       SETB EA
          SETB ES
          MOV SP,#60H
          MOV TMOD,#20H
          MOV TH1,#0FDH
          MOV TL1,#0FDH
          SETB TR1
          MOV SCON,#50H
          MOV PCON,#00H

WAIT:
            MOV P1,#0FFH
            CLR P1.4
            MOV A,P1
            ANL A,#0FH
            XRL A,#0FH
            JZ NOKEY1
            LCALL DELY10MS
            MOV A,P1                                
            CJNE A,#0EEH,NK1
             JNB P1.0,$
            MOV KEYBUF,#0
            LJMP DK
NK1:        CJNE A,#0EDH,NK2
             JNB P1.1,$
            MOV KEYBUF,#1
            LJMP DK
NK2:        CJNE A,#0EBH,NK3
             JNB P1.2,$
            MOV KEYBUF,#2
            LJMP DK
NK3:        CJNE A,#0E7H,NK4
             JNB P1.3,$
            MOV KEYBUF,#3
            LJMP DK
NK4:        NOP


NOKEY1:
            MOV P1,#0FFH
            CLR P1.5
            MOV A,P1
            ANL A,#0FH
            XRL A,#0FH
            JZ NOKEY2
            LCALL DELY10MS

            MOV A,P1

            CJNE A,#0DEH,NK5
            JNB P1.0,$
            MOV KEYBUF,#4
            LJMP DK
NK5:        CJNE A,#0DDH,NK6
            JNB P1.1,$
            MOV KEYBUF,#5
            LJMP DK
NK6:        CJNE A,#0DBH,NK7
             JNB P1.2,$
            MOV KEYBUF,#6
            LJMP DK
NK7:        CJNE A,#0D7H,NK8
            JNB P1.3,$
            MOV KEYBUF,#7
            LJMP DK
NK8:        NOP


NOKEY2:
            MOV P1,#0FFH
            CLR P1.6
            MOV A,P1
            ANL A,#0FH
            XRL A,#0FH
            JZ NOKEY3
            LCALL DELY10MS

            MOV A,P1

            CJNE A,#0BEH,NK9
            JNB P1.0,$
            MOV KEYBUF,#8
            LJMP DK
NK9:        CJNE A,#0BDH,NK10
           JNB P1.1,$
            MOV KEYBUF,#9
            LJMP DK
NK10:       CJNE A,#0BBH,NK11
            JNB P1.2,$
            MOV KEYBUF,#10
            LJMP DK
NK11:       CJNE A,#0B7H,NK12
            JNB P1.3,$
            MOV KEYBUF,#11
            LJMP DK
NK12:       NOP
NOKEY3:
            MOV P1,#0FFH
            CLR P1.7
            MOV A,P1
            ANL A,#0FH
            XRL A,#0FH
            JZ NOKEY4
            LCALL DELY10MS

            MOV A,P1

            CJNE A,#7EH,NK13
            JNB P1.0,$
            MOV KEYBUF,#12
            LJMP DK
NK13:       CJNE A,#7DH,NK14
JNB P1.1,$
            MOV KEYBUF,#13
            LJMP DK
NK14:       CJNE A,#7BH,NK15
JNB P1.2,$
            MOV KEYBUF,#14
            LJMP DK
NK15:       CJNE A,#77H,NK16
JNB P1.3,$
            MOV KEYBUF,#15
            LJMP DK
NK16:       NOP
DK:
            MOV A,KEYBUF
            MOV DPTR,#TABLE1
            MOVC A,@A+DPTR
            MOV P2,A
            MOV A,KEYBUF
            MOV DPTR,#TABLE2
            MOVC A,@A+DPTR
	    MOV SBUF,A
            LCALL DELY10MS
            CLR TI
NOKEY4:  LJMP WAIT
RECEIVE:  JBC TI,MM
           MOV  A,SBUF
           CLR RI
            MOV DPTR,#TABLE3
            MOVC A,@A+DPTR
            MOV P2,A
MM:           CLR TI
                RETI

DELY10MS:
            MOV R6,#50
D1:         MOV R7,#248
            DJNZ R7,$
            DJNZ R6,D1
            RET
TABLE1:     DB 0C6H,90H,92H,0F9H,0A1H,0C0H,82H,0A4H
            DB 86H,88H,0F8H,0B0H,8EH,83H,80H,99H
TABLE2:     DB 0CH,09H,05H,01H,0DH,00H,06H,02H
            DB 0EH,0AH,07H,03H,0FH,0BH,08H,04H
TABLE3:     DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
            DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH
            END

⌨️ 快捷键说明

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