微控技术论坛
微控首页
MSP430基础资料
 
 
 
 
 
 
 
 
MC430F14例程:模拟IIC驱动24C02
                   这是国内卖得最为火热的MSP430单片机实验板之一!

【作  者】:
微控设计网
DC版主 原创

【例程简介】:
利用MC430F14开发板上MSP430与AT24C02进行IIC总线模拟实验。MSP430模拟IIC向AT24C02写入4个字节数据,然后读出4个字节.最后做数据校验。如果读出来的数据与写入的原数据相同,则D2-LED会亮.否则D2-LED不亮。
    

  


【例  程】:
//基于MC430F14开发板实验例程
#include "msp430x14x.h"
#include "define.h"
//IIC总线操作成失标志
#define error 0x01 //错误
#define right 0x00 //正确
#define AT24_ADD 0xA0 //24c02芯片地址
#define write 0x00 //写
#define read 0x01 //读
#define Quantity 4 //操作数量
#define incept_add 0x00 //操作内部地址首址
//写入AT24C02数据表
unsigned char write_table[4]={'a','b','c','d'};
//读出AT24C02数据缓冲区
unsigned char read_Buff[4]={'x','x','x','x'};
unsigned char iic_check; //检查标志,可选的.

//******************************************************
//MSP430F14初始化
void init (void)
{
 P1DIR |= BIT1; //LED输出
 P1OUT |= BIT1; //关LED
}

//******************************************************
//软延时
void delay(unsigned int n)
{ unsigned int k;
 for(k=0;k<n;k++);
}

//******************************************************
//检验两组数据是否正确,如在检验数据中有一组不正确,则退出.
//*Data_REF参考值数组,*Data_CHK被检验数组,n检验数量
//并返回一个成败标志.
unsigned char data_check(unsigned char *Data_REF, unsigned char *Data_CHK,
unsigned char n)
{ unsigned char chk ;
while(n)
 {
 if(Data_REF[n-1]==Data_CHK[n-1]) //进行校对
  { chk = right; //正确
  n--; //下一位
  }
 else
 { chk = error; //校对有错
  continue; //马上退出
 }
 }
return chk ; //返回校对成败标志.
}

//******************************************************
void main(void)
{
 WDTCTL=WDTPW+WDTHOLD; //停止WDT
 init(); //初始化
//向AT24C02芯片写入4字节数据
 iic_check=IIC(write_table,Quantity,incept_add,(AT24_ADD|write));
 delay(600); //写入后,做一个适当的延时
 //向AT24C02芯片读出4字字节数据
 iic_check=IIC(read_Buff,Quantity,incept_add,(AT24_ADD|read));
 //判别校验是否成功
 if(!(data_check(write_table,read_Buff,Quantity)))
  P1OUT ^= BIT1; //LED亮则表示IIC总线写读操作成
 LPM1; //最后进入低功耗模式1
}
//******************************************************

  

       从IAR调试软件可以查看到从24C02读出的RAM数组内容

【购买开发板】: 
MC430F14开发板主页  查看上一个例程

        
购买流程查看      查看下一个例程

 

 
 
微控淘宝站授权专卖店
 
MSP430玩家DIY专区
 
Copyright© 2005-2009 All Rights Reserved

Http://www.microcontrol.cn  微控网

电邮: 电话:0755-81100430

微控网站备案序号:粤ICP备05102666号