K_A02_004 基于单片机驱动8位数码管模块(74HC595) 0-7滚动+ 时钟显示

实物参考链接 直戳跳转

一、程序功能说明

二、基本参数


1、参数

2、芯片引脚说明

3、模块引脚说明

三、通信协议说明

时序:

代码:

//写74HC595一个字节
void Write_Byte(uint8_t B_Dat)
{
	uint8_t j;
	for(j=8;j>=1;j--)
	{
		if (B_Dat&0x80)
		{			
			DIO=1; 
		}
		else
		{
			DIO=0;
		}
		B_Dat<<=1;
		SCLK = 0;
		SCLK = 1;
	}
}

四、部分代码说明

1、接线说明

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

1.1、STC89C52RC+8位数码管模块(74HC595)

sbit DIO = P1^0;				//串行数据输入
sbit RCK  = P1^1;				//锁存寄存器时钟
sbit SCLK = P1^2;				//移位寄存器时钟

1.2、STM32F103C8T6+8位数码管模块(74HC595)

//DIO
#define DIO_GPIO_PORT    	GPIOA		              /* GPIO端口 */
#define DIO_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* GPIO端口时钟 */
#define DIO_GPIO_PIN		GPIO_Pin_0			        
//RCK
#define RCK_GPIO_PORT    	GPIOA			              /* GPIO端口 */
#define RCK_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* GPIO端口时钟 */
#define RCK_GPIO_PIN		GPIO_Pin_1			        
//SCLK
#define SCLK_GPIO_PORT    GPIOA			              /* GPIO端口 */
#define SCLK_GPIO_CLK 	  RCC_APB2Periph_GPIOA		/* GPIO端口时钟 */
#define SCLK_GPIO_PIN	  GPIO_Pin_2			 
 
#define DIO_1    		GPIO_SetBits(DIO_GPIO_PORT, DIO_GPIO_PIN)
#define DIO_0    		GPIO_ResetBits(DIO_GPIO_PORT, DIO_GPIO_PIN)
 
#define RCK_1    		GPIO_SetBits(RCK_GPIO_PORT, RCK_GPIO_PIN)
#define RCK_0    		GPIO_ResetBits(RCK_GPIO_PORT, RCK_GPIO_PIN)
 
#define SCLK_1    		GPIO_SetBits(SCLK_GPIO_PORT, SCLK_GPIO_PIN)
#define SCLK_0    		GPIO_ResetBits(SCLK_GPIO_PORT, SCLK_GPIO_PIN)

五、相关资料链接

STC89C52RC程序下载 直戳跳转

STM32F103C8T6程序下载

1、串口下载  直戳跳转

2、ST-LINK下载  直戳跳转

3、J-LINK下载  直戳跳转

4、DAP-LINK下载  直戳跳转

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

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

实物参考链接 直戳跳转

八、注意事项

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

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

九、接线说明

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


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