当前位置: 首页 > article >正文

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)

二、真值表

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

三、 代码

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;
        }
    }
}


http://www.kler.cn/a/230118.html

相关文章:

  • FreeRTOS 内存管理
  • 【Docker】常用命令汇总
  • Spring Boot 整合 ELK 全面指南:实现日志采集、分析与可视化
  • JAVA题目笔记(二十)Stream流综合练习+方法引用
  • 探秘嵌入式位运算:基础与高级技巧
  • IDEA无法创建java8、11项目创建出的pom.xml为空
  • Swift Combine 从入门到精通一
  • Python数据可视化库之mplfinance使用详解
  • android开发中遇到的问题和注意点
  • 陶哲轩如何用 GPT-4 辅助数学研究
  • 在Python中执行Linux Shell脚本详解
  • BLEUScore AttributeError: ‘list‘ object has no attribute ‘split‘——问题解决
  • LRU缓存
  • MySQL 表的设计
  • Android13多媒体框架概览
  • 三维天地为生物制药研发实验室物料平衡管理提供有力支持
  • 百度PaddleOCR字符识别推理部署(C++)
  • 备战蓝桥杯---搜索(剪枝)
  • sqli.bypass靶场本地小皮环境(1-5关)
  • Linux定时器
  • 决策树之scikit-learn
  • 华为机考入门python3--(9)牛客9-提取不重复的整数
  • 二层交换机配置以太网通道
  • react+antd+CheckableTag实现Tag标签单选或多选功能
  • 详细了解ref和reactive.
  • javascript第八个知识点:函数