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

📄 i2c_wr.asm

📁 基于TMS320LF2407A变频器源程序
💻 ASM
字号:
*************************************************
*FILE: I2C_WR.ASM
*日期:2005年11月25日*		
*************************************************
* I2C_R  是I2C读数据程序
* I2C_W  是I2C写数据程序
* I2C_W_INT 写初始化
* I2C_R_INT	读初始化
* 内带先写后读数据校对程序(REST_7-30)
*************************************************
  	
**************** I2C串口通信 ******************** 
READ	 .set    0380h   ;读EEPROM,DSP存放数据首地址 
W_ADDS   .set    0380h
R_ADDS   .set    0800h
W_CNT    .set    0A0h    ;写控制字节
ADDESS   .set    0       ;24LC16B的块内地址
R_MUN    .set    47      ;48字节数(16BIT)
ADSS     .set    4       ;页面地址    
************************************************  
         .def    I2C_W,I2C_W_INT,I2C_R_INT
         .def    I2C_R
         .def    I2C_COUNT
         .def    R_MUN,READ,W_CNT
************************************************            
         .include "SPWM.H"  
************************************************ 
         .bss    I2C_WR_CNT,1
         .bss    I2C_COM,1
         .bss    I2C_DAT,1
         .bss    I2C_BIT,1
         .bss    I2C_ASK,1
         .bss    I2C_COME,1
         .bss    I2C_COUNT,1 
         .bss    I2C_ADDS,1 
         .bss    I2C_MUN,1 
         .bss    I2C_BAG,1 
         .bss    I2C_TIME,1    
         .bss    I2C_COUNT0,1  
         .bss    I2C_COUNT1,1
         .bss    I2C_COUNT2,1
         .bss    I2C_INT2,1
************************************************         
         .text     
************************************************
 
I2C_W_INT: 
            LDP     #0
	    	LACL    WR_CNT 
	    	BCND    I2C_END,NEQ 
	    	LACL    WRITEDAT
	    	SUB     #1234
	    	BCND    I2C_END,NEQ
	    	SPLK    #1,WR_CNT  
            LDP     #ADSS
            SPLK    #ADDESS,I2C_ADDS
            SPLK    #0,I2C_COUNT 
            SPLK    #8,I2C_MUN      ;每次写8字节数(16BIT)            
            SPLK    #6,I2C_BAG      ;共6x8=48字节数(16BIT): DATT0-DATT47
   	        SPLK    #0,I2C_COUNT2 
   	        LACL    #W_CNT
   	        SACL    I2C_WR_CNT
   	        LAR     AR0,#READ  
I2C_END:   	        
   	        RET	
************************************************   	        
I2C_R_INT:  
            LDP         #0
            LACL        #W_CNT
            SACL        I2C_CNT
            LAR         AR0,#R_MUN       ;AR0:读写的字节数(16BIT)

⌨️ 快捷键说明

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