数码管译码芯片驱动和单片机IO口介绍

合集下载

为什么单片机的IO口需要驱动?

为什么单片机的IO口需要驱动?

为什么单片机的I/O口需要驱动呢?这个问题需要从I/O口的电气特性上进行解释。

首先,给出单片机典型的I/O口,即P1口电气结构图,如图所示。

P1口通常是作为通用I/O口使用,不需要多路转换电路MUX。

其输出级电路内部有上拉电阻,与场效应管共同组成输出驱动电路。

因此,P1口作为输出时,不需要再外接上拉电阻,而当P1口作为输入口使用时,仍然需要先向锁存器写“1”,截止场效应管。

内部上拉电阻阻值很大,经过测量大致在330KΩ左右,而内部电源Vcc仅仅+5V,这样以P1.X高电平驱动发光二极管为例,场效应管截止,相当于Vcc通过330KΩ的电阻向二极管提供电流,5/330*10-3=0.015mA,而二极管的点亮电流为5mA至10mA,这就说明单片机的端口只是驱动TTL电平,不提供或提供很小的驱动电流,所以在带负载时,单片机应当在I/O口加上驱动芯片。

单片机IO口介绍PPT文档共24页

单片机IO口介绍PPT文档共24页
单片机IO口介绍
21、静念园林好,人间良可辞。 22、步步寻往迹,有处特依依。 23、望云惭高鸟,临木愧游鱼。 24、结庐在人境,而无车马喧;问君 何能尔 ?心远 地自偏 。 25、人生归有道,衣食固其端。

26、要使整个人生都过得舒适、愉快,这是不可能的,因为人类必须具备一种能应付逆境的态度。——卢梭

27、只有把抱怨环境的心情,化为上进的力量,才是成功知之者不如好之者,好之者不如乐之者。——孔子

29、勇猛、大胆和坚定的决心能够抵得上武器的精良。——达·芬奇

30、意志是一个强壮的盲人,倚靠在明眼的跛子肩上。——叔本华
谢谢!
24

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

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

单片机IO口结构及工作原理单片机(Microcontroller Unit,MCU)的IO口是指可用来输入输出数据的引脚,在单片机系统中具有重要的作用。

本文将详细介绍单片机IO口的结构和工作原理。

一、单片机IO口的结构单片机的所有IO口都可以看作是一个通用的数字引脚。

常用的单片机IO口主要包括输入端和输出端两个部分。

1.输入端:单片机IO口的输入端包含一个输入缓冲区,用于对输入信号进行缓冲和驱动。

输入缓冲区通常由一个高阻抗的MOSFET器件构成,可以对输入信号进行放大和处理。

输入端能够接收来自外界的高电平和低电平信号,通过输入缓冲区将信号传递给单片机的内部电路。

2.输出端:单片机IO口的输出端是由一个输出缓冲器和驱动电路构成的。

输出缓冲器一般由一个强驱动能力的MOSFET器件构成,可以对输出信号进行放大和驱动。

输出端能够将单片机内部的数据通过输出缓冲器传递给外部电路,形成相应的高电平或低电平电压信号。

3. 接口电路:为了提高单片机IO口的抗干扰能力和适应外部电路的需求,通常在IO口的输入和输出端之间设置了一些接口电路,如上拉电阻(Pull-Up Resistor)和下拉电阻(Pull-Down Resistor)。

上拉电阻和下拉电阻可以对输入或输出信号进行稳定的电平处理和电流限制,使得单片机的IO口在复杂的电路环境中能够正常工作。

二、单片机IO口的工作原理单片机的IO口工作原理主要包括输入和输出两种模式。

1.输入模式:当IO口被设定为输入模式时,输入信号可以通过外部电路或者内部电路输入到IO口,并经过输入缓冲器进行电平放大和处理。

在输入模式下,可以通过软件对IO口进行设置,使其能够读取外部电路的电平状态。

通过输入模式,单片机可以读取外部的开关状态、传感器的输出以及其他的输入信号,实现数据的采集和处理。

2.输出模式:当IO口被设定为输出模式时,单片机可以将内部处理的数据通过输出缓冲器驱动外部电路。

单片机IO口介绍

单片机IO口介绍

单片机IO口介绍单片机(microcontroller)是一种集成电路芯片,具有运算、存储和控制功能。

它是嵌入式系统中最常用的处理器之一、在单片机中,IO (Input/Output)口是用来进行输入输出操作的接口。

IO口通常包括数字IO口和模拟IO口两种类型。

下面将详细介绍单片机IO口的功能和应用。

1.数字IO口:数字IO口是单片机与外部设备进行数字信号交换的接口。

数字IO口可以进行输入和输出操作,具有以下特点:-输入功能:可以通过读取外部设备的状态或信号,并将其转换为数字信号输入到单片机中进行处理。

例如,传感器的信号输入和按键的输入等。

-输出功能:可以通过将数字信号输出到外部设备,控制其工作状态。

例如,LED的控制、驱动电机或继电器等。

数字IO口通常以引脚(pin)的形式存在于单片机芯片上。

一个引脚包括输入端和输出端,可以根据需要进行配置。

数字IO口操作简单、速度快、精度高,常用于控制和通信等方面。

2.模拟IO口:模拟IO口是单片机与外部设备进行模拟信号交换的接口。

模拟IO口可以进行模拟输入和输出操作,常用于采集和控制模拟信号。

-模拟输入功能:可以从外部信号源中获取模拟信号,并将其转换为数字信号输入到单片机中进行处理。

例如,温度传感器、声音传感器等。

-模拟输出功能:可以将数字信号转换为模拟电压、电流等形式,输出到外部设备中。

例如,通过PWM(脉冲宽度调制)信号控制电机的转速。

模拟IO口通常通过ADC(模数转换器)和DAC(数模转换器)实现。

ADC将模拟信号转换为数字信号,DAC将数字信号转换为模拟信号。

模拟IO口的使用相对复杂,需要进行模数转换和数模转换,但在一些需要对模拟信号进行处理和控制的应用中起到关键作用。

3.应用场景:IO口在单片机系统中广泛应用于各种应用场景。

以下是一些常见的应用场景:-传感器接口:通过IO口连接传感器,读取传感器的输出信号,进行数据采集和处理。

例如温度、湿度、光照等传感器的接口。

io驱动数码管原理

io驱动数码管原理

驱动数码管显示的原理通常涉及到单片机IO口输出控制和数码管的内部结构。

数码管的基本结构:
数码管(LED或LCD)由多个发光二极管(对于LED 数码管)或者液晶段组成,这些发光单元按照特定排列形成0-9的数字以及其他字符形状。

常见的7段数码管有8个引脚:7个段选(a-g)对应7个不同的发光段,以及1个公共端(Common Anode或Common Cathode)。

共阴极数码管驱动原理:
在共阴极数码管中,所有段的阴极连接在一起作为公共地线(公共端接地),而每个段的阳极为独立控制的输入端,分别与单片机的IO口相连。

要让数码管显示某个数字或字符,就需要通过单片机对应的IO口送出低电平信号给需要点亮的段选,同时公共端接高电平(+5V或其他工作电压)。

这样,相应的段就会被点亮,组合成所需的数字或字符。

共阳极数码管驱动原理:
而在共阳极数码管中,公共端为正极,各个段的阴极
为独立控制的输入端,当要点亮某个段时,其对应的IO口送出高电平,而公共端则提供电源电流,未被点亮的段对应的IO口保持低电平,不导通电流。

动态扫描方式:
为了节省单片机的IO资源,实际应用中常采用动态扫描的方式驱动多位数码管。

例如4位数码管仅使用8个IO口进行轮流点亮,通过快速循环刷新各位置的显示数据,利用人眼视觉暂留效应实现多位数码管的同时显示效果。

总结来说,单片机通过IO口对数码管的段选进行高低电平切换,配合公共端的电平控制,以达到选择性点亮数码管内部不同发光段的目的,从而显示出预设的数字、字母或者其他符号。

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

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

一、P0口的结构及工作原理P0口8位中一位的结构图如下图所示:从上图可以看出,P0口由锁存器、输入缓冲器、开关、与非门、与门和场效应晶体管驱动电路组成。

接下来先分析构成P0口的各个部分:首先看输入缓冲器:在P0口中,有两个三态缓冲器,其输出可以是高电平,也可以是低电平,还有也就是高阻态(或禁用态),上位是读锁存器的缓冲器,下位是读管脚的缓冲器,读取P0.X管脚上的数据,使之三态缓冲器若有效,则将引脚上的数据传输到外部数据总线。

D锁存器:AD触发器用于在51单片机的32个I/O口线中形成一个锁存器。

D 端为数据输入端,CP为控制端(即时序控制信号输入端),Q为输出端,Q为反向输出端。

多路开关:在51单片机中,当不需要外接扩展存储器时,P0口可作为通用输入输出口(即I/O)。

当需要扩展内存容量时,P0 端口用作“地址/数据”总线。

该多路复用器开关用于选择是将其用作普通I/O 端口还是用作“数据/地址”总线的选择器开关。

当多路复用器连接到底部时,P0 端口用作公共I/O 端口。

当多路复用器连接到顶部时,P0 端口用作“地址/数据”总线。

输出驱动部分:端口P0的输出是由两个MOS管组成的推挽结构,也就是说这两个MOS管一次只能导通一个。

V1开启时,V2关闭,V2开启时。

打开时,V1 关闭。

当P0口作为I/O口时,多路复用器的控制信号为0(低电平),V1管关断,多路复用器接到锁存器的Q非端(即, P0 端口用作I/O 端口)。

使用O 端口线)。

用作地址/数据线时,多路复用器的控制信号为1,V1管由地址/数据线决定,多路复用器接地址/数据线。

输出过程:1、I/O输出工作过程:当写锁存信号CP有效时,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→复用开关→门V2管极→V2漏极至输出端P0. X。

此时多路复用器的控制信号为低电平0,V1管截止,所以作为输出口时,P0为开漏输出,类似于OC门。

驱动电流负载时,需要外部上拉。

单片机原理接口及应用

单片机原理接口及应用单片机是一种集成电路芯片,包含了中央处理器、存储器和各种输入输出接口等基本组成部分。

单片机通过其接口与外部设备进行通信,实现各种应用。

1. 数字输入输出接口(Digital I/O Interface):单片机通过数字输入输出接口连接外部设备。

通过设置相应的寄存器和引脚配置,单片机可以读取外部器件的状态,并且能够控制外部器件的输出信号。

数字输入输出接口常用于连接开关、LED、蜂鸣器等设备。

2. 模拟输入输出接口(Analog I/O Interface):单片机的模拟输入输出接口可以将模拟信号转换为数字信号,或将数字信号转换为模拟信号。

通过模拟输入输出接口,单片机可以实现模拟信号的采集和输出,例如连接温度传感器、光电传感器等。

3. 串口接口(Serial Interface):串口接口是单片机与外部设备进行数据传输的重要接口。

单片机通过串口接口可以与计算机或其他单片机进行通信。

串口的通信速度和传输协议可以根据具体需求进行设置。

4. I2C总线接口(I2C bus Interface):I2C总线接口是一种常用的串行通信协议,具有多主机、多从机的特点。

单片机通过I2C总线接口可以与各种器件进行通信,如传感器、实时时钟等。

5. SPI接口(Serial Peripheral Interface):SPI接口是一种高速同步串行通信接口,常用于单片机与外部存储器、显示器和其他外设的连接。

SPI接口可以实现全双工通信,具有高速传输的优势。

6. 中断接口(Interrupt Interface):中断是单片机处理外部事件的一种方式。

通过中断接口,单片机可以响应来自外部设备的信号,并及时处理相应的事件,提高系统的实时性。

以上是单片机的一些常用接口及其应用。

不同的单片机具有不同的接口类型和功能,可以根据具体的应用需求选择合适的单片机型号。

单片机IO口介绍


西安冰河机械电子工作室--暑期单片机培训
C语言介绍
C语言是一门特别适合初学者学习单片机的语言,它简洁 紧凑、灵活方便,程序书写形式自由,易于理解,读者并不 需要了解硬件部分复杂的结构,也可以对硬件进行操作。在 整个暑假的单片机的编程中,我们采用keil C进行。具体后 面将会提到。 在keil C里面,我们需要掌握以下知识:
西安冰河机械电子工作室--暑期单片机培训
5. 单片机的时钟
• • 机器周期和指令周期 (1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲 信号的振荡源的周期,TX实验板上为11.0592MHZ。 • (2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡 周期经二分频后得到的。 • (3) 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也 就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立 的操作。 • (4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统 中, 有单周期指令、双周期指令和四周期指令。
4.二极管
二极管有单向导通作用, 有保护、稳压、发光、大功 率等类型,二极管分正负极。 主要型号1N系列 二极管正负识别与耐压
西安冰河机械电子工作室--暑期单片机培训
5.三极管
三极管主要用于放大,, 当然它还有一些作用,这里不 过多叙述。三极管有三个极, 及集电极(c)、基极(b)、 发射极(e)。常见型号有 90XX系列和8050、8550
数据类型 常用语句 头文件及扩充
西安冰河机械电子工作室--暑期单片机培训
1.数据类型
上表为keil C和C 通用的数据类型, 下表为keil C特 有的数据类型。

数码管的几种驱动方式汇总

数码管的显示方式可以分为动态和静态的。
动态的也叫扫描方式,是利用发光二极管的余辉效应和人眼的视觉暂留效应来实现的,只要在在一定时间内数码管的笔段亮的频率够快,人眼就看不出闪烁,一般外围硬件较少,但是对单片机资源耗用巨大。
静态的也较锁存方式,单片机送出数据后控制外围锁存器件锁存数据,这样数码管笔段里的电流不变,数码管稳定显示,这样单片机可以干别的活不用管数码管了。这种方案的优点是对单片机的P口资源和时间耗用很少,但是数码管的外围辅助电路复杂。
●支持段电流上限调整,可以省去所有限流电阻。
●扫描极限控制,支持1到8个数码管,只为有效数码管分配扫描时间。
(二)键盘控制
●内置64键键盘控制器,基于8×8矩阵键盘扫描。
●内置按键状态输入的下拉电阻,内置去抖动电路。
●键盘中断,低电平有效输出。
●提供按键释放标志位,可供查询按键按下与释放。
(三)其它
特点
I2C串行接口,提供键盘中断信号,方便于处理器接口;
可驱动8位共阴数码管或64只独立LED和64个按键;
可控扫描位数,可控任一数码管闪烁;
提供数据译码和循环,移位,段寻址等控制;
8个功能键,可检测任一键的连击次数;
无需外接元件即直接驱LED,可扩展驱动电流和驱动电压;
提供工业级器件,多种封装形式PDIP24,SO24。
●高速的4线串行接口,支持多片级联,时钟速度从0到10MHz。
●串行接口中的DIN和DCLK信号线可以与其它接口电路共用,节约引脚。
●完全内置时钟振荡电路,不需要外接晶体或者阻容振荡。
●内置上电复位和看门狗Watch-Dog,提供高电平有效和低电平有效复位输出。
●支持3V~5V电源电压。
●提供SOP28和DIP24S两种无铅封装,兼容RoHS。

单片机与数码管的接口技术及实现方法

单片机与数码管的接口技术及实现方法数码管是一种常见的数字显示设备,广泛应用于各种电子设备中。

在许多应用中,单片机与数码管的接口是非常关键的一环。

本文将介绍单片机与数码管的接口技术及实现方法。

一、数码管的原理和种类数码管是一种数字显示设备,它由多个数字显示单元组成,每个数字显示单元又由若干个发光二极管(LED)组成。

数码管的常见种类有共阳数码管和共阴数码管。

共阳数码管是指数码管共有一个公共的阳极,每个数字单元的LED的阴极分别接地,通过给指定的数字单元的阳极加电压来使其发光。

共阴数码管则与共阳数码管正好相反,每个数字单元的LED的阳极分别接电源正极,通过将指定的数字单元的阴极接地来使其发光。

二、单片机与数码管的接口技术要实现单片机与数码管的接口,需要了解数码管的工作原理以及单片机的IO口的工作方式。

单片机的IO口是用来与外部器件进行数据交互的,可以作为输入和输出使用。

在接口设计中,可将单片机的IO口作为输出端口,将数码管的各个位选端和段选端连接到单片机的IO口。

1. 共阳数码管的接口对于共阳数码管,需要连接每个数字单元的阳极到单片机的IO口,通过给指定的数字单元的阳极加电压来显示相应的数字。

在单片机的IO口上输出高电平表示该数字单元发光,输出低电平表示不发光。

同时,还需要设计一个多路复用电路,用来逐位选择显示的数字。

2. 共阴数码管的接口对于共阴数码管,需要将每个数字单元的阴极连接到单片机的IO口,通过将指定的数字单元的阴极接地来显示相应的数字。

在单片机的IO口上输出低电平表示该数字单元发光,输出高电平表示不发光。

也需要设计一个多路复用电路来逐位选择显示的数字。

三、实现方法下面将分别介绍共阳数码管和共阴数码管的实现方法。

1. 共阳数码管的实现方法共阳数码管的接口实现方法如下:步骤一:连接数码管的阳极到单片机的IO口,选择一个IO口作为位选端,将其连接到数码管的位选端。

其余的IO口作为段选端,每个IO口连接到数码管一个数字单元的段选端。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8051引脚现在我们介绍8051单片机引脚及功能,8051系列各种芯片的引脚是相互兼容的,8051、8751、8031引脚均40脚双列直插封装形式。

当然,不同芯片之间引脚也略有差异。

8051单片机是高性能单片机,因受到引脚数目限制,所以不少引脚具有第二功能,各引脚功能简要说明如下:V CC(40脚)电源端+5V V SS(20脚)接地端365小站制作时钟电路引脚XTAL2(18引脚)接外部晶体和微调电容。

在8051片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。

若需要采用外部时钟电路时,该引脚输入外时钟脉冲要检查8051的振荡电路是否正常工作,可用显波器查看XTAL2端是否有脉冲输出。

时钟电路引肢XTAL1(19)接部晶体的微调电容的另一端。

在片内它是振荡电路反相放大器输入端。

在采用外部时钟时,该引脚必须接地。

RST(9脚)RST是复位信号端,高电平有效。

当此输入端保持2个机器周期,即时4个时钟振荡周期的高电平时,就可以完成复位操作。

RST引脚的第二个功能就是VPD,即备用电源输入端。

当主电源V CC发生故障,降低到规定值,就会将+5V电源自动接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,以使电源正常后能继续工作。

365小站制作ALE(30脚)地址锁存允许端。

当8051正常上电后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率FOSC的1/6。

CPU访问片外存储器时,ALE输出信号作为锁存8位地址的控制信号。

在CPU访问片外数据存储器时,会丢失一个脉冲。

平时不访问片外存储器时,ALE也会以1/6的振荡频率固定输出正脉冲,因而ALE 信号可以用来作定时信号。

如果你想检查一下8051的好坏,只需要用显波器查看ALE端是否有脉冲信号输出。

ALE驱动能力为8个LS型TTL。

此引脚第二功能是PROG,用于片内带有4KEPROM编程脉冲输入端。

PSEN(29脚)程序存储器允许输出信号端。

在访问片外程序存储器时,此端定时输出脉冲作为读片外程序存储器的选通信号。

此引脚接EPROM的OE端,PSEN端有效,即允许读出片外EPROM中的指令码。

CPU在外部EPROM 取指期间,PSEN信号在每个机器周期中再次有效。

PSEN端同样可驱动8个ST型TTL。

要检查一个8051系统上电后CPU能否正确到EPROM中读取指令,也可以用显波器查看PSEN有无脉冲输出,若有,证明基本是工作正常。

EA(31脚)外部程序存储器地址允许端。

当EA引脚接高电平时,CPU访问片内EPROM并执行内部程序存储器中的指令,但在程序计数器PC的值超过OFFFH时,将自动转向执行片外程序存储器内的程序。

当EA引脚接低电平时,CPU只访问外部EPROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。

对于无片内ROM的8031,外扩EPROM必须将EA接地。

如使用有片内ROM的8051,外扩EPROM时,EA也要接地。

P0口(32-39脚)P0口是一个漏极开路的8位准双向I/0口。

作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。

当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的引脚全部浮空,可作为高阻抗输入。

作输入口使用时要先写1,这就是准双向口的含义。

P1口(1-8脚)P1口是一个带内部上接电阻的准双向I/O口。

P1的每一位能驱动4个LS型TTL负载。

在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,此时P1引脚由内部上接电阻接成高电平。

365小站制作P2口(21-28脚)P2口是一个带内部上接电阻的8位准双向I/O口。

P2口每一位能驱动4个LS型TTL负载。

P3(21-28脚)P3口是一个带内部上接电阻的8位准双向I/O口。

P3口每一位能驱动4个LS型TTL负载。

P3口与其它I/O口有较大区别,每个引脚还具有专门功能,关于这四个并行接口使用,我们今后再讲。

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门,当驱动上接电流负载时,需要外接上拉电阻。

下图就是由内部数据总线向P0口输出数据的流程图(红色箭头)。

P0口用作I/O口线,其由引脚向内部数据总线输入(即输入状态Input)的工作过程:数据输入时(读P0口)有两种情况1.读引脚读芯片引脚上的数据,读引脚数时,读引脚缓冲器打开(即三态缓冲器的控制端要有效),通过内部数据总线输入,请看下图(红色简头)。

2.读锁存器通过打开读锁存器三态缓冲器读取锁存器输出端Q的状态,请看下图(红色箭头):在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。

例如,当从内部总线输出低电平后,锁存器Q=0,Q非=1,场效应管T2开通,端口线呈低电平状态。

此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。

又如,当从内部总线输出高电平后,锁存器Q=1,Q非=0,场效应管T2截止。

如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。

为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:为此,8051单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。

读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上。

下面是几条读-修改-写指令的例子。

ANL P0,#立即数;P0→立即数P0ORL P0,A;P0→AP0INC P1;P1+1→P1DEC P3;P3-1→P3CPL P2;P2→P2这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错。

P0端口是8031单片机的总线口,分时出现数据D7一D0.低8位地址A7一AO,以及三态,用来接口存储器。

外部电路与外部设备。

P0端口是使用最广泛的I/O端口。

2.作为地址/数据复用口使用时的工作原理在访问外部存储器时P0口作为地址/数据复用口使用。

这时多路开关‘控制’信号为‘1’,‘与门’解锁,‘与门’输出信号电平由“地址/数据”线信号决定;多路开关与反相器的输出端相连,地址信号经“地址/数据”线→反相器→V2场效应管栅极→V2漏极输出。

例如:控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。

请看下图(兰色字体为电平):反之,控制信号为“1”。

地址信号为“1”,“与门”输出为高电平,V1管导通;反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。

相关文档
最新文档