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

📄 a_08_07.dt

📁 用义隆IC编写的一个玩具
💻 DT
📖 第 1 页 / 共 2 页
字号:
           MOV       A,@0X09  
           IOW       P6CR
           
           MOV       A,@0X09
           MOV       PORT6,A
           
           MOV       A,@0X0F
           MOV       PORT5,A
           IOW       P5CR
           
           MOV		A,@0XFF
           IOW		0X0B
           IOW		0X0D
           
           MOV		A,@0X00
           IOW		0X0C
           MOV		0X0F,A
           IOW		0X0F

;            MOV       A,@0Xff
;            IOW       PHCR
 

            
            MOV      A,@0X55
            XOR      A,POWERDOWN1
            JBS      STATUS,Z
            JMP      CLR_RAM
            
            MOV      A,@0XAA
            XOR      A,POWERDOWN2
            JBS      STATUS,Z
            JMP      CLR_RAM
            
            MOV      A,@0X18
            AND      A,STATUS
            XOR      A,@0X18
            JBS      STATUS,Z
            JMP      MAIN 
            
 ;*************************CLR RAM **************************
CLR_RAM:
		   MOV	     A,@0X1F
		   MOV	     TEMP,A
		   MOV 	     A,@0X11
		   MOV	     RSR,A
CLR_RAM0:
		   CLRA
	 	   MOV	     IAR,A
		   INC	     RSR
		   DJZ	     TEMP
		   JMP	     CLR_RAM0
		   CLR	     TEMP
		   CLR	     0X2F
;*************************************************************

MAIN:      
           MOV       A,@0X55
           MOV       POWERDOWN1,A
           MOV       A,@0XAA         
           MOV       POWERDOWN2,A
           MOV       A,@0X10
           MOV       SLEEPTIME,a
           
           MOV      A,@0X01
           IOW      IMR
          
           MOV      A,@0X00
           MOV      ISR,A
           
           MOV      A,@0X80
           IOW      IOCE
         
           MOV      A,@0X06    ;PRESCALER 256×128×2/4000=16ms
           CONTW
         
           ENI
LOOP:
           WDTC      
           MOV       A,MODE          
           ADD       PC,A
		   JMP       MODE0
		   JMP       MODE1
		   JMP       MODE2
		   JMP       MODE3
		   JMP       MODE4
		   JMP       MODE5
		   JMP       MODE6
MODE0:  
           MOV       A,@0X09
           MOV       PORT6,A
           mov       SLEEPTIME,sleeptime
           jbs       status,z
           jmp       loop
           
           DISI
           mov       a,@0x10
           mov       sleeptime,a

sleepmode: 
		   WDTC 
		   CLR		0X01         
           MOV       a, @0x0E
           CONTW 
           
           MOV       A,@0x00         ;WDT DISABLE
           IOW       IOCE
           MOV       PORT6,PORT6      ;READ P6
          

           MOV       A,@0x03         ;ENABLE INTERRUPT BIT
           IOW       IMR

           DISI
           
           SLEP
           DISI
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           DISI
           MOV		A,@0X00
           MOV		0X0F,A
           IOW		0X0F
           WDTC
           MOV      A,@0X80
           IOW      IOCE 
                   
           MOV      A,@0X06    ;PRESCALER (256-6)/(1:2)/2=0.500MS
           CONTW
           CLR		0X01
           
           MOV		A,@0X01
           IOW		0X0F
           NOP
           ENI
           nop
          JMP       LOOP        
MODE1:  
          MOV       A,@0X1F
          MOV       PORT6,A        

          MOV       A,@0X1E     ;3.0
          MOV       DELAYTIME,A               
          CALL      DELAY
        
          MOV       A,@0X1B
          MOV       PORT6,A
          MOV       A,@0X50     ;8.0
          MOV       DELAYTIME,A               
          CALL      DELAY                     
          JMP       LOOP

MODE2:         
        MOV       A,@0X3F
        MOV       PORT6,A


        MOV       A,@0X37     ;5.5
        MOV       DELAYTIME,A               
        CALL      DELAY
        MOV       A,@0X3B
        MOV       PORT6,A       

        MOV       A,@0X37     ;5.5
        MOV       DELAYTIME,A               
        CALL      DELAY                
        JMP       LOOP
        
MODE3:  
        MOV       A,@0X2F
        MOV       PORT6,A

        MOV       A,@0X50     ;8.0
        MOV       DELAYTIME,A               
        CALL      DELAY
        WDTC
        MOV       A,@0X2B
        MOV       PORT6,A

        MOV       A,@0X1E     ;3.0
        MOV       DELAYTIME,A               
        CALL      DELAY                        
        JMP       LOOP
MODE4:
           
        MOV       A,@0X0B
        MOV       TEMP3,A
;*******************************************************************************
MODE4_1:
        MOV       A,@0X2F
        MOV       PORT6,A

        MOV       A,@0X4D    ;76
        MOV       DELAYTIME,A               
        CALL      DELAY
        MOV       A,@0X3B
        MOV       PORT6,A

        MOV       A,@0X10     ;16
        MOV       DELAYTIME,A               
        CALL      DELAY                
        DJZ       TEMP3
        JMP       MODE4_1
        MOV       A,@0X08
        MOV       TEMP3,A
MODE4_2:
        MOV       A,@0XE7
        MOV       DELAYTIME,A
        CALL      DELAY
        DJZ       TEMP3
        JMP       MODE4_2
        JMP       LOOP

MODE5:  
        MOV       A,MODE
        MOV       MODE_BUF,A
        MOV       A,@0X02
        MOV       TEMP4,A
MODE5_30:
        MOV       A,@0X11
        MOV       TEMP3,A

MODE5_1:
        MOV       A,MODE
        XOR       A,MODE_BUF
        JBS       STATUS,Z
        JMP       LOOP
        
        MOV       A,@0X3F
        MOV       PORT6,A

        MOV       A,@0X67    ;11 校准
        MOV       DELAYTIME,A               
        CALL      DELAY
        
        MOV       A,@0X0B
        MOV       PORT6,A

        MOV       A,@0X09     ;1
        MOV       DELAYTIME,A               
        CALL      DELAY                
        DJZ       TEMP3
        JMP       MODE5_1
        
        MOV       A,@0X0A
        MOV       TEMP3,A
MODE5_10:       
        MOV       A,@0XC0
        MOV       DELAYTIME,A	
        CALL      DELAY
        DJZ       TEMP3
        JMP       MODE5_10
        DJZ       TEMP4
        JMP       MODE5_30
;***************************************************************************        
        
        MOV       A,@0X55
        MOV       TEMP3,A
MODE5_2:
        MOV       A,MODE
        XOR       A,MODE_BUF
        JBS       STATUS,Z
        JMP       LOOP
        
        MOV       A,@0X2F
        MOV       PORT6,A

        MOV       A,@0X46    ;76
        MOV       DELAYTIME,A               
        CALL      DELAY
        
        MOV       A,@0X0B
        MOV       PORT6,A

        MOV       A,@0X2B     ;16
        MOV       DELAYTIME,A               
        CALL      DELAY     
        DJZ       TEMP3
        JMP       MODE5_2
        
        MOV       A,@0X0A
        MOV       TEMP3,A           
MODE5_20:
        MOV       A,@0XC0
        MOV       DELAYTIME,A
        CALL      DELAY
        DJZ       TEMP3
        JMP       MODE5_20
        JMP       LOOP
;*************************************************************
MODE6:
        MOV       A,@0X32		;50周期
        MOV       TEMP3,A
        MOV       A,@0X00
        MOV       DELAYON,A
        MOV       A,@0X4D		;80MS校准
        MOV       DELAYOFF,A
        MOV       A,MODE
        MOV       MODE_BUF,A
MODE6_1:
        MOV       A,MODE
        XOR       A,MODE_BUF
        JBS       STATUS,Z
        JMP       LOOP
        MOV       A,@0X2F
        MOV       PORT6,A

        INC       DELAYON
        MOV       A,DELAYON      ;76
        MOV       DELAYTIME,A               
        CALL      DELAY1MS
        MOV       A,@0X1B
        MOV       PORT6,A
        
        DEC       DELAYOFF     ;16
        MOV       A,DELAYOFF
        MOV       DELAYTIME,A               
        CALL      DELAY1MS                
        DJZ       TEMP3
        JMP       MODE6_1
        JMP       LOOP

⌨️ 快捷键说明

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