目录

1.TM1637芯片(大自然的搬运工)

芯片介绍

引脚图

时序图

其他关键

管脚功能

命令格式

封装

2. 51单片机程序编写

I2C_START():

I2C_WR():

I2C_ACK():

I2C_STOP()

I2C

3. Proteus仿真

测试DP

仿真结果

示波器显示时序

4. 完整源程序

5. Proteus8工程下载

下载地址


1.TM1637芯片(大自然的搬运工)

  • 芯片介绍

  • 引脚图

  • 时序图

  • 其他关键

管脚功能

命令格式

封装

2. 51单片机程序编写

  • I2C总线协议

I2C_START():

I2C_WR():

I2C_ACK():

I2C_STOP()

I2C

void I2C()
{//初始化CLK=1;DIO=1;//写命令 设置地址自动加一模式TM_START();TM_WR(0x40);TM_ACK();TM_STOP();//写命令 设置数据起始地址TM_START();TM_WR(0xc0);TM_ACK();//写数据TM_WR(0x0bf);TM_ACK();TM_WR(0x3f);TM_ACK();TM_WR(0x3f);TM_ACK();TM_WR(0x3f);TM_ACK();TM_WR(0x3f);TM_ACK();TM_WR(0x3f);TM_ACK();//写命令 开显示TM_STOP();TM_START();TM_WR(0x8f);TM_ACK();TM_STOP();
}

3. Proteus仿真

  • 测试DP

  • 仿真结果

  • 示波器显示时序

4. 完整源程序

#include <reg51.h>#define u8 unsigned char
#define u16 unsigned int
sbit LED=P2^0;
sbit CLK=P2^4;
sbit DIO=P2^5;
sbit beep=P1^5;
void delay(u8 i)
{u16 j=i;while(j--);}
void I2C_START()
{CLK=1;DIO=1;delay(2);DIO=0;CLK=1;delay(2);
}
void I2C_WR(u8 OneByte)
{u8 i;for(i=0;i<8;i++){CLK=0;if(OneByte&0x01){DIO=1;}else{DIO=0;}delay(3);OneByte=OneByte>>1;CLK=1;delay(3);}
}
void I2C_ACK()
{CLK=0;delay(5);while(DIO);CLK=1;delay(2);CLK=0;delay(2);
}
void I2C_STOP()
{CLK=1;DIO=0;delay(2);DIO=1;delay(2);
}void I2C()
{//初始化CLK=1;DIO=1;//写命令 设置地址自动加一模式I2C_START();I2C_WR(0x40);I2C_ACK();I2C_STOP();//写命令 设置起始地址I2C_START();I2C_WR(0xc0);I2C_ACK();//写数据I2C_WR(0x0bf);I2C_ACK();I2C_WR(0x3f);I2C_ACK();I2C_WR(0x3f);I2C_ACK();I2C_WR(0x3f);I2C_ACK();I2C_WR(0x3f);I2C_ACK();I2C_WR(0x3f);I2C_ACK();//写命令 开显示I2C_STOP();I2C_START();I2C_WR(0x8f);I2C_ACK();I2C_STOP();
}
void main()
{I2C();
while(1);
}

5. Proteus8工程下载

  • 下载地址

https://download.csdn.net/download/qq_43145360/15310148

TM1637芯片使用(I2C总线协议学习),含完整程序相关推荐

  1. 【C51单片机学习笔记--DS1302时钟芯片蜂鸣器I2C总线AT24C02存储器】

    C51单片机学习笔记–DS1302时钟芯片&&蜂鸣器&&I2C总线&&AT24C02存储器 文章目录 一.DS1302时钟芯片介绍 二.DS1302时钟 ...

  2. 总线全称_一篇文章讲透I2C总线协议

    最近一段时间工作上比较忙,一直没有抽出空来写文章与大家分享,这两天腾出些时间静下心来沉淀一番.看标题大家已经知道了是来总结I2C总线,我相信大家或多或少的都接触过I2C总线,这篇文章我们就由浅入深的仔 ...

  3. [I2C]I2C总线协议图解

    转自:http://blog.csdn.net/w89436838/article/details/38660631 1  I2C总线物理拓扑结构       I2C 总线在物理连接上非常简单,分别由 ...

  4. 片上总线协议学习(1)——SiFive的TileLink与ARM系列总线的概述与对比

    link 片上总线协议学习(1)--SiFive的TileLink与ARM系列总线的概述与对比 finally 27 人赞同了该文章 一.背景介绍 随着超大规模集成电路的迅速发展,半导体工业进入深亚微 ...

  5. SPI与I2C总线协议

    目录: 一.SPI总线协议 1.什么是SPI 2.技术性能 3.接口定义与硬件连接 4.内部结构 5.传输时序 6.高速SPI 1)硬件电路   2)1MHz SPI传输问题 二.I2C总线协议 1. ...

  6. AXI 总线协议学习笔记(4)

    引言 前面两篇博文从简单介绍的角度说明了 AXI协议规范. AXI 总线协议学习笔记(2) AXI 总线协议学习笔记(3) 从本篇开始,详细翻译并学习AXI协议的官方发布规范. 文档中的时序图说明: ...

  7. AXI 总线协议学习笔记(3)

    引言 上篇文章主要介绍了 AMBA以及AXI协议的基本内容,本文接续前文,继续介绍AXI协议的 原子访问.传输行为和事务顺序等. AXI 总线协议学习笔记(2)https://blog.csdn.ne ...

  8. i2c总线协议的工作原理详解

    一.概述 1.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. SCL:上升沿将数据输入到每个EEPROM器件中:下降沿驱动EEPROM器件输出数据.(边沿触发) SDA:双向 ...

  9. I2C总线协议和控制器解析

    I2C总线协议 1.1 I2C总线知识 1.1.1  I2C总线物理拓扑结构       I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成.通信原理是通 ...

最新文章

  1. 更新日志 - fir.im「高级统计」功能上线
  2. 如何导入给定名称的模块为字符串?
  3. [转摘] JSP连接SQL SERVER问题总结
  4. 华为鸿蒙产业链股票,华为P40或用鸿蒙 华为产业链概念股一览
  5. Linux time ls命令:用户态内核态分别占用多长时间
  6. 不再单打独斗?中国移动联合多企业组建医疗数据公司
  7. php生成10万个字符串,有什么好的方法可以生成十万条不重复的13位纯数字字符串...
  8. Web浏览器调试工具firebug
  9. CVPR2013一些论文集合供下载(visual tracking相关)
  10. Vue SSR(Vue2 + Koa2 + Webpack4)配置指南
  11. 上一家单位离职的原因_面试官:你为什么从上一家公司离职?小伙更换答案后,立马被录取...
  12. php cut截取字符串,php源码分析之DZX1.5字符串截断函数cutstr用法
  13. 研究表明:学生经常登录Facebook 课程不及格的概率上升(意译)
  14. [译]如何成为一个优秀的前端工程师
  15. 线程安全的list之synchronizedList和CopyOnWriteArrayList
  16. 复变函数在计算机科学中的应用,复变函数的应用以及发展史.doc
  17. 〈西游记〉中所有插曲、主题曲
  18. 过滤dt中重复的记录
  19. html a 冒泡点击,子元素点击不能冒泡到父元素
  20. 多层介质中广义反射系数与广义透射系数的计算与编程思路

热门文章

  1. 无线物联网技术,在智能门禁系统的应用
  2. 网速快慢与网线材质的选择关系
  3. lajp linux教程,linux IMX6 汇编点亮一个LED灯
  4. 高效能人士的七个习惯及亚马逊十四条领导力准则
  5. 数据预处理之数据合并(基于pandas)
  6. vue2 props
  7. MySQL 主从复制类型及详解
  8. 为整数线性规划(integer linear programming,ILP)
  9. 阿里云域名配置过程记录
  10. 谈谈我理解的SA——Systems Architecture