1.三极管认识

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

三极管1                三极管2 

先看左图,要想点亮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三八译码器。我们省略它的电源供电引脚,画出需要讲解的引脚。

三八译码器

首先有三个引脚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.原理图新知识

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

图一:

原理图1


图二:

原理图2

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

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

原理图3


原理图4

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)