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

📄 完整版.c

📁 基于HS108设计的高级智能饮水机控制器
💻 C
字号:

 static bit R67 @0x06@7:rpage 0;
 static bit R66 @0x06@6:rpage 0;
 static bit R65 @0x06@5:rpage 0;
 static bit R64 @0x06@4:rpage 0;
 static bit R63 @0x06@3:rpage 0;
 static bit R62 @0x06@2:rpage 0;
 static bit R61 @0x06@1:rpage 0;
 static bit R60 @0x06@0:rpage 0;

 
void main(void)
{
	_asm
	{	
       
       MOV   A,@0x2E
       CONTW
       WDTC
       MOV   A,@0x0
       IOW   0xE 
       MOV   0x6,0x6
       MOV   A,@0x02
       IOW   0xF
       ENI      
       MOV   A,@0xDD
       IOW   0x6
       CLR   0x6           
       MOV   A,@0x0
       MOV   0xF,A    
       SLEP
	}	
}

void _intcall interrupt_l(void) @ 0x08:low_int 0
{
   _asm 
   {
       MOV   A,@0x2E
       CONTW
       WDTC
       MOV   A,@0x0
       IOW   0xE     
       MOV   A,@0x0
       MOV   0xF,A
      //save A --> 0x1F ; R3 --> 0x3E (ram bank 1); R4 --> 0x3F (ram bank 1)
      MOV 0X1F,A   ;backup A to 0x1F
      SWAPA 0X04   ;backup R4 to 0x3F at bank 3
      MOV 0X3F,A   ;backup R4 to 0x3F at bank 3
      SWAPA 0X03   
      MOV 0X3E,A   ;backup R3 to 0x3E at bank 3
   }  	
}
void _intcall interrupt(void) @ int 0
{
 if(R60==0)
	{
		R61=1;
		R65=1;
	    _asm
	    {
; **** DELAY1 ****
       MOV   A,@0xFF
       MOV   0x10,A
    J2:MOV   A,@0xFF
       MOV   0x11,A
    J1:DJZ   0x11
       JMP   J1
       DJZ   0x10
       JMP   J2
; **** DELAY2 ****
       MOV   A,@0xFF
       MOV   0x10,A
    K3:NOP
       NOP
       JBS   0x6,0
       JMP   RETIF
       NOP
       MOV   A,@0xFF
       MOV   0x11,A
    K2:NOP
       NOP
       JBS   0x6,0
       JMP   RETIF
       NOP
       MOV   A,@0x70
       MOV   0x12,A
    K1:NOP
       NOP
       JBS   0x6,0
       JMP   RETIF
       NOP
       MOV   A,@0x02
       MOV   0x13,A
    K0:NOP
       NOP
       JBS   0x6,0
       JMP   RETIF
       NOP
       DJZ   0x13
       JMP   K0
       DJZ   0x12
       JMP   K1
       DJZ   0x11
       JMP   K2
       DJZ   0x10
       JMP   K3
       BC    0x6,5
       
; **** DELAY3 ****
       MOV   A,@0xFF
       MOV   0x10,A
    L3:JBS   0x6,0
       JMP   RETIF
       MOV   A,@0xFF
       MOV   0x11,A
    LL2:JBS   0x6,0
       JMP   RETIF
       MOV   A,@0x70
       MOV   0x12,A
    L1:JBS   0x6,0
       JMP   RETIF
       MOV   A,@0x02
       MOV   0x13,A
    L0:JBS   0x6,0
       JMP   RETIF
       DJZ   0x13
       JMP   L0
       DJZ   0x12
       JMP   L1
       DJZ   0x11
       JMP   LL2
       DJZ   0x10
       JMP   L3
; **** DELAY4 ****
       MOV   A,@0xFF
       MOV   0x10,A
    M3:JBS   0x6,0
       JMP   RETIF
       MOV   A,@0xFF
       MOV   0x11,A
    M2:JBS   0x6,0
       JMP   RETIF
       MOV   A,@0xBB
       MOV   0x12,A
    M1:JBS   0x6,0
       JMP   RETIF
       MOV   A,@0x03
       MOV   0x13,A
    M0:JBS   0x6,0
       JMP   RETIF
       DJZ   0x13
       JMP   M0
       DJZ   0x12
       JMP   M1
       DJZ   0x11
       JMP   M2
       DJZ   0x10
       JMP   M3
; **** CLOSE P61 ****
       BC    0x6,1      
 RETIF:BC    0x6,5
       BC    0x6,1
       MOV   A,@0xFF
       MOV   0x10,A
   JF2:MOV   A,@0xFF
       MOV   0x11,A
   JF1:DJZ   0x11
       JMP   JF1
       DJZ   0x10
       JMP   JF2
       RETI
	    }
	}
  
  _asm
   {
      SWAPA 0X3E   ;restore R3
      MOV 0X03,A
      SWAPA 0X3F   ;restore R4
      MOV 0X04,A
      SWAP 0X1F    ;restore A
      SWAPA 0X1F     
      RETI
   }
}

⌨️ 快捷键说明

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