74LS595 74HC595使用方法以及驱动数码管显示(附:使用代码)

您所在的位置:网站首页 74ls245连接数码管 74LS595 74HC595使用方法以及驱动数码管显示(附:使用代码)

74LS595 74HC595使用方法以及驱动数码管显示(附:使用代码)

2024-01-03 13:45| 来源: 网络整理| 查看: 265

74LS595 74HC595使用方法以及驱动数码管显示(附:使用代码)

由于74HC595与74LS595功能是一样的没有区别。LS和HC代表不同工作速度,HC代表CMOS芯片电路中工作速度最高的产品,LS表示普及、通用型产品。其驱动方法也是一样的。

器件功能

74LS595是串行输入并行输出的器件,可以串联使用,达到引脚拓展的目的。主要引用在数码管的驱动,点阵的驱动等需要多个引脚的地方。

内部结构和控制时序

74LS595内部框图 74LS595有三部分组成,包括:一个8位移位寄存器、一个8位数据存储器、一个8位三态输出控制器(高电平 低电平 高阻态)。 74LS595控制时序 SHCP为串行数据输入时钟,在器上升沿,移位寄存器发生位移;DS为串行数据输入引脚,在SHCP为上升沿时数据写入移位寄存器;STOP为数据存储器存储信号线,在其上升沿将移位寄存器的8位数据存入存储寄存器;MR为D触发器正常工作引脚,所以芯片正常工作时,此引脚要一直置于高电平;OE为数据并行输出引脚,其为低电平时,数据寄存器的数据并行输出,其为高电平时,引脚表现出高阻态。具体引脚功能如下图所示。引脚功能

使用代码讲解

以下为3片74LS595串联驱动3个8段数码管的代码讲解,驱动其他外设与其类似可以在其基础上修改。

//以下为HAL库引脚初始化代码,使用库函数可以在此基础上修改,所需引脚设置为推挽输出即可,寄存器版本控制CHR、CHL、BSRR、BRR等寄存器即可。 void LCD_CtrlLinesConfig(void) { GPIO_InitTypeDef GPIO_InitStruct = {0};//定义尹伽婆初始化结构体 __HAL_RCC_GPIOA_CLK_ENABLE(); //使能时钟线A GPIO_InitStruct.Pin = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3; //选择所需初始化引脚 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;//选择推挽输出模式 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;//输出速度为高 GPIO_InitStruct.Pull = GPIO_NOPULL; //既不上拉也不下拉 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); //进行初始化 GPIOA->BSRR |= 0x000E; //设置A1 A2 A3 输出为高 } //以下为串行输入引脚、移位寄存器控制引脚、时钟引脚宏定义 #define STOP(i) if(i) GPIOA->ODR= GPIOA->ODR&~0X00000004 |(1ODR&~0X00000004 |(0ODR&~0X00000008 |(1ODR&~0X00000008 |(0ODR&~0X00000002 |(1ODR&~0X00000002 |(0 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00}; //数码管字形存储数组 static uint8_t i=0; //循环所用变量 static uint32_t code_temp=0; //数据存储变量 code_temp= (Seg7[Bit3]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3