概述
在使用单片机的过程中发现某些IO口不够用或者单片机的IO口比较少,比如如果IO口直驱数码管的话会用去很多IO口造成不必要的资源浪费
方案
使用TM1637模块,使用的是I2c的IC,只占用2个IO口便可以驱动6位数码管跟16个按键
效果图

代码效果演示视频
代码
main函数
#include"reg52.h"
#include"tm1637.h"
unsigned char code smgduan[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //数码管代表的数字
void delay(unsigned int i) //延时函数
{
while(i--);
}
void main()
{
unsigned char i;
while(1)
{
for(i=0;i<17;i++) //循环显示
{
Display(smgduan[i

该博客介绍了一种通过TM1637模块在STM32单片机上节省IO口的方法,利用I2C接口仅需2个IO口即可驱动6位数码管和16个按键。代码示例展示了如何编写和实现这一功能,包括TM1637的初始化、数码管显示和按键扫描。适配于STC系列单片机。
最低0.47元/天 解锁文章
2644





