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

📄 iap.inc

📁 用于DSP中FLASH的擦除和编写程序
💻 INC
📖 第 1 页 / 共 4 页
字号:
              ori     r16,0b01000000
              sts     d_dy,r16
dispcc_IAP10:               
              lds     r16,d_dx
              lds     r17,d_dz
              cpi     r17,1
              brne    dispcc_IAP11
              rcall   outi_IAP1
              rjmp    dispcc_IAP20
dispcc_IAP11:
              cpi     r17,2
              brne    dispcc_IAP12
              rcall   outi_IAP2
              rjmp    dispcc_IAP20
dispcc_IAP12: 
              cpi     r17,3
              brne    dispcc_IAP13
              rcall   outi_IAP3
              rjmp    dispcc_IAP20
dispcc_IAP13:
              cpi     r17,4
              brne    dispcc_IAP14
              rcall   outi_IAP4
              rjmp    dispcc_IAP20
dispcc_IAP14: 
              rjmp    dispcc_IAP99
      
dispcc_IAP20:
              lds     r16,d_dy
              lds     r17,d_dz
              cpi     r17,1
              brne    dispcc_IAP21
              rcall   outi_IAP1
              rjmp    dispcc_IAP30
dispcc_IAP21: 
              cpi     r17,2
              brne    dispcc_IAP22
              rcall   outi_IAP2
              rjmp    dispcc_IAP30
dispcc_IAP22: 
              cpi     r17,3
              brne    dispcc_IAP23
              rcall   outi_IAP3
              rjmp    dispcc_IAP30
dispcc_IAP23:
              cpi     r17,4
              brne    dispcc_IAP24
              rcall   outi_IAP4
              rjmp    dispcc_IAP30
dispcc_IAP24: 
              rjmp    dispcc_IAP99

dispcc_IAP30:  
              lds     r23,d_b
dispcc_IAP31:  
              Elpm    r16,z+
  		     
              lds     r17,d_c
              cpi     r17,1
              brne    dispcc_IAP32;d_c=0;正常显示
              com     r16
dispcc_IAP32:   
              lds     r17,d_dz

              cpi     r17,1
              brne    dispcc_IAP33
              rcall   outd_IAP1
              rjmp    dispcc_IAP39
dispcc_IAP33:
              cpi     r17,2
              brne    dispcc_IAP34
              rcall   outd_IAP2
              rjmp    dispcc_IAP39
dispcc_IAP34: 
              cpi     r17,3
              brne    dispcc_IAP35
              rcall   outd_IAP3
              rjmp    dispcc_IAP39
dispcc_IAP35: 
              cpi     r17,4
              brne    dispcc_IAP39
              rcall   outd_IAP4
              rjmp    dispcc_IAP39
dispcc_IAP39:     
              dec     r23 
              rcall   dllcdcs_IAP  
              brne    dispcc_IAP31
dispcc_IAP40:
              lds     r16,d_dx
              inc     r16
              sts     d_dx,r16
              cpi     r16,0b10111110
              brne    dispcc_IAP41
              ldi     r16,0b10111000
              sts     d_dx,r16
dispcc_IAP41:  
              lds     r16,d_dx
              lds     r17,d_dz  
              cpi     r17,1
              brne    dispcc_IAP42
              rcall   outi_IAP1
              rjmp    dispcc_IAP50
dispcc_IAP42: 
              cpi     r17,2
              brne    dispcc_IAP43
              rcall   outi_IAP2
              rjmp    dispcc_IAP50
dispcc_IAP43: 
              cpi     r17,3
              brne    dispcc_IAP44
              rcall   outi_IAP3
              rjmp    dispcc_IAP50
dispcc_IAP44:
              cpi     r17,4
              brne    dispcc_IAP45
              rcall   outi_IAP4
              rjmp    dispcc_IAP50
dispcc_IAP45:  
              rjmp    dispcc_IAP99
dispcc_IAP50:
              lds     r16,d_dy
              lds     r17,d_dz 
              cpi     r17,1
              brne    dispcc_IAP51
              rcall   outi_IAP1
              rjmp    dispcc_IAP60
dispcc_IAP51: 
              cpi     r17,2
              brne    dispcc_IAP52
              rcall   outi_IAP2
              rjmp    dispcc_IAP60
dispcc_IAP52: 
              cpi     r17,3
              brne    dispcc_IAP53
              rcall   outi_IAP3
              rjmp    dispcc_IAP60
dispcc_IAP53: 
              cpi     r17,4
              brne    dispcc_IAP54
              rcall   outi_IAP4
              rjmp    dispcc_IAP60
dispcc_IAP54: 
              rjmp    dispcc_IAP99
dispcc_IAP60:
              lds     r23,d_b
dispcc_IAP61: 
              Elpm    r16,z+
              lds     r17,d_c 
              cpi     r17,1
              brne    dispcc_IAP62
              com     r16
dispcc_IAP62:
              lds     r17,d_dz
              cpi     r17,1
              brne    dispcc_IAP63
              rcall   outd_IAP1
              rjmp    dispcc_IAP69
dispcc_IAP63: 
              cpi     r17,2
              brne    dispcc_IAP64
              rcall   outd_IAP2
              rjmp    dispcc_IAP69
dispcc_IAP64: 
              cpi     r17,3
              brne    dispcc_IAP65
              rcall   outd_IAP3
              rjmp    dispcc_IAP69
dispcc_IAP65: 
              cpi     r17,4
              brne    dispcc_IAP69
              rcall   outd_IAP4
              rjmp    dispcc_IAP69
dispcc_IAP69:
              dec     r23
              rcall   dllcdcs_IAP  
              brne    dispcc_IAP61
dispcc_IAP99:
              rcall   dllcdcs_IAP  

              ret                   
              
              
;lcd  
;- - - - - - - - - - - - - - - - -
lcdbl_on_IAP:
              cbi    PORTD,BIT5
              ret
;- - - - - - - - - - - - - - - - -
lcd_rst_IAP:
            ; sbrm   PORTJ,lcd_res
              push    r19
;             lds     r16, PORTJ
;             sbr     r16,1<<lcd_res
;             sts     PORTJ,r16

              rcall   dllcd_IAP
              rcall   dllcd_IAP 
              rcall   dllcd_IAP
              rcall   dllcd_IAP  
               
              lds     r19, PORTJ
              cbr     r19,1<<lcd_res
              sts     PORTJ,r19

            ;cbrm   PORTJ,lcd_res
              

              ldi    r16,40
              rcall   delay_IAP
              
			 
              lds    r19, PORTJ
              sbr    r19,1<<lcd_res
              sts    PORTJ,r19
		
              pop    r19
			 ; sbrm  PORTJ,lcd_res
              ret

;- - - - - - - - - - - - - - - - -


;- - - - - - - - - - - - - - - - -
outi_IAP:
              sbi   portg,lcd_cs1
			  nop
              nop
              sbi   portg,lcd_cs2
              nop
              nop
              sbi   portd,lcd_cs3
              nop
              nop
              sbi   portd,lcd_cs4
			  nop
              nop
              push   r19
              lds   r19, PORTJ
              sbr   r19,1<<lcd_e
              sts   PORTJ,r19
			  nop
              nop
              lds   r19, PORTJ
              cbr   r19,1<<lcd_rs
              sts   PORTJ,r19
              nop
              nop
              lds   r19, PORTJ
              cbr   r19,1<<lcd_rw
              sts   PORTJ,r19
              nop
              nop

;             sbrm  portj,lcd_e
;             cbrm  portj,lcd_rs
;             cbrm  portj,lcd_rw
			 
              out   portc,r16
              rcall dllcd_IAP

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

              pop   r19

              rcall dllcd_IAP   
			    
              cbi   portg,lcd_cs1
			  nop
              nop
			  cbi   portg,lcd_cs2
			  nop
              nop
			  cbi   portd,lcd_cs3
			  nop
              nop
			  cbi   portd,lcd_cs4
			  rcall dllcdcs_IAP     
              ret
              
;- - - - - - - - - - - - - - - - -
outi_IAP1:
              sbi portg,lcd_cs1

;              sbrm  portj,lcd_e
;              cbrm  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
			  cbr    r19,1<<lcd_rs
			  sts    PORTJ,r19
              nop
              nop
			  lds    r19, PORTJ
			  cbr    r19,1<<lcd_rw
			  sts    PORTJ,r19        
              nop
              nop
 ;            rcall dllcd_IAP     

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

              rcall  dllcd_IAP  
			     
              cbi    portg,lcd_cs1

              rcall  dllcdcs_IAP  
			  
			  pop    r19
			  
			     
              ret
                   
;- - - - - - - - - - - - - - - - -
outi_IAP2:
              sbi   portg,lcd_cs2

             ; sbrm  portj,lcd_e
             ; cbrm  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
			  cbr    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


              rcall  dllcd_IAP    
			   
	          cbi    portg,lcd_cs2
              rcall  dllcdcs_IAP     
              pop    r19
              ret

;- - - - - - - - - - - - - - - - -
outi_IAP3:
              sbi   portd,lcd_cs3

           ;   sbrm  portj,lcd_e
           ;   cbrm  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
			  cbr   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


              rcall dllcd_IAP 
			      
              cbi   portd,lcd_cs3
              rcall dllcdcs_IAP     
              pop   r19
              ret

;- - - - - - - - - - - - - - - - -
outi_IAP4:
              sbi   portd,lcd_cs4
              push   r19
     ;         sbrm  portj,lcd_e
     ;         cbrm  portj,lcd_rs
     ;         cbrm  portj,lcd_rw

              lds   r19, PORTJ
			  sbr   r19,1<<lcd_e
			  sts   PORTJ,r19
			   nop
                nop
			  lds   r19, PORTJ
			  cbr   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


              rcall dllcd_IAP     

              cbi   portd,lcd_cs4

              rcall dllcdcs_IAP
			  pop   r19     
              ret

;- - - - - - - - - - - - - - - - -
outd_IAP:
              sbi   portg,lcd_cs1
			  sbi   portg,lcd_cs2
			  sbi   portd,lcd_cs3
			  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

			  lds   r19, PORTJ

⌨️ 快捷键说明

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