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

📄 iic.h

📁 采用MPS430控制的项目
💻 H
字号:
#ifndef    _iic_
#define    iic
#else
#define    iic   extern                                     
#endif        

#define  SDA0      P5DIR=P5DIR|(1<<3); P5OUT=P5OUT&(~(1<<3));   
#define  SDA1      P5DIR=P5DIR|(1<<3); P5OUT=P5OUT|(1<<3);      

#define  SCLK0     P5DIR=P5DIR|(1<<4); P5OUT=P5OUT&(~(1<<4)); 
#define  SCLK1     P5DIR=P5DIR|(1<<4); P5OUT=P5OUT|(1<<4);
                  
#define  AT24C256  0xa2
#define  PCF8583T  0xa0

#define   I2C_MaxGaoJing        30
#define   I2C_GaoJingByte 		13
#define   I2C_OldDataByte       215


#define   I2C_UP            0x0030//上限、下限、零点
#define   I2C_Card          0x0090//卡号
#define   I2C_IP            0x0100
#define   I2C_MIMA 			0x0110
#define   I2C_TongXunTime 	0x0116
#define   I2C_Alarm_Sum     0x011F
#define   I2C_GaoJing 		0x0121
#define   I2C_OldData_Sum   (I2C_GaoJing+I2C_MaxGaoJing*I2C_GaoJingByte)
#define   I2C_OldData       (I2C_OldData_Sum+4)
#define   I2C_MaxOldData    ((0xFFFF-I2C_OldData)/I2C_OldDataByte)



iic void II_delay(void);
iic void I_start(void);
iic void I_stop(void);
iic void I_ack(void);
iic void N_ack(void);
iic void I_send(unsigned char I_data);
iic unsigned char I_receive(void);

iic unsigned char IIRD(unsigned char sla,unsigned int x);
iic void IIWR(unsigned char sla,unsigned int x,unsigned char y);   /*器件地址一位*/
iic unsigned char II3RD(unsigned char sla,unsigned  int dizi);     /*器件地址两位*/
iic void	   II3WR(unsigned char sla,unsigned  int dizi,unsigned char shuju);

#undef      iic 



/*
   小结:
   
          分类  1
                   a. LC01,LC02    (地址1位)
                   b. LC128,LC256  (地址2位)
                   
          分类  2 
                   a. LC04,LC08,LC16,LC32 (通过内部2个位来处理的)
             
    实际过程中,因为1个地址和2个地址混合用,所以采用2个时钟线来控制,
    公用SDA数据线  (采用一个全局变量来区分 IIC_biao )       
             
                  
*/

⌨️ 快捷键说明

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