STM32+74HC595:带领你10分钟用对74HC595芯片 | 您所在的位置:网站首页 › 74hc595级联工作原理 › STM32+74HC595:带领你10分钟用对74HC595芯片 |
使用的是STM32CBT8,小模块用起来性价比超级高,资源丰富,移植u/COS及HTTP、MQTT协议等等用起来简直欲罢不能,摇摇欲仙! BUT:IO口资源太少了,我想让你驱动100个LED,你缺告诉我,我的要求太多,你满足不了...... 还好,找到了74HC595,但是网上很多资源讲的我看了半天才总结、提炼并另辟蹊径出来精髓 ========================================================== 595具体使用的步骤: 第1步:目的:将要准备输入的位数据移入74HC595数据输入端上。 方法:送位数据到_595。 第2步:目的:将位数据逐位移入74HC595,即数据串入 方法:SH_CP__(S_CLK)产生一上升沿,将DS上的数据移入74HC595移位寄存器中,先送低位,后送高位。 第3步:目的:并行输出数据。即数据并出 方法:ST_CP__(R_CLK)产生一上升沿,将由DS上已移入数据寄存器中的数据 送入到输出锁存器。 说明: 从上可分析:从SH_CP产生一上升沿(移入数据)和ST_CP产生一上升沿(输出数据)是二个独立过程,实际应用时互不干扰。即可输出数据的 同时移入数据。 ============================================================= 理论掌握那点其实已经够了呢,不过我贴出代码,更容易明白 /*--ZQP的74HC595的初始化*/ void HC595_Init() { GPIO_InitTypeDef GPIO_InitS; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitS.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14; GPIO_InitS.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitS.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(HC595_PORT, &GPIO_InitS);
GPIO_SetBits(HC595_PORT,GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14); }
void HC595SendData(unsigned int SendVal) { uint8_t i; for (i=0; i |
CopyRight 2018-2019 实验室设备网 版权所有 |