8253问答题
- 格式:doc
- 大小:260.00 KB
- 文档页数:10
并行接口8255A一、单项选择题1.8255A既可作数据输入、出端口,又可提供控制信息、状态信息的端口是( D )。
(A)B口(B)A口(C)A、B、C三端口均可以(D)C口2.8255A的方式选择控制字为80H,其含义是( D )。
(A)A、B、C口全为输入(B)A口为输出,其他为输入(C)A、B为方式0 (D)A、B、C口均为方式0,输出3.8255A引脚信号WR=0,CS=0,A1=1,A0=1时,表示( B )。
(A)CPU向数据口写数据(B)CPU向控制口送控制字(C)CPU读8255A控制口(D)无效操作4.一微机化仪器采用8255A芯片作数据传送接口,并规定使用接口地址的最低两位作芯片内部寻址,已知芯片的A口地址为0F4H,则当CPU执行输出指令访问0F7H端口时,其操作为()。
(A) 数据从端口C送数据总线(B) 数据从数据总线送端口C(C) 控制字送控制字寄存器(D) 数据从数据总线送端口B5.当8255A的端口A、端口B均工作在方式0的输入方式时,端口C可以作为()用。
(A)两个4位I/O端口或1个8位I/O端口(B) 状态端口(C)部分引脚作端口A、端口B的联络信号(D)全部作联络信号6.当并行接口芯片8255A被设定为方式2时,其工作的I/O口()。
(A)既能作输入口、也能作输出口使用(B) 仅能作输入口使用(C)仅能作不带控制信号的输入口或输出口使用(D) 仅能作输出口使用7.当并行接口芯片8255A被设定为方式2时,其工作的I/O口()。
(A) 仅能作不带控制信号的输入口或输出口使用(B)仅能作输入口使用(C) 既能作输入口、也能作输出口使用(D) 仅能作输出口使用8.intel公司生产的用于数据并行传送的可编程接口芯片是( D )。
(A)8218 (B)8251 (C)8253 (D)82559.一片1ntel8255A需占用(B )个端口地址。
(A)2 (B)4 (C)6 (D)810.8255的A口中断输出时,应将A口工作方式初始化为()才能满足。
1.8253包括3个独立的,但结构相同的计数电路,它们分别是计数0,1,2通道,共占用 3 I/O地址,并由D7,D6 选择。
2.已经加在8253上的外部计数时钟频率为1MHZ,试说明若在不增加硬件芯片的情况下,使8253产生周期为1s的对称方波应如何实现?方式3,二进制计数,00110110,n=10^6,分为n1=1000,n2=1000,1端口的输出作为2端口的时钟输入。
参见P1593.8253端口地址为40H~43H,CH0作为计数器,计数时钟频率1MHZ,下列程序执行后,输出脉冲的宽度是0.02sMOV AL,36HOUT 43H,ALMOV AX,20000OUT 40H,ALMOV AL,AHOUT 40H,AL10^6/20000=50hzT=0.02s4.有如图所示的接口简化图,要使发光二极管亮2秒,熄灭2秒,但该过程共进行20秒即终止,设OUT0输入频率为100HZ。
8253端口地址为40H~43H 编写出程序。
A1A20端口Mov al,35hOut 43h,alMov al,00hOut 40h,alMov al,50hOut 40h,al1端口Mov al,77hOut 43h,al Mov al,00h Out 41h,al Mov al,04h Out 41h,al2端口Mov al,b1h Out 43h,al Mov al,00h Out 42h,al Mov al,20h Out 42h,al5.已知某8086微型计算机系统中包括8255A,8253两个可编程接口电路,其中,8253为A/D转换器提供可编程的采样频率和采样时间;8255A的PB0用于检测按键开关的位置,PA7可根据PB0的状态决定是否点亮LED指示灯。
8255A,8253可编程接口电路如图所示。
+5V1.写出接口初始化程序片断8255mov al,82hOut 63h,al2.图中给出了8253各个计数器要求的工作方式:设外部时钟频率为F;计数器0的计数初值为L(字节型),工作在方式2;计数器1的计数初值为M(字节型),工作在方式1;计数器2的计数初值为N (字型),工作在方式3。
CH05 定时与计数习题与思考题1.什么叫端口? 端口通常有哪几种? 各有什么特点?解答:为了提供CPU 与扩展部件和接口电路直接进行操作的“通道”,每个部件或接口内部都包含有一组寄存器,这些寄存器通常称为端口,每个端口有一个端口地址。
当CPU 与它们进行通信时,不同的信息通过不同的端口地址与不同的寄存器进行交互。
端口通常分为三类:用来传输数据的称为数据端口;用来存放设备或者部件状态的称为状态端口;用来存放CPU 发出的命令的称为控制端口。
CPU 通过数据端口完成数据传输,因此,数据端口一般是可读可写的;CPU 通过状态端口可以检测外设和接口部件当前的状态,因此,状态端口一般是只读的;CPU 通过控制端口传输命令以便控制接口和设备的动作,因此,控制端口一般是只写的。
2.试说明8253 的内部结构包括哪几个主要功能模块?解答:(1) 数据总线缓冲器。
这是8253 与CPU 数据总线连接的8 位、双向、三态缓冲器。
CPU 用输入输出指令对8253 进行读写的所有信息都是通过该缓冲器传送的,内容包括:. CPU 在初始化编程时写入8253 的控制字。
. CPU 向8253 的某一通道写入的计数值。
. CPU 从某一个通道读取的计数值。
(2) 读/写控制逻辑。
这是8253 内部操作的控制部分。
它接收输入的信号(CS 、WR 、RD 、A1、A0),以实现片选、内部通道选择(见表5-1)以及对相关端口的读/写操作。
(3) 控制字寄存器。
在对8253 进行初始化编程时,该寄存器存放由CPU 写入的控制字,由此控制字来决定所选中通道的工作方式。
此寄存器只能写入不能读出。
(4) 计数器0,计数器1,计数器2。
这是三个独立的计数器/定时器通道,各自可按不同的工作方式工作。
每个通道内部均包含一个16 位计数初值寄存器、一个16 位减法计数器和一个16 位锁存器。
其中,计数初值寄存器用来存放初始化编程时由CPU 写入的计数初值。
习题一、单项选择题1.8253哪种工作方式能产生连续方波输出( )。
A.方式OB.方式1C.方式2D.方式32.8253某计数器的最大计数初值是( )。
A.65536B.FF0OHC.0000HD.FFFFH3.8253某计数器工作在方式1时,在计数中途OUT为( )。
A.由低变高B.由高变低C.高电平D.低电平4.对8253的定时与计数( )。
A.有两种不同的工作方式B.定时只加时钟脉冲,不设计数值C.实质相同D.从各自的控制端口设置5.若8253定时/计数器处于计数过程中,当CPU对它装入新的计数初值时,其结果将是( )。
A.8253定时/计数器禁止编程;B.8253定时/计数器允许编程,并改变当前的计数过程;C.8253定时/计数器允许编程,但不改变当前的计数过程;D.8253定时/计数器允许编程,是否影响当前计数过程随工作方式而变。
6.当8253定时/计数器工作在( )下时,需要由外部脉冲触发开始计数。
A.方式O 、方式4B.方式2、方式3C.方式1、方式5D.方式1、方式47、8253共有()种工作方式。
A、5B、6C、4D、38、当8253可编程计数器/定时器工作在方式0时,门控信号GATE变为低电平后,对计数器的影响是()A、结束本次计数循环,等待下一次的计数的开始B、暂时停止现行计数工作C、不影响本次计数,即计数器的计数工作不受该信号的影响D、终止本次计数过程,立即开始新的计数循环。
9、若8253定时器/计数器工作在方式0,在初始化编程时一旦写入控制字后()A、输出信号OUT变为高电平B、立即开始计数C、输出信号保持原来的电位值D、输出信号OUT变为低电平二、分析:8253的端口地址为:40H-43H,门控和时钟的输入信号如下图,执行下列程序段:MOV AL,01010011BOUT 43H,AL Array MOV AL,10HOUT 41H,AL后,问输出脉冲的宽度T是多少?2、用8253做为某数据采集系统的定时器,每隔10ms用中断方式采集一次数据,已知输入时钟频率为10KHZ,8259端口地址为20H-21H,中断类型号为16H,8253端口地址为40H-43H,画出硬件连接并编写程序。
一、选择题(每小题3分,共39 分)1.8253工作于方式1时,输出负脉冲的宽度等于()A.计数初值N-1个CLK脉冲宽度B.计数初值N+1个CLK脉冲宽度C.计数初值N个CLK脉冲宽度D.计数初值(2N-1)/2个CLK脉冲宽度2.在8253某计数器工作方式1时,在计数中途OUT为()A.高电平 B.低电平 C.由高变低 D.由低变高3.8253引脚CS、RD、WR、A1、A0为()时,表示对计数2设置计数初值。
A.00010B B.10010B C.01010B D.10011B4.8253工作于方式1时,欲使输出负脉冲加宽,则可以在输出计数期间()A.改变计数值 B.改变控制字 C.复位 D.重新加入带有上升沿的GA TE信号5.8253的工作方式有()A.2种 B.3种 C.4种 D.6种6.8253工作在()时,需要由外部脉冲触发开始计数A.方式0 B.方式1 C.方式2 D.方式37.当8352可编程定时/计数器工作于方式0时,在初始化编程时,一旦写入控制字后()A.输出信号OUT变为高电平B.输出信号OUT变为低电平C.输出信号OUT保持原来的电平D.立即开始计数8.8253是可编程的()接口芯片。
A.总线控制B.DMA C.中断控制器D.定时器/计数器9.8253是可编程定时、计数芯片,它内部有()A.三个定时器 B.四个定时器 C.二个定时器 D.四个计数器10.设8253可编程定时/计数为可编程BCD码的减法计数器,其计数值最大时应置时间常数(计数初值)为()A.0FFFFH B.9999H C.7FFFH D.0000H11.启动8253的计数器开始或计数的方式有()A.软件方式 B.硬件方式 C.软件和硬件方式 D.门控信号12.在对8253进行任何操作前,都必须先向8253写入一个(),以确定8253的工作方式。
A.控制字 B.计数初值 C.状态字 D.指令13.可以从8253的()寄存器中读出减计数器的值。
8253问答题阅读使人快乐,成长需要时间1、8253可编程计数器有两种启动方式,在软件启动时,要使计数正常进行,GATE端必须为()电平,如果是硬件启动呢?答:8253可编程计数器有两种启动方式,在软件启动时,要使计数正常进行,GATE端必须为(高)电平;如果是硬件启动,则要在写入计数初值后使GA TE端出现一个由低到高的正跳变,以启动计数。
2、某个计算机应用系统采用8253的计数器0作频率发生器,输出频率为500Hz;用计数器1产生1000Hz的连续方波信号,输入8253的时钟频率为1.19MHz。
试问:初始化时送到计数器0和计数器1计数初值分别为多少?计数器工作在什么方式下?解:计数器0工作在方式2,其计数初值为=1.19MHz/500Hz=2380计数器1工作在方式3,其计数初值为=1.19MHz/1000Hz=11903、若要求8253用软件产生一次性中断,最好采用哪种工作方式?现在用计数器0对外部脉冲计数,每计满10 000个产生一次中断,请写出工作方式控制字及计数值。
解:若8253用软件产生一次性中断,最好采用方式0,即计数结束后产生中断的工作方式。
但若要求每计满10 000个产生一次中断,则表示具有重复中断的功能,因此,此时应使用计数器0工作于方式3,即连续方波输出方式。
其工作方式控制字为0011X111B,计数初值=10 0004、试编写一段程序,按下列要求设置如下图中8254的三个计数器计数器0:二进制计数,在操作方式0下操作,计数初值为1234H计数器1:BCD计数,在操作方式2下操作,计数初值为100H计数器2:二进制计数,在操作方式4下操作,计数初值为1FFFH解:计数器0的方式字=00110000B 计数器1的方式字=01010101B计数器2的方式字=10111000B MOV AL , 30HOUT 4CH , ALMOV AL , 55HOUT 4CH , ALMOV AL , 0B8HOUT 4CH , ALMOV AL , 34HOUT 40H , ALMOV AL , 12HOUT 40H , ALMOV AL , 00HOUT 44H , ALMOV AL , 01HOUT 44H , ALMOV AL , 0FFHOUT 48H , ALMOV AL , 1FHOUT 48H , AL5、试编写一个在计数进行的过程中进行读计数器2内容的程序段,并把读取的值放入AX 寄存器中,假设8253定位在I/O地址40H上,其中芯片输入线A1、A0分别接到A3、A2。
8353练习题及答案一、简答题1、8253的功能作用是什么?它有哪些工作方式?答案:8253起着计数或定时的作用,提供可编程的三个16位定时/计数器通道.它有方式0到方式5共6种工作方式,分别是:计数结束中断方式,可编程单程方式,频率发生器,方波发生器,软件触发的选通信号,硬件触发的选能信号.2、8253定时/计数器的定时与计数方式有什么区别?8254在方式0工作时,各通道的CLK、GATE信号有什么作用?各通道的控制字地址都相同,8254是怎样区分的?解:(1)8254作为计数器和定时器使用时的区别:用途不同:定时器用于产生连续的、周期恒定的信号;计数器用于对输入脉冲进行计数。
对CLK输入的信号要求不同:用作定时器时,CLK输入的信号必须有相同的周期;用作计数器时,允许CLK输入的信号没有固定的周期;使用方式不同:定时器方式下计数的过程周而往复,重复进行;计数器方式下计数的过程只进行一次,除非重新初始化,或者用GA TE重新触发;(2)8254工作在方式0时,CLK端输入计数用的脉冲信号;GATE信号为高电平时,对CLK端输入的脉冲进行计数;GATE信号为低电平时,暂停计数;GATE信号重新为高电平后,恢复原先的计数。
(3)由8254的方式控制字中的D7、D6两位来选择计数通道。
3、设8253计数器的时钟输入频率为1.91MHz,为产生25KHz的方波输出信号,应向计数器装入的计数初值为多少?4、、设8253的计数器0,工作在方式1,计数初值为2050H;计数器1,工作在方式2,计数初值为3000H;计数器2,工作在方式3,计数初值为1000H。
如果三个计数器的GATE都接高电平,三个计数器的CLK 都接2MHz时钟信号,试画出OUT0、OUT1、OUT2的输出波形。
5、试简述微机系统中定时器/计数器的必要性和重要性,以及定时实现的常用方法。
6、、可编程定时器/计数器8253/8254有几个通道?各通道有几种工作方式?各种工作方式的主要特点是什么?8254与8253有什么区别?7、8253芯片有哪几个计数通道?每个计数通道可工作于哪几种工作方式?这些操作方式的主要特点是什么?答:8253内部具有三个独立的16位计数通道:通道0、通道1、通道2.8253每个计数通道可工作于6中不同的工作方式:(1)方式0——计数结束中断方式(Interrupt on Terminal Count),在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。
第八章习题与思考题典型例题解析一、填空题1. 当8253工作在周期性方波输出方式时,若计数初值为偶数,则输出①方波,若计数初值为奇数,则输出②方波。
分析:8253工作于方式3时输出连续方波,当计数初值n为偶数时,输出方波的高、低电平持续时间均为nT CLK/2,当计数初值n为奇数时,输出方波的高电平持续时间为(n+1)T CLK/2,低电平持续时间为(n+1)T CLK/2。
答:①对称②非对称2.8253内部寄存器地址有①个I/O端口,其中②个是定时/计数通道端口。
分析:8253有两条地址线A1、A0,用来选中片内4个端口,其中3个是计数通道地址。
答:①4 ②33.8253的计数通道0(端口地址为POTR0)用于计数,要求计满30输出一信号,假定计数器工作于BCD计数方式,则写入计数初值的指令为MOV L,和OUT PORT0,AL分析:8253在初始化写入计数初值时,若采用BCD码计数,计数初值必须以计数结果的十进制数加上“H”表示。
例如计数值为10,必须写为10H。
答:30H二、选择题1.8253的哪种工作方式能产生连续方波输出()。
A. 方式0B. 方式1C. 方式2D. 方式3分析:8253有6种工作方式,其中产生连续波形的是方式2和方式3,方式3产生连续方波答:D2.8253每个计数器的最大计数初值是()。
A. 65536B. FF00HC. 0000HD. FFFFH分析:8253每个计数器的计数范围是1~65536,当计数初值为0000H时,计满65536,减1计数器减为0。
答:C3. 若8253定时/计数器处于计数过程中,当CPU对它装入新的计数初值时,其结果将是()。
A. 8253定时/计数器禁止编程B. 8253定时/计数器允许编程,并改变当前的计数过程C. 8253定时/计数器允许编程,但不改变当前的计数过程D. 8253定时/计数器允许编程,是否影响当前的计数过程随工作方式而变分析:8253定时/计数器具有3个独立的16位计数通道,它们可以分别工作在6种不同的工作方式。
1、设8253三个计数器的端口地址为201H,202H,203H,控制寄存器端口地址200H.试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX. 答:MOV AL,80HOUT 200H,ALIN AL,203HMOV BL,ALIN AL,203H,MOV BH,ALMOV AX,BX2、设8253三个计数器的端口地址为201H,202H,203H,控制寄存器端口地址200H.输入时钟为2MHz,让1号通道周期性的发出脉冲,其脉冲周期为1ms,试编写初化程序段.答:要输出脉冲周期为1ms,输出脉冲的频率是,当输入时钟频率为2MHz时,计数器初值是使用计数器1,先读低8位,后读高8位,设为方式3,二进制计数,控制字是76H.设控制口的地址是200H,计数器0的地址是202H.程序段如下:MOV DX,200HMOV AL,76HOUT DX,,ALMOV DX,202HMOV AX,2000OUT DX,ALMOV AL,AHOUT DX,AL3、设8253计数器的时钟输入频率为1.91MHz,为产生25KHz的方波输出信号,应向计数器装入的计数初值为多少答:= 76.4应向计数器装入的初值是76.4、设8253的计数器0,工作在方式1,计数初值为2050H;计数器1,工作在方式2,计数初值为3000H;计数器2,工作在方式3,计数初值为1000H.如果三个计数器的GATE都接高电平,三个计数器的CLK都接2MHz时钟信号,试画出OUT0,OUT1,OUT2的输出波形.答:计数器0工作在方式1,即可编程的单脉冲方式.这种方式下,计数的启动必须由外部门控脉冲GATE控制.因为GA TE接了高电平,当方式控制字写入后OUT0变高,计数器无法启动,所以OUT0输出高电平.计数器1工作在方式2,即分频器的方式.输出波形的频率f= = =666.7HZ,其周期为1.5ms,输出负脉冲的宽度等于CLK的周期为0.5 s.计数器2工作在方式3,即方波发生器的方式.输出频率f= = 2000Hz的对称方波.三个OUT的输出波形如下:5、8255A的3个端口在使用上有什么不同答:8255A的A端口,作为数据的输入,输出端口使用时都具有锁存功能.B端口和C端口当作为数据的输出端口使用时具有锁存功能,而作为输入端口使用时不带有锁存功能.6、当数据从8255A的C端口读到CPU时,8255A的控制信号,,,A1,AO分别是什么电平答:当数据从8255A的C 端口读入CPU时,8255A的片选信号应为低电平,才能选中芯片.A1,A0为10,即A1接高电平,A0接低电平,才能选中C端口.应为低电平(负脉冲),数据读入CPU,为高电平.7、如果串行传输速率是2400波特,数据位的时钟周期是多少秒答:数据位的时钟周期是= 4.17×10-4 秒8、在远距离数据传输时,为什么要使用调制解调器答:在远距离传输时,通常使用电话线进行传输,电话线的频带比较窄,一般只有几KHz,因此传送音频的电话线不适于传输数字信号,高频分量会衰减的很厉害,从而使信号严重失真,以致产生错码.使用调制解调器,在发送端把将要传送的数字信号调制转换成适合在电话线上传输的音频模拟信号;在接收端通过解调,把模拟信号还原成数字信号.9、全双工和半双工通信的区别是什么在二线制电路上能否进行全双工通信为什么答:全双工和半双工通信,双方都既是发送器又是接收器.两者的区别在于全双工可以同时发送和接收.半双工不能同时双向传输,只能分时进行.在二线制电路上是不能进行全双工通信的,只能单端发送或接收.因为一根信号线,一根地线,同一时刻只能单向传输.10、同步传输方式和异步传输方式的特点各是什么答:同步传输方式中发送方和接收方的时钟是统一的,字符与字符间的传输是同步无间隔的.异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的.11、在异步传输时,如果发送方的波特率是600,接收方的波特率是1200,能否进行正常通信为什么答:不能进行正常通信,因为发送方和接收方的波特率不同,而接收端的采样频率是按传输波特率来设置.12、8251A在编程时,应遵循什么规则答:8251在初始化编程时,首先使芯片复位,第一次向控制端口(奇地址)写入的是方式字;如果输入的是同步方式,接着向奇地址端口写入的是同步字符,若有2个同步字符,则分2次写入;以后不管是同步方式还是异步方式,只要不是复位命令,由CPU向奇地址端口写入的是命令控制字,向偶地址端口写入的是数据.13、试对一个8251A进行初始化编程,要求工作在同步方式,7位数据位,奇校验,1个停止位.答:对原题目的补充改动,要求工作在内同步方式,2个同步字符.方式字是:00011000B=18H程序段如下:XOR AX,AXMOV DX,PORTOUT DX,ALOUT DX,ALOUT DX,AL ;向8251的控制口送3个00HMOV AL,40HOUT DX,AL ;向8251的控制口送40H,复位MOV AL,18HOUT DX,AL ;向8251送方式字MOV AL,SYNC ;SYNC为同步字符OUT DX,ALOUT DX,AL ;输出2个同步字符MOV AL,10111111BOUT DX,AL ;向8251送控制字一个异步串行发送器,发送具有8位数据位的字符,在系统中使用一位作偶校验,2个停止位.若每秒钟发送100个字符,它的波特率和位周期是多少答:每个字符需要的发送位数是12位(数据位8位,校验位1位,停止位2位,起始位1位).每秒发送100个字符共1200位.因此波特率为1200波特,位周期=≈83314、简述行列式键盘矩阵的读入方法.答:将行线接输出口,列线接输入口,采用行扫描法,先将某一行输出为低电平,其它行输出为高电平,用输入口来查询列线上的电平,逐次读入列值,如果行线上的值为0时,列线上的值也为0,则表明有键按下.否则,接着读入下一列,直到找到该行有按下的键为止.如该行没有找到有键按下,就按此方法逐行找下去,直到扫描完全部的行和列.15、简述用反转法实现键的识别的基本方法.答:将题目中的键改为闭合键.用反转法识别闭合键,需要用可编程的并行接口.行线和列线分别接在PA和PB 2个并行口上,首先让行线上的PA口工作在输出方式,列线上的PB口工作在输入方式,通过编程使PA口都输出低电平,然后读取PB口的列线值,如果某一列线上的值为0,则判定改列有某一键按下.为了确定是哪一行要对PA和PB 进行反转,即对PA口重新进行初始化工作在输入方式,列线上的PB口工作在输出方式,并将刚读取的列线值从列线所接的PB口输出,再读取行线所接的PA 口,取得行线上的输入值,在闭合键所在的行线上的值必定为0.这样,当一个键被按下时,必定可读得一对唯一的行值和列值.根据这一对行值和列值就可判断是哪一行哪一列的键被按下.16、LED数码管显示器共阴极和共阳极的接法主要区别是什么答:LED数码管显示器共阴极的接法是发光二极管的阴极接地,当数码管的笔划发光二极管的阳极为高电平时,该笔划被点亮.共阳极的接法是发光二极管的阳极接高电平,当数码管的笔划发光二极管的阴极为低电平时,该笔划被点亮.总之,主要区别在于LED数码管的接法和驱动笔划的数据电平的不同.17、试绘图说明LED数码管显示器的动态显示原理.答:使用书上的图7.8在图中LED数码管是共阴极的,总共可带动8位这样的LED数码管.动态驱动显示接口与静态驱动显示接口的一个明显特点是:动态驱动法将多位LED同名段的选择线都并联在一起,即8位中的所有同名段a接在一起,所有b段都接在一起……,这样只要一个8位的锁存器来控制段码a,b,c,d,e,f,g就够了.另外用一个锁存器来控制点亮的位.因此需要2个8位的I/O端口.由于所有位的位选择码是用一个I/O端口控制,所有段的段选择码也是用一个I/O 端口控制,因此在每个瞬间,8位LED只可能显示相同的字符.要想每位显示不同的字符,必须要采用扫描的显示方式.即在每一瞬间只能使某一位显示相应的字符,在此瞬间,由位选择控制的I/O端口在要显示的位上送入选通电平(共阴极接法送入低电平,共阳极接法送入高电平),以保证让该位显示字符;再由段选择控制的I/O端口输出相应字符的段选择码.如此循环下去,使每一位都显示该位应显示的字符,并保持延时一段时间,然后再选中下一位,利用发光显示器的余辉及人眼的视觉暂留特点,给人一种显示器同时被点亮的效果.段选择码,位选择码在每送入一次后一般需要延时1~5ms时间.18、A/D和D/A转换在微机应用中分别起什么作用答:在微机应用中A/D转换器完成输入模拟量到数字量的转换,供微机采集数据.D/A 转换器完成微机输出数字量到模拟量的转换,实现微机控制.19、D/A转换器和微机接口中的关键问题是什么对不同的D/A芯片应采用何种方法连接答:D/A转换器和微机接口时主要注意两点:第一要了解所选用的D/A转换器本身是否带有数据锁存器,如果芯片内部带有锁存器可以直接和CPU的数据总线相连接;如果芯片内部不带有锁存器,在接口电路中需要通过数据锁存器来连接CPU 的数据总线和D/A转换器的数据线.第二是要注意D/A转换器的位数和所要连接的微机数据总线的位数是否一致.以便决定在需要加数据锁存器时,加几级锁存器,如果CPU的数据总线是8位,使用的是大于8位的D/A转换器,通常采用两级缓冲结构和CPU数据总线相连.20、什么叫D/A转换器的分辨率答:D/A转换器的分辨率指它所能分辨的最小输出电压与最大输出电压的比值.通常用D/A转换器输入数字量的位数来表示.21、若一个D/A转换器的满量程(对应于数字量255)为10V.若是输出信号不希望从0增长到最大,而是有一个下限2.0V,增长到上限8.0V.分别确定上下限所对应的数.答:因为满量程为10V,则每一步的电压变化量为= 0.039V/步于是,下限是=51.3步取51,即33H.上限是= 205.1步取205,即CDH.DAC与8位总线的微机接口相连接时,如果采用带两级缓冲器的DAC芯片,为22、什么有时要用三条输出指令才能完成10位或12位的数据转换答:因为在使用内部不带数据寄存器的DAC时,常常需要在DAC前面增加数据缓冲器,用来锁存CPU通过数据总线发出的数字.如果总线为8位,而DAC超过8位(例如10位或12位)时,CPU必须分2次才能把控制数字送入数据缓冲器,例如先送数据的低8位,然后送剩下的高位,因此需要执行2条输出指令.另外,为了避免DAC在得到局部输入时,其输出端输出并不是最后结果的模拟量,通常采用2级数据缓存结构,相应地CPU也需要再增加执行一次输出指令,使在第一级缓冲器中锁存的数据经第二级缓冲器后能一次加到DAC输入端.第三条输出指令仅仅是使第二级缓冲器得到一个选通信号.23、已知某DAC的输入为12位二进制数,满刻度输出电压V om=10V,试求最小分辨率电压VLSB和分辨率.答:12位D/A的分辨率最小分辨率电压VLSB24、已知某DAC的最小分辨电压VLSB=5mV,满刻度输出电压V om=10V,试求该电路输入二进制数字量的位数n应是多少答:25、A/D转换器和微机接口中的关键问题有哪些答:A/D转换器和微机接口时的关键问题主要有6个.①A/D转换器输出和CPU的接口方式,主要有2种连接方式:一种是A/D芯片输出端直接和系统总线相连;另一种是A/D芯片输出端通过接口电路和总线相连.②A/D转换器的分辨率和微机数据总线的位数匹配:当10位以上的A/D转换器和8位数据总线连接时,由于数据要按字节分时读出,因此从8位数据线上需分2次来读取转换的数据.设计接口时,数据寄存器要增加读写控制逻辑.③A/D转换的时间和CPU的时间配合问题:要注意A/D转换的启动方式,通常启动信号分为电平控制启动和脉冲启动两种.其中又有不同的极性要求.还要注意转换后信号的处理.④A/D的控制和状态信号.因为A/D转换器的控制和状态信号的类型与特征对接口有很大影响,在设计时必须要注意分析控制和状态信号的使用条件.⑤输入模拟电压的连接,特别是多路模拟电压的切换控制. ⑥接地问题,为了减轻数字信号脉冲对模拟信号的干扰,数字地和模拟地要正确连接.26、A/D转换器为什么要进行采样采样频率应根据什么选定答:因为被转换的模拟信号在时间上是连续的,瞬时值有无限多个,转换过程需要一定的时间,不可能把每一个瞬时值都一一转换成模拟量.因此对连续变化的模拟量要按一定的规律和周期取出其中的某一瞬时值,这个过程就是将模拟量离散化,称之为采样,采样以后用若干个离散的瞬时值来表示原来的模拟量.通常为了使A/D输出信号经过D/A还原后能更好地反映输入模拟信号的变化,根据采样定理,采样频率一般要高于或至少等于输入信号中最高频率分量的2倍,就可以使被采样的信号能够代表原始的输入信号.在输入信号频率不是太高的实际应用中,一般取采样频率为最高频率的4~8倍.27、若ADC输入模拟电压信号的最高频率位20KHz,取样频率的下限是多少完成一次A/D转换时间的上限是多少答:取样频率的下限为20kHZ×2=40 kHZ 完成一次转换的最长时间是。
8253习题一、填空题1、82533-5是芯片,也称为片。
2、采用可编程定时/计数器,其定时与计算功能可由设定,设定后与微处理器工作。
3、8253-5内部有个结构完全相同的4、8253-5内部计数器是互相的,它们的输人和输出都取决于控制寄存器中的5、8253-5内部计数器的执行部件CE,实际上是16位计数器,它的初始值是由提供的。
6、8253计数,实际上是对信号线上的信号进行计数。
7、在PC机中,用8253的通道3向系统定时提出动态RAM刷新刷新请求,考虑在PC中选用128K某1位的动态RAM,因此要求在8m内完成芯片256行的刷新。
已确定通道工作在方式2,则要求计数器的负脉冲输出周期为m,若CLK3的输入频率为1.216MHZ,则置入通道3的计数初值为8、某8253的端口地址为40H~43H,若对计数器0进行初始化,则工作方式控制字应写入,计数初始值应写入9、8253在计数过程中,改变计数初始值,必须当外部信号触发后,新的计数值才能有效的工作方式有10、8253工作于方式2时,能产生定时信号,称为速率发生器,又称为11、当8253-5引脚CSA1A0为或等表示无效。
12、8253-5控制寄存器D5D4位为10时,表示读写位。
13、8253-5控制寄存器D5D4位为11时,表示先读写位,后读写位。
信号的,才将写入CR中的计数初值装入计数执行单元CE。
14、8253-5工作于方式2时,当计数结束输出一负脉冲后,时间,又把CR内容装入CE中,开始下一轮计数过程。
15、8253-5工作于方式3时,当计数初值为数时,输出OUT为对称方波;当计数初值为数时,输出OUT为近似对称方波。
二、选择题1、在IBM-PC系统中,8253-5三个通道的计数脉冲信号中()A、取自不同的信号源,具有不同的频率。
B、取自相同的信号源,具有相同的频率。
C、CLK0和CLK1取自同一信号源,而CLK2取自另一信号源。
D、CLK1和CLK2取自同一信号源,而CLK0取自另一信号源。
1、8253/8254为可编程定时/计数器,包含有(B)计数通道A、3个8位B、3个16位C、4个8位D、4个16位2、8253/8254为可编程定时/计数器,每个计数器通道具有(D)种工作方式A、3B、4C、5D、63、8253/8254为可编程定时/计数器,具有(B)种触发启动计数方式A、1B、2C、3D、44、8253只采用软件触发启动计数的工作方式为(B)A、方式0和方式1B、方式0和方式4C、方式0和方式5D、方式0和方式25、8253只采用硬件触发启动计数的工作方式为(C)A、方式1和方式2B、方式2和方式4C、方式1和方式5D、方式3和方式56、8253可采用软件或硬件触发启动计数器的工作方式为(B)A、方式0和方式1B、方式2和方式3C、方式4和方式5D、方式0和方式57、8253能够自动循环计数的工作方式为(B)A、方式0和方式1B、方式2和方式3C、方式4和方式5D、方式0和方式58、8253/8254为可编程定时/计数器,其占有(D)个口地址A、1B、2C、3D、49、当8253的控制线引脚,WR=L,A0=H,A1=H,CS=L时,完成的工作为(D)A、写计数器0B、写计数器1C、写计数器2D、写控制字10、当8253的控制线引脚,RD=L,A0=H,A1=L,CS=L时,完成的工作为(B)A、读计数器0中的计数值B、读计数器1中的计数值C、读计数器2中的计数值D、读控制字的状态11、若对8253写入控制字的值为96H,说明设定8253的(C)A、计数器1工作在方式2且将只写低8位计数初值B、计数器1工作在方式2且将一次写入16位计数初值C、计数器2工作在方式3且将只写低8位计数初值D、计数器2工作在方式3且将一次写入16位计数初值12、当8253控制字设置为3AH时,CPU将向8253(C)初值A、一次写入8位B、一次写入16位C、先写入低8位后写入高8位D、上述三种情况均不对13、8253能通过门控信号GA TE=H产生连续波形的方式有(B)A、方式1和方式2B、方式2和方式3C、方式4和方式5D、方式0和方式514、8253可以实现定时功能,若计数器脉冲为1kHz则定时1s的计数初值应为(B)A、100B、1000C、10000D、10000015、若使8253计数器1发出1kHz的方波(设输入时钟周期为T i=2MHz),其控制字为(B)A、36HB、76HC、B6HD、56H16、8253工作在方式1下,输出负脉冲的宽度等于(A)A、计数初值N个CLK脉冲宽度B、计数初值N+1个CLK脉冲宽度C、计数初值N-1个CLK脉冲宽度D、计数初值(2N-1)/2个CLK脉冲宽度值17、8253工作于方式1时,欲使输出负脉冲加宽,则可在输出计数期间(C)A、改变计数值B、改变控制字C、重新加入带上升沿的GATE信号D、复位18、在下列8253工作方式中,即使GA TE保持为高电平,处于(B)的8253在写入初值以后也不开始定时或计数A、方式0B、方式1C、方式2D、方式3。
1、8253可编程计数器有两种启动方式,在软件启动时,要使计数正常进行,GATE端必须为()电平,如果是硬件启动呢?答:8253可编程计数器有两种启动方式,在软件启动时,要使计数正常进行,GATE端必须为(高)电平;如果是硬件启动,则要在写入计数初值后使GA TE端出现一个由低到高的正跳变,以启动计数。
2、某个计算机应用系统采用8253的计数器0作频率发生器,输出频率为500Hz;用计数器1产生1000Hz的连续方波信号,输入8253的时钟频率为1.19MHz。
试问:初始化时送到计数器0和计数器1计数初值分别为多少?计数器工作在什么方式下?解:计数器0工作在方式2,其计数初值为=1.19MHz/500Hz=2380计数器1工作在方式3,其计数初值为=1.19MHz/1000Hz=11903、若要求8253用软件产生一次性中断,最好采用哪种工作方式?现在用计数器0对外部脉冲计数,每计满10 000个产生一次中断,请写出工作方式控制字及计数值。
解:若8253用软件产生一次性中断,最好采用方式0,即计数结束后产生中断的工作方式。
但若要求每计满10 000个产生一次中断,则表示具有重复中断的功能,因此,此时应使用计数器0工作于方式3,即连续方波输出方式。
其工作方式控制字为0011X111B,计数初值=10 0004、试编写一段程序,按下列要求设置如下图中8254的三个计数器计数器0:二进制计数,在操作方式0下操作,计数初值为1234H计数器1:BCD计数,在操作方式2下操作,计数初值为100H计数器2:二进制计数,在操作方式4下操作,计数初值为1FFFH解:计数器0的方式字=00110000B计数器1的方式字=01010101B计数器2的方式字=10111000BMOV AL , 30HOUT 4CH , ALMOV AL , 55HOUT 4CH , ALMOV AL , 0B8HOUT 4CH , ALMOV AL , 34HOUT 40H , ALMOV AL , 12HOUT 40H , ALMOV AL , 00HOUT 44H , ALMOV AL , 01HOUT 44H , ALMOV AL , 0FFHOUT 48H , ALMOV AL , 1FHOUT 48H , AL5、试编写一个在计数进行的过程中进行读计数器2内容的程序段,并把读取的值放入AX 寄存器中,假设8253定位在I/O地址40H上,其中芯片输入线A1、A0分别接到A3、A2。
解:MOV AL , 1000XXXXBOUT 4CH , ALIN AL ,48HMOV BL ,ALIN AL ,48HMOV AH , ALMOV AL , BL6、设8253芯片的端口地址为230H~233H.要求通道0工作在方式3,计数器初值01F0H。
通道1工作在方式2,计数器初值0064H。
试编制初始化程序解:MOV DX , 233HMOV AL , 36HOUT DX , ALMOV DX , 230HMOV AL , 0F0HOUT DX , ALMOV AL , 01HOUT DX , ALMOV DX , 233HMOV AL , 74HOUT DX , ALMOV DX , 231HMOV AL , 64HOUT DX , ALMOV AL , 00HOUT DX , AL7、要求8253输出周期为100ms的方波。
设系统时钟为2MHz,口地址为1E0H~1E3H,CPU 为8088解:计数器初值N=100ms /(1/ 2MHz )=20×10000>65535,故需要两个计数通道协助完成,设选用通道0和通道1MOV AL , 17HMOV DX , 1E3HOUT DX , ALMOV AL , 20HMOV DX , 1E0HOUT DX , ALMOV AL , 57HMOV DX , 1E3HOUT DX , ALMOV AL , 00MOV DX , 1E1HOUT DX , AL8、若要用8253通道0,工作在方式1,按二-十进制计数,计数值为5080,初始化编程为什么?(若端口地址为F8H~FBH)解:确定通道控制字00 11 001 1MOV AL , 33HOUT 0FBH , ALMOV AL , 80HOUT 0F8H , ALMOV AL , 50HOUT 0F8H , AL9、编程将8253计数器0设置为模式1,计数初值为3000H;计数器1设置为模式2,计数初值为2010H;计数器2设置为模式4,计数初值为4030H;口地址为80H~83H,CPU为8088.解:计数通道0 控制字00 10 001 0=22H计数通道1 控制字01 11 010 0=74H计数通道2 控制字10 11 100 0=B8HMOV AL , 22HOUT 83H , ALMOV AL , 30HOUT 80H , ALMOV AL , 74HOUT 83H , ALMOV AL , 10HOUT 81H , ALMOV AL , 20HOUT 81H , ALMOV AL , 0B8HOUT 83H , ALMOV AL , 30HOUT 82H , ALMOV AL , 40HOUT 82H , AL10、PC/XT中的8253的通道0为系统提供恒定的时钟基准。
通道0的工作方式控制字是36H,规定以方式3工作,计数初值为216(即0000H)。
OUT0输出频率为18.2Hz(1.193/216)基准方波信号。
该信号送给中断控制器8259A的中断请求端IRQ0,申请中断,中断周期为55ms,CPU在中断服务子程序中,对该基准信号进行处理,计算出当前时间。
在ROM-BIOS对8253通道0的编程?解:MOV AL , 00 11 011 0BOUT 43H , ALMOV AL , 0OUT 40H , ALOUT 40H , AL11、若要读取通道1的16位计数值,其程序为什么?(若端口地址为F8H~FBH)解:MOV AL , 40HOUT 0FBH , ALIN AL , 0F9HMOV CL , ALIN AL , 0F9HMOV CH , AL12、设8253的口地址为0C8H~0CBH,计数脉冲为1MHz,试说明下述程序段的作用:MOV AL , 35HOUT 0CBH , ALMOV AL , 00OUT 0C8H , ALMOV AL , 50HOUT 0C8H , ALMOV CX , 100LP: NOPLOOP LPMOV AL , 00HOUT 0CBH , ALIN AL , 0C8HMOV AH , ALIN AL , 0C8H解:设置8253计数通道0工作在方式2,每5ms(=(1/1MHz)*5000)发一个负脉冲。
延时一段时间后读出当前计数值,并存入在AX中。
13、设某8088系统中,8253占用口地址40H~43H。
其实现产生电子时钟基准(定时时间为50ms)和产生方波用作扬声器音调控制(频率为1kHz)。
试为其编制8253的初始化程序(设系统中提供计数时钟为2MHz)解:产生电子时钟基准可采用方式2,计数初值N=50ms*(1/2MHz)=100000>65535,故需要2个计数通道协作完成,设选用通道0和通道1通道0:控制字=00 11 010 0B,计数初值=1000通道1:控制字=01 01 010 0B,计数初值=100产生方波采用方式2,计数初值=(1/1kHz)*(1/1MHz)=1000<65535,故需要一个计数通道完成,设选用通道2.计数初值=1000H,控制字=10 10 011 1BMOV AL , 00 11 010 0BOUT 43H , ALMOV AX , 1000OUT 40H , ALMOV AL , AHMOV AL , 01 01 010 0BOUT 43H , ALMOV AL , 100OUT 41H , ALMOV AL , 10 10 011 1BOUT 43H , ALMOV AL , 10HOUT 42H , AL14、试用PC系统的8254组成一个时钟系统。
0通道作为秒计数器,1通道作为分计数器,2通道作为时计数器。
设系统提供的计数脉冲频率已被分频为50kHz,口地址为90H~93H。
编制初始化程序并画出连线图。
解:计数器0 计数初值=1s/(1/50kHz)=50000 控制字=00 11 010 0 B计数器1 计数初值=60 控制字=01 01 010 0 B计数器2 计数初值=60 控制字=10 01 010 1 B8254CLK0OUT0CLK1OUT1CLK2OUT250kHzMOV AL , 34HOUT 93H , ALMOV AX , 50000OUT 90H , ALMOV AL , AHOUT 90H , ALMOV AL , 54HOUT 93H , ALMOV AL , 60OUT 91H , ALMOV AL , 95HOUT 93H , ALMOV AL , 60HOUT 92H , AL15、设8253的4个端口地址分别为210H、211H、212H、213H,其计数器0的时钟CLK0端输入1MHz脉冲,编程使其实现:1)将计数器0设置为连续产生20kHz方波;2)将1)中计数器0的输出OUT0作为计数器1的时钟CLK1,使其连续产生20ms定时中断解:要计数器0设置为连续产生20kHz方波,需设置方式3,方式控制字00 01 011 0B 计数器初值=1MHz/20kHz=50=32H初始化程序如下:MOV DX , 213HOUT DX , ALMOV DX , 210HMOV AL , 32HOUT DX , AL将OUT0作为计数器1的时钟CLK1 计数器初值=20kHz/50Hz=400=190H 方式控制字01 11 011 0BMOV AL , 01 11 011 0BMOV DX , 213HOUT DX , ALMOV DX , 211HMOV AX , 190HOUT DX , ALMOV AL , AHOUT DX , AL16、若8253芯片的接口地址为D0D0H~D0D3H,时钟信号频率为2MHz。
现利用计数器0、1、2分别产生周期为10μs的对称方波及每1ms和1s产生一个负脉冲,试画出连接图,编写初始化程序。
8253CLK0OUT0CLK1OUT1CLK2OUT22MHz解:计数器0 计数初值=10μs /0.5μs =20计数器1 计数初值=1ms /0.5μs=2000计数器2 计数初值=(1s /0.5μs)/2000=2*106/2000=1000MOV DX , 0D0D3HMOV AL , 16HOUT DX , ALMOV AL , 74HOUT DX , ALMOV AL , 0B4HOUT DX , ALMOV DX , 0D0D0HMOV AL , 20OUT DX , ALMOV DX , 0D0D1HMOV AX , 2000OUT DX , ALOUT DX , ALMOV DX , 0D0D2HMOV AX , 1000OUT DX , ALMOV AL , AHOUT DX , AL17、PC/XT中8253产生声音3个程序,见PPT,回答问题18、Stack segment stackDw 64 dup(?)Stack endsCode segmentAssume cs:codeStart: in al , 21hand al , 7fhout 21h , almov al , 90hout 43h , almov al , 05hout 42h , alhlta1: stijmp a1irq7: mov ax , 014dhint 10hmov ax , 0120hint 10hin al , 20hout 20h , aliretcode endsend start(1)试验步骤(3)中在内存中填入IRQ 7中断矢量,请描述如何完成?使用反汇编U 命令,查找irq7: mov ax , 014dh 地址(IP=1220H CS=0000H ),然后使用E 命令将0000:003CH 单元填写IRQ 7中断程序入口地址。