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

📄 ht24lc02.asm

📁 HT45RM03A 在電動自行車控制器中的應用
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;=============================write ht24lc02=======================================
wrepprom PROC
;----------------------------------------------------------
;input: ADDRESS   in  R_addrepprom
;       DATA      in  data_sz
;----------------------------------------------------------

wrepprom1: 
   mov            a,R_addrepprom
   mov            R_Bfadr,a
   mov            a,data_sz
   mov            R_BfWr,a
                  
   clr            wdt
;---------------begin----
 
   clr             sdac
   clr             sclc
   nop             
                   
   set             sda           
   nop             
   set             scl 
   nop                                   
   clr             sda                 ;start 
   nop             
   clr             scl
   nop             
   nop             
   nop             
   nop             

;1010...   
;--------------------------------------------------------------------------                   
   set             sda                        ;1
   nop             
   set             scl 
   nop                                     
   clr             scl
   nop             
                   
   clr             sda                        ;0
   nop             
   set             scl  
   nop                                 
   clr             scl
                   
   set             sda                        ;1
   nop             
   set             scl
   nop             
   clr             scl
   nop             
   clr             sda                        ;0
   nop             
   set             scl
   nop             
   clr             scl
   nop             
;----------------------------------------------------------------------                   


                   

;a2a1a0...
;----------------------------------------------------------------------                   
   clr             sda                        ;a2
   nop             
   set             scl
   nop             
   clr             scl
   nop             
                                    
   
   clr             sda                        ;//wang 
   set             scl                        ;a1
   nop                                   
   clr             scl
   nop             

   clr             sda                        ;//wang 
   set             scl                        ;a0
   nop                                   
   clr             scl
   nop             
;-------------------------------------------------------------------------------

                             

;R/W
;----------------------------------------------------------------------                   
   clr             sda                        ;//wang 
   set             scl                        ;0    R/!W
   nop             
   clr             scl
   nop             
                   


;-------------------wait ACK--------------------------------------------------
   set             sda
   nop             
   nop             
   set             sdac
   ;set             scl
   nop             
   

wait_ACK1:
    clr           wdt
    sz            sda
    jmp           wait_ACK1
                  
    ;clr          scl
                  
    clr           sdac
    nop           
    set           scl
    nop           
    clr           scl
    nop           
;----------------------------------------------------------------------                   





;address....
;----------------------------------------------------------------------                   
    mov           a,08h
    mov           R_T1,a                     ;8

epprom_addrwr:
    clr          wdt 
    
    clr          sda
    sz           R_Bfadr.7
    set          sda
    nop         
    
    set          scl
    nop         
    clr          scl
    nop         
                
    rl           R_Bfadr
    sdz          R_T1
    jmp          epprom_addrwr
                
    set          sda
    nop         
    set          sdac
    nop         
;-------------------wait_ACK--------------------------------------------------

 
wait_ACK2:
      clr       wdt
      sz        sda
      jmp       wait_ACK2
      
      
      clr       sdac
      nop      
      clr       sda
      nop      
      set       scl
      nop      
      clr       scl
      nop      
;----------------------------------------------------------------------                   




;----------------------------------------------------------------------                   
      mov        a,08h
      mov        R_T1,a                     ;8

epprom_datawr:
     clr         wdt
     
     clr         sda
     nop        
     sz          R_BfWr.7
     set         sda
     nop        
     set         scl
     nop        
     clr         scl
     rl          R_BfWr
     sdz         R_T1
     jmp         epprom_datawr
     
     

;wait HT24LC02 ACK signal...     
;----------------------------------------------------------------------                   
     set         sda
     nop        
     set         sdac
     nop         

data_next:  
      clr         wdt  
      sz          sda
      jmp         data_next
;----------------------------------------------------------------------                   
      


; To ht24lc02 a LOW ACK signal...      
;----------------------------------------------------------------------                   
      clr         sdac
      nop        
      clr         sda
      nop        
      set         scl
      nop        
      clr         scl
;----------------------------------------------------------------------                   



;stop signal...
;----------------------------------------------------------------------                   
      clr         scl
      nop         
      clr         sda
      nop         
      set         scl
      nop         
      set         sda
      nop         
      
      RET
wrepprom ENDP
;=============================================================================


   




;=============================read ht24lc02=======================================
readepprom PROC

;----------------------------------------------------------
; input:       ADDRESS   in  R_addrepprom
;output:       DATA      in  data_sz
;----------------------------------------------------------

readepprom_pre: 
   mov               a,R_addrepprom
   mov               R_Bfadr,a
   mov               R_Bfadr2,a

readepprom1: 

;start....
;----------------------------------------------------------------------                   
   clr               R_BfIn
   clr               wdt
                     
   clr               sdac
   nop
   clr               sclc
                     
   nop
   set               sda
   nop
   set               scl                        ;start 
   nop
   clr               sda
   nop               
   clr               scl
   nop
;----------------------------------------------------------------------                   



;1010....                     
;----------------------------------------------------------------------                   
   set               sda                        ;1
 
   nop
   set               scl
   nop               
   clr               scl                        
                     
   clr               sda                        ;0             
   nop
   set               scl
   nop                                    
   clr               scl
   nop
                     
   set               sda                        ;1
   nop
   set               scl
   nop               
   clr               scl
   nop
                     
   clr               sda                        ;0
   nop
   set               scl
   nop               
   clr               scl
   nop
;----------------------------------------------------------------------                   



;a2a1a0....                     
;----------------------------------------------------------------------                   
   clr               sda                        ;A2A1A0
   nop
   set               scl
   nop               
   clr               scl
   nop
                                   
   clr               sda                        ;wang...
   nop
   set               scl                        ;0
   nop                                    
   clr               scl
   nop

⌨️ 快捷键说明

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