MSP430F1121与PCF8576驱动程序

描述

#include  "MSP430x11x1.h" 

#define uint unsigned int 
#define uchar unsigned char 

//器件地址 
uchar    PCF8576=0x70; 

//内存数据定义 

uchar    ByteCnt;     //I2C 数据字节计数器 
uchar    SlvAdr;        //被控器地址 
uchar    SubAdr;        //被控器单元地址 
uchar    XmtDat[5];    //发送数据缓冲区 


//uchar    MODE1=0x45; 
uchar    MODE2=0xCD;        // 
uchar    Bank_sel=0x78; 

uchar    flag; 

uchar    Digit[10]; 

#define SDA      BIT3      // P2.3 controls SDA line (pull-up used for  
logIC 1) 
#define SCL   BIT4      // P2.4 controls SCL line (pull-up used for logic 1) 



/****************************************************************************** 
; 子程序 
;名称:START 
;描述:启动I2C 总线子程序--发送I2C 起始条件 
;;*****************************************************************************/ 
void START(void) 

    P2OUT |= SDA;        //SDA=1 
    _NOP(); 
    P2OUT |= SCL;        //SCL=1 
    _NOP(); 
    P2OUT &= ~SDA;        //SDA=0 
    _NOP(); 
    P2OUT &= ~SCL;        //SCL=0 


/*-------------------------------------------------------------------------- 
;名称:STOP 
;描述:停止I2C 总线子程序--发送I2C 总线停止条件 
;-------------------------------------------------------------------------*/ 
void STOP(void) 

    P2OUT &= ~SDA;        //SDA=0 
    _NOP(); 
    P2OUT |= SCL; 
    _NOP(); 
    P2OUT |= SDA; 
    _NOP(); 
    P2OUT &= ~SCL; 


void cack(void)        /* 应答位检查 */ 

    P2OUT |= SDA; 
    P2OUT |= SCL; 

    P2DIR &= ~SDA; 

    _NOP();     
    P2OUT &= ~SCL; 
     
    P2DIR |= SDA; 
     


void delay(uchar time) 

uchar i; 

do{ 
    for(i=100;i!=0;i--); 
     
  } while(--time!=0); 


     
/*---------------------------------------------------------------------- 
;名称:SendByte 
;描述:字节数据传送子程序发送一个字节数据或地址给被控器PCF8576 
;------------------------------------------------------------------------*/ 
void SendByte(uchar Data) 

uchar i=8; 
     
    do   
      { 
          if((Data&0x80)==0x80) 
            P2OUT |= SDA; 
          else 
                 P2OUT &= ~SDA; 
                  
          P2OUT |= SCL; 
        _NOP (); 
          P2OUT &= ~SCL; 

          Data=Data

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分