【全栈计划 —— 单片机】——Part_03 使用放大电路或拓展芯片解决GPIO的输出电流不足够支持驱动设备的问题(2)

简介: 【全栈计划 —— 单片机】——Part_03 使用放大电路或拓展芯片解决GPIO的输出电流不足够支持驱动设备的问题(2)

静态数码管实验


我感觉静态数码管这块更多的是对硬件知识的再认识吧,其中关于程序设计方面可以拿出来评赏的东西其实不多。目前get到的是对高低电平的在认识以及使用十六进制来灵活的表示十进制。


项目实现代码


关于实验代码这块了,我不太想直接让大家CV吧,因为代码量不是特别大,然后小伙伴们对照我的代码敲一遍,可以更好的发现自己看不到的一些问题。

微信图片_20221019161707.png

实验效果:

微信图片_20221019161738.jpg


刨根问底环节


浅识数码管


数码管是一种半导体发光器件,其基本单元仍旧是发光二极管。数码管有时候也称LED数码管


1、数码管的分类

① 数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP),这个小数点可以更精确的表示数码管想要显示的内容;


② 按能显示多少个(8)可分为1 位、2 位、3 位、4 位、5 位、6 位、7 位等数码管。


③ 按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。

微信图片_20221019161907.png微信图片_20221019161912.jpg

2、共阳极数码管和共阴极数码管的认识


共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM 接到+5V。

当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

微信图片_20221019161954.jpg

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM 接到地线GND 上,它们的阳极是独立的。

当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

微信图片_20221019162026.jpg

 

这里有个小常识需要作为知识储备。对于开发板这种集成电路而言,共阳极数码管更为常用,这是因为数码管的非公共端一般都是接在IC芯片的I/O口上,但是I/O口的驱动能力其实是比较差的,使用共阳极数码管能够接驱动电流到公共端,这样下来,芯片的负担会小很多。

微信图片_20221019162101.png

但是51用的数码管是2 个四位一体的共阴极数码管,也就是8 个LED的阳极全部并联一起引出,阴极分别引出如A、B、C、D、E、F、G、DP。

微信图片_20221019162252.jpg

对于共阴极数码管了,举个例子,如果要让共阴数码管显示数字0,即对应的段ABCDEF 要点亮即给它高电平,其他的段熄灭即给它低电平



在清楚了怎么通过高低电平点亮数码管中的LED灯之后,我们就可以设计出不同的组合来显示我们需要的内容,为后续的代码落实做铺垫。

下图就是通过改变高低电平来显示0 ~ 9以及显示A ~ F

微信图片_20221019162331.jpg

代码设计


单片机的东西,想要把代码写出来,主要还是要会看电路图,通过电路图清楚那些引脚来控制当前的这个设备。


和我一起浅看一下数码管的电路图吧微信图片_20221019162416.jpg


首先观察上面一个电路图,控制a~dp八个LED灯的引脚是P0,意思就是,我们要操作P0引脚输出的高低电才能够得到咱想要显示的数字。

下面这个是这八个LED灯的总汇的图,74HC138是一个译码器,P22、P23、P24默认是高电平了,现在就保持默认,不动它,待会动态数码管实验详细阐述这个译码器。


项目代码


感觉很像算法里面的打表,提前把共阴极的表打出来,在主函数里直接使用表中数据即可。

微信图片_20221019162416.jpg


相关文章
|
10月前
|
存储 芯片
SGM58031与单片机驱动实现
SGM58031与单片机驱动实现
215 0
|
传感器
蓝桥杯之单片机学习(二十八)——详解A/D、D/A、PCF8591、AD与DA的综合使用(附官方驱动的一个坑)
蓝桥杯之单片机学习(二十八)——详解A/D、D/A、PCF8591、AD与DA的综合使用(附官方驱动的一个坑)
495 0
蓝桥杯之单片机学习(二十八)——详解A/D、D/A、PCF8591、AD与DA的综合使用(附官方驱动的一个坑)
|
5天前
|
传感器
基于51单片机的自动浇花器电路
该文档是一个基于AT89C51单片机的自动浇水灌溉系统的设计方案。系统由5V供电模块、土壤湿度传感器模块、ADC0832模数转换模块、水泵控制模块、按键输入模块、LCD显示模块和声光报警模块组成。它通过检测土壤湿度并将其转换为数字信号,与预设的湿度上下限值进行比较,以决定是否启动水泵进行灌溉。用户可以通过按键设置湿度上下限值,LCD屏幕实时显示当前湿度和上下限值。如果湿度低于下限,系统会启动声光报警并打开水泵;当湿度超过上限,声光报警关闭,但水泵会继续工作,直至湿度下降到下限以下。设计中还提供了Proteus仿真电路图和C代码实现。
18 1
|
6天前
|
存储 芯片
【期末不挂科-单片机考前速过系列P12】(第十二章:单片机的并行拓展例题)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P12】(第十二章:单片机的并行拓展例题)经典例题盘点(带图解析)
|
10月前
【单片机】简易计算器完整代码带电路图
【单片机】简易计算器完整代码带电路图
232 0
【单片机】简易计算器完整代码带电路图
|
6天前
|
物联网 芯片
STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计
STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计
43 0
|
6天前
|
芯片
单片机中GPIO八种工作模式详细分析
单片机中GPIO八种工作模式详细分析
120 0
|
8月前
|
安全 芯片
单片机检测220V交流电通断电路
单片机检测220V交流电通断电路
|
8月前
|
芯片
STM32F0单片机快速入门五 GPIO中断
STM32F0单片机快速入门五 GPIO中断
|
10月前
|
C# Android开发 C++
c#(nanoframework)安装单片机环境;如何使用c#写类似于c的单片机驱动
c#(nanoframework)安装单片机环境;如何使用c#写类似于c的单片机驱动
156 0
c#(nanoframework)安装单片机环境;如何使用c#写类似于c的单片机驱动