TM1637芯片使用(I2C总线协议学习),含完整程序
目录
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总线协议学习),含完整程序相关推荐
- 【C51单片机学习笔记--DS1302时钟芯片蜂鸣器I2C总线AT24C02存储器】
C51单片机学习笔记–DS1302时钟芯片&&蜂鸣器&&I2C总线&&AT24C02存储器 文章目录 一.DS1302时钟芯片介绍 二.DS1302时钟 ...
- 总线全称_一篇文章讲透I2C总线协议
最近一段时间工作上比较忙,一直没有抽出空来写文章与大家分享,这两天腾出些时间静下心来沉淀一番.看标题大家已经知道了是来总结I2C总线,我相信大家或多或少的都接触过I2C总线,这篇文章我们就由浅入深的仔 ...
- [I2C]I2C总线协议图解
转自:http://blog.csdn.net/w89436838/article/details/38660631 1 I2C总线物理拓扑结构 I2C 总线在物理连接上非常简单,分别由 ...
- 片上总线协议学习(1)——SiFive的TileLink与ARM系列总线的概述与对比
link 片上总线协议学习(1)--SiFive的TileLink与ARM系列总线的概述与对比 finally 27 人赞同了该文章 一.背景介绍 随着超大规模集成电路的迅速发展,半导体工业进入深亚微 ...
- SPI与I2C总线协议
目录: 一.SPI总线协议 1.什么是SPI 2.技术性能 3.接口定义与硬件连接 4.内部结构 5.传输时序 6.高速SPI 1)硬件电路 2)1MHz SPI传输问题 二.I2C总线协议 1. ...
- AXI 总线协议学习笔记(4)
引言 前面两篇博文从简单介绍的角度说明了 AXI协议规范. AXI 总线协议学习笔记(2) AXI 总线协议学习笔记(3) 从本篇开始,详细翻译并学习AXI协议的官方发布规范. 文档中的时序图说明: ...
- AXI 总线协议学习笔记(3)
引言 上篇文章主要介绍了 AMBA以及AXI协议的基本内容,本文接续前文,继续介绍AXI协议的 原子访问.传输行为和事务顺序等. AXI 总线协议学习笔记(2)https://blog.csdn.ne ...
- i2c总线协议的工作原理详解
一.概述 1.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. SCL:上升沿将数据输入到每个EEPROM器件中:下降沿驱动EEPROM器件输出数据.(边沿触发) SDA:双向 ...
- I2C总线协议和控制器解析
I2C总线协议 1.1 I2C总线知识 1.1.1 I2C总线物理拓扑结构 I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成.通信原理是通 ...
最新文章
- 更新日志 - fir.im「高级统计」功能上线
- 如何导入给定名称的模块为字符串?
- [转摘] JSP连接SQL SERVER问题总结
- 华为鸿蒙产业链股票,华为P40或用鸿蒙 华为产业链概念股一览
- Linux time ls命令:用户态内核态分别占用多长时间
- 不再单打独斗?中国移动联合多企业组建医疗数据公司
- php生成10万个字符串,有什么好的方法可以生成十万条不重复的13位纯数字字符串...
- Web浏览器调试工具firebug
- CVPR2013一些论文集合供下载(visual tracking相关)
- Vue SSR(Vue2 + Koa2 + Webpack4)配置指南
- 上一家单位离职的原因_面试官:你为什么从上一家公司离职?小伙更换答案后,立马被录取...
- php cut截取字符串,php源码分析之DZX1.5字符串截断函数cutstr用法
- 研究表明:学生经常登录Facebook 课程不及格的概率上升(意译)
- [译]如何成为一个优秀的前端工程师
- 线程安全的list之synchronizedList和CopyOnWriteArrayList
- 复变函数在计算机科学中的应用,复变函数的应用以及发展史.doc
- 〈西游记〉中所有插曲、主题曲
- 过滤dt中重复的记录
- html a 冒泡点击,子元素点击不能冒泡到父元素
- 多层介质中广义反射系数与广义透射系数的计算与编程思路