IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 学习51单片机硬件基础知识 -> 正文阅读

[嵌入式]学习51单片机硬件基础知识

1.电磁干扰(EMI)
电子产品工作会对周边的其他电子产品造成干扰。干扰种类有传导干扰和辐射干扰。
2.去耦电容
在这里插入图片描述

如单片机供电电路的C16和C19以及C10,C16和C19的作用分别为缓冲作用和稳定作用。缓冲作用就是上电瞬间电流不稳定,容易冲击电子元器件,加个电容可以起到缓冲的作用。稳定作用是每个电子元器件的功率大小都不同,所需电流也是会变的,这时电容就起到稳定作用。C10用于滤除高频信号干扰,大小0.1uF。0.1uF电容要尽可能的靠近IC,尽量很顺利的与这个IC的VCC和GND连到一起。
选取电容时需要考虑耐压值和电容容值,单片机为5v系统,电容的耐压值要高于5V,选到1.5倍到2倍。电容容值选取取决于系统功率的消耗情况,系统耗电较大,波动会大就要选大一点的电容。
3.三极管
三极管是一种很常用的控制和驱动器件,常用的三极管根据材料分有硅管和锗管两种,原理相同,压降略有不同,硅管用的较普遍,而锗管应用较少,三极管有2种类型,分别是PNP型和NPN型。
在这里插入图片描述

三极管有截止、放大、饱和三种工作状态。放大状态主要应用于模拟电路中,且用法和计算方法也比较复杂,我们暂时用不到。而数字电路主要使用的是三极管的开关特性,只用到了截止与饱和两种状态,所以我们也只来讲解这两种用法。三极管的类型和用法我给大家总结了一句口诀,大家要把这句口诀记牢了:箭头朝内PNP,导通电压顺箭头过,电压导通,电流控制。
三极管有2种类型,箭头朝内就是PNP,那箭头朝外的自然就是NPN了。三极管的用法特点,关键点在于b极(基极)和e级(发射极)之间的电压情况,对于PNP而言,e极电压只要高于b级0.7V以上,这个三极管e级和c级之间就可以顺利导通。也就是说,控制端在b和e之间,被控制端是e和c之间。同理,NPN型三极管的导通电压是b极比e极高0.7V,总之是箭头的始端比末端高0.7V就可以导通三极管的e极和c极。这就是关于“导通电压顺箭头过,电压导通”的解释。
在这里插入图片描述

三极管基极通过一个10K的电阻接到了单片机的一个IO口上,假定是P1.0,发射极直接接到5V的电源上,集电极接了一个LED小灯,并且串联了一个1K的限流电阻最终接到了电源负极GND上。
如果P1.0由我们的程序给一个高电平1,那么基极b和发射极e都是5V,也就是说e到b不会产生一个0.7V的压降,这个时候,发射极和集电极也就不会导通,那么竖着看这个电路在三极管处是断开的,没有电流通过,LED2小灯也就不会亮。如果程序给P1.0一个低电平0,这时e极还是5V,于是e和b之间产生了压差,三极管e和b之间也就导通了,三极管e和b之间大概有0.7V的压降,那还有(5-0.7)V的电压会在电阻R47上。这个时候,e和c之间也会导通了,那么LED小灯本身有2V的压降,三极管本身e和c之间大概有0.2V的压降,我们忽略不计。那么在R41上就会有大概3V的压降,可以计算出来,这条支路的电流大概是3mA,可以成功点亮LED。
最后一个概念,电流控制。前边讲过,三极管有截止,放大,饱和三个状态,截止就不用说了,只要e和b之间不导通即可。我们要让这个三极管处于饱和状态,就是我们所谓的开关特性,必须要满足一个条件。三极管都有一个放大倍数β,要想处于饱和状态,b极电流就必须大于e和c之间电流值除以β。这个β,对于常用的三极管大概可以认为是100。那么上边的R47的阻值计算一下,e和c之间的电流是3mA,那么b极电流最小就是3mA除以100等于30uA,大概有4.3V电压会落在基极电阻上,那么基极电阻最大值就是4.3V/30uA = 143K。电阻值只要比这个值小就可以,当然也不能太小,太小会导致单片机的IO口电流过大烧坏三极管或者单片机,STC89C52的IO口输入电流最大理论值是25mA,不要超过6mA。
三极管的应用,控制应用和驱动应用。控制应用是可以通过单片机控制三极管的基极来控制后面的小灯,也可以控制进行不同电压之间的转换控制。
电压转换控制例如单片机是5V系统,它现在要跟一个12V的系统对接,如果IO直接接12V电压就会烧坏单片机,所以我们加一个三极管,三极管的工作电压高于单片机的IO口电压,用5V的IO口来控制12V的电路。
在这里插入图片描述

当IO口输出高电平5V时,三极管导通,OUT输出低电平0V,当IO口输出低电平时,三极管截止,OUT则由于上拉电阻R2的作用而输出12V的高电平,这样就实现了低电压控制高电压的工作原理。
驱动,主要是指电流输出能力。
在这里插入图片描述

上边的LED灯当IO口是高电平时,小灯熄灭,当IO口是低电平时,小灯点亮。那么下边的电路呢,按照这种推理,IO口是高电平的时候,应该有电流流过并且点亮小灯,但实际上却并非这么简单。单片机主要是个控制器件。单片机的IO口可以输出一个高电平,但是他的输出电流却很有限,普通IO口输出高电平的时候,大概只有几十到几百uA的电流,达不到1mA,也就点不亮这个LED小灯或者是亮度很低,这个时候如果我们想用高电平点亮LED,就可以用上三极管来处理了。
在这里插入图片描述

当IO口是高电平,三极管导通,因为三极管的电流放大作用,c极电流就可以达到mA以上了,就可以成功点亮LED小灯。
除了三极管之外,其实还有一些驱动IC,这些驱动IC可以作为单片机的缓冲器,仅仅是电流驱动缓冲,不起到任何逻辑控制的效果,比如74HC245,这个芯片在逻辑上起不到什么别的作用,就是当做电流缓冲器的,我们通过查看其数据手册,74HC245稳定工作在70mA电流是没有问题的,比单片机的8个IO口大多了,所以我们可以把他接在小灯和IO口之间做缓冲。
在这里插入图片描述

其中有VCC和GND,74HC245是个双向缓冲器,1引脚DIR是方向引脚,当这个引脚接高电平的时候,右侧所有的B编号的电压都等于左侧A编号对应的电压。比如A1是高电平,那么B1就是高电平,A2是低电平,B2就是低电平等等。如果DIR引脚接低电平,得到的效果是左侧A编号的电压都会等于右侧B编号对应的电压。因为我们这个地方控制端是左侧接的是P0口,我们要求B等于A的状态,所以1脚我们直接接的5V电源,即高电平。
还有最后一个使能引脚19脚OE,叫做输出使能,这个引脚上边有一横,表明是低电平有效,当接了低电平后,74HC245就会按照刚才上边说的起到双向缓冲器的作用,如果OE接了高电平,那么无论DIR怎么接,A和B的引脚是没有关系的,也就是74HC245功能不能实现出来。
单片机的P0口和74HC245的A端是直接接起来的,有个疑问,就是明明在电源VCC那地方加了一个三极管驱动了,为何还要再加245驱动芯片呢?电路上从正极经过器件到地,首先必须有电流才能正常工作,电路中任何一个位置断开,都不会有电流,器件也就不会参与工作了。其次,和水流一个道理,从电源正极到负极的电流水管的粗细都要满足要求,任何一个位置的管子过细,都会出现瓶颈效应,电流在整个通路中细管处会受到限制而降低,所以在电路通路的每个位置上,都要保证通道足够畅通,这个74HC245的作用就是消除单片机IO这一环节的瓶颈。
4.74HC13838译码器
在这里插入图片描述

单片机的IO口数量是有限的,有时并满足不了我们的设计需求,比如我们的STC89C52一共有32个IO口,但是我们为了控制更多的器件,就要使用一些外围的数字芯片,这种数字芯片由简单的输入逻辑来控制输出逻辑。
三八译码器,就是把3种输入状态翻译成8种输出状态。74HC138有1~6一共是6个输入引脚,但是其中4、5、6这三个引脚是使能引脚,这三个引脚如果不符合规定的输入要求,Y0到Y7不管你输入的1、2、3引脚是什么电平状态,总是高电平。所以我们要想让这个74HC138正常工作,ENLED那个输入位置必须输入低电平,ADDR3位置必须输入高电平,这两个位置都是使能控制端口。这类逻辑芯片,大多都是有使能引脚的。
对于数字器件的引脚,如果一个引脚输入的时候,有0和1两种状态;对于两个引脚输入的时候,就会有00、01、10、11这四种状态了,那么对于3个输入的时候,就会出现8种状态了,大家可以看下边的这个真值表其中输入是A2、A1、A0的顺序,输出是从Y0、Y1……Y7的顺序。
在这里插入图片描述

任一输入状态下,只有一个输出引脚是低电平,其他的引脚都是高电平。在前面的电路中我们已经看到,8个LED小灯的总开关三极管Q16基极的控制端是LEDS6,也就是Y6输出一个低电平的时候,可以开通三极管Q16,从右侧的希望输出的结果,我们可以推导出我们的A2、A1、A0的输入状态应该是110,如图。

那么我们再整体捋一遍点亮LED小灯的过程,首先看74HC138,我们要让LEDS6为低电平才能导通三极管Q16,所以ENLED = 0;ADDR3 = 1;保证74HC138使能。然后ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;这样保证了三极管Q16这个开关开通,5V电源加到LED上。
而74HC245左侧是通过P0口控制,我们让P0.0引脚等于0,就是DB_0等于0,而右侧DB0等于DB_0的状态,也是0,那么这样在这一排共8个LED小灯当中,只有最右侧的小灯和5V之间有压差,有压差就会有电流通过,有电流通过我们的LED2就会发光了。
在这里插入图片描述

跳线就是2根或者3根靠在一起的排针,以用一个叫作跳线帽的东西连接其相邻的2根针。它的作用就是起到导线的作用,我们可以通过跳线帽来实现连接线的切换,跳线帽本身可以占2个针的位置,现在是把右侧和中间的针连到了一起,这样实现的就是图3-18中的P1.0和ADDR0连接到一起、P1.1和ADDR1接一起、P1.2和ADDR2接一起、P1.3和ADDR3接一起。
在这里插入图片描述

内容参考书籍:手把手教你学51单片机

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:20:51  更:2021-10-21 12:31:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:33:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码