当前位置:文档之家› 计算机接口技术复习题

计算机接口技术复习题

第一讲:第九章定时器与计数器回顾:可编程芯片的概念,端口的概念。

重点和纲要:定时与计数的基本概念及其意义,定时/计数器芯片Intel8253的性能概述,内、外部结构及其与CPU的连接。

讲授内容:9.1 定时与计数1.定时与计数在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。

定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。

2.定时与计数的实现方法(1).硬件法专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。

(2).软件法利用一段延时子程序来实现定时操作,特点,无需太多的硬设备,控制比较方便,但在定时期间,CPU不能从事其它工作,降低了机器的利用率。

(3).软、硬件结合法即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响CPU的正常工作。

9.2 定时/计数器芯片Intel8253Intel8253是8086/8088微机系统常用的定时/计数器芯片,它具有定时与计数两大功能,同类型的定时/计数器芯片还有Intel8254等。

一、8253的一般性能概述1.每个8253芯片有3个独立的16位计数器通道2.每个计数器通道都可以按照二进制或二—十进制计数3.每个计数器的计数速率可以高达2MHz4.每个通道有6种工作方式,可以由程序设定和改变5.所有的输入、输出电平都与TTL兼容§9.2.2 8253内部结构8253的内部结构如图6-16(P160)所示,它主要包括以下几个主要部分:图6-16 8253的内部结构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的状态,还反映在状态锁存器中,可供读取。

二、 8253的外部引脚8253芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图 6-17所示。

8253芯片的24个引脚分为两组,一组面向CPU ,另一组面向外部设备, 各个引脚及其所传送信号的情况,介绍如下:1.D 7~D 0:双向、三态数据线引脚,用以与系统的数据线连接,传送控制、数据及状态信息。

、、、2.RD :来自于CPU 的读控制信号输入引脚,低电平有效。

3.WR :来自于CPU 的写控制信号输入引脚,低电平有效。

4.CS :芯片选择信号输入引脚,低电平有效。

图6-17 8253的引脚5.A 1、A 0:地址信号输入引脚,一般接CPU 地址总线的A 1、A 0位,用以选 择8253芯片的通道及控制字寄存器。

0A 、1A 的状态与8253端口地址的对应 关系如表6-4所示(P161)6.V CC 及GND :+5V 电源及接地引脚7.CLK i :i=0,1,2,第i 个通道的计数脉冲输入引脚,8253规定,加在CLK 引脚的输入时钟信号的频率不得高于2.6MHZ,即时钟周期不能小于380ns。

8.GATE i:i=0,1,2,第i个通道的门控信号输入引脚,门控信号的作用与通道的工作方式有关。

9.OUT i:i=0,1,2,第i个通道的定时/计数到信号输出引脚,输出信号的形式由通道的工作方式确定,此输出信号可用于触发其它电路工作,或作为向CPU发出的中断请求信号。

三、8253的控制字8253有一个8位的控制字寄存器,其格式如下:图6-18 8253的控制字其中:D0:数制选择控制。

为1时,表明采用BCD码进行定时/计数;否则,采用二进制进行定时/计数。

D3~D1:工作方式选择控制。

000,0;001,1;X10,2;X11,3;100,4;101,5;D5、D4:读写格式。

00,计数锁存命令;01,读/写高8位命令;10,读/写低8位命令;11,先读/写低8位,再读写高8位命令。

D7、D6:通道选择控制。

00 0通道;01,1通道;10,2通道;11,非法1.8253的初始化编程要使用8253,必须首先进行初始化编程,初始化编程包括设置通道控制字和送通道计数初值两个方面,控制字写入8253的控制字寄存器,而初始值则写入相应通道的计数寄存器中。

初始化编程包括如下步骤:(1).写入通道控制字,规定通道的工作方式(2).写入计数值,若规定只写低8位,则高8位自动置0,若规定只写高8位,则低8位自动置0。

若为16位计数值则分两次写入,先写低8位,后写高8位。

D0:用于确定计数数制,0,二进制;1,BCD码例1:设8253的端口地址为:04H~07H,要使计数器1工作在方式0,仅用8位二进制计数,计数值为128,进行初始化编程。

控制字为:01010000B=50H初始化程序:MOV AL,50HOUT 07H,ALMOV AL,80HOUT 05H,AL例2:设8253的端口地址为:F8H~FBH,若用通道0工作在方式1,按二――十进制计数,计数值为5080H,进行初始化编程。

控制字为:00110011B=33H初始化程序:MOV AL,33HOUT 0FBH,ALMOV AL,80HOUT 0F8H,ALMOV AL,50HOUT 0F8H,AL例3:设8253的端口地址为:04H~07H,若用通道2工作在方式2,按二进制计数,计数值为02F0H,进行初始化编程。

(P164例3)控制字为:10110100B=0B4H初始化程序:MOV AL,0B4HOUT 07H,ALMOV AL,0F0HOUT 06H,ALMOV AL,02HOUT 06H,AL2.读取8253通道中的计数值8253可用控制命令来读取相应通道的计数值,由于计数值是16位的,而读取的瞬时值,要分两次读取,所以在读取计数值之前,要用锁存命令,将相应通道的计数值锁存在锁存器中,然后分两次读入,先读低字节,后读高字节。

当控制字中,D5、D4=00时,控制字的作用是将相应通道的计数值锁存的命令,锁存计数值在读取完成之后,自动解锁。

如要读通道1的16位计数器,编程如下:地址F8H~FBH。

MOV AL,40H;OUT 0FBH,AL ;锁存计数值IN AL,0F9HMOV CL,AL;低八位IN AL,0F9H;MOV CH,AL;高八位四、8253在系统中的典型连接8253在系统中的连接如图6-25所示。

图6-25 Intel8253在系统中的连接习题与思考:1.试说明定时和计数在实际系统中的应用?这两者之间有和联系和差别?2.定时和计数有哪几种实现方法?各有什么特点?3.试说明定时/计数器芯片Intel8253的内部结构。

4.定时/计数器芯片Intel8253占用几个端口地址?各个端口分别对应什么?第二讲:9.2 定时/计数器芯片Intel8253回顾:定时/计数器芯片Intel8253的性能概述,内、外部结构,端口寻址及控制字的格式及初始化编程。

重点和纲要:Intel8253的工作方式,编程设置及应用。

讲授内容:六、8253的工作方式8253共有6种工作方式,各方式下的工作状态是不同的,输出的波形也不同,其中比较灵活的是门控信号的作用。

由此组成了8253丰富的工作方式、波形,下面我们逐个介绍:1.几条基本原则(1).控制字写入计数器时,所有的控制逻辑电路立即复位,输出端OUT进入初始状态。

初始状态对不同的模式来说不一定相同。

(2).计数初始值写入之后,要经过一个时钟周期上升沿和一个下降沿,计数执行部件才可以开始进行计数操作,因为第一个下降沿将计数寄存器的内容送减1计数器。

(3).通常,在每个时钟脉冲CLK的上升沿,采样门控信号GATE。

不同的工作方式下,门控信号的触发方式是有具体规定的,即或者是电平触发,或者是边沿触发,在有的模式中,两种触发方式都是允许的。

其中0、2、3、4是电平触发方式,1、2、3、5是上升沿触发。

(4).在时钟脉冲的下降沿,计数器作减1计数,0是计数器所能容纳的最大初始值。

二进制相当于216,用BCD码计数时,相当于1042.方式0—计数结束产生中断方式0的波形如图6-19所示,当控制字写入控制字寄存器后,输出OUT就变低,当计数值写入计数器后开始计数,在整个计数过程中,OUT保持为低,当计数到0后,OUT变高;GATE的高低电平控制计数过程是否进行。

图6-19方式0波形从波形图中不难看出,工作方式0有如下特点:①计数器只计一遍,当计数到0时,不重新开始计数保持为高,直到输入一新的计数值,OUT才变低,开始新的计数;②计数值是在写计数值命令后经过一个输入脉冲,才装入计数器的,下一个脉冲开始计数,因此,如果设置计数器初值为N,则输出OUT在N+1个脉冲后才能变高;③在计数过程中,可由GATE信号控制暂停。

当GATE=0时,暂停计数;当GATE=1时,继续计数;④在计数过程中可以改变计数值,且这种改变是立即有效的,分成两种情况:若是8位计数,则写入新值后的下一个脉冲按新值计数;若是16位计数,则在写入第一个字节后,停止计数,写入第二个字节后的下一个脉冲按新值计数。

3.方式1—可编程的硬件触发单拍脉冲方式1的波形如图6-20所示,CPU向8253写入控制字后OUT变高,并保持,写入计数值后并不立即计数,只有当外界GATE信号启动后(一个正脉冲)的下一个脉冲才开始计数,OUT变低,计数到0后,OUT才变高,此时再来一个GATE正脉冲,计数器又开始重新计数,输出OUT再次变低,…,因此输出为一单拍负脉冲。

图6-20 方式1波形从波形图不难看出:方式1有下列特点:①输出OUT业宽度为计数初值的单脉冲;②输出受门控信号GATE的控制,分三种情况:✧计数到0后,再来GATE脉冲,则重新开始计数,OUT变低;✧在计数过程中来GATE脉冲,则从下一CLK脉冲开始重新计数,OUT保持为低;✧改变计数值后,只有当GATE脉冲启动后,才按新值计数,否则原计数过程不受影响,仍继续进行,即新值的改变是从下一个GATE开始的。

相关主题