搜档网
当前位置:搜档网 › 微机原理第八章

微机原理第八章

微机原理第八章
微机原理第八章

第八章作业

8.1 根据接口电路的功能,简要说明I/O接口电路应包括哪些电路单元?

解:I/O接口电路包括的电路单元:

输入/输出锁存器与缓冲器

命令寄存器和状态寄存器

地址译码电路

读/写控制逻辑

中断控制逻辑

8.2 说明8255A工作于方式0和方式1的区别。

解:8255A工作于方式0:8255A是分成相互独立的8位A 口、B口及4位上C口、4位下C口,C口4位为一组,每组只能同时设定为输入输出,输入不锁存,输出锁存。不能采用中断的方法与CPU交换信息,但可用应答查询方式来进行数据传送。通常以A口和B口做数据口,而用C口的某些位作为查询方式的控制与状态信号线使用。C口中哪些引线充当何种应答功能,可以由用户来指定。

工作于方式1:A,B口做应答式输入/输出端口,输入/输出均锁存,高4位C口做应答式A口的应答线,低4位C口做应答式B口的应答线。

8.3 说明8255A在方式1输入时的工作过程。

解:当外设有数据需要输入时,将数据送到8255A接口上,STB变为有效,数据锁存入8255A,同时IBF变有效。当STB由低变高时,若8255A片内中断允许信号INTE 高电平有效,则8255A的PC3(或PC0)位INTR变高电平有效,向CPU发出中断请求.CPU响应中断后,在中断服务程序中CPU执行到从8255A端口读取数据指令时,产生RD有效信号。一方面将8255A锁存的数据读入到CPU中并延迟一段时间,撤销向CPU申请中断的信号INTR,使其无效,另一方面利用RD信号的上升沿使IBF复位。

8.4 说明8255A在方式1输出时的工作过程。

解:进入中断服务程序后,CPU向指定接口写数据,IOW 将数据所存在接口之中。当数据背锁存并由端口信号线输出时,8255A就清楚INTR信号并使OBF有效。有效的OBF通知外设接收数据。一旦外设将数据接受,就送出一个有效的ACK脉冲,该脉冲使OBF无效,同时产生一个新的中断请求,请求CPU向外设输出下一个数据。

8.5 8255A的三个端口在使用时有什么差别?

解:端口A或B作为输入输出的数据端口(端口A还可以作为双向数据端口),而端口C作为控制或状态信号的端口,它

在方式字的控制下,可以分成高4位C口和低4位C口。2个端口各包含一个4位锁存器。高4位C口与端口A,低4位C口与B配合使用,可用以作为控制信号输出,或作为状态信号输入。

8.6 说明8253的方式2与方式3的工作特点

方式2工作特点:写入计数值开始计数,周期性计数。

计数过程中GATE=0,暂停计数,

GATE=1重新计数。

计数过程中改变计数值,下一周期按新的计数值计数。

方式3工作特点:写入计数值开始计数,周期性计数。

N=偶数,正负半周=N/2;N=奇数,正半周=(N+1)/2,负半周=(N-1)/2。

计数过程中GATE=0,暂停计数;

GATE=1,重新计数。

计数过程中改变计数值,下一周期按新的计数值计数。

方式2与方式3性能完全相同,均为软件启动,重复周期输出,但OUT输出波形不同。方式2的OUT只输出1个负脉冲,而方式3为方波,输出的高低电平宽度相同(初

值为偶数正负半周相同,初值为奇数时正半周比负半周多一个脉冲周期);

8.7 说明8253的方式1与方式5的工作特点

方式1工作特点:一次写入计数值多次计数。

GATE=1启动计数,重复启动重复计数。

计数过程中改变计数值,下次启动按新的计数值计数

计数值为N,计数N次

方式5工作特点:一次写入计数值多次计数。

GATE上升沿启动计数,重复启动重新计数。

计数过程中改变计数值,下次启动按新的计数值重新计数。

计数值为N,计数N+1次。

方式1与方式5性能完全相同,均为硬件GATE门控信号可重复触发,但OUT输出波形不同。方式1的OUT输出N个负脉冲,而方式5仅1个;

8.8 8253在写入计数初值时,二进制计数和十进制计数有什么区别?

如计数值为70,

十进制计数为:70H (BCD 码)

二进制计数为:46H (十六进制)

8.17 8255A 用作查询式打印机接口的电路连接和信号时序如图,8255A 的端口地址为90H~93H ,工作于方式0.试编写程序段,将数据区中变量DATA 的8位数据送打印机打印。

MOV AL,1000 1011B

OUT 93H,AL PC 6 PA 7~PA 0 PC 2 STB DATA 7~DATA 0 BUSY 8255A 打印机 DATA BUSY STB

MOV AL,DATA

OUT 90H,AL

IN AL,92H

LOP:TEST AL,0000 0100B

JNE LOP

MOV AL,00001101B

OUT 93H,AL

MOV AL,00001100B

OUT 93H,AL

HLT

8.21 8253通道0按方式3(方波发生器)工作,时钟CLK0的频率为1MHz,要求输出方波的频率为50kHz,此时写入计数初值应为什么?输出方波的“1”和“0”各占多少时间?

解:计数初值=1M/50K=20;

方波周期为20μs

由于周期为偶数20,因此计到20/2时,OUT由高变低

因此输出方波‘1’和‘0’各占10μs

8.22 8253某通道的时钟频率为1MHz,按BCD方式计数,若写入的计数初值为0080H,则该通道的定时时间是多少?

解:对于BCD码计数则0080H表示计数值80H

通道输出频率:1M/80=12500HZ

定时时间:1/12500=8*10^(-5)S=80μs

8.24 8253的计数通道0连接如图,图略,试回答:

(1)计数通道0工作于何种方式,并写出工作方式名称;

解:由于出现一个时钟周期宽度的负脉冲的方式由2和5方式,但是由于GATE0时钟为1,因此由此可知计数通道0工作于方式2。工作方式名称为频率发生器

(2)写出计数通道0的计数初值(要列出计算式)。

解:由于一个CLK周期宽度为400ns,OUT端周期为

1ms,

因此计数初值为:1ms/400ns=2500

8.25 若用8253计数器对设备的转轴的旋转速度进行测试,接口电路图略,若与轴相连的转盘上均匀地钻有每圈

50个孔,当轴旋转时,通过光电转换,每通过一个小孔,产生一个正脉冲,当轴旋转一圈,就会有50个脉冲通过CLK输入8253计数器进行计数。假设此转轴的转速范围为50~1000转/秒,并设8253的端口地址为64H

~67H。

(1)给出一个算法,将测量转轴的转速转换为计量脉冲的个数。

由题得,最高转速为1000转/秒,因此,每秒最高脉冲数为:

1000*50=50000个=C350H

因此计数器必须用16位计数,而且需要用二进制数

假设定时为0.01s

则计量脉冲个数=转速*0.01s*50个

(2)若用计数器0对脉冲计数,用计数器1作为定时器。设CLK1频率为200kHz,用定时100ms来计数。请详细说明计数器0、1的工作方式控制字和计数初值,并写出8253的初始化程序。

计数器0的工作方式控制字:00 11 000 0B

计数初值:0000H

计数器1的工作方式控制字:01 11 000 0B

计数初值:100ms/(1/200kHz)=20000D=4E20H

相关主题