历史上的今天

今天是:2024年11月14日(星期四)

2019年11月14日 | AVR I2C通信程序

发布者:tanjunhui 来源: 51hei关键字:AVR  I2C  通信程序 手机看文章 扫描二维码
随时随地手机看文章

uchar SDA_Return(void)//0-low level  1-hign level
{
          uchar flag;
          uchar oldSREG=SREG;
          SREG&=~(_BV(7));    
   DDRC&=0xfd;
   PORTC|=_BV(PC1);
   if((PINC&_BV(PC1)) !=0)//0000 0010
        flag=1;
    else
        flag=0;
                SREG=oldSREG;
                return flag;
}

void delay(void)
{
                ;
                ;
}

void start(void)
{
        SDA_1;
        delay();
        SCL_1;
        delay();
        SDA_0;
        delay();
        
}

void stop(void)
{
         
        SDA_0;
        delay();
    SCL_1;
        delay();
    SDA_1;
        delay();
}

void respons(void) 
{
        uchar i=0;
        SCL_1;
        delay();
        while((SDA_Return())&&(i<250))i++;
        SCL_0;
        delay();
}

void I2C_init(void)
{
        SDA_1;
        delay();
        SCL_1;
        delay();
}

void write_byte(unsigned char i)
{
    unsigned char temp,num=0;
    for(temp=0;temp<8;temp++)
    {
            num=i&0x80;
        SCL_0;
        delay();
        if(num==0)
            {SDA_0; }
        else
            {SDA_1; }
                 
                        
        delay();
                SCL_1;
                delay();
                i=i<<1;
                delay();
                
    }
        SCL_0;
    delay();
        SDA_0;
    delay();
}


uchar read_byte(void)
{
        uchar i,j,value=0;
                SCL_0;
        for(i=0;i<8;i++)
        {
                value<<=1;
                value|=SDA_Return();
                SCL_1;
                delay();
                //delay();
                SCL_0;
                delay();
                
        }
        return value;
}



void Ack_I2c(void)
{
        SDA_0;              
        delay();     
        SCL_1;
        delay(); 
        SCL_0;                    
        delay();
        SDA_1;
}

void NAck_I2c(void)
{

        SDA_1;              
        delay();     
        SCL_1;
        delay(); 
        SCL_0;                    
        delay();

}

关键字:AVR  I2C  通信程序 引用地址:AVR I2C通信程序

上一篇:ICC-AVR DS1821S温度报警程序
下一篇:mega32单片机最简单的中断程序——外部中断

推荐阅读

集成半桥电路的家电用电机驱动器可省去散热片,大幅缩减软件认证时间及成本深耕于高压集成电路高能效电源转换领域的知名公司Power Integrations公司(纳斯达克股票代号POWI)今日发布BridgeSwitch™集成半桥电路(IHB)的电机驱动器IC产品系列。BridgeSwitch IC内部集成了两个性能加强的FREDFET(具有快恢复外延型二极管的场效应晶体管)分别用于半桥电路...
  麻省理工学院(MIT)的反馈控制系统课程专注于使用经典的控制和状态空间技术设计和分析控制系统。 此门课程向本科生和研究生开放,每年秋季大约招收20名学生。 课程的一部分内容要求学生设计并实现一系列实验室模块中物理系统的翻转、俯冲和偏航控制器。 学生使用根轨迹、Bode图和其他技术来设计经典的控制器,采用线性二次调节器(LQR)、线性二次型高...
在机海战术大行其道的当下,魅族这种在精不在多的产品布局显然有悖于“潮流”。但恰恰是这样一种特立独行,反而孕育出了不一样的品牌调性。尤其近年来,魅族在高端手机领域持续发力,一方面专注于不普通的外观设计,另一方面对产品性能、体验却又力求极致,在消费者心中一直存有不错的印象。今年,魅族再次聚焦高端真旗舰,推出17系列,这也是本年度魅族发...

史海拾趣

问答坊 | AI 解惑

有调通过marvell wifi 8686 sdio接口驱动来讨论下???

正在调sdio接口的wifi 8686驱动,sdio确认好的,读写寄存器,加载固件都没问题。有以下问题: 1. 我是直接把驱动放在bsp中编的,wince启动后自动加载wifi驱动, 并且这个wifi驱动会自行搜索热点。我的理解是wifi驱动加载固件启动完wifi芯片注册网络 ...…

查看全部问答∨

protel 99se中,sp232E在哪个库中?

如题。 protel 99se中,SP232E所在的库叫什么?…

查看全部问答∨

lstAdd的使用问题!

    SESSION_POS_S *pTestpos1, *pTestpos2, *pTestpos3, *pPos;     LIST *pMyList = NULL;     int NodeIndex = 0;             DPRINT("-------- lstAdd测试 -------\\n ...…

查看全部问答∨

看看我的成果

本人长期从事单片机开发应用,积累了一定的经验。本人将毕生研究心得集成了文字,放在我的博客里,希望大家光临指导,并给点意见。我的博客地址;http://blog.mcuol.com/user/Article/500.html…

查看全部问答∨

f2812AD转换波动很大,不知是什么原因?

用电位器输出一个电压值,从我watch窗口看到的ADCresult值都在变化,变化比较大。如0xabc0,b为都会能差4,帮忙分析一下可能那里设置不对。谢谢!…

查看全部问答∨

ez430-rf2500遇到了问题。。求指点

 想请问你一下 那个ez430-rf2500为什么ed连上电池两个灯还是不闪。。ap的红灯在闪烁。。并且PC上温度只有一个ap温度显示。。就是说ed的没有反应。。好像是没有连接到网络。。后来又折腾了一下。。现在ap的红绿灯都在闪。。但是ed还是没反应。 ...…

查看全部问答∨

特权同学写的sdram控制器读出的数据全是FF?

最近在用特权同学写的sdram控制器,但是串口读出的数据全是FF,不知道出错在什么地方?用没用过调通的朋友,不吝赐教,万分感谢啊…

查看全部问答∨

高手帮忙看一下这程序

#include<reg51.h>    //  包含51单片机寄存器定义的头文件unsigned char code Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};  //数字0~9的段码unsigned char int_time ; //中断次数计数变量unsigned ...…

查看全部问答∨

Verilog HDL信号类型不一致

module main (                       ....); wire   clk1MHz; // 产生1MHz的时钟波形 // 输入为20MHz的时钟 clock_divider  instT1MHz &nb ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved