找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机模拟I2c接口 原理与程序

查看数: 14576 | 评论数: 7 | 收藏 17
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-3-24 19:18

正文摘要:

1、I2c启动 由上图可以看书写数据的步骤为:1)启动I2c; 2)写入设备地址; 3)写入要读取数据存放的地址; 4)启动I2c; 5)写入设备地址(第八位为1,表示读数据); 6)读数据; 7)给设备发 ...

回复

ID:997051 发表于 2024-4-6 02:53
//·¢Ëíack
void I2c_sendAck(bit ack)
{
    SDA = ack;      
    SCL = 1;      
    delay(1);   
    SCL = 0;


//»ñè¡ack
bit I2c_getAck(void)
{
    bit ack;        
    SDA = 1;        
    SCL = 1;   

什么意思?!
ID:161164 发表于 2021-9-7 15:29
试了整天,Protues 里的I2C Debugger 都是收到A0 FF FF
看了其他文章才知道,等ACK时要先把SDA 置0
bit I2c_getAck(void)
{
    bit ack;        
    SDA = 0;//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<        
    SCL = 1;        
    delay(1);   
    ack = SDA;      
    SCL = 0;
    return ack;
}
ID:940533 发表于 2021-9-4 15:16
应用代码中void I2c_start()和void I2c_stop(),程序变的可运行,好评
ID:200295 发表于 2021-4-14 17:52
刚好用到,谢谢楼主分享。
ID:296886 发表于 2018-3-25 21:38
挺好的啊
ID:138443 发表于 2018-3-24 22:39
不错,支持楼主,支持51hei
ID:74784 发表于 2018-3-24 22:14
有汇编代码吗?

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表