注:本程序已验证可用,但只对本店模块做过适配测试,其他模块我们没法保证一定能用
实物参考链接 直戳跳转
一、程序功能说明
二、基本参数
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最上面接线说明