实际LED硬件连接

点击打开在线编译器,边学边练

1.三极管认识

假如我们的开发板的硬件连接有如下情况,我们需要点亮LED,需要怎么做?

1.png                2.png 

先看左图,要想点亮LED,根据本章第一讲知识,只需“+5”与R1是短接状态即可,那么PNP型三极管就是起到被单片机IO端口控制是否允许此处短接的作用,也叫三极管是否导通。

如果单片机IO端口输出的是低电平(0V),此时我们可以直观的认为“+5”那端与单片机IO端口形成压差有电流通过,而电流流向正如箭头所示,则表明此时“+5”与R1是短接状态,三极管导通,灯就被点亮了。

那单片机IO端口输出的是高电平(5V)时,则没有形成压差也就产生不了电流,那么箭头不能代表此时有电流流向这个方向,所以“+5”与R1是断开状态,灯没有被点亮。箭头起到的就是辅助我们理解的优势。

这样我们可以根据箭头很形象的判断出单片机IO端口输出什么电平状态时就可以点亮LED。R1,R2电阻起到的是限流保护。

同理,右图使用的是NPN型三极管,那么单片机IO端口输出高电平时点亮LED,输出低电平时点不亮LED。

《手把手教你学51单片机》文档第3.3节有全面讲解这部分知识。

 

2.三八译码器

有一种元器件只需要用到我们单片机三个IO端口就可以控制它的八个引脚其中的一个输出低电平,开发板就用到这种叫74HC138三八译码器。我们省略它的电源供电引脚,画出需要讲解的引脚。

5.png

首先有三个引脚E0,E0,E1需要固定给它默认的电平它才能正常工作,俗称使能器件。

此时3个单片机IO端口输出不一样的电平时,IO0~IO7的其中一个引脚就会输出低电平,而其他7个IO都是输出高电平。

当我们的三个IO端口这样输出时,则有以下情况

单片机IO端口3(输出0)

单片机IO端口2(输出0)    → IO0输出0

单片机IO端口1(输出0)

   

单片机IO端口3(输出0)

单片机IO端口2(输出1)    → IO2输出0

单片机IO端口1(输出0)

 

一句话总结,三个IO端口输出的三个值从 IO端口3→IO端口2→IO端口1排成二进制数的得数就是哪个IOx输出低电平。比如三个IO端口这样输出:1 1 0。此时二进制值为十进制的6,那么IO6就输出低电平,其他输出高电平。

不过仅凭我们这样粗浅的讲解初学者会有疑惑,所以大家前往《手把手教你学51单片机》文档第三章深入学习了解这些元器件,多琢磨几遍,每遍都会有更深入的认识。

 

3.原理图新知识

我们先拿上一讲的原理图与图二对比

图一:

6.png


图二:

7.png

上下两张图都表示同一个连接原理,图一比较直观看到1盏灯直接连上1个IO端口,而图二为了使观赏性更舒适,用两个名字相同的标号(网络标号)放在断点处,表示这两点代表着硬件连接中有一条覆铜线相连。平时阅读原理图我们推荐使用图二,不然用图一模式时元器件连接多了就会感觉太花眼。

我们通过对比以下两张图就看到使用网络标号的优势所在

8.png


2.1.png


本文固定URL:https://www.dotcpp.com/course/178

上一课:程序点灯 下一课:点亮LED
第一章 单片机入门
第二章 LED
第三章 蜂鸣器
第四章 数码管
第五章 独立按键
第六章 多文件编程
第七章 外部中断
第八章 定时器
第九章 舵机与超声波模块
第十章 串口通信
第十一章 1602液晶屏
第十二章 IIC通信
第十三章 红外遥控与温度传感器
第十四章 AD与DA
第十五章 混合例程
第十六章 完结
Dotcpp在线编译      (登录可减少运行等待时间)