iic模块PCF8574驱动1602学习记载

用PCF8574来扩展单片机的IO口,虽然IIC通信程序网上到处都是,但是之前也是驱动一个关于iic总线的芯片,那芯片怎么也不答应我,估计是地址的原因吧。地址这个事情总是不好把握。所以当拿到文档的时候,有点害怕这个芯片的时候有点不知所措,也害怕不答应我。还好运气比较好,后来居然立马就答应了。

1、利用Arduino,将硬件测试一下,很顺利就通了,这样就可以顺利的进行下一步了。

2、拷贝iic的通信程序

/********************延时***************/

void nop4()

{

     _nop_();    //等待一个机器周期

     _nop_();    //等待一个机器周期

     _nop_();    //等待一个机器周期

     _nop_();    //等待一个机器周期

}

//***************************************

void Start()

{

   SDA=1;

    _nop_();

    SCL=1;

    nop4();

    SDA=0;

    nop4();

    SCL=0;

    _nop_();

    _nop_();

}

void Stop()

{

   SDA=0;

    _nop_();

    SCL=0;

    nop4();//>4us后SCL跳变

    SCL=1;

    nop4();

    SDA=1;

    _nop_();

    _nop_();

}

//******************************************

void  Write_A_Byte(unsignedchar c)

{

 unsigned char BitCnt;

  for(BitCnt=0;BitCnt<8;BitCnt++)  //要传送的数据长度为8位

    {

    if((c<<BitCnt)&0x80) SDA=1;   //判断发送位

     else  SDA=0;               

     _nop_();

     SCL=1;               //置时钟线为高,通知被控器开始接收数据位

     nop4();

     _nop_();      

     SCL=0;

    } 

    _n

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值