跳转到主要内容

单片机

单片机上拉电阻、下拉电阻的详解和选取(二)

cathy /

在上一篇文章“<a href="http://mouser.eetrend.com/content/2019/100046141.html">单片机上拉电阻、下拉电阻的详解和选取(一)</a>”中,我们介绍了上拉电阻、下拉电阻的作用和应用原则。在本文,我们将介绍上拉电阻、下拉电阻的阻值选择原则。

<center><img src="http://mouser.eetrend.com/files/2019-11/wen_zhang_/100046170-84848-2.pn…; alt=“” width="600"></center>

<strong>四、上拉电阻的阻值选择原则</strong>

单片机上拉电阻、下拉电阻的详解和选取(一)

cathy /

<strong>一、定义</strong>

1、上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用。下拉同理。

2、上拉是对器件注入电流,下拉是输出电流。

3、弱强只是上拉电阻的阻值不同,没有什么严格区分。

4、对于非集电极(或漏极)开路输出型电路(如普通门电路),提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路提供电流通道。

<strong>二、上、下拉电阻作用</strong>

1、一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一个电阻。

2、数字电路有三种状态:高电平、低电平和高阻状态。有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使其处于稳定状态,具体视设计要求而定。

一分钟带你搞懂这三种单片机的优缺点

cathy /

<strong>51单片机优缺点</strong>

51系列是应用最广泛的单片机,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界上有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上进行了性能扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。

<strong>优点一</strong>

51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。

<center><img src="http://mouser.eetrend.com/files/2019-10/wen_zhang_/100045633-82633-1.pn…; alt=“”></center>

关于单片机中断的优先级,你想了解的都在这儿了!

cathy /

在讲中断产生背景的时候,我们仅仅讲了看电视和烧水的例子,但是实际生活当中还有更复杂的,比如我正在看电视,这个时候来电话了,我要进入接电话的“中断”程序当中去,就在接电话的同时,听到了水开的声音,水开的“中断”也发生了,我就必须要放下手上的电话,先把煤气关掉,然后再回来听电话,最后听完了电话再看电视,这里就产生了一个优先级的问题。

<center><img src="http://mouser.eetrend.com/files/2019-10/wen_zhang_/100045466-81920-1.pn…; alt=“” width="600"></center>

还有一种情况,我们在看电视的时候,听到了水开的声音,水开的“中断”发生了,我们要进入关煤气的“中断”程序当中。而在关煤气的同时,电话铃声响了,而这个时候,我们的处理方式是先把煤气关掉,再去接听电话,最后再看电视。

单片机定时器/计数器基本原理

cathy /

目前常用的单片机中往往都配备了定时器/计数器。在AT89S52芯片内包含有三个16位的定时器/计数器:T0、T1和T2,其核心是加1计数器。我们主要需要掌握的是T0和T1的结构和功能,需注意要从电路结构上来理解功能的实现。定时器/计数器方式寄存器TMOD和定时器/计数器控制寄存器TCON是用于设定定时器/计数器工作方式、定时或计数功能,控制启动或停止以及产生溢出中断的重要模块,应该对这两个寄存器中逐位的定义和功能进行学习和掌握。

<strong>一、定时器/计数器的功能</strong>

AT89S52单片机定时器/计数器的基本部件是两个8位计数器(T1计数器分为高8位TH1和低8位TL1,T0计数器的高8位是TH0,低8位是TL0)。如图1所示。

单片机中的高阻态到底什么意思?

cathy /

在我们刚一开始接触到51单片机的时候对P0口必须加上上拉电阻,否则P0就是高阻态。对这个问题可能感到疑惑,为什么是高阻态?加上拉电阻?今天针对这一概念进行简单讲解。

<strong>高阻态</strong>

高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平。

如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。

<strong>高阻态的实质</strong>

电路分析时高阻态可做开路理解,你可以把它看作输出(输入)电阻非常大。

它的极限可以认为悬空,也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。而实际应用上与引脚的悬空几乎是一样的。

<strong>高阻态的意义</strong>

当门电路的输出上拉管导通而下拉管截止时,输出为高电平,反之就是低电平。

如果当上拉管和下拉管都截止时,输出端就相当于浮空(没有电流流动),其电平随外部电平高低而定,即该门电路放弃对输出端电路的控制。

单片机如何通过ADC模块采集模拟信号?

cathy /

单片机的模数转换接口(ADC - Analog-to-Digital Converter)将外部的模拟量信号转化为数字信号,因单片机属于数字器件,需将模拟信号转化为数字信号才能够进行处理。目前市场上的很多单片机都自带ADC转换接口,若无ADC转换接口,可以使用ADC模数转换芯片外扩。

ADC模块是将模拟信号转化位数字信号,为用0和1表示的数字信号。对于一个12位ADC(ADC的位数表示将模拟量转换成数字量后所用的二进制位数),可储存数字量范围为:(二进制)000000000000~111111111111,转换为十进制数字范围为0~2^12即0~4095。假设它的参考电压是5V,也就是说把参考电压分为2^12份即4096份,最小分辨率为VREF/4096。也就是说二进制的000000000000代表输入模拟量0V,而111111111111代表最大值VREF。

单片机通电后所有接口都是高电平吗?

cathy /

在MSP430单片机的手册中,对于端口复位后的状态,是这样描述的:复位后,所有端口处于输入状态。

就这个问题,我们来简单说一下单片机上电复位后端口的状态问题。

<center><img src="http://mouser.eetrend.com/files/2019-08/wen_zhang_/100044674-77661-1.pn…; alt=“” width="600"></center>

首先,单片机上电后尽量避免端口处于输出状态(无论是输出低还是输出高)。

单片机堆栈是什么?它的原理和作用又是什么?

cathy /

<strong>什么是单片机堆栈?</strong>

在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。

<strong>它的作用</strong>

1、子程序调用和中断服务时,CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈。

2、保护现场/恢复现场

3、数据传输

<strong>单片机堆栈原理</strong>

堆栈区由特殊功能寄存器堆栈指针SP管理。堆栈区可以安排在RAM区任意位置,但一般不安排在工作寄存器区和可按位寻址的RAM区,通常是放在RAM区靠后的位置。

单片机编程语言及应用技巧解析

cathy /

<strong>1、C语言和汇编语言在开发单片机时各有哪些优缺点?</strong>

汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。

C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。

对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。

<strong>2、C或汇编语言可以用于单片机,C++能吗?</strong>

在单片机开发中,主要是汇编和C。

<strong>3、搞单片机开发,一定要会C吗?</strong>