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

📄 iap.inc

📁 用于DSP中FLASH的擦除和编写程序
💻 INC
📖 第 1 页 / 共 4 页
字号:
			  cbr   r19,1<<lcd_rw
			  sts   PORTJ,r19
               nop
                nop

              out   portc,r16
              rcall dllcd_IAP   
			    
              ;cbrm  portj,lcd_e
			    lds   r19, PORTJ
			  cbr   r19,1<<lcd_e
			  sts   PORTJ,r19

               nop
                nop

              cbi   portg,lcd_cs1
			  cbi   portg,lcd_cs2
			  cbi   portd,lcd_cs3
			  cbi   portd,lcd_cs4
			  rcall dllcdcs_IAP  
			  pop   r19   

              ret       
       
;- - - - - - - - - - - - - - - - -
outd_IAP1:
              sbi   portg,lcd_cs1

        ;      sbrm  portj,lcd_e
        ;      sbrm  portj,lcd_rs
        ;      cbrm  portj,lcd_rw
              push   r19
              lds   r19, PORTJ
			  sbr   r19,1<<lcd_e
			  sts   PORTJ,r19
               nop
                nop

			  lds   r19, PORTJ
			  sbr   r19,1<<lcd_rs
			  sts   PORTJ,r19
               nop
                nop

			  lds   r19, PORTJ
			  cbr   r19,1<<lcd_rw
			  sts   PORTJ,r19
               nop
                nop

              out   portc,r16
              rcall dllcd_IAP     

              ;cbrm  portj,lcd_e
			    lds   r19, PORTJ
			  cbr   r19,1<<lcd_e
			  sts   PORTJ,r19

             nop
                nop 
			   
              cbi   portg,lcd_cs1
              rcall dllcdcs_IAP     
              pop   r19
              ret

;- - - - - - - - - - - - - - - - -
outd_IAP2:
              sbi   portg,lcd_cs2

         ;     sbrm  portj,lcd_e
         ;     sbrm  portj,lcd_rs
         ;     cbrm  portj,lcd_rw
              push   r19
              lds   r19, PORTJ
			  sbr   r19,1<<lcd_e
			  sts   PORTJ,r19
               nop
                nop

			  lds   r19, PORTJ
			  sbr   r19,1<<lcd_rs
			  sts   PORTJ,r19
               nop
                nop

			  lds   r19, PORTJ
			  cbr   r19,1<<lcd_rw
			  sts   PORTJ,r19
               nop
                nop

              out   portc,r16
              rcall dllcd_IAP     

             ; cbrm  portj,lcd_e

			   lds   r19, PORTJ
			  cbr   r19,1<<lcd_e
			  sts   PORTJ,r19
             
			   nop
                nop

              ;rcall dllcd_IAP    
			   
              cbi   portg,lcd_cs2
              rcall dllcdcs_IAP     
             pop   r19
              ret

;- - - - - - - - - - - - - - - - -
outd_IAP3:
              sbi   portd,lcd_cs3
                 nop
                nop
      ;        sbrm  portj,lcd_e
      ;        sbrm  portj,lcd_rs
      ;        cbrm  portj,lcd_rw
             push   r19
              lds   r19, PORTJ
			  sbr   r19,1<<lcd_e
			  sts   PORTJ,r19
              nop
                nop
			  lds   r19, PORTJ
			  sbr   r19,1<<lcd_rs
			  sts   PORTJ,r19
              nop
                nop
			  lds   r19, PORTJ
			  cbr   r19,1<<lcd_rw
			  sts   PORTJ,r19
              nop
			    nop


              out   portc,r16
              rcall dllcd_IAP     

             ; cbrm  portj,lcd_e

			   lds   r19, PORTJ
			  cbr   r19,1<<lcd_e
			  sts   PORTJ,r19
               nop
			  nop

             ; rcall dllcd_IAP   
			    
              cbi   portd,lcd_cs3
              rcall dllcdcs_IAP  
			     
              pop   r19

              ret

;- - - - - - - - - - - - - - - - -
outd_IAP4:
              sbi   portd,lcd_cs4
              
           ;   sbrm  portj,lcd_e
           ;   sbrm  portj,lcd_rs
           ;   cbrm  portj,lcd_rw
              
              push   r19
              lds    r19, PORTJ
              sbr    r19,1<<lcd_e
              sts    PORTJ,r19
              nop
              nop

              lds   r19, PORTJ
              sbr   r19,1<<lcd_rs
              sts   PORTJ,r19
              nop
              nop
              nop

			  lds   r19, PORTJ
			  cbr   r19,1<<lcd_rw
			  sts   PORTJ,r19
              nop
			  nop
			  nop

			  out   portc,r16
              rcall dllcd_IAP  
                 
			  lds   r19, PORTJ
			  cbr   r19,1<<lcd_e
			  sts   PORTJ,r19
			  nop
			  nop

              ;cbrm  portj,lcd_e
             ; rcall dllcd_IAP   
			    
              cbi   portd,lcd_cs4
              rcall dllcdcs_IAP     
              pop   r19
              ret


;- - - - - - - - - - - - - - - - -
dllcd_IAP:
              nop
              nop
              nop
              nop 

              nop
              nop 
              nop
              nop  	
			  
			  nop
              nop
			  nop
			  nop

              nop
              nop
			  nop
			  nop

              nop
              nop
			  nop
			  nop
                        
              ret   

;- - - - - - - - - - - - - - - - -
dllcdcs_IAP:
              nop
              nop
              nop
              nop 

              nop
              nop 
              nop
              nop  
			  
			  nop
			  nop	
            
              nop
              nop
			  nop
			  nop

              nop
              nop
			  nop
			  nop
			  ret   

;- - - - - - - - - - - - - - - - -
lcdinit_IAP: 
              ldi     r16,0x3f
              rcall   outi_IAP
            
              rcall   dllcd_IAP
              rcall   dllcd_IAP

              ldi     r16,0xc0
              rcall   outi_IAP

              rcall   dllcd_IAP
              rcall   dllcd_IAP
            
              ldi     r16,0b10111000
              rcall   outi_IAP

              rcall   dllcd_IAP
              rcall   dllcd_IAP
            
              ldi     r16,0b01000000
              rcall   outi_IAP

              rcall   dllcd_IAP
              rcall   dllcd_IAP
            
              ret      

;- - - - - - - - - - - - - - - - -
;;清屏程序
clrdi_IAP:
              ldi    r17,0b10111000
              ldi    r23,8
clrdi_IAP1:
              mov    r16,r17  
              rcall  outi_IAP
            
              ldi    r16,0b01000000
              rcall  outi_IAP
            
              ldi    r22,64
clrdi_IAP2:            
              ldi    r16,0x0
              rcall  outd_IAP
              dec    r22 
              brne   clrdi_IAP2
            
              inc    r17

              dec    r23
              brne   clrdi_IAP1
            
              ret

IO_INIT_IAP:

;          cbrio MCUCR,PUD;;全体I/O上拉
		  in     r16,MCUCR
		  cbr    r16,1<<PUD
		  out    MCUCR,r16

;                   165clk    165pl      IRC        HOPC     DSP_RST   IRBR_C    IRBL_C    IRAL_C
		  ldi  r16,(1<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
		  out  DDRA,r16
		  out  PORTA,r16

;                    MRL       TFD       TFC_M    TFD_M      MISO     MOSI      SCK         SS
		  ldi  r16,(0<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(1<<BIT2)|(1<<BIT1)|(1<<BIT0)
		  out  DDRB,r16
	      out  PORTB,r16
;                 DB0-DB7
		  ldi  r16,(1<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(1<<BIT2)|(1<<BIT1)|(1<<BIT0)
          out  DDRC,r16
	      out  PORTC,r16
;                    CS3       CS4     LCD_SWITCH  MTC22     TXD1       RXD1     MRR2      MRR   
          ldi  r16,(1<<BIT7)|(1<<BIT6)|(1<<BIT5)|(0<<BIT4)|(1<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
		  out  DDRD,r16
	      out  PORTD,r16
;                    MTC11     ENC_MAIN  ENC_CT3  ENC_CT2   外显清0  IRDR_C     IRDL_C    IRCL_C          
		  ldi  r16,(0<<BIT7)|(0<<BIT6)|(0<<BIT5)|(0<<BIT4)|(1<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
		  out  DDRE,r16
	      out  PORTE,r16
;                   TDI        TDO      TMS       TCK        IRCR      IRCL     STAU_AD   STAD_AD
          ldi  r16,(0<<BIT7)|(0<<BIT6)|(0<<BIT5)|(0<<BIT4)|(0<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
		  out  DDRF,r16
	      out  PORTF,r16

;                   IRCR_C    SPD_B     SPD_A     165DAT      CS1       CS2                 
          ldi  r16,(0<<BIT5)|(1<<BIT4)|(1<<BIT3)|(0<<BIT2)|(1<<BIT1)|(1<<BIT0)
          out  DDRG,r16	
	      ldi  r16,(0<<BIT5)|(1<<BIT4)|(1<<BIT3)|(1<<BIT2)|(1<<BIT1)|(1<<BIT0)         	 
	      out  PORTG,r16
;                    TFC      SW        外显计数  CT3LR     CT1LR      CTS       TXD2      RXD2
		  ldi  r16,(1<<BIT7)|(0<<BIT6)|(1<<BIT5)|(0<<BIT4)|(0<<BIT3)|(1<<BIT2)|(1<<BIT1)|(0<<BIT0)
		  sts  DDRH,r16
	      sts  PORTH,r16
;                    IRBR_C    RS         R/W      E        LCD_RST    MRL2      TXD0     RXD0
		  ldi  r16,(0<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(0<<BIT2)|(1<<BIT1)|(0<<BIT0)
		  sts  DDRJ,r16
	      sts  PORTJ,r16
;                   HOP_AD   ADUVA     IRBR       IRAL      IRAR      IRBL      IRDR       IRDL      
          ldi  r16,(0<<BIT7)|(0<<BIT6)|(0<<BIT5)|(0<<BIT4)|(0<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
		  sts  DDRK,r16
	      sts  PORTK,r16
;                    SDA      SCLSPD2       FM        SPD1      BMC       MTC1       MTC2
		  ldi  r16,(0<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(1<<BIT2)|(0<<BIT1)|(0<<BIT0)
		  sts  DDRL,r16
	      sts  PORTL,r16
		  ret

CLOSED_IAP:
    ;sbrm   PORTH,BIT7 ;TFD + =0
	cli

    lds    r16,PORTH
    sbr    r16,1<<BIT7
    sts    PORTH,r16   ;;TFD + =0   
    NOP        
    sbi    PORTB,BIT6    ;TFD - =0;断电 
    NOP    
   
	 lds    r16,PORTL
	 cbr    r16,1<<BIT2
	 sts    PORTL,r16 ;BMC_ON;关电机 

     cbi    PORTB,(BIT5)
     nop
	 cbi    PORTB,(BIT4);;关进钞电机 

	 ret

delay_IAP:  push r16 ;2t

delay_IAP1: push r16 ;2t  

delay_IAP2: push r16 ;2t
 
delay_IAP3: dec r16 ;1t
        brne delay_IAP3 ;1t/2t

        pop r16 ;2t
        dec r16 ;1t
        brne delay_IAP2 ;1t/2t
        pop r16 ;2t
        dec r16 ;1t
        brne delay_IAP1 ;1t/2t
        pop r16 ;2t 
        ret ;4t

;- - - - - - - - - - - - - - - - - -
tabec_IAP:
;41  'A'   00
  .db   0xe0,0xf0,0x98,0x8c,0x98,0xf0,0xe0,0x00 
  .db   0x0f,0x0f,0x00,0x00,0x00,0x0f,0x0f,0x00 

;52  'R'   01
  .db   0x04,0xfc,0xfc,0x44,0xc4,0xfc,0x38,0x00 
  .db   0x08,0x0f,0x0f,0x00,0x00,0x0f,0x0f,0x00 
  
;44  'D'   02
  .db   0x04,0xfc,0xfc,0x04,0x0c,0xf8,0xf0,0x00 
  .db   0x08,0x0f,0x0f,0x08,0x0c,0x07,0x03,0x00 
  
  ;45  'E' 03
  .db   0x04,0xfc,0xfc,0x44,0xe4,0x0c,0x1c,0x00 
  .db   0x08,0x0f,0x0f,0x08,0x08,0x0c,0x0e,0x00 
  
;47  'G'   04
  .db   0xf0,0xf8,0x0c,0x84,0x84,0x8c,0x98,0x00 
  .db   0x03,0x07,0x0c,0x08,0x08,0x07,0x0f,0x00 
    
  ;49  'I' 05
  .db   0x00,0x00,0x04,0xfc,0xfc,0x04,0x00,0x00 
  .db   0x00,0x00,0x08,0x0f,0x0f,0x08,0x00,0x00 
  
    ;4e  'N' 06
  .db   0xfc,0xfc,0x38,0x70,0xe0,0xfc,0xfc,0x00 
  .db   0x0f,0x0f,0x00,0x00,0x00,0x0f,0x0f,0x00 
  
;50  'P'   07
  .db   0x04,0xfc,0xfc,0x44,0x44,0x7c,0x38,0x00 
  .db   0x08,0x0f,0x0f,0x08,0x00,0x00,0x00,0x00 

;55  'U'   08
  .db   0xfc,0xfc,0x00,0x00,0x00,0xfc,0xfc,0x00 
  .db   0x07,0x0f,0x08,0x08,0x08,0x0f,0x07,0x00
  
 ;57  'W' 09
  .db   0xfc,0xfc,0x00,0xc0,0x00,0xfc,0xfc,0x00 
  .db   0x07,0x0f,0x0e,0x03,0x0e,0x0f,0x07,0x00 
   
  ;3a  ':' 0a
  .db   0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00 
  .db   0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00 

  ;20  ' ' 0b
  .db   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
  .db   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
  
UPGRADE:   .db 0x08,0x07,0x04,0x01,0x00,0x02,0x03,0x0b            
UPGRADING: .db 0x08,0x07,0x04,0x01,0x00,0x02,0x05,0x06,0x04,0x0b 
ERR_IAP1:  .db 0x03,0x01,0x01,0x0A,0x01,0x0b;ERR:R
ERR_IAP2:  .db 0x03,0x01,0x01,0x0A,0x00,0x0b;ERR:A
ERR_IAP3:  .db 0x03,0x01,0x01,0x0A,0x09,0x0b;ERR:W
   
fver:
.db  0x00,0x01,0x00,0x00     
 


⌨️ 快捷键说明

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