74HC154D-LED

一、引脚说明

1-11 13-17 :输出端。(outputs (active LOW))

12:Gnd电源地 (ground (0 V))

18-19:使能输入端、低电平有效 (enable inputs (active LOW))

20-23:地址输入端 (address inputs)

24:VCC电源正 (positive supply voltage)

74HC154D-LED_第1张图片

二、真值表

A0,A1,A2,A3连接MCU的四个引脚

74HC154D-LED_第2张图片

三、 代码

main.c

void led_output_init(void)
{
	rcu_periph_clock_enable(RCU_GPIOG);
	
	gpio_mode_set(GPIOG, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE,GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
    gpio_output_options_set(GPIOG, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
}

int main()
{
    int led_test=0;
    //初始化A0,A1,A2,A3,将E1,E2使能,置低电平
    led_output_init();
    
    while(1)
    {
        if(led_test < 16)
		{
			led_test++;
		}
		else
		{
			led_test = 0;
		}
		switch(led_test)
		{
			case 0:
				gpio_bit_reset(GPIOG, GPIO_PIN_4);
				gpio_bit_reset(GPIOG, GPIO_PIN_5);
				gpio_bit_reset(GPIOG, GPIO_PIN_6);
				gpio_bit_reset(GPIOG, GPIO_PIN_7);
				break;
			case 1:
				gpio_bit_set(GPIOG, GPIO_PIN_4);
				gpio_bit_reset(GPIOG, GPIO_PIN_5);
				gpio_bit_reset(GPIOG, GPIO_PIN_6);
				gpio_bit_reset(GPIOG, GPIO_PIN_7);
				break;
			case 2:
				gpio_bit_reset(GPIOG, GPIO_PIN_4);
				gpio_bit_set(GPIOG, GPIO_PIN_5);
				gpio_bit_reset(GPIOG, GPIO_PIN_6);
				gpio_bit_reset(GPIOG, GPIO_PIN_7);
				break;
			case 3:
				gpio_bit_set(GPIOG, GPIO_PIN_4);
				gpio_bit_set(GPIOG, GPIO_PIN_5);
				gpio_bit_reset(GPIOG, GPIO_PIN_6);
				gpio_bit_reset(GPIOG, GPIO_PIN_7);
				break;
            case 4:
				gpio_bit_reset(GPIOG, GPIO_PIN_4);
				gpio_bit_reset(GPIOG, GPIO_PIN_5);
				gpio_bit_set(GPIOG, GPIO_PIN_6);
				gpio_bit_reset(GPIOG, GPIO_PIN_7);
				break;
			case 5:
				gpio_bit_set(GPIOG, GPIO_PIN_4);
				gpio_bit_reset(GPIOG, GPIO_PIN_5);
				gpio_bit_set(GPIOG, GPIO_PIN_6);
				gpio_bit_reset(GPIOG, GPIO_PIN_7);
				break;
			case 6:
				gpio_bit_reset(GPIOG, GPIO_PIN_4);
				gpio_bit_set(GPIOG, GPIO_PIN_5);
				gpio_bit_set(GPIOG, GPIO_PIN_6);
				gpio_bit_reset(GPIOG, GPIO_PIN_7);
				break;
			case 7:
				gpio_bit_set(GPIOG, GPIO_PIN_4);
				gpio_bit_set(GPIOG, GPIO_PIN_5);
				gpio_bit_set(GPIOG, GPIO_PIN_6);
				gpio_bit_reset(GPIOG, GPIO_PIN_7);
				break;
			case 8:
				gpio_bit_reset(GPIOG, GPIO_PIN_4);
				gpio_bit_reset(GPIOG, GPIO_PIN_5);
				gpio_bit_reset(GPIOG, GPIO_PIN_6);
				gpio_bit_set(GPIOG, GPIO_PIN_7);
				break;
            case 9:
				gpio_bit_set(GPIOG, GPIO_PIN_4);
				gpio_bit_reset(GPIOG, GPIO_PIN_5);
				gpio_bit_reset(GPIOG, GPIO_PIN_6);
				gpio_bit_set(GPIOG, GPIO_PIN_7);
				break;
			case 10:
				gpio_bit_reset(GPIOG, GPIO_PIN_4);
				gpio_bit_set(GPIOG, GPIO_PIN_5);
				gpio_bit_reset(GPIOG, GPIO_PIN_6);
				gpio_bit_set(GPIOG, GPIO_PIN_7);
				break;
			case 11:
				gpio_bit_set(GPIOG, GPIO_PIN_4);
				gpio_bit_set(GPIOG, GPIO_PIN_5);
				gpio_bit_reset(GPIOG, GPIO_PIN_6);
				gpio_bit_set(GPIOG, GPIO_PIN_7);
				break;
			case 12:
				gpio_bit_reset(GPIOG, GPIO_PIN_4);
				gpio_bit_reset(GPIOG, GPIO_PIN_5);
				gpio_bit_set(GPIOG, GPIO_PIN_6);
				gpio_bit_set(GPIOG, GPIO_PIN_7);
				break;
            case 13:
				gpio_bit_set(GPIOG, GPIO_PIN_4);
				gpio_bit_reset(GPIOG, GPIO_PIN_5);
				gpio_bit_set(GPIOG, GPIO_PIN_6);
				gpio_bit_set(GPIOG, GPIO_PIN_7);
				break;
			case 14:
				gpio_bit_reset(GPIOG, GPIO_PIN_4);
				gpio_bit_set(GPIOG, GPIO_PIN_5);
				gpio_bit_set(GPIOG, GPIO_PIN_6);
				gpio_bit_set(GPIOG, GPIO_PIN_7);
				break;
			case 15:
				gpio_bit_set(GPIOG, GPIO_PIN_4);
				gpio_bit_set(GPIOG, GPIO_PIN_5);
				gpio_bit_set(GPIOG, GPIO_PIN_6);
				gpio_bit_set(GPIOG, GPIO_PIN_7);
				break;
        }
    }
}

你可能感兴趣的:(兆易创新,STM32,HAL库,单片机,嵌入式硬件)