K_A02_005 基于单片机驱动数码管 LED 按键模块(TM1638) 流水灯 0-7 按键值显示

实物参考链接 直戳跳转

一、资源说明

二、基本参数

1、参数

2、引脚说明

三、通信协议说明

1、写数据

时序:

程序:

//写一个字节
void TM1638_Write(uint8_t	DATA)			//写数据函数
{
	uint8_t i;
	for(i=0;i<8;i++)
	{
		CLK=0;
		if(DATA&0X01)
			DIO=1;
		else
			DIO=0;
		DATA>>=1;
		CLK=1;
	}
}

2、读数据

时序:

程序:

//读一个字节
uint8_t TM1638_Read(void)					//读数据函数
{
	uint8_t i;
	uint8_t temp=0;
	DIO=1;	//设置为输入
	for(i=0;i<8;i++)
	{
		temp>>=1;
		CLK=0;
		if(DIO)
			temp|=0x80;
		CLK=1;
	}
	return temp;
}

四、部分代码说明

1、接线说明

需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

1.1、STC89C52RC+按键数码管LED模块

//TM1638模块引脚定义
sbit	DIO=P1^0;
sbit	CLK=P1^1;
sbit	STB=P1^2;

1.2、STM32F103C8T6+按键数码管LED模块

/* 定义LED连接的GPIO端口, 用户只需要修改下面的代码即可改变控制的LED引脚 */
#define DIO_GPIO_PORT    	GPIOA		              /* GPIO端口 */
#define DIO_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* GPIO端口时钟 */
#define DIO_GPIO_PIN		GPIO_Pin_1			        
 
#define CLK_GPIO_PORT    	GPIOA			              /* GPIO端口 */
#define CLK_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* GPIO端口时钟 */
#define CLK_GPIO_PIN		GPIO_Pin_2			        
 
#define STB_GPIO_PORT    	GPIOA			              /* GPIO端口 */
#define STB_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* GPIO端口时钟 */
#define STB_GPIO_PIN		GPIO_Pin_3			 
 
#define DIO_H    	GPIO_SetBits(DIO_GPIO_PORT, DIO_GPIO_PIN)
#define DIO_L    	GPIO_ResetBits(DIO_GPIO_PORT, DIO_GPIO_PIN)
 
#define CLK_H    	GPIO_SetBits(CLK_GPIO_PORT, CLK_GPIO_PIN)
#define CLK_L    	GPIO_ResetBits(CLK_GPIO_PORT, CLK_GPIO_PIN)
 
#define STB_H    	GPIO_SetBits(STB_GPIO_PORT, STB_GPIO_PIN)
#define STB_L    	GPIO_ResetBits(STB_GPIO_PORT, STB_GPIO_PIN)
 
 
#define R_DIO    GPIO_ReadInputDataBit(DIO_GPIO_PORT, DIO_GPIO_PIN)

五、基础知识学习

STC89C52RC程序下载 直戳跳转

STM32F103C8T6程序下载

1、串口下载  直戳跳转

2、ST-LINK下载  直戳跳转

3、J-LINK下载  直戳跳转

4、DAP-LINK下载  直戳跳转

六、视频效果展示与程序资料获取

演示视频连接 直戳跳转
资料获取 直戳跳转

实物参考链接 直戳跳转

七、注意事项

1、VCC GND请勿接反,接反易烧

2、显示异常时,排除接线接触不良
3、下载后显示异常时候可以重新上电复位下

九、接线说明

可参考程序main.c最上面接线说明


所有相关实物与程序套件可在我们店铺找到

X
深圳市咱们电子科技有限公司