51单片机学习笔记——点亮数码管、模块化编程

news/2025/3/14 18:10:49/
  • 工作原理图

138译码器

G1、G2A、G2B为138译码器的使能端

P22、P23、P24为输入口控制Y0-Y7的动作,以二进制的算法

具体如下:

P22    P23    P24

0       0      0      Y0为1其余为0

0       0      1      Y1为1其余为0

0       1      0      Y2为1其余为0

0       1      1      Y3为1其余为0

那么138译码器有什么用呢?138译码器可以用来控制数码管显示的位数

如当Y0为1时第一个数码管亮,因此可以节省IO口.

数码管模块

74HC245为双向数据缓冲器,主要作用就是数据缓冲。

左边的P口就是用来给数码管传送段码控制亮的数码管内容的。

练习:让指定的位置输出指定的数字

P0=Numall[Num]的意思是时P0口等于Numall数组里第[Num]位的值

然后在主程序的直接调用xuan函数,函数的值(数码管的位置,要显示的数);

数码管要显示的值我们已经用数组全部列出了

动态数码管显示

如果想要多个数码管同时显示应该怎么做?

我们知道程序是在不断刷新的,当刷新的速度够快达到肉眼不可见的速度时,即可一同显示

关于消隐:由于上一位的数据提前来到下一位所以造成阴影,导致数码管显示不清晰,需要加一段延时即可。

模块化编程

传统方式编程:所有的函数均放在main.c里,若使用的模块比较多则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include“XXX.h“文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等。

.c文件:函数、变量的定义

可被外部调用的函数、变量的声明.h文件:

任何自定义的变量、函数在调用前必须有定义或声明(同一个.c)使用到的自定义函数的.c文件必须添加到工程参与编译使用到的.h文件必须要放在编译器可寻找到的地方(工程文件夹根目录、安装目录、自定义)

利用模块化的思路来做上面的程序

Main

Nixie



http://www.ppmy.cn/news/1424507.html

相关文章

解决mac本git安装后找不到命令的问题

不熟悉mac配置,折腾了半天,记录一下。 1.问题描述2.解决方法 1.问题描述 从https://sourceforge.net/projects/git-osx-installer/files/下载的git安装包: 安装时提示: 这里的解决办法是按住control键再打开文件安装。 安装完…

每日一博 - 重新定义JAR中的类或方法

文章目录 概述方式一 : 项目覆写相同包结构的类方式二: 魔改Jar包中的类方案对比方案一:在项目中新增第三方包路径方案二:替换JAR包中的类文件 概述 在一些情况下,我们可能需要定制第三方库的行为,但却无法…

《架构风清扬-Java面试系列第21讲》什么是线程的优先级?在Java中如何设置线程的优先级?

各位小伙伴早上好! 谢谢你的关注!也欢迎来加入我主导的知识星球,更多干货,提高你的面试准备效率! 敢承诺三天内不满意,可以直接退出! 这道题,属于面试热场的题目,我是不…

C语言.指针(6)

指针(6) 前言1.代码11.1代码解析:1.2简化的内存布局图 2.代码22.1代码解析:2.2简化的内存布局图 3.代码33.1代码解析:3.2简化的内存布局图 4.代码44.1代码解析:4.2简化的内存布局图 5.代码55.1代码解析&…

无人机--行业生命周期分析

行业生命周期:无人机行业生命周期还相对较短,但已经经历了多个阶段的发展。从最初的军用无人机,到近年来民用无人机和商业无人机的快速发展,无人机行业正逐渐走向成熟阶段。未来随着技术的不断进步和应用领域的不断拓展,无人机行业…

M系Mac关闭SIP

文章目录 M系Mac关闭SIP一:查看SIP状态二:关闭SIP步骤 M系Mac关闭SIP 一:查看SIP状态 1、使用终端 打开终端 输入csrutil status,回车 你会看到以下信息中的一个,指示SIP状态 已打开 System Integrity Protection s…

NLP任务全览:涵盖各类NLP自然语言处理任务及其面临的挑战

自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域。NLP将非结构化文本数据转换为有意义的见解,促进人与机器之间的无缝通信,使计算机能够理解、解释和生成人类语言。人类等主要…

python--4函数def,本质、值传递、引用传递、默认值参数、*参数名、**变量、lambda [参数]: 函数、偏函数、递归、递归练习

学习目标: 函数def,本质、值传递、引用传递、默认值参数、*参数名、**变量、lambda [参数]: 函数、偏函数、递归、 递归练习 学习内容: 函数def,本质、值传递、引用传递、默认值参数、*参数名、**变量、lambda [参数]: 函数、偏函数、递归、 递归练习 …