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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/381926.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络——04接入网和物理媒体

接入网和物理媒体 接入网络和物理媒体 怎样将端系统和边缘路由器连接&#xff1f; 住宅接入网络单位接入网络&#xff08;学校、公司&#xff09;无线接入网络 住宅接入&#xff1a;modem 将上网数据调制加载到音频信号上&#xff0c;在电话线上传输&#xff0c;在局端将其…

Redis核心技术与实战【学习笔记】 - 30.番外篇:Redis学习资料、运维说明及使用规范建议

1.Redis学习资料 虽然前面已经学习了 Redis 理论和技术点&#xff0c;但是如果想要持续提升自己的技术能力&#xff0c;还是需要不断丰富自己的知识体系。本章&#xff0c;给你推荐几本优秀的书籍&#xff0c;以及拓展知识面的其他资料。 1.1 经典书籍 在学习 Redis 时&…

如何实现视线(目光)的检测与实时跟踪

如何实现视线(目光)的检测与实时跟踪 核心步骤展示说明 找到人脸 检测人脸特征点 根据特征点找到人眼区域 高精度梯度算法检测瞳孔中心 根据眼睛周边特征点计算眼睛中心 瞳孔中心和眼睛中心基于视线模型计算视线方向 视线方向可视化 详细实现与说明&#xff1a; https://stud…

机器学习2--逻辑回归(案列)

糖尿病数据线性回归预测 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_diabetes diabetesload_diabetes() datadiabetes[data] targetdiabetes[target] feature_namesdiabetes[feature_names] data.shape df …

【知识整理】招人理念、组织结构、招聘

1、个人思考 几个方面&#xff1a; 新人&#xff1a;选、育、用、留 老人&#xff1a;如何甄别&#xff1f; 团队怎么演进&#xff1f; 有没有什么注意事项 怎么做招聘&#xff1f; 2、 他人考虑 重点&#xff1a; 1、从零开始&#xff0c;讲一个搭建团队的流程 2、标…

【MySQL】字符串函数的学习

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-J7VN4RbrBi51ozap {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

【论文阅读笔记】InstantID : Zero-shot Identity-Preserving Generation in Seconds

InstantID:秒级零样本身份保持生成 理解摘要Introduction贡献 Related WorkText-to-image Diffusion ModelsSubject-driven Image GenerationID Preserving Image Generation Method实验定性实验消融实验与先前方法的对比富有创意的更多任务新视角合成身份插值多身份区域控制合…

探索C语言的内存魔法:动态内存管理解析

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C语言学习 贝蒂的主页&#xff1a;Betty‘s blog 1. 静态开辟内存 通过前面的学习&#xff0c;我们已经掌握了两种开辟内存的方…

auto.js教程(autojs教程、autox.js、autoxjs)笔记(一)Autojs概述

参考文章&#xff1a;【自动化技术】Autojs从入门到精通 参考文章&#xff1a;AutoXJS开发入门简介菜鸟教程 参考文章&#xff1a;关于Auto.js的下架说明 参考文章&#xff1a;Auto.js 4.1.0 文档 文章目录 001--【Autojs概述】1、Autojs是什么&#xff0c;能做什么&#x…

【算法与数据结构】496、503、LeetCode下一个更大元素I II

文章目录 一、496、下一个更大元素 I二、503、下一个更大元素II三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、496、下一个更大元素 I 思路分析&#xff1a;本题思路和【算法与数据结构】739、LeetCode每日温度类似…

大脑是宇宙中最复杂的物体——科学家们试图破译它,读懂人们的思想

2023年&#xff0c;德克萨斯大学HuthLab进行的一项研究在神经科学和技术领域引发了震动。通过人工智能(AI)和脑成像技术的结合&#xff0c;无法与外界交流的人的思想首次被翻译成连续的自然语言。 这是迄今为止最接近读心术的科学方法。在过去的二十年里&#xff0c;神经成像技…

Zookeeper集群搭建(3台)

准备工作 1、提前安装好hadoop102、hadoop103、hadoop104三台机器&#xff0c;参照&#xff1a;CentOS7集群环境搭建&#xff08;3台&#xff09;-CSDN博客 2、提前下载好Zookeeper安装包并上传到/opt/software上、安装包&#xff0c;链接&#xff1a;https://pan.baidu.com/…

如何解决利用cron定时任务自动更新SSL证书后Nginx重启问题

利用cron定时任务自动更新SSL证书后&#xff0c;用浏览器访问网站&#xff0c;获取到的证书仍然是之前的。原因在于没有对Nginx进行重启。 据说certbot更新完成证书后会自动重启Nginx,但显然经我检测不是这回事儿。 所以我们需要创建一bash脚本&#xff0c;然后定时调用这个脚…

Java多线程:定时器

&#x1f451;专栏内容&#xff1a;Java⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、Timer类二、手动实现定时器1、实现逻辑2、问题描述2.1、问题一&#xff1a;线程安全问题2.2、问题二&#xff1a;使用 slee…

[C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改

问题描述 WPF中DataGrid的选中行或选中者单元格&#xff0c;在焦点失去后&#xff0c;颜色会很淡&#xff0c;很不明显&#xff0c;不容易区分。 解决方法 在失去焦点的情况下&#xff0c;如何设置行或单元格与选中的时候颜色一样&#xff1f; <DataGrid.Resources>&…

滑块识别验证

滑块识别 1. 获取图片 测试网站&#xff1a;https://www.geetest.com/adaptive-captcha-demo 2. 点击滑块拼图并开始验证 # 1.打开首页 driver.get(https://www.geetest.com/adaptive-captcha-demo)# 2.点击【滑动拼图验证】 tag WebDriverWait(driver, 30, 0.5).until(la…

利用YOLOv8 pose estimation 进行 人的 头部等马赛克

文章大纲 马赛克几种OpenCV 实现马赛克的方法高斯模糊pose estimation 定位并模糊:三角形的外接圆与膨胀系数实现实现代码实现效果参考文献与学习路径之前写过一个文章记录,怎么对人进行目标检测后打码,但是人脸识别有个问题是,很多人的背影,或者侧面无法识别出来人脸,那…

Golang GC 介绍

文章目录 0.前言1.发展史2.并发三色标记清除和混合写屏障2.1 三色标记2.2 并发标记问题2.3 屏障机制Dijkstra 插入写屏障Yuasa 删除写屏障混合写屏障 3.GC 过程4.GC 触发时机5.哪里记录了对象的三色状态&#xff1f;6.如何观察 GC&#xff1f;方式1&#xff1a;GODEBUGgctrace1…

算法学习——LeetCode力扣二叉树篇1

算法学习——LeetCode力扣二叉树篇1 144. 二叉树的前序遍历 144. 二叉树的前序遍历 - 力扣&#xff08;LeetCode&#xff09; 描述 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&a…

大水仙花数求解

输入位数&#xff0c;求解水仙花数。暴力求解&#xff0c;位数如果太多&#xff0c;会超时。 思路&#xff1a; &#xff08;1&#xff09;11333355和33331155看上去是不一样的两个数&#xff0c;但是它们又一样&#xff0c;因为相同数字出现的次数一样。 &#xff08;2&…