91man(10).asm

来自「这个是单片机多路数据采集的控制程序。并可以同时多路输出。」· 汇编 代码 · 共 101 行

ASM
101
字号
      ORG 0H
      AJMP START
      ORG 13H
      AJMP INT1
      ORG 100H
START:MOV SP,#70H
      MOV DPTR,#0F800H
      MOV 30H,DPL
      MOV 31H,DPH
      CLR IE0
      CLR P1.7
      SETB IT1          
SETB EX1   
      SETB EA     
      CLR P1.1
      CLR P1.0    
T0SET:
      MOV TMOD,#01H
      MOV TH0,#0FEH  
      MOV TL0,#0CH 
      SETB TR0
      JNB P1.7, US500 
      MOV DPTR,#0BFFFH
      MOVX @DPTR,A
      MOV A,31H
      CLR C
      SUBB A,#0H    
      JNZ US500 
      CLR EA
      MOV IE,#00H   
      SJMP OUTPUT                    
US500:
      JNB TF0,US500
      CLR TF0
      CPL P1.7      
      AJMP T0SET
OUTPUT:     
       MOV 30H,#00
       MOV 31H,#0F8H      
       MOV 32H,#00
       MOV 33H,#0FCH
CH1:
       CLR P1.3
       CLR P1.2
       MOV A,30H
       MOV DPL,A
       MOV A,31H
       MOV DPH,A
       MOVX A,@DPTR
       INC DPTR
       MOV 30H,DPL
       MOV 31H,DPH
       MOV DPTR,#0DFFFH  
       MOVX @DPTR,A
       CALL DL500US
;CH2
       SETB P1.3
       SETB P1.2
       MOV A,32H
       MOV DPL,A
       MOV A,33H
       MOV DPH,A
       MOVX A,@DPTR
       INC DPTR
       MOV 32H,DPL
       MOV 33H,DPH
       MOV DPTR,#0DFFFH
       MOVX @DPTR,A
       CALL DL500US
       MOV A,33H
       CLR C
       SUBB A,00H
       JZ OUTPUT        
       SJMP CH1
INT1: PUSH A
      MOV DPTR,#0BFFFH
      MOVX A,@DPTR
      MOV DPL,30H
      MOV DPH,31H
      MOVX @DPTR,A
      INC DPTR
      MOV 30H,DPL
      MOV 31H,DPH                         
      MOV A,31H
      CJNE A,#0FCH,END1
      MOV A,30H
      CJNE A,#00H,END1  
      CLR P1.1
      SETB P1.0
END1:
      MOV A,31H
      CJNE A,#0H,END2 
      CLR EA
      CLR EX1
 END2:POP A
      RETI
dl500Us:mov r4,#249
loop1:djnz r4,loop1
      ret

      END

⌨️ 快捷键说明

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