文档库 最新最全的文档下载
当前位置:文档库 › 8255和8253

8255和8253

8255和8253
8255和8253

1.3.3 8253/8253-5可编程计时器

8253是作为Intel公司的微型计算机外围器件而设计的一种可编程计数器/计时器器件。它是用N沟道MOS工艺制成的,只需一组十5V电源。

该器件包含三个独立的16位计数器,每个计数器的计数速率都可达到2MHZ。所有的工作方式都是软件可编程的。

主要技术特性

·8253-5与MCS-85兼容;

·有三个独立的十六位计数器;

·计数频率范围是0~2MHZ;

·可编程计数器方式;

·二进制或二一十进制计数;

·一组十5V电源;

·24条引脚双列直插式封装。

引脚安排

如图1-3-14所示。

图1-3-14 8253/8253-5的引脚图图1-3-15 8253/8253-5的内部结构框图

内部结构

如图1-3-l5所示。

功能说明

8253的功能是由多个通用的定对元件实现的,这些定时元件可被系统软件看作一系列I/O口。8253能在软件控制下产生一系列准确的时间延迟,系统软件用不着再建立定时循环。程序员只需适当设置8253,将要求的数值预置入8253的一个计数器中。8253将根据命令计算延时,并在完成延时任务时中断CPU。显然,这样做使软件开销最省,且可通过适当分配优先级的办法很容易地实现多级延迟。

8253还具有计数器/计时器功能。例如:

·可编程频率发生器;

·事件计数器;

·二进制倍频器;

·实时时钟;

·数字单稳;

·复杂的电机控制器。

1.数据母线缓冲器这个三态、双向和八位的缓冲器用于将8253与系统数据总线连接起来。CPU执行输入/输出指令时缓冲器就发送或接收数据。数据总线缓冲器有三个基本功能:

·通过编程确定8253的工作方式;

·向计数寄存器装入数据;

·读出计数值。

2.读/写逻辑读/写逻辑接受来自系统总线的输入,然后产生控制整个器件工作的控制信号。由CS信号来允许或禁止读写逻辑的工作,因此除非该器件被系统逻辑选中,否则不会发生改变其功能的操作。

3.RD(读)这个输入端上的低电平信号告知8253,CPU正在输入计数值。

4.WR(写)这个输入端上的低电平信号告诉8253,CPU正在输出工作方式信息或向计数器装入数据。

5.A0A1这两个输入端通常连接到地址总线上。其作用是选择三个计数器中的一个以及选择控制字寄存器以便选择工作方式。

6.CS(选片)这个输入端上的低电平信号将启用8253。除非器件被选中,否则不会发生读或写操作。CS输入信号对计数器的实际操作没有影响(见表1-3-2)。

表l-3-2 8253的功能

7.控制宇寄存器当AoAI-11时选中控制字寄存器。然后它接收来自数据总线缓冲器的信息,并把它存到一个寄存器内,存入这个寄存器的信息将控制着每个计数器的工作方式、选择用二进制或二一十进制方式计数以及向每个计数寄存器装入数据。

控制字寄存器只能写入,而没有读出操作。

8.计数器0、计数器1、计数器2这三个计数器的工作是相同的,每个计数器由一个十六位可预置的减法计数器组成。计数器能够用二进制或二一十进制计数、而且它的输入、选通和输出是通过存在控制字寄存器中的方式选择字控制的。每个计数器的工作方式配置和计数方式(二进制或二一十进制)是独立的。而且,控制字有控制装入计数值的功能,使得用于这些功能的软件开销最省。

在事件计数应用中,程序员可利用简单的读操作读出每个计数器的内容。而且,8253还有专用的命令和逻辑电路,能在不停止时钟输入的情况下,即在“运行过程中”读出每个计数器的内容。

8253系统接口

8253是Intel微型机系统的一个部件,其连接方式与系列中所有其它外围器件相同。系统软件把它当作一系列外围I/O口。其中三个口是计数器,第四个口是针对工作方式编程用的控制寄存器。

选择输入端A0、A l通常连接到CPU。的A0、A1地址总线上。CS信号可以使用线选法直接接至地址总线,或者连接到译码器的输出端。

图1-3-16 8253的系统接口

使用说明

8253的全部功能都是通过系统软件编程确定的。CPU必须送出一组控制字,将8253的每个计数器预置成要求的方式和数值。预置之前,任何计数器的工作方式、计数值和输出都是不确定的。这些控制字规定工作方式、装入顺序并选择用二进制或二一十进制计数。

8253一旦编程以后,就准备完成规定的任务。

每个计数器的计数操作彼此完全独立。片内还提供了附加逻辑,以消除微型计算机系统为监控和管理外部的异步事件或频率而产生的一般性问题。

1.控制字格式

D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0

SC—选择计数器

SC1 SC0

0 0 选择计数器0

0 1 选择计数器1

1 0 选择计数器2

1 1 非法

RL—读/装入

RL1 RL0

0 0 计数器锁存操作(详见读/写过程部分的内容)

1 0 只是读/装入高字节

0 1 只是读/装入低字节

1 1 先读/装入低字节,然后读/装入高字节

M—方式

M2 M1 M0

0 0 0 方式0

0 0 1 方式 1

× 1 0 方式 2

1 1 1 方式 3

1 0 0 方式 4

1 0 1 方式 5

BCD

0 十六位二进制计数器

1 二十进制计数器(4个十进位)

2.8253的程序编制每个计数器的所有方式都是由系统软件通过简单的I/O操作来设定的。

8253每个计数器的编程是通过向控制字寄存器写入控制字(A0A1=11)而分别实现的。

3.装入计数器只有当计数值(一个或两个字节,取决于RL位的状态)写入8253,并经过一个时钟上升沿和一个下降沿之后,数值才装入计数寄存器。在时钟下降之前读出的计数器内容均无效。

4.方式定义

方式0:计数结束中断

方式设定操作以后输出变为低电平。当计数值装入选定的计数寄存器以后,输出将保持低电平,计数器开始计数。当计数结束时,输出变为高电平,并且一直保持到该计数寄存器

装入新的工作方式或计数值为止。计数结束之前,计数器将不断进行减计数。

在计数期间重新对计数寄存器进行装入,将出现以下情况:

(1)写入第一字节停止现行计数过程。

(2)写入第二字节开始新的计数过程。

当GATE输入端处于高电平时,允许计数;处于低电平时便禁止计数。

方式1:可编程单稳

在GATE输入信号上升沿以后的计数过程中,输出将变为低电平。计数结束时输出将

变为高电平。若输出为低电平时装入一个新计数值;则在下一次触发之前将不影响单稳脉冲的宽度,任何时刻都可读出数值而不影响单稳脉冲。单稳是重触发性的。因而,在任何GATE 输入信号上升沿以后,输出端将在足够的计数周期内保持低电平。

方式2:颁率发生器

N分频计数器。输出变为低电平的时间是一个输入时钟周期。从一个输出脉冲到下一个输出脉冲之间的时间等于输入至计数寄存器中的计数值。如果在两个输入脉冲之间对计数寄存器重新进行装入,则现行计数过程不受影响。但是下一周期将反映新数值。当GATE输入端为低电平时,将迫使输出为高电平。当GATE输入端变高电平时,计数器从预置的计数值开始计数。这样,GATE输入信号就能用来对计数器进行同步。若设定为这个方式,则在计数寄存器重新进行装人之前输出将保持高电平。所以,输出信号也能用软件来同步。

方式3:方波频率发生器

方式3类似于方式2,只是在计数完成一半(对偶数而言)之前输出保持高电平,对另一半计数时输出将变为低电平。如果计数值是奇效,对N+1/2进行计数时输出是高电平,而对N-1/2进行计数时输出则是低电平。如果计数寄存器在计数期间重新装入新值,这个新值将在计数输出跳变以后立即反映出来。

方式4软件触发的选通信号

在设定为该方式以后,输出将是高电平。装入计数值时,计数器开始计数。在计数结束时,输出将变低一个输入时钟周期,然后再次变为高电平。如果计数寄存器在两个输出脉冲之间重新装入新值,则现行周期不受影响,但是下一周期将反映新值。GATE输入端是低电平时将禁止计数。重新装入计数寄存器将再次从新值开始启动计数(见表1-3-3)。

方式5:硬件触发的选通信号

在触发输入信号的上升沿之后,计数器将开始计数。当计数结束时,计数器的输出将变低一个时钟周期。计数器可重触发。在任何触发脉冲上升沿之后,经过足够数目的计数时钟周期输出才变为低电平。

8253读/写过程

1.写操作系统软件必须根据所要求的工作方式和计数值对8253每个计数器进行编程(见表1-3-4和表1-3-5)。在实际使用所选定的计数器之前,程序员必须向8253写入方式控制字和规定数目的计数寄存器字节(一个或两个字节)。

表;1-3-3 GATE 引脚操作一览表

表l-3-4编程格式

注:所示格式是装入8253的一个简单例子,并不意味着它是可用的唯一格式。

图1-3-17 8253的时序图

1-3-5 另一种编程格式

注:由于每个计数器的计数寄存器有专用地址,使得8258的编程任务变得很简单。

编程的实际顺序相当灵活,可按任何顺序选择计数器,写出方式控制字。例如,计数器0不一定非得是第一个,而计数器2也不一定是最后一个。每个计数器的方式控制字寄存器各自有独立的地址,所以它的装入过程是完全无关的(SC0,SC1)。可是,将实际的计数值装入计数寄存器时,必须严格按照方式控制字(RL0RL1)中规定的顺序。计数器的计数寄存器装入过程则仍然与顺序无关。但是,要将计数值装入一个选定的计数寄存器时,必须装入方式控制字(RL0RL1)中所规定的字节数。一要装入计数寄存器的一个或两个字节不必跟在有关的方式控制字后。可以在装入方式控制字后任何时间装入它们。只要顺序装入规定个数的字节值就行了。

所有的计数器都是减法计数器。因此,装入计数寄存器的值实际上是递减的。计数

寄存器全部装入“O”将产生最大计数值(对于二进制而言为216,对于二一十进制而言为104)。在O方式中,装入完成之前不会开始新的计数过程。将根据方式控制字(RLoRL1)如何设定而确定接受两个字节中的一个,然后继续进行再启动操作。

2.读操作8253所包含的逻辑电路将使程序员能在不干扰实际计数过程的情况下很容易地读出计数器的值。第一种方法是:对选定的计数器执行简单的I/O读操作。通过控制接至8253的A0A1输入信号,程序员就能够选择要读的计数器(记住:不允许对方式寄存器执行读操作,A0A1-11)。使用这种方法时的唯一要求是,为了保证读出稳定的计数值。所选计数器的实际操作必须能被GATE输入禁止或者能被禁止时钟输入的外部逻辑所禁止。选中的计数器可提供的内容如下:

第一次I/O读出的是低字节(LSB);

第二次I/O读出高字节(MSB)

出于8253的内部逻辑的安排,完成全部读出过程是绝对必要的。如果规定要读出两个字节,那么必须读出两个字节后才能向该计数器发出写命令。

读操作:

A1A0RD

0 0 0 读计数器No.0

0 1 0 读计数器No.1

1 0 0 读计数器No.2

1 1 0 非法

3.计数过程中的读出为了使程序负能够读出任一计数器的内容而不干扰计数操作。8253 包含有专门的内部逻辑。该内部逻辑电路能通过对方式寄存器执行简单的写命令来进行访问。当程序员想读出选定的计数器内容一时,可以将一个专用的代码装入方式寄存器。该代码能把当前计数值锁存到一个存贮寄存器,所以它的内容是一个准确而稳定的量。然后,程序员向所选计数器发出一个普通的读命令,是就可得到锁存的寄存器内容。

用于锁存计数值的方式寄存器

A0A1=11

D7 D6 D5 D4 D3 D2 D1 D0

SC1 SC00 0 ××××

SC1·SC O—要锁存的计数器号

D5D4—00表示计数器锁存操作

×—任意

对这种计数器读出方式的限制条件与前一种方法相同。即应完成所规定的整个读出操作。这个命令对计数器的工作方式无影响。

MCS-85时钟接口

MOS-85时钟接口如图1-3-18。如果用8085的时钟输出端驱动8253-5的时钟输入端,那么必须把频率降低到2MHz以下。

图1-3-18 MCS-85的时钟接口

1.3.4 8255A/8255A-5可编程外设接口

8255A是为Intel公司的微处理机配套的通用可编程I/O器件。该器件有24条可编程I/O引脚,这些引脚可分成两组(每组12条)分别编程。且可采用三种主要的工作方式。在第一种工作方式(方式O)中,可通过编程将每组12条引脚再分成4组,作为输入或输出;在第二种工作方式(方式1)中,通过编程可使每组有8条线用作输入或输出线,其余的4条引脚中的8条用于传送联络信号和中断控制信号;条三种工作方式(方式2)是双向总线方式,有8条线用作为双向总线,而另外5条(其中一条是借用另一组的)用于传送联络信

号。

主要技术特性

·8255A-5与MCS-85兼容;

·与TTL电路完全兼容;

·与Intel公司的微处理机系列完全兼容;

·改善了时序特性;

·直接位置I/置O功能便于实现控制性接口;

·采用40条引脚的双列直插式封装;

·减少了系统器件数;

·提高了直流驱动能力。

引脚安排

如图1-3-19所示。

内部结构

如图1-3-20所示。

图1-3-19 8255A/8255A-5的引脚图图1-3-20 8255A/8255A-5的内部结构框图

引脚名称

D7D0 双向数据部线

RESET 复位输入

CS 选片

RD 读输入

WR 写输入

A0~A1 口地址

PA7~PA0 口A(位)

PB7~PB0 口B(位)

PC7~PC0 口C(位)

V CC +5V

GND 地

功能说明

8255的功能组态是由系统软件通过编程确定的,因此与外围设备或外部结构相接时通常不需要附加外部逻辑线路。

1.数据总线缓冲器该三态双向8位缓冲器用于连接8255与系统数据总线,其发送或接收数据是靠中央处理机(CPU)执行输入或输出指令而实现的。控制字和状态信息也是通过这个数据总线缓冲器传送的。

2.读/写和控制逻辑该部件的功能是管理所有的内部和外部的传送过程,包括数据以及控制字。它接收来自CPU地址总线和控制总线的输入信号,然后向A和B两组的控制部件发送命令。

3.CS(选片)当这个输入引脚处于低电平时,允许8255与CPU进行通讯。

4.RD(读)当这个输入引脚处于低电平时,允许8255通过数据总线向CPU发送数据或状态信息。实际上,是允许CPU从8255读取信息。

5.WR(写)当这个输入引脚处于低电平时,允许CPU把数据或控制字写入8255。

6.A0和A1(口选线O和口选线1)这两个输入信号与RD和WR输入信号一起,用来选择三个口或控制宇寄存器。这两条线通常接至地址总线的最低两位(A0和A1),如表1-3-6 所示。

表1-3-68255的基本操作

输出操作(写)

7.RESET(复位)当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有的I/O口(A、B、C)均被置成输入方式。

8.A组和B组的控制每个口的功能组态由系统软件编程设定,实际上是由CPU向8255输出一个控制字来设定。该控制字包含“工作方式”、“位置1”、“位清除”等信息。

A组和B组中的每个控制部件都从读/写控制逻辑接收“命令”,从内部数据总线接收“控制字”。并向有关的口发出适当的命令。

A组控制部件—口A和口C高四位(C7-C4);

B组控制部件—口B和口C低四位(C3-Co);

控制字寄存器只能写入,不允许读出。

9.口A、口B和口C8255包含有三个8位的I/O口(A、B和C)。所有的口都能由系

统软件组接成各种的功能部件,但是每个口又有它自己的特点,以便进一步提高8255的功能和灵活性。

口A:一个8位的数据输出锁存器/缓冲器和一个8位的数据输入锁存器。

口B:一个8位的数据输入/输出的锁存器/缓冲器和一个8位的数据输入缓冲器。

口C:一个8位的数据输出锁存器/缓冲器和一个8位的数据输入缓冲器(不锁存输入信号)。这个口可以通过设定工作方式而分成两个4位的口。每个4位的口包含一个4位的锁存器,与口A和口B一起用于输出控制信号和输入状态信号。

使用说明

1.选择工作方式供系统软件选择的三种工作方式如下:

方式0—基本的输入/输出方式;

方式l—带选通的输入/输出方式;

方式2—双向总线方式。

当RESET输入端处于高电平时。所有的I/O口将被置成输入方式。当RESET信号撤

消后,8255仍处于输入状态而不必再预置。在执行系统程序期间,只须用一条输出指令就可选择其它任何一种工作方式。这样就可以用一个简单的软件维护例程使一片8255器件为各种外围设备服务。

口A和口B的工作方式可分别规定,而口C可视需要由口A和口B的定义分成两部分。工作方式改变时,所有的输出寄存器(包括状态触发器)均被复位。工作方式可以进行组合,因此其功能几乎适用于任何一种I/O结构。例如,B组可编程为方式0,以便监视简单开关的闭合或显示计算结果,而A组可编程为方式1,以便通过中断来监视键盘或纸带输入机。

图1-3-21 8255基本工作方式的定义和总线接口 图1-3-22 定义工作方式的格式

2.个别位的置1/置0功能口C 的8位中的任何一位都可用一条输出指令置成1或置成0。当把微处理机用于控制方面,由于8255A 芯片具有这一特性。颇适于编程。

图1-3-23 8255A 位置1/置0的格式

当口C 用作口A 或口B 的状态控制口时,这些位可以象数据输出口一样用位置1/置0操作置1或置0。

3.中断控制功能当8255以方式1或方式2工作时,提供的控制信号可用作为CPU 的 中断请求输入。由口C 产生的中断请求信号可通过将有关的INTE 触发器置1或复位而加 以禁止或允许,INTE 的状态是通过口C 的位置1/置0功能实现的。

程序人员借助于这一功能就可禁止或允许某个I /O 设备中断CPU ,而不影响中断结构中 的任何其它设备。

(a) (b) (c)

(d) (e) (f)

(g) (h) (i)

(j) (k) (l)

(m) (n)

(o) (p)

INTE触发器的定义如下:

(位置1)—INTE被置1—允许中断;

(位置0)—INTE被置0—禁止中断。

注:在选择工作方式和器件复位时,所有的屏蔽触发器均自动复位。

4.工作方式

方式0:

在这种功能组态下,三个口中的任何一个都可提供简单的输入和输出操作。不需要应答式联络信号,数据只是简单地写入指定的口,或从口中读出。

方式0的基本功能定义如下:

·两个8位的口和两个4位的口;

·任何一个口都可用作输入或输出;

·输出可被锁存;

·输入不能锁存;

·在这种方式下,有16种不同的输入/输出组态(见图1-2-24和表1-3-7)。

方式1:选通输入/输出方式

这种功能组态能提供借助于选通或“应答式联络”信号把1/O数据发送给指定的口或从该口接收I/O数据的方法。在方式1中,口A和口B用口C上的一些引脚产生或接收“应答式联络”信号。

方式1的基本功能定义如下:

·分成两组(A组和B组);

·每组包含一个8位的数据口和一个4位的控制/数据口;

·8位的数据口既可作为输入又可作为输出。输入和输出均可锁存;

·4位的口用于传送8位的数据口的控制和状态信息。

输入控制信号的定义

符号和名称说明

STB 这个输入端处于低电平时将数据打入

选通输入输入锁在器。

IBF 这个输出端处于高电平时表示数据已

输入缓冲器满触被打入到输入锁存器中,实际上这是一个

发器应答信号。STB输入端上的低电平将IBF

置1,RD输入端信号的上升沿将其置0。

INTB 当一个输入设备请求服务时,可用这

中断请求个输出端上的高电平中断CPU。STB为1、

IBF为1且INTE也为1时,INTR被置成

1.而由BD的下降沿置0。这个过程使得

输入设备要请求CPU服务时,只需将其数

据送入输入口就行了。

INTEA 由PC4(C口第4位)的位置1/置0功

能控制。

INTEB 由PC2的位置l/置0功能控制。

输出控制信号的定义

符号和名称说明

OBF OBF输出端处于低电平表示CPU已

输出缓冲器满触向规定的口写入数据。WR输入信号的上

发器升沿使OBF触发器置1,而ACK输入端

上的低电平使其置0。

ACK 这个输入端上的低电平告诉8255,来

响应输入自口A或口B的数据已被接收。实际上

这是一个由外设来的回答信号,表示CPU

输出的数据已被外设接收。

INTR 当输出设备接收了CPU送出来的数据时,中断请求就可用这个输出端上的高电平中断CPU。

当ACK为1、OBF为1,且INTE也为1时,

INTR 就被置1。WR的下降沿将INTB置0。

INTEA 由PO6(C口第6位)的位置1/置0功

能控制。

INTEB 由PO2的位置1/置0功能控制。

图 1-3-25 8255A方式1(输入)

方式1的组合

在方式1下。口A和口B可分别定义为输入或输出,以适应各种选通型I/O应用。

方式2:带选通双向总线I/O方式

这种功能组态能够通过一根8位的总线与外设或外部结构实现双向通讯。这条8位的总

线既可发送又可接收数据,即双向I/O总线。提供有“应答式联络”信号,用以按方式1的办法保持总线上的数据按一定的规则进行传送。还提供了中断产生及中断允许/禁止的功能。

图1-3-26 8255A方式1(输出)

图1-3-27 8255A方式1的组合

方式2的基本功能定义如下:

·只适用于A组;

·一个8位的双向总线口(口A)和一个5位的控制口(口C);

·输入和输出都可锁存;

·5位的控制口(口C)用于传送8位双向总线口(口A)的控制和状态信息。

图1-3-28 8255A方式控制字图1-3-29 8255A的方式2

双向总线I/O控制信号的定义

符号和名称说明

INTR 输入或输出操作都可用这个输出端上

中断请求的高电乎中断CPU。

OBF 输出为低电平表示CPU已把数据写入口A。

输出缓冲器满

ACK 这个输入端为低电平时开启口A的三

响应信号态输出缓冲器,把数据发送出去。否则,输出缓

冲器将处于高阻状态。

INTE1 由PC6(口C第6位)的位置1/置0功

与OBF有关的能控制。

INTE触发器

STB 这个输入端上的低电平把数据打入输

选通输入入锁存器。

IBF 该输出端出现高电平表示数据已被打

输入缓冲器满触入输入缓冲器。

发器

INTE2 由PO4的位置1/置O功能控制。

与IBF有关的

INTE触发器

(a) (b)

(c) (d)

图1-3-30 8255A工作方式的组合

工作方式定义

工作方式定义列于表1-3-8

表1-3-8 工作方式定义

特殊组合方式的考虑

有几种组合方式下并未将口C的所有位都用于传送控制或状态信息,剩余的各位可起

下述作用:

若设定为输入,则对口C进行正常读出时可访问所有的输入线。

若设定为输出,则口C的高4位部分(PO7~PC4)必须用位置l/置0功能单独进行访问。而口C的低4位部分(PC3~POo)可用位置1/置0功能进行访问,或者通过写入口C的操作进行访问。

口B和口C的电流驱动能力

口B和口C的8个输出缓冲器中。任意一个都能在输出为1.5V时提供lmA电流。因此使得8255可以直接驱动需要这样大的驱动电流的达林顿型驱动器以及高压显示器。

该口C的状态

在方式O下,口C把数据传送给外围设备,或者从外围设备接收数据。若把8255设定成方式1或方式2,口C就产生或接收与外部设备进行联络的“应答式联络”信号。读出口C的内容就使程序员能测试或核实每种外围设备的状态从而据此改变程序流向。没有从口C 读出状态信息的专用指令。执行口C的正常读出操作就能实现这一功能。

一种功能很强的工具。能实现几乎任何I/O设备的接口而不必增加外部逻辑电路。微型计算机系统中的每一种外设通常都有相应的“服务程序”。该程序用于管理外设和CPU之间的软件接口。8255的功能定义是由I/O服务程序通过编程确定的,使系统软件得到了扩充。8255的一些典型应用如图1-3-33~1-3-39所示。

图31 8255A方式1状态字格式图32 8255A方式2状态字的格式

图33 8255A作打印机接口图34 8255A作键盘和显示器接口

8253问答题

1、8253可编程计数器有两种启动方式,在软件启动时,要使计数正常进行,GA TE端必须为()电平,如果是硬件启动呢? 答:8253可编程计数器有两种启动方式,在软件启动时,要使计数正常进行,GA TE端必须为(高)电平;如果是硬件启动,则要在写入计数初值后使GA TE端出现一个由低到高的正跳变,以启动计数。 2、某个计算机应用系统采用8253的计数器0作频率发生器,输出频率为500Hz;用计数器1产生1000Hz的连续方波信号,输入8253的时钟频率为1.19MHz。试问:初始化时送到计数器0和计数器1计数初值分别为多少?计数器工作在什么方式下? 解:计数器0工作在方式2,其计数初值为=1.19MHz/500Hz=2380 计数器1工作在方式3,其计数初值为=1.19MHz/1000Hz=1190 3、若要求8253用软件产生一次性中断,最好采用哪种工作方式?现在用计数器0对外部脉冲计数,每计满10 000个产生一次中断,请写出工作方式控制字及计数值。 解:若8253用软件产生一次性中断,最好采用方式0,即计数结束后产生中断的工作方式。但若要求每计满10 000个产生一次中断,则表示具有重复中断的功能,因此,此时应使用计数器0工作于方式3,即连续方波输出方式。其工作方式控制字为0011X111B,计数初值=10 000 4、试编写一段程序,按下列要求设置如下图中8254的三个计数器 计数器0:二进制计数,在操作方式0下操作,计数初值为1234H 计数器1:BCD计数,在操作方式2下操作,计数初值为100H 计数器2:二进制计数,在操作方式4下操作,计数初值为1FFFH 解:计数器0的方式字=00110000B 计数器1的方式字=01010101B 计数器2的方式字=10111000B MOV AL , 30H OUT 4CH , AL MOV AL , 55H OUT 4CH , AL MOV AL , 0B8H OUT 4CH , AL MOV AL , 34H OUT 40H , AL MOV AL , 12H OUT 40H , AL

基于8255的8LED显示的动态显示器

南京邮电大学 学年第学期 课程设计实验报告 题目基于8255的8LED显示的动态显示器专业通信工程 学号 姓名 指导老师 实验日期年月日

题目:基于8255的8LED显示的动态显示器 一,实验目的和要求 1,Proteus软件的MCS51单片机仿真学习 2,根据提供的参考工程,在proteus平台自己重新设计实验电路所需要的电器原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取,原理图的电气连接,程序的编写编译以及运行,并能查出其错误等。 基本要求: 1. 用数码管正常显示数字“12345678”。 2. 通过按键可改变显示方式。 3. 设计显示屏的动态效果,用10个按键,每键对应一种滚动技术。 4. 基于8255口是指显示和键盘都由8255的IO口控制 发挥部分: 1 设计所有动作的联合效果。 2 设计二个变速按键,可多级改变滚动速度。 3 设计一台魔术电子钟,采用自动变换,随机组合,数据每10秒变换一次。 动态显示格式: 1 静止 2 整体闪烁 3 单字闪烁 4 整体向前、向后滚动 5 单字移动 6 两边向中间压缩 7 中间向两边扩张 8 上下压缩 9 文字上下滚动 10组合动作(每一字符执行上述一个动作,并同时运动) 二,实验仪器 微型计算机 三,实验原理 基于8255的8LED显示的动态显示器,是由8255a做键盘控制口连接c51,并驱动8位7段数码管实现相应显示功能。具体的,c51,p1口直接进行led数码管的位控制;p2口经74HC573译码后控制8255a的片选与内部奇存器选择;p0口连接8255a的D端口,并由它的PA口驱动7段led, PB口连接键盘,并做为I/O口与c51通信,以实现相应显示变化。 四,基本原件及其原理 单片机微型计算机简称单片机,是指在一块芯片体上集成了中央处理器CPU、随机存

8253的基本工作原理和编程方法

微机原理与接口技术实验报告 实验名称:8253的基本工作原理和编程方法 姓名: 学号: 专业班级: 指导老师: 实验日期:

一:实验目的 掌握8253的基本工作原理和编程方法。 二:实验内容 按下图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。 三:硬件电路 四:源程序 汇编程序 ioport equ 0d400h-0280h io8253a equ ioport+283h io8253b equ ioport+280h code segment assume cs:code start: mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253a out dx,al mov dx,io8253b ;送计数初值为0FH mov al,0fh out dx,al lll: in al,dx ;读计数初值 call disp ;调显示子程序 push dx mov ah,06h

mov dl,0ffh int 21h pop dx jz lll mov ah,4ch ;退出 int 21h disp proc near ;显示子程序 push dx and al,0fh ;首先取低四位 mov dl,al cmp dl,9 ;判断是否<=9 jle num ;若是则为'0'-'9',ASCII码加30H add dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30h mov ah,02h ;显示 int 21h mov dl,0dh ;加回车符 int 21h mov dl,0ah ;加换行符 int 21h pop dx ret ;子程序返回 disp endp code ends end start 五:实验难点与重点 8253的工作方式有六种,如何理解和运用这六种工作方式是个难点。8253具有3个独立的计数器,每个计数器必须单独编程进行初始化后才能使用,使用时有时会忘记初始化。 程序流程图:

用51单片机、8255、138、373等实现数码管显示按键数值的程序

姓名专业

学号 2013年10月28日 随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。 单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。 单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。

课题要求: 用51单片机、8255、138、373等实现数码管显示按键数值的程序 各芯片资料: 1.8255芯片资料如下 用8255A可编程器件扩展并行接口 8255: 有三个八位的并行口:PA、PB、PC。 有三种工作方式:方式0,方式1,方式2。 逻辑结构图: 包含四个部分:●三个并行数据输入输出端口 ●两个工作方式控制电路

●一个读写逻辑控制电路 ●八位总线缓冲器 ⑴.三个并行数据输入输出端口:A口;B口;C口 一般,A口,B口作为数据输入输出端口, C口作为控制/状态信息口,可以分为两个部分,分别与A口和B口配合使用,作为控制信息输出或状态信息输入。⑵.工作方式控制电路 工作方式控制电路有两个:A组控制和B组控制电路, A组控制用来控制A口和C口的上半部分PC7——PC4; B组控制用来控制B口和C口的下半部分PC3——PC0; 两组控制电路具有一个控制命令寄存器,用来接收来自 CPU的数据(控制字),以决定芯片的工作方式,或对 C口按位进行清“0”或者置“1”。 ⑶.总线缓冲器 三态双向八位缓冲器,作为微处理器数据总线与8255之间的接口,用来传送命令、数据及状态信息。 ⑷.读写逻辑控制电路 读写逻辑控制电路接受CPU来的控制信号:读、写、地址及复位信息,根据控制信号的要求,将数据读出,送往CPU,或者将CPU来的信息写入端口。 引脚说明: CS:片选信号,低电平有效,表示芯片被选中;

8253的内部结构与工作方式

8253的内部结构和工作方式 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 一、8253内部结构 8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。 1.数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU 之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。 2.读/写控制 读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。这4个端口地址由最低2位地址码A1A0来选择。如表9.3.1所示。

3.通道选择 (1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。 (2) RD#、WR#——读/写控制命令,由CPU输入,低电平有效。RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。WR#有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作如表9.3.2所示。 4.计数通道0~2 每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时,最大计数值是FFFFH,采用BCD码计数时。最大计数值是9999。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。

8255和led数码管显示-微机原理(精)

data segment ioport equ 2400h io8255a equ ioport+008h io8255b equ ioport+00bh led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh mesg1 db 0dh,0ah,'Input a num (0--9h:',0dh,0ah, '$' data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255b ; 使 8255的 A 口为输出方式mov al,80h ;10000000B ,控制字 PA 以方式 0输出out dx,al zby: mov dx,offset mesg1 ; 显示提示信息 mov ah,09h int 21h mov ah,01 ; 从键盘接收字符 int 21h

cmp al,'0' ; 是否小于 0 jl exit ; 如若小于 0,则跳转到 exit 退出程序 cmp al,'9' ; 是否大于 9 jg exit ; 如若大于 9,则跳转到 exit 退出程序 sub al,30h ; 将所得字符的 ASCII 码减 30H ,数字键 ascii 码同数值转换 mov bx,offset led ;bx 为数码表的起始地址 xlat ; 求出相应的段码 mov dx,io8255a ; 从 8255的 A 口输出 out dx,al jmp zby ; 转 zby exit: mov ah,4ch ; 返回 DOS int 21h code ends end start 动态显示 : data segment ioport equ 0c800h-0280h io8255a equ ioport+28ah io8255b equ ioport+28bh

变频器控制字状态字

字体大小:大| 中| 小2010-02-11 12:51 - 阅读:143 - 评论:3 工控网曾有过关于主题的文章,很精华,没找到链接,抱歉!下面给您一篇我曾摘自工控网的技术文章: 1.通讯方式的设定:PPO 4,这种方式为0 PKW/6 PZD,输入输出都为6个PZD,(只需要在STEP7里设置,变频器不需要设置); PROFIBUS的通讯频率在变频器里也不需要设置,PLC方面默认为1.5MB. 在P60=7设置下,设置P53=3,允许CBP(PROFIBUS)操作. P918.1设置变频器的PROFIBUS地址. 2.设置第一与第二个输入的PZD为PLC给变频器的控制字,其余四个输入PZD这里没有用到. 设置第一与第二个输出的PZD为变频器给PLC的状态字,设置第三个为变频器反馈给PLC 的实际输出频率的百分比值, 第四个为变频器反馈给PLC的实际输出电流的百分比值,其余两个输出PZD这里没有用到. 3.PLC给变频器的第一个PZD存储在变频器里的K3001字里. K3001有16位,从高到底为3115到3100(不是3001.15到3001.00). 变频器的参数P554为1时变频器启动为0时停止,P571控制正转,P572控制反转. 如果把P554设置等于3100,那么K3001的位3100就控制变频器的启动与停止,P571设置等于3101则3101就控制正转, P572设置等于3102则3102就控制反转.(变频器默认P571与P572都为1时正转,都为0时为停止).

经过这些设置后K3001就是PLC给变频器的第一个控制字. 此时K3001的3100到3115共16位除了位3110控制用途都不是固定的,所以当设置P554设置等于3101时则3101可以控制启动与停止, P571等于3111时则3111控制正转,等等. K3001的位3110固定为“控制请求”,这位必须为1变频器才能接受PLC的控制讯号,所以变频器里没有用一个参数对应到这个位, 必须保证PLC发过来第一个字的BIT 10为1. 这里设置为:P554=3100,P571=3101,P572=3102,当PLC发送W#16#0403时(既 0000,0100,0000,0011)变频器正转. 4.PLC给变频器的第二个PZD存储在变频器里的K3002字里. 变频器的参数P443存放给定值. 如果把参数P443设置等于K3002,那么整个字K3002就是PLC给变频器的主给定控制字. PLC发送过来的第二个字的大小为0到16384(十进制),(对应变频器输出的0到100%),当为8192时,变频器输出频率为25Hz. 5.变频器的输出给PLC的第一个PZD字是P734.1,第二个PZD字是P734.2,等等. 要想把PLC接收的第一个PZD用作第一个状态字,需要在变频器里把P734.1=0032(既字 K0032), 要想把PLC接收的第二个PZD用作第二个状态字,需要在变频器里把P734.2=0033(既字 K0032). (K0032的BIT 1为1时表示变频器准备好,BIT 2表示变频器运行中,等等.) (变频器里存贮状态的字为K0032,K0033等字,而变频器发送给PLC的PZD是P734.1,P734.2等) 在变频器里把P734.3=0148,在变频器里把P734.4=0022,则第三个和第四个变频器PZD分别包

可编程定时器计数器(8253) 实验报告

实验名称可编程定时器/计数器(8253)学生姓名 学生学号 专业班级 指导老师 2015-1-7

实验六可编程定时器/计数器(8253) 一、实验目的 掌握8253芯片和微机接口原理和方法,掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容 1.设计8253定时器/技术器仿真电路图; 2.根据仿真电路图,编写代码,对8253定时器/计数器进行仿真。 三、实验要求 1.要求计数器2工作于模式1(暂稳态触发器),计数初值为1250; 2.计数器0工作于方式3(方波模式),输出一个1KHz的方波,8253的 输入时钟为1MHz,计数初始值格式为BCD。 3.8253与系统的连接如图1所示。 图1计数器8253与8086连接原理图

注:实验过程中,发现图1有误。应将8253定时器/计数器右边部分的电阻R2与按钮交换位置。 四、实验原理 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 8253的工作方式3被称作方波发生器。任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。 进入工作方式3,OUTi输出低电平,装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平,则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出周期为n×CLKi周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。 8253定时器/计数器控制字决定这定时器0,1,2的工作模式。一旦CPU对控制字进行写操作,且对相应的定时器有效,则相应定时器改变工作模式,可能准备接收计时初值。控制字的格式如图2所示。

实验2:8255七段数码管静动态显示

微机实验报告书 学号:姓名:班级: 同组名单:实验日期: 2012.12.21 实验题目:七段数码管的静态显示 实验目标:掌握数码管显示数字的原理 (功能:键盘输入一位十进制数字(0~9),用七段数码管显示。) 解题思路: 1.静态显示:按图 10(a)连接好电路,将8255的A口PA0-PA6分别与七段 数码管的断码驱动输入端a-g项链,位码驱动输入端S1接+5V,S0、dp 接地。编程从键盘输入一位十进制数字,在七段数码管上显示出来。 2.动态显示:按图10(b)连接好电路,七段数码管段码连接不变,位码驱 动输入端S1,S0接8255C口的PC1,PC0。编程在两个数码管上显示“56”。程序框图:静态显示见图11(a),动态显示见图11(b)。

关键问题分析(静态显示): 1、按键判断和程序结束判断 按键来说,由于程序中必须输入数字,所以没有必要对是否按键进行判断,只需要判断按键是否在0-9之间即可。用以下程序即可: cmp al,'0' jl exit ; jl,条件转移指令,即在小于时转移 cmp al,'9' jg exit ;jg, 条件转移指令,即在大于时转移程序中还要用到“cmp”即比较指令,用来比较输入数与0、9的大小关系。程序结束:如若输入的数字小于0或者大于9,必须直接跳出程序,即结束指令必须单独占用一个程序段,这样,程序顺序执行完毕也可以顺利返回DOS。 2、七段码显示。

实验指导书中给出了七段码的字型代码。这样一来,七段码的显示只需要用换码指令“XLAT”便可以轻松实现。前提是必须将七段码字型编成数码表以字符串的形式写进程序中。 3、数字键ASCII码与数值间的转换。 因为0的ASCII码为30H,所以数字键ASCII码与数值间的转换时只需减去30H即可,可用下列语句实现: sub al,30h 程序清单: 静态显示: data segment ioport equ 0c800h-0280h io8255a equ ioport+288h io8255b equ ioport+28bh led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh mesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$' data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255b ;使8255的A口为输出方式 mov al,80h ;10000000B,控制字PA以方式0输出 out dx,al zby: mov dx,offset mesg1 ;显示提示信息 mov ah,09h int 21h mov ah,01 ;从键盘接收字符 int 21h cmp al,'0' ;是否小于0 jl exit ;如若小于0,则跳转到exit退出程序 cmp al,'9' ;是否大于9 jg exit ; 如若大于9,则跳转到exit退出程序 sub al,30h ;将所得字符的ASCII码减30H,数字键ascii码同数值转换 mov bx,offset led ;bx为数码表的起始地址 xlat ;求出相应的段码 mov dx,io8255a ;从8255的A口输出 out dx,al jmp zby ;转zby exit: mov ah,4ch ;返回DOS

变频器控制字状态字

字体大小: | | 2010-02-11 12:51 - 阅读:143 - :3 工控网曾有过关于主题的文章,很精华,没找到链接,抱歉!下面给您一篇我曾摘自工控网的技术文章: 1.通讯方式的设定:PPO 4,这种方式为0 PKW/6 PZD,输入输出都为6个PZD,(只需要在STEP7里设置,变频器不需要设置);PROFIBUS的通讯频率在变频器里也不需要设置,PLC方面默认为. 在P60=7设置下,设置P53=3,允许CBP(PROFIBUS)操作. 设置变频器的PROFIBUS地址. 2.设置第一与第二个输入的PZD为PLC给变频器的控制字,其余四个输入PZD这里没有用到. 设置第一与第二个输出的PZD为变频器给PLC的状态字,设置第三个为变频器反馈给PLC的实际输出频率的百分比值, 第四个为变频器反馈给PLC的实际输出电流的百分比值,其余两个输出PZD这里没有用到. 给变频器的第一个PZD存储在变频器里的K3001字里. K3001有16位,从高到底为3115到3100(不是到. 变频器的参数P554为1时变频器启动为0时停止,P571控制正转,P572控制反转.

如果把P554设置等于3100,那么K3001的位3100就控制变频器的启动与停止,P571设置等于3101则3101就控制正转, P572设置等于3102则3102就控制反转.(变频器默认P571与P572都为1时正转,都为0时为停止). 经过这些设置后K3001就是PLC给变频器的第一个控制字. 此时K3001的3100到3115共16位除了位3110控制用途都不是固定的,所以当设置P554设置等于3101时则3101可以控制启动与停止, P571等于3111时则3111控制正转,等等. K3001的位3110固定为“控制请求”,这位必须为1变频器才能接受PLC的控制讯号,所以变频器里没有用一个参数对应到这个位, 必须保证PLC发过来第一个字的BIT 10为1. 这里设置为:P554=3100,P571=3101,P572=3102,当PLC发送W#16#0403时(既0000,0100,0000,0011)变频器正转. 给变频器的第二个PZD存储在变频器里的K3002字里. 变频器的参数P443存放给定值. 如果把参数P443设置等于K3002,那么整个字K3002就是PLC给变频器的主给定控制字. PLC发送过来的第二个字的大小为0到16384(十进制),(对应变频器输出的0到100%),当为8192时,变频器输出频率为25Hz. 5.变频器的输出给PLC的第一个PZD字是,第二个PZD字是,等等.

8255和LED数码管显示实验

实验八 8255和LED数码管显示实验 二、实验电路 实验电路如图2及图3所示。 图2 静态显示电路图3 动态显示电路 五、实验项目 1.静态显示:按图2连接好电路,将8255A的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。 程序框图、源代码(含注释)及实验结果如下: 1、静态显示 ;0-9程序: data segment ioport equ2400h-280h io8255a equ ioport+288h io8255ctr equ ioport+28bh led db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh mesg1 db0dh,0ah,'Input a num (0--9),other key is exit:',0dh,0ah,'$' data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255ctr ;使8255的A口为输出方式 mov ax,80h out dx,al sss: mov dx,offset mesg1 ;显示提示信息 mov ah,9 int21h mov ah,1;从键盘接收字符 int21h

cmp al,'0' ;是否小于0 jb exit ;若是则退出 cmp al,'9' ;是否大于9 ja exit ;若是则退出 sub al,30h;将所得字符的ASCII码减30H mov bx,offset led ;bx为数码表的起始地址 xlat ;求出相应的段码 mov dx,io8255a ;从8255的A口输出 out dx,al jmp sss ;转SSS exit: mov ax,4c00h;返回 int21h code ends end start 2.动态显示(选做):按图3连接好电路,七段数码管段码连接不变,位码驱动输入端S1S0接8255C口的PC1、PC0。编程在两个数码管上显示56。 程序框图、源代码(含注释)及实验结果如下: data segment ioport equ 2400h-280h io8255a equ ioport+288h io8255c equ ioport+28Ah io8255ctr equ ioport+28bh mesg1 db 0dh,0ah,' Press any key to exit!',0dh,0ah,'$' data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,offset mesg1 ;显示提示信息 mov ah,9 int 21h mov dx, io8255ctr ;将8255设为A口输出 mov al,80h out dx,al loop1: mov dx, io8255a mov al,6Dh out dx,al mov dx, io8255c mov al,2

8253定时计数器知识点总结

8253定时/计数器知识点总结 1、8253简介 8253是用来测量时间或者脉冲的个数,通过计量一个固定频率的脉冲个数,将时间信息转化为数字信息,供计算机系统使用。8253有着较好的通用性和灵活性,几乎可以在所有由微处理器组成的系统中使用。 2、性能描述 (1)每个8253芯片有3个独立的16位计数器通道; (2)每个计数器通道都可以按照二进制或二—十进制计数; (3)每个计数器的计数速率可以高达2MHz; (4)每个通道有6种工作方式,可以由程序设定和改变; (5)所有的输入、输出电平都与TTL兼容。 3、结构组成 结构框图如下 (1)数据总线缓冲器 8253内部实现与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某一时刻的实时计数值。(2)读写逻辑控制 控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的址地信号以实现片选、内部通道选择以及对读/写操作进行控制。 (3)控制寄存器 在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。 (4)计数通道0号、1号、2号 三个独立的、结构相同的计数器/定时器通道,每个通道包含一个16位计数寄存器存放计数初始值,一个16位的减法计数器,一个16位的锁存器。 锁存器在计数器工作的过程中,跟随计数值的变化。 接收到CPU的读计数值命令时,锁存计数值,供CPU读取。

读取完毕之后,输出锁存器又跟随减1计数器变化。 另外,计数器的值为0的状态,还反映在状态锁存器中,可供读取。 4、引脚说明 与CPU 的接口信号: (1)D0—D7:双向三态数据线,与CPU 相连用以传送数据、控制字以及状态信息。 (2)CS :片选输入信号,低电平有效。 (3)W R RD ,:读/写控制信号,低电平有效。 (4)10,A A :8253的内部计数器和一个控制寄存器的编码选择信号,其功能如下: 10,A A 与其他控制信号,如CS ,W R RD ,共同实现对8253的寻址,如下图: 8253寻址读写操作逻辑表

微机原理考试题型

2012微机原理考试题型 一、选择题(20分,每小题1分) 二、判断题(15分,每小题1分) 三、填充(每小题1分,共10分) 四、名词解释(15分,每小题3分) 五、综合设计题(共40分) (1)软件编程题 (2)8086系统存储器设计题 (3)8253简单编程题 (4)8255综合编程题 微机原理复习要点(作业),不包含考试的全部要求,考试要求见考试大纲 1、计算机中数的表示:包括二、八、十、十六进制数及相互之间的转换;有符号数 的原码、反码、补码的表示以及表示范围(指定字长)。字符的ASCII码,要求熟知 字符0~9,A~Z,a~z的ASCII码值。 2、存储器的分段,存储器分段的目的,每段的大小小于等于64K;20位物理地址是 如何形成的;段地址、偏移地址、物理地址的概念及相互之间的关系。 3、寻址方式的概念,7种与数据相关的寻址方式,存储器寻址方式EA和PA的计算。 4、汇编指令的功能、执行过程及相关指令对CF、SF、OF、ZF标志位的影响。其中: NOT指令不影响标志位,INC,DEC不影响CF标志位;熟知有符号、无符号比较指令 的不同;哪些指令的执行对堆栈有影响(如:CALL、RET、IRET、INT等)。串传送、 串比较指令的执行过程以及前缀符的使用(REP,REPE、REPNE)。LOOP、LOOPZ、LOOPNZ 以及J指令实现跳转的判断条件。能判断指令格式的对错。 5、熟知数据定义、段定义、过程定义、明确段与段寄存器建立关系(ASSUME)、源 程序结束(END)等伪操作指令;熟知利用“$”自动计算数据个数的方法、AT和ORG 的作用,熟知字符显示、字符串显示、键盘输入等常用DOS功能调用(1、2、9号 功能)。 6、掌握用编写汇编语言编写源程序。 7、时钟周期、总线周期、指令周期的概念。总线周期的4个T状态以及Tw状态的 插入位置。 8、8086CPU有由哪大部分组成,什么是EU和BIU,EU中包含哪些寄存器,BIU 中包含哪些寄存器 9、深刻理解最大模式、最小模式的含义及扩展图。8086相关引脚功能及作用(ALE、 WR、RD、NMI、INTR、INTA、M/IO、MN/MX、READY)。 10、指令执行时,WR、RD、M/IO的电平情况 11、半导体存储器分类(RAM和ROM)以及它们的区别。 12、RAM(SRAM、DRAM必须定时刷新)及ROM(掩膜ROM、PROM、EPROM、 EEPROM)的分类 13、常用静态RAM、ROM芯片以及它们的容量,能根据芯片容量判断地址线、数 据线的根数。 14、存储器与系统的连接(包括地址线、数据线、控制线的连接,特别是片选信号 的产生(方法一:用三八译码器;方法二:用逻辑门);该类题包括两种,一是根据 要求画出系统连接图,二是根据联接图分析芯片的地址范围。(8086奇偶片的连接)。 15、I/O接口的功能,独立编址(PC机采用该法),统一编址;CPU与外设数据传

8253工作方式以及应用举例

第27课 8253工作方式以及应用举例 8253的六种工作方式,8253的实际应用举例。本课主题: 教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强化8253的使用方法。 教学重点:8253的硬件连接和软件初始化方法。 教学难点:8253的在系统中的应用。 授课内容: 8253的每个通道都有6种不同的工作方式,下面分别进行介绍。 1.方式0--计数结束中断方式(Interrupt on Terminal Count) 2.方式1--可编程单稳态输出方式(Programmable One-short) 3.方式2--比率发生器(Rate Generator) 4.方式3--方波发生器(Square Wave Generator)

5.方式4--软件触发选通(Software Triggered Strobe) 6.方式5--硬件触发选通(Hardware Triggered Strobe) 由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。现将各种方式的主要特点概括如下: 对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。其余5种方式写入控制字后,输出均变高。方式0可用来实现定时或对外部事件进行计数。 方式1用来产生单脉冲。 方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。 方式3用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。

方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。 这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。如果要通道再次按此方式工作,必须重新装入计数值。对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。 8.2 8253的应用举例 一、8253定时功能的应用例子 1(用8253产生各种定时波形 在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能: (1)通道0工作于方式3,输出频率为2kHz的方波; (2)通道l产生宽度为480us的单脉冲; (3)通道2用硬件方式触发,输出单脉冲,时间常数为26。 2.控制LED的点亮或熄灭 用8253来控制一个LED发光二极管的点亮和熄灭的例子,要求点亮10秒钟后再让它熄灭10秒钟,并重复上述过程。假设这是一个8086系统,8253的各端口地址为81H、83H、85H和87H。

变频器控制字状态字

变频器控制字状态字标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

字体大小: | | 2010-02-11 12:51 - 阅读:143 - :3 工控网曾有过关于主题的文章,很精华,没找到链接,抱歉!下面给您一篇我曾摘自工控网的技术文章: 1.通讯方式的设定:PPO 4,这种方式为0 PKW/6 PZD,输入输出都为6个PZD,(只需要在STEP7里设置,变频器不需要设置); PROFIBUS的通讯频率在变频器里也不需要设置,PLC方面默认为. 在P60=7设置下,设置P53=3,允许CBP(PROFIBUS)操作. 设置变频器的PROFIBUS地址. 2.设置第一与第二个输入的PZD为PLC给变频器的控制字,其余四个输入PZD这里没有用到. 设置第一与第二个输出的PZD为变频器给PLC的状态字,设置第三个为变频器反馈给PLC 的实际输出频率的百分比值, 第四个为变频器反馈给PLC的实际输出电流的百分比值,其余两个输出PZD这里没有用到. 给变频器的第一个PZD存储在变频器里的K3001字里. K3001有16位,从高到底为3115到3100(不是到.

变频器的参数P554为1时变频器启动为0时停止,P571控制正转,P572控制反转. 如果把P554设置等于3100,那么K3001的位3100就控制变频器的启动与停止,P571设置等于3101则3101就控制正转, P572设置等于3102则3102就控制反转.(变频器默认P571与P572都为1时正转,都为0时为停止). 经过这些设置后K3001就是PLC给变频器的第一个控制字. 此时K3001的3100到3115共16位除了位3110控制用途都不是固定的,所以当设置P554设置等于3101时则3101可以控制启动与停止, P571等于3111时则3111控制正转,等等. K3001的位3110固定为“控制请求”,这位必须为1变频器才能接受PLC的控制讯号,所以变频器里没有用一个参数对应到这个位, 必须保证PLC发过来第一个字的BIT 10为1. 这里设置为:P554=3100,P571=3101,P572=3102,当PLC发送W#16#0403时(既 0000,0100,0000,0011)变频器正转. 给变频器的第二个PZD存储在变频器里的K3002字里. 变频器的参数P443存放给定值. 如果把参数P443设置等于K3002,那么整个字K3002就是PLC给变频器的主给定控制字.

8255a1(七段数码管)

实验4七段数码管 教具、教学素材准备:实验箱,多媒体 教学方法:网络讲授与实作 教学时数:2 一、实验目的 掌握数码管显示数字的原理 二、实验原理和内容 按图22连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动 输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程 从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。 三、编程 1、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码,位码加反相驱动器,位码输入端高电平选中。 2、七段数码管的字型代码表如下表:

data segment ioport equ 0d400h-0280h io8255a equ ioport+288h io8255b equ ioport+28bh led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh mesg1 db 0dh,0ah,'Input a num(0--9h):',0dh,0ah,'$' data ends

code segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov dx,io8255b;使8255的A口为输出方式mov ax,80h out dx,alsss:mov dx,offset mesg1;显示提示信息mov ah,09h int 21h mov ah,01;从键盘接收字符 int 21h cmp al,'0';是否小于0 jl exit;若是则退出 cmp al,'9';是否大于9 jg exit;若是则退出 sub al,30h;将所得字符的ASCII码减30H mov bx,offset led;bx为数码表的起始地址xlat;求出相应的段码 mov dx,io8255a;从8255的A口输出 out dx,al jmp sss;转SSS exit:mov ah,4ch;返回DOS int 21h code ends end start 教学后记:

用51单片机、8255、138、373等实现数码管显示按键数值的程序.(DOC)

姓名 专业 学号 2013年10月28日

随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。 单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。 单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。 课题要求: 用51单片机、8255、138、373等实现数码管显示按键数值的程序

各芯片资料: 1.8255芯片资料如下 用8255A可编程器件扩展并行接口 8255: 有三个八位的并行口:PA、PB、PC。 有三种工作方式:方式0,方式1,方式2。 逻辑结构图: 包含四个部分:●三个并行数据输入输出端口 ●两个工作方式控制电路 ●一个读写逻辑控制电路 ●八位总线缓冲器 ⑴.三个并行数据输入输出端口:A口;B口;C口

一般,A口,B口作为数据输入输出端口, C口作为控制/状态信息口,可以分为两个部分,分别与A口和B口配合使用,作为控制信息输出或状态信息输入。⑵.工作方式控制电路 工作方式控制电路有两个:A组控制和B组控制电路, A组控制用来控制A口和C口的上半部分PC7——PC4; B组控制用来控制B口和C口的下半部分PC3——PC0; 两组控制电路具有一个控制命令寄存器,用来接收来自 CPU的数据(控制字),以决定芯片的工作方式,或对 C口按位进行清“0”或者置“1”。 ⑶.总线缓冲器 三态双向八位缓冲器,作为微处理器数据总线与8255之间的接口,用来传送命令、数据及状态信息。 ⑷.读写逻辑控制电路 读写逻辑控制电路接受CPU来的控制信号:读、写、地址及复位信息,根据控制信号的要求,将数据读出,送往CPU,或者将CPU来的信息写入端口。 引脚说明: CS:片选信号,低电平有效,表示芯片被选中; RD:读操作,低电平有效,控制数据读出; WE:写操作,低电平有效,控制数据写入; A1,A0:地址线, 端口选择信号,用来选择8255内部端口:

相关文档
相关文档 最新文档