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

📄 1按键.asm

📁 it is used in the workplace for getting a high working speed!
💻 ASM
字号:
 CS  BIT   P3.7
 WULC BIT  P3.2    ;物料(1)
 UEBZ BIT  P3.3    ;设备(2)
 VILD BIT  P3.5    ;质量(3)
 TIWZ BIT  P3.4    ;提位(4)
 FASS BIT  P1.4
 ;30H存放识别码(58H)31H,存放地址,(1为1号,)32H存放问题,1-4
     ORG   0000H
     AJMP  MAIN
     ORG 0023H
     LJMP TRAX
     ORG  0040H
MAIN:MOV  SP,#60H
     clr  P1.7
      CLR    A
      MOV    R0,#5FH
CLRROM:MOV   @R0,A
      DJNZ   R0,CLRROM
          MOV TMOD,#21H        ;定时器0工作在方式1,基数为10ms
      MOV TH0,#0D8H        ;3CH ;
      MOV TL0,#090H        ;0B0H  ;;"0F0"
      MOV TH1,#0F3H        ;工作在方式一,且SMOD=1时,此时的波特率为4800。
      MOV TL1,#0F3H
      MOV SCON,#0F0H       ;工作方式3,多级通讯格式,SM2 置1只允许接受地址信息
                           ;SM2为“1”时多级通信方式,RB2为地址/数据标志位。
                           ;SM为“0”接受的为数据
      MOV PCON,#80H
      CLR  EA
      SETB ES
      SETB ET0
      SETB TR0
      CLR  ET1
      SETB TR1
      CLR   RI
      CLR   RI
      SETB EA               ;开CPU中断
      CLR FASS
      MOV  30H,#58H
      MOV  32H,#60   ;按键的序号

    ;  MOV   P3,#0F0H
    ;  MOV   P1,#0ffH
  AA:LCALL  ANJM
     LCALL DOG
     ;SETB P1.7
     ;LCALL DEL1S
     ;CLR P1.7
     ;LCALL DEL1S
      AJMP AA

;=========================================
;串口中断
TRAX:  CLR EA
       CLR ES
       CLR RI
       PUSH PSW
       PUSH DPH
       PUSH DPL
       PUSH A
     ;  ACALL JXUUJU                     ;接收顺序号
TRAX0: POP A
       POP DPL
       POP DPH
       POP PSW
       SETB ES
       SETB EA
       RETI

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;按键检测;
 ANJM: LCALL DOG
      SETB  WULC
      JB    WULC,AN2
      LCALL DEL100MS
      JB    WULC,AN2
      MOV   A,40H
      CJNE  A,#00H,AN02
      MOV   31H,#01
      LCALL DOG
      LCALL FSUU
      CLR   P1.1
       LCALL BEEP
      LCALL DEL1S
      MOV   40H,#01H
      AJMP  AN2
  AN02:SETB P1.1
      LCALL BEEP
      LCALL DEL1S
      MOV   40H,#0

  AN2:LCALL DOG
      SETB  UEBZ
      JB    UEBZ,AN3
      LCALL DEL100MS
      JB    UEBZ,AN3
      MOV   A,41H
      CJNE  A,#00H,AN03
      MOV   31H,#02
      CLR   P1.2
      LCALL FSUU
      LCALL BEEP
      LCALL DEL1S
      MOV   41H,#01
      AJMP  AN3
  AN03:SETB P1.2
      LCALL BEEP
      LCALL DEL1S
      MOV   41H,#0


  AN3:LCALL DOG
       SETB  VILD
      JB    VILD,AN4
      LCALL DEL100MS
      JB    VILD,AN4
      MOV   A,42H
      CJNE  A,#00H,AN04
      MOV   31H,#03
      CLR   P1.5
      LCALL FSUU
      LCALL BEEP
      LCALL DEL1S
      MOV   42H,#01
      AJMP  AN4
  AN04:SETB P1.5
      LCALL BEEP
      LCALL DEL1S
      MOV   42H,#0


  AN4:LCALL DOG
      SETB  TIWZ
      JB    TIWZ,ANR
      LCALL DEL100MS
      JB    TIWZ,ANR
      MOV   A,43H
      CJNE  A,#00H,AN05
      MOV   31H,#04
      CLR   P1.6
       LCALL FSUU
       LCALL BEEP
      LCALL DEL1S
      MOV   43H,#01H
      AJMP ANR
 AN05:SETB P1.6
      LCALL BEEP
      LCALL DEL1S
      MOV   43H,#0
  ANR:RET
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  FSUU: CLR EA
        SETB FASS
        MOV  R1,#30H
   FS1: MOV A,@R1
        MOV SBUF,A
        JNB TI,$
        CLR TI
        INC R1
        MOV A,R1
        NOP
        NOP
        NOP
        CJNE A,#33H,FS1
        SETB EA
        CLR FASS
        RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;******延时100MS********
;^^^误差:相差177微秒^^^
DEL100MS: MOV R5,#0FEH
DL100MS0: MOV R6,#04EH
DL100MS1: MOV R7,#01H
          DJNZ R7,$
          DJNZ R6,DL100MS1
          DJNZ R5,DL100MS0
          RET
BEEP: LCALL DOG
      SETB P1.7
      LCALL DEL500MS
      CLR  P1.7
      LCALL DOG
     ; LCALL DEL100MS
     ; SETB   P1.7
     ; LCALL DEL100MS
     ; CLR  P1.7
      RET
;******延时500MS********
;^^^误差:相差889微秒^^^
DEL500MS: MOV R5,#0FEH
DL500MS0: MOV R6,#090H
DL500MS1: MOV R7,#03H
          DJNZ R7,$
          DJNZ R6,DL500MS1
          DJNZ R5,DL500MS0
          RET

 DOG:   SETB CS ;复位看门狗定时器
        NOP
        CLR CS
        NOP
        SETB CS
        RET
;******延时1S********
;^^^误差:相差1779微秒^^^
DEL1S: MOV R5,#0FEH
DL1S0: MOV R6,#0E7H

DL1S1: MOV R7,#07H
       DJNZ R7,$
       DJNZ R6,DL1S1
       DJNZ R5,DL1S0
       LCALL DOG
       RET

⌨️ 快捷键说明

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