单片机IO口的工作原理和应用技巧2

单片机IO口的工作原理和应用技巧2
单片机IO口的工作原理和应用技巧2

我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图 1,当左端的输入为“0”时,前面的三极管截止(即集电极c跟发射极e之间相当于断开),所以5v电源通过1k电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。

三极管状态解说

我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。

再看图3,图3中那个1k的电阻即是上拉电阻。如果开关闭合,则有电流从1k电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1k 电阻上的压降也为0,所以输出端的电压就是5v了,这样就能输出高电平了。但是这个输出的内阻是比较大的(即1kω),如果接一个电阻为r的负载,通过分压计算,就可以算得最后的输出电压为5*r/(r+1000)伏,即5/(1+1000/r)伏。所以,如果要达到一定的电压的话,r就不能太小。如果r 真的太小,而导致输出电压不够的话,那我们只有通过减小那个1k的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合适的上拉电阻。

如果我们将一个读数据用的输入端接在输出端,这样就是一个io口了(51的io口就是这样的结构,其中p0口内部不带上拉,而其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于p0口来说,就是高阻态了。

对于漏极开路(od)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,oc就变成了od,原理分析是一样的。

另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起oc或者od来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的oc 或od输出则不会有这样的情况,因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时,则两个开关必须同时断开(或者在输出口上使用一个传输门),这样可作为输入状态,avr单片机的一些io 口就是这种结构。---------------------------------------------------------------------------

单片机内部的逻辑经过内部的逻辑运算后需要输出到外面,外面的器件可能需要较大的电流才能推动,因此在单片机的输出端口必须有一个驱动电路。这种驱动电路有两种形式:

其中的一种是采用一只N型三极管(npn或n沟道),以npn三极管为例,就是e接地,b接内部的逻辑运算,c引出,b受内部驱动可以控制三极管是否导通但如果三极管的c极一直悬空,尽管b极上发生高低变化,c极上也不会有高低变化,因此在这种条件下必须在外部提供一个电阻,电阻的一端接c(引出脚)另一端接电源,这样当三极管的b

有高电压是三极管导通,c电压为低,当b为低电压时三极管不通,c极在电阻的拉动下为高电压,这种驱动电路有个特点:低电压是三极管驱动的,高电压是电阻驱动的(上下不对称),三极管导通时的ec内阻很小,因此可以提供很大的电流,可以直接驱动led甚至继电器,但电阻的驱动是有限的,最大高电平输出电流=(vcc-Vh)/r;

另一种是互补推挽输出,采用2只晶体管,一只在上一只在下,上面的一只是n型,下面为p型(以三极管为例),两只管子的连接为:npn(上)的c连 vcc,pnp(下)的c接地,两只管子的ee,bb相连,其中ee作为输出(引出脚),bb接内部逻辑,这个电路通常用于功率放大点路的末级(音响),当bb接高电压时npn管导通输出高电压,由于三极管的ec电阻很小,因此输出的高电压有很强的驱动能力,当bb接低电压时npn截至,pnp导通,由于三极管的ec 电阻很小因此输出的低电压有很强的驱动能力,简单的例子,9013导通时ec电阻不到10欧,以Vh=2.5v,vcc=5v计算,高电平输出电流最大=250MA,短路电流500ma,这个计算同时告诉我们采用推挽输出时一定要小心千万不要出现外部电路短路的可能,否则肯定烧毁芯片,特别是外部驱动三极管时别忘了在三极管的基极加限流电阻。推挽输出电路的形式很多,有些单片机上下都采用n型管,但内部逻辑提供互补输出,以上的说明仅仅为了说明推挽的原理,为了更深的理解可以参考功率放大电路。

---------------------------------------------------------------------------

集电极开路门(集电极开路OC或源极开路OD)

漏极开路输出相当于集电极开路输出。漏极开路是对mos管而言,集电极开路是对三极型管而言。一般用于线或、线与、电流驱动,匹配电平。

开漏形式的电路有以下几个特点:

1.利用外部电路的驱动能力,减少IC内部的驱动,或驱动比芯片电源电压高的负载。

2.可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线判断总线占用状态的原理。

3.由于漏级开路,所以后级电路必须接一上拉电阻,上拉电阻的电源电压就可以决定输出电平。这样就可以进行任意电平的转换了。

4.源极开路提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。

---------------------------------------------------------------------------

上拉电阻很大,提供的驱动电流很小,叫弱上拉;反之叫强上拉。

---------------------------------------------------------------------------

OC门,又称集电极开路(漏极开路)与非门门电路,Open Collector(Open Drain)。为什么引入OC门?实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去。因此,需要一种新的与非门电路--OC门来实现“线与逻辑”。OC门主要用于3个方面:实现与或非逻辑,用做电平转换,用做驱动器。由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。OC门

使用上拉电阻以输出高电平,此外为了加大输出引脚的驱动能力,上拉电阻阻值的选择原则,从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。

为什么要使用拉电阻:

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

上拉是对器件注入电流,下拉是输出电流,弱强只是上拉电阻的阻值不同,没有什么严格区分。

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

上拉电阻应用:

1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。

2、OC门电路要输出“1”时才需要加上拉电阻,不加根本就没有高电平。

3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻,但在有时用OC门作驱动(例如:控制一个 LED)灌电流工作时就可以不加上拉电阻。

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

4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。

5、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。

6、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。

上拉电阻阻值的选择原则包括:

1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。

2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。

3、对于高速电路,过大的上拉电阻可能边沿变平缓。

综合考虑以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理。

---------------------------------------------------------------------------

高阻态时引脚对地电阻无穷,此时读引脚电平时可以读到真实的电平值。高阻态的重要作用就是I/O(输入/输出)口在输入时读入外部电平用。

一般门与其它电路的连接,无非是两种状态,1或者0,在比较复杂的系统中,为了能在一条传输线上传送不同部件的信号,研制了相应的逻辑器件称为三态门三态门,除了有这两种状态以外还有一个高阻态,就是高阻抗(电阻很大,

相当于开路)。相当于该门和它连接的电路处于断开的状态。三态门是一种扩展逻辑功能的输出级,也是一种控制开关。主要是用于总线的连接,因为总线只允许同时只有一个使用者。通常在数据总线上接有多个器件,每个器件通过OE/CE之类的信号选通。如器件没有选通的话它就处于高阻态,相当于没有接在总线上,不影响其它器件的工作。

---------------------------------------------------------------------------

准双向口只能有效的读取0,而对1则是采用读取非零的方式,就是读入的时候要先向io上写1,再读。

真正的双向口正如其名,就是真正的双向io不需要任何预操作可直接读入读出。

三态io的读入没有区别,只是输出带三态。

单片机引脚的定义与功能详解

单片机引脚的定义与功能详解 1 产品简介还有我发现一个很特别的地方,这是以前我玩32/51都没有的,那就是上拉电阻阻值大小是可以选择的,可编程选择,芯圣的产品又一次让我惊讶GPIO_Init(GPIOT0,GPIO_PIN_2,GPIO_MODE_IN_PU); //将P02端口设置为上拉电阻模式GPIO_P02ExternalPullConfig(R100K); //将P02端口上拉电阻设置为100K while(1); } 就可以将P02端口上拉电阻设置为100K 然后介绍一下HC89f003的重映射功能: Datasheet介绍: 让我们看看怎么重映射吧,我尽量简单明了讲一下。 什么是重映射: 一般的单片机上有很多I/O口,也有很多的内置外设如I2C、ADC、ISP、USART等,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。很多复用内置的外设的I/O引脚可以通过重映射功能,从不同的I/O管脚引出,即复用功能的引脚是可通过程序改变的。读到这里相信大家都应该了解了端口重映射的一些概念了。原理上的东西不细说了。大家可以看手册或者网上查,这方面的资料还是很多的。从芯圣的datasheet我们可以知道,基本上所有的io口,都是可以实现重映射的,那我们看看pwm输出能映射到哪个io口呢, PWM3_OUTPin_P00 = (u8)0x00, //PWM3输出端口为P00 PWM3_OUTPin_P01 = (u8)0x01, //PWM3输出端口为P01 PWM3_OUTPin_P02 = (u8)0x02, //PWM3输出端口为P02 PWM3_OUTPin_P03 = (u8)0x03, //PWM3输出端口为P03 PWM3_OUTPin_P04 = (u8)0x04, //PWM3输出端口为P04

AT89C51单片机的基本结构和工作原理

AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能: 1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

(1)运算器 运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。 ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。 暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。 累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。 (2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理: 1.引脚排列及功能 AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。 (1)I/O口线 ·P0口 8位、漏极开路的双向I/O口。 当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。 ·P1口 8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。 ·P2 8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。 ·P3 8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。 (2)控制信号线

单片机引脚说明-按其引脚功能分为四部分叙述这40条引脚的功能

单片机引脚说明-按其引脚功能分为四部分叙述这40条引脚的功能

下面按其引脚功能分为四部分叙述这40条引脚的功能。 1、主电源引脚VCC和VSS VCC——(40脚)接+5V电压;VSS——(20脚)接地。 2、外接晶体引脚XTAL1和XTAL2 XTAL1(19脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS 单片机,此引脚作为驱动端。 XTAL2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。 3、控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP ①RST/VPD(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推

荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF 的电容,以保证可靠地复位。 VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。 ②ALE/PROG(30脚):当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。 对于EPROM单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。 ③PSEN(29脚):此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。

8051单片机的引脚及其功能

今天我们学习8051单片机的引脚及其功能。 8051系列各种芯片的引脚是互相兼容的,8051,8751和8031均采用40脚双列直播封装型式。当然,不同芯片之间引脚功能也略有差异。8051单片机是高性能的单片机,因为受到引脚数目的限制,所以有不少引脚具有第二功能,其中有些功能是8751芯片所专有的。各引脚功能简要说明如下: Vcc(40脚):电源端,为+5V。 Vss(20脚):接地端。 时钟电路引脚XLAL2(18脚):接外部晶体和微调电容的一端。若需采用外部时钟电路时,该引脚输入外时钟脉冲,要检查8051的振荡电路是否正确工作,可用示波器查看XLAL2端是否有脉冲信号输出。 时钟电路引脚XLAL1(19脚):接外部晶体的微调电容的另一端。在片内它是振荡电路方相放大器的输入端。在采用外部时钟时,该引脚必须接地。 RST(9脚):RST是复位信号输入端,高电平有效。当此输入端保持两个机器周期,即24个时钟振荡周期的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD,即备用电源的输入端。当主电源Vcc发生故障降低到低电平规定值时,将+5V电源自动接入RST端,为RAM 提供备用电源,以保证存储在RAM中的信息不丢失,以使电源正常后能继续正常运行。 ALE(30脚):地址锁存允许信号端。当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fosc的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。在CPU访问片外数据存储器时,会丢失一个脉冲。平时不访问外存储器时,ALE端也可1/6的振荡频率固定输出正脉冲,因而ALE也可以用作对外输出时钟或定时信号。如果你想看一下8051芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出,如有,则8051基本上是好的。ALE端的负载驱动能力为8个LS型TTL。此引脚的第二功能PROG是对片内带有4K EPROM的8751固化程序时,作为编程脉冲输入端。 PSCN(29脚):程序存储器允许输出信号端。在访问片外程序存储器时,此端口定时输出脉冲作为读片外程序存储器的选通信号。此引脚EPROM的OE端,PSCN端有效,即允许读出片

单片机io口理解

【转】单片机IO口设置推挽和开漏的区别(转自网易博客冷水泡茶的日志)2010-09-28 13:43 单片机IO口设置推挽和开漏的区别 一般情况下我们在电路设计编程过程中设置单片机,大多是按照固有的模式去做的,做了几年这一行了,也没碰到过什么问题。昨天就遇到了这样一个问题,电路结构如图一,在这种情况下STC单片机与410单片机通讯是没问题的 但是与PC就无法通讯了,STC收不到PC的命令,以前410的位置是用的STC的片子一直没问题,我想也许是驱动能力不够,在410TX端加了上拉,不过没起作用。 用示波器监视串口得到面的波形 这说明sp3232下拉得不够,于是加了下拉,还是没起作用。又把410端口内部的上拉去掉,结果还是一样。 最后请教老师,在410程序里将TX的工作方式由推挽式改为开漏式,一切ok~!

从网上查了推挽和开漏的区别,放在这里免得以后再到处找了,给自己保存了 我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。 我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。 再看图三。图三中那个1K的电阻即是上拉电阻。如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。 对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。 另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起OC或者OD来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的OC或OD输出则不会有这样的情况,因为上拉电

STC89C51单片机引脚功能介绍

C51单片机引脚功能介绍 C51单片机引脚功能介绍 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈电源: ⑴VCC - 芯片电源,接+5V; ⑵VSS - 接地端; ⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 ⒊控制线:控制线共有4根, ⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ①ALE功能:用来锁存P0口送出的低8位地址新门户 ②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 ⑵PSEN:外ROM读选通信号。

⑶RST/VPD:复位/备用电源。 ①RST(Reset)功能:复位信号输入端。 ②VPD功能:在Vcc掉电情况下,接备用电源。 ⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。 ①EA功能:内外ROM选择端。 ②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 ⒋I/O线 89C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。 1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。 2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,连上就能了,按下图1接上即可。 3、复位管脚:按下图1中画法连好。 EA管脚:EA管脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。 我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流电阻) 按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。即然要控制1脚,就得给它起个名字,叫它什么名字呢,设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定。 名字有了,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个管脚输出高电平的指令是SETB,让一个管脚输出低电平的指令是CLR。因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写CLR P1.0就能了。但是我们怎样才能计算机执行这条指令呢?要解决这个问题,第一,计算机看不懂SETB CLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机只懂一样东西:数字。因此我们得把SETB P1.0变为(D2H,90H ),把CLR P1.0变为(C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL规定的,我们不去研究。第二步,在得到这两个数字后,还要借助于一个硬件工具"编程器"将这两个数字进入单片机的内部。编程器:就是把你在电脑上写出来的代码用汇编等编译器生成的一个

IO口工作原理

8051单片机I/O引脚工作原理 (2012-11-09 20:56:54) 转载▼ 标签: 杂谈 8051单片机I/O引脚工作原理 [转载] 一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。 下面,我们先就组成P0口的每个单元部份跟大家介绍一下: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓

冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。 D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。 多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。大家看上图,当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。 输出驱动部份:从上图中我们已看出,P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。 与门、与非门:这两个单元电路的逻辑原理我们在第四课数字及常用逻辑电路时已做过介绍,不明白的同学请回到第四节去看看。 前面我们已将P0口的各单元部件进行了一个详细的讲解,下面我们就来研究一下P0口做为I/O口及地址/数据总线使用时的具体工作过程。 1、作为I/O端口使用时的工作原理 P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),看上图中的线线部份,多路开关的控制信号同时与与门的一个输入端是相接的,我们知道与门的逻辑特点是“全1出1,有0出0”那么控制信号是0的话,这时与门输出的也是一个0(低电平),与让的输出是0,V1管就截止,在多路控制开关的控制信号是0(低电平)时,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。 P0口用作I/O口线,其由数据总线向引脚输出(即输出状态Output)的工作过程:当写锁存器信号CP 有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。前面我们已讲了,当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电

80C51单片机引脚图及引脚功能介绍

80C51单片机引脚图及引脚功能介绍 首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈ 电源: ⑴ VCC - 芯片电源,接+5V; ⑵ VSS - 接地端; ⒉ 时钟:

XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 ⒊ 控制线:控制线共有4根, ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ① ALE功能:用来锁存P0口送出的低8位地址 ② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。 ⑵ PSEN:外ROM读选通信号。 ⑶ RST/VPD:复位/备用电源。 ① RST(Reset)功能:复位信号输入端。 ② VPD功能:在Vcc掉电情况下,接备用电源。 ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。 ① EA功能:内外ROM选择端。 ② Vpp功能:片内有EPROM的芯片,在EPROM 编程期间,施加编程电源Vpp。 ⒋ I/O线

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。 1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。 2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图1接上即可。 3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。 4、 EA管脚:EA管脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。

单片机IO端口工作原理(P0端口,漏极开路,推挽,上拉电阻,准双向口)

单片机IO端口工作原理(P0端口,漏极开路,推挽,上拉电阻,准双向口) 一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 输入缓冲器:在P0口中,有两个三态的缓冲器,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态。图中有一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。图中另一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。 D锁存器:一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。图中的锁存器,D 端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q 非是反向输出端。 对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。

多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。大家看上图,当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。 输出驱动部份:从上图中我们已看出,P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。 还有与门、与非门。 1、作为I/O端口使用时的工作原理 P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),图中与门输出的也是一个0(低电平),V1管就截止,且多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。 P0口用作I/O口线,其由数据总线向引脚输出(即输出状态)的工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。由于当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。 下图就是由内部数据总线向P0口输出数据的流程图(红色箭头)。

单片机各个引脚功能概述

单片机引脚,单片机引脚是什么意思 8051单片机引脚功能介绍 首先我们来连接一下单片机的引脚图,如果,具体功能在下面都有介绍。 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈ 电源: ⑴ VCC - 芯片电源,接+5V; ⑵ VSS - 接地端; ⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 ⒊ 控制线:控制线共有4根, ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ① ALE功能:用来锁存P0口送出的低8位地址 ② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 ⑵ PSEN:外ROM读选通信号。 ⑶ RST/VPD:复位/备用电源。 ① RST(Reset)功能:复位信号输入端。 ② VPD功能:在Vcc掉电情况下,接备用电源。 ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。 ① EA功能:内外ROM选择端。 ② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 ⒋ I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

〈51单片机引脚图及引脚功能〉 拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。 1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。 2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图1接上即可。 3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。 4、 EA管脚:EA管脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。 我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流电阻) 按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED 才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不能由我们来更改。

关于51单片机IO引脚驱动能力

单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是单片机的输出电压。 但是,程序控制不了单片机的输出电流。单片机的输出电流,很大程度上是取决于引脚上的外接器件。 单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”; 单片机输出高电平时,则允许外部器件,从单片机的引脚,拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”。 这些电流一般是多少?最大限度是多少?这就是常见的单片机输出驱动能力的问题。 早期的51系列单片机的带负载能力,是很小的,仅仅用“能带动多少个TTL输入端”来说明的。 P1、P2和P3口,每个引脚可以都带动3个TTL输入端,只有P0口的能力强,它可以带动8个! 分析一下TTL的输入特性,就可以发现,51单片机基本上就没有什么驱动能力。TTL输入基极的电流很小(一般为微安级的10uA-100uA)。 它的引脚,甚至不能带动当时的LED进行正常发光。(其工作电流一般为几个毫安到十几个毫安)。 记得是在AT89C51单片机流行起来之后,做而论道才发现:单片机引脚的能力大为增强,可以直接带动LED发光了。 看看下图,图中的D1、D2就可以不经其它驱动器件,直接由单片机的引脚控制发光显示。

虽然引脚已经可以直接驱动LED发光,但是且慢,先别太高兴,还是看看AT89C51单片机引脚的输出能力吧。 从AT89C51单片机的PDF手册文件中可以看到,稳态输出时,“灌电流”的上限为: Maximum IOL per port pin:10mA; Maximum IOL per8-bit port:Port0:26mA,Ports1,2,3:15mA; Maximum total I for all output pins:71mA. 这里是说: 每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为10mA; 每个8位的接口(P1、P2以及P3),允许向引脚灌入的总电流最大为15mA,而P0的能力强一些,允许向引脚灌入的最大总电流为26mA; 全部的四个接口所允许的灌电流之和,最大为71mA。 而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力呢?可以说是太差

51单片机主要引脚功能

51单片机主要引脚功能 XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。 RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。 VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V 电源的正负端。 P0~P3 为可编程通用I/O 脚,其功能用途由软件定义 P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL 逻辑门电路,对端口P0 写1 时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在 上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内 部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入1 时,它

单片机IO口结构与工作原理

一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。 下面,先分析组成P0口的各个部分: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这个三态缓冲器有效,引脚上的数据才会传输到部数据总线上。 D锁存器:在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 多路开关:在51单片机中,不需要外扩展存储器时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(部没有ROM)的单片机或者编写的程序超过了单片机部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。 输出驱动部份:P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),V1管截止,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。作为地址/数据线使用时,多路开关的控制信号为1,V1管由地址/数据线决定,多路开关与地址/数据线连接。 输出过程: 1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。这时多路开关的控制信号为低电平0,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。 下图就是由部数据总线向P0口输出数据的流程图(红色箭头)。 2、地址输出过程 控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。

80C51单片机的引脚功能

1.1 80C51单片机的引脚功能 80C51系列中,用CHMOS工艺制造的单片机都采用双列直插式(DIP)40脚封装,引脚信号完全相同。图2-9为引脚图,这40根引脚大致可分为:电源(V CC、V SS、V PP、V PD)、时钟(XTAL1、XTAL2)、I/O口(P0~P3)、地址总线(P0口、P2口)和控制总线(ALE、RST、、、)等几部分。它们的功能简述如下: 1.电源 Vcc(引脚号40),芯片电源,接+5V;Vss(引脚号20),电源接地端。 2.时钟 XTAL1(引脚号18)内部振荡电路反相放大器的输入端,是外接晶振的一个引脚。当采用外部振荡器时,此引脚接地。 XTAL2(引脚号19)内部振荡器的反相放大器输出端,是外接晶振的另一端。当采用外部振荡器时,此引脚接外部振荡源。 3.控制总线 (1)ALE/(引脚号30):正常操作时为ALE功能(允许地址锁存),用来把地址的低字节锁存到外部锁存器。ALE引脚以不变的频率(振荡器频率的 1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟信号或用于定时。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)8个LSTTL电路。在8751单片机EPROM编程期间,此 引脚接编程脉冲(功能)。 (2)(引脚号29):外部程序存储器读选通信号。在从外部程序存储器取指令(或数据)期间,在每个机器周期内两次有效。可以驱动8个LSTTL电路。 (3)RST/VPD(引脚号9):复位信号输入端。振荡器工作时,该引脚上持续2个机器周期的高电平可实现复位操作。此引脚还可接上备用电源。在Vcc掉电期间,由向内部RAM提供电源,以保持内部RAM中的数据。 (4)/Vpp(引脚号31):为内部程序存储器和外部程序存储器的选择端。当为高电平时,访问内部程序存储器(PC值小于4K);当为低电平时,访问外部程序存储器。对于87C51单片机,在EPROM编程期间,此端为21V编程电源输入端。

单片机IO口结构及工作原理

、Po端口的结构及工作原理 Po端口8位中的一位结构图见下图: 地址∕ttiκ I i O i XWwfr?? 内部总线 i?引脚 PO 口工作康理图 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成下面,先分析组成P0 口的各个部分: 先看输入缓冲器:在P0 口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这 个三态缓冲器有效,引脚上的数据才会传输到内部数据总线上。 D锁存器:在51单片机的32根I/O 口线中都是用一个D触发器来构成锁存器的。D 端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 多路开关:在51单片机中,不需要外扩展存储器时,P0 口可以作为通用的输入输出端口(即I/O)使用,对于8031 (内部没有ROM )的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0 口就作为,地址/数据? 总线使用。这个多路选择开关就是用于选择是做为普通I/O 口使用还是作为,数据/地址?总线使用的选择开关了。当多路开关与下面接通时,P0 口是作为普通的I/O 口使用的,当多路开关是与上面接通时,P0 口是作为,地址/数据?总线使用的。 输出驱动部份:P0 口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

Po 口作为I/O端口使用时,多路开关的控制信号为0 (低电平),V1管截止, 多路开关是与锁存器的Q非端相接的(即P0 口作为I/O 口线使用)。作为地址/数据线使用时,多路开关的控制信号为1,V1管由地址/数据线决定,多路开关与地址/数据线连接。 输出过程: 1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端 P0.X。这时多路开关的控制信号为低电平0, V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。下图就是由内部数据总线向P0 口输出数据的流程图(红色箭头)。 地址/数抵 控制信号(0. 1) PO. XWftKra 内部总线 ht t p://WWW Z Po口由内部致据忌址向31 Wtt出时的5t?≡ 2、地址输出过程 控制信号为1 ,地址信号为“(时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。

单片机各引脚的介绍

单片机各引脚的功能: ①电源引脚: 8051单片机的右上角即40脚接VCC,左下角即20脚接GND。 ②输入/输出口(I/O): 从39 脚起,为Port 0的开始引脚,即第39至32脚蹬8只脚为Port 0;Port 0的对面是Port 1,也就是第1脚到第8脚。Port 1从第1脚开始,所以Port 2从其斜对脚第21脚开始,也就是在右下方,第21脚到第28脚就是Port 2.同样的,Port 2的对面就是Port 3,第10脚到第17脚就是Port 3.39,1,21,10就是这4个Port的开始引脚。 ③复位引脚 对于8051而言,只要复位引脚接高电平超过2个机器周期(约2μs),即可产生复位操作。而8051的复位引脚在Port 1和Port 3之间,即第9脚。辅助记忆的方法“系统久久不动就要按一下Reset钮以复位系统”,这久久就是第9脚的谐音。 ④频率引脚 微控制器都需要时钟脉冲,而在引脚上方的两只引脚,即19,18脚,就是时钟引脚,分别是XTAL1,XTAL2. ⑤存储器引脚 8051内部有存储器,外部也可接存储器。使用内部存储器还是外部存储器,则须视31脚(Port 0下面那只脚)而定。31脚就是EA'引脚,即访问外部存储器使能引脚。

当EA'=1时,系统使用内部存储器; 当EA'=0时,系统使用外部存储器。 ⑥外部存储器控制引脚 现在就剩下EA'引脚下面的两个引脚了,这两只引脚与EA'引脚有点类似,都是控制存储器的,说明如下。 30脚为地址锁存允许信号ALE(Address Latch Enable),其功能是在访问外部存储器时,送出一个将原本在Port 0中的地址(A0-A7地址)锁存在外部锁存器IC的信号,让Port 0空出来,以传输数据。 29脚为程序存储器允许输出端PSEN'(Program Storess ENable),其功能也是访问外部存储器。通常此引脚连接到外部存储器(ROM)的OE'引脚,当8051要读取外部存储器的数据时,此引脚就会输出一个低平信号。 (29,30脚比较难理解,所幸,只要不动用到外部存储器,就可以当它们不存在。)

单片机引脚功能介绍

单片机引脚功能介绍 1.VCC(40):电源+5V。 2.VSS(20):接地,也就是GND。 3.XTL1(19)和XTL2(18):振荡电路。 单片机是一种时序电路,必须有脉冲信号才能工作,在它的内部有一个时钟产生电路,有两种振荡方式,一种是内部振荡方式,只要接上两个电容和一个晶振即可;另一种是外部振荡方式,采用外部振荡方式时,需在XTL2上加外部时钟信号(详细的内容将在以后的课程中专门介绍)。 4.PSEN(29):片外ROM选通信号,低电平有效. 5.ALE/PROG(30):地址锁存信号输出端/EPROM编程脉冲输入端。 6.RST/VPD(9):复位信号输入端/备用电源输入端。什么是复位信号,为什么要加复位信号?当然也暂时不去管它。 7.EA/VPP(31):内/外部ROM选择端。在30、9脚的功能上不知大家注意没有,都有一个/,什么意思呢?这是引脚的第二功能,也就是说,该引脚既可以作前面的功能,也可以作后面的功能,至于它是如何工作的,我们暂时也别去研究。 8.P0口(39-32):双向I/O口。9.P1口(1-8):准双向通用I/0口。10. P2口(21-28):准双向I/0口。11.P3口(10-17):多用途口。I/O就是英文IN/OUT 的缩写,这些引脚的功能想必大家也都明白了,(就是输入/输出的意思),这32个I/O口就是留给我们作连接外围电路用的,那么它们之间有些什么不同呢?这个问题稍微有点复杂。 二、单片机的电路连接和开发过程 单片机是如何工作的?我们的实验是让一个LED灯亮起来,亮哪一个?这就随便你了,比如我们就让LED1亮起来吧,仔细看一下电路图,LED1接在什么地方呢? 接在单片机的P1.0的引脚(也就是1脚)上,那么按照该电路图的连接方法,当1脚为高电平时,LED1是不亮的;只有当1脚为低电平时,LED1才会亮起来,怎样才能让1脚由高电平变为低电平呢?我们让人做事,就必须对她说一

相关文档
最新文档