文档库 最新最全的文档下载
当前位置:文档库 › 微机原理模拟试题2

微机原理模拟试题2

〔习题8.3〕填空题

(1)8253芯片上有__________个__________位计数器通道,每个计数器有__________种工作方式可供选择。若设定某通道为方式0后,其输出引脚OUT为__________电平;当__________后通道开始计数,__________信号端每来一个脉冲__________就减1;当__________,则输出引脚输出__________电平,表示计数结束。

(2)假设某8253的CLK0接1.5MHz的时钟,欲使OUT0产生频率为300kHz的方波信号,则8253的计数值应为__________,应选用的工作方式是__________。

(3)8255具有__________个外设数据引脚,分成3个端口,引脚分别是__________,__________和__________。

(4)8255的A和B端口都定义为方式1输入,端口C上半部分定义为输出,则方式控制字是__________,其中D0位已经没有作用、可为0或1。

(5)对8255的控制寄存器写入A0H,则其端口C的PC7引脚被用作__________信号线。

(6)PC机键盘上ESC键和字母A键的扫描码分别是__________和__________,断开扫描码分别是__________和__________。

(7)232C用于发送串行数据的引脚是__________,接收串行数据的引脚是__________,信号地常用__________名称表示。

(8)欲使通信字符为8个数据位、偶校验、2个停止位,则应向8250__________寄存器写入控制字__________,其在PC系列机上的I/O地址(COM2)是__________。

(9)有符号数32的8位补码是00100000,如果用8位偏移码是__________;有符号数-32的8位补码是11100000,如果用8位偏移码是__________。

(10)如果ADC0809正基准电压连接10V,负基准电压接地,输入模拟电压2V,则理论上的输出数字量为__________。

〔解答〕

①3,16,6,低,写入计数初值(并进入减1计数器),脉冲输入CLK,减法计数器,计数器的计数值减为0,高

②5(=1.5MHz÷300KHz),3

③24,PA0~PA7,PB0~PB7,PC0~PC7

④10110110(=B6H,B7H)

⑤O B F

⑥01H,1DH(=30),81H,9DH(=158)

⑦TxD,RxD,GND

⑧通信线路控制(CLR),00011111B(1FH),2FBH

⑨10100000,01100000

⑩53H(=51≈51.2=2÷10×256)

〔习题8.6〕试按如下要求分别编写8253的初始化程序,已知8253的计数器0~2和控制字I/O地址依次为204H~207H。

①使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。

②使计数器0工作在方式1,按BCD码计数,计数值为3000。

③使计数器2工作在方式2,计数值为02F0H。

〔解答〕

mov al,50h

mov dx,207h

out dx,al

mov al,128 ; =80h

mov dx,205h

out dx,al

②mov al,33h

mov dx,207h

out dx,al

mov ax,3000h ; 不是3000 mov dx,204h

out dx,al

mov al,ah

out dx,al

mov al,0b4h

mov dx,207h

out dx,al

mov al,02f0h mov dx,206h out dx,al mov al,ah out dx,al

〔习题8.8〕针对8255芯片工作方式1输出时序,说明数据输出的过程。

〔解答〕

①中断方式下,处理器响应中断,执行输出OUT指令:输出数据给8255,发出W R信号。查询方式下,通过端口C的状态确信可以输出数据,处理器执行输出指令;

②WR信号一方面清除INTR,另一方面在上升沿使O BF有效,通知外设接收数据。实质上O BF信号是外设的选通信号;

③WR信号结束后,数据从端口数据线上输出。当外设接收数据后,发出A C K响应;

④A C K信号使O BF无效,上升沿又使INTR有效(允许中断的情况),发出新的中断请求。

〔习题8.9〕设定8255芯片的端口A为方式1输入,端口B为方式1输出,则读取口C的数据的各位是什么含义?

〔解答〕PC0:端口B的中断请求信号PC1:端口B输出缓冲器满信号PC2:端口B中断允许控制位PC3:端口A的中断请求信号PC4:端口A中断允许控制位PC5:端口A输入缓冲器满信号PC6/PC7:I/O信号〔习题8.10〕用8255端口A方式0与打印机接口示例中,如果改用端口B,其他不变,说明应该如何修改接口电路和程序。〔解答〕修改电路:将端口B的PB0~PB7接打印机的数据位DATA0~DATA7即可。修改程序:将输出数据端口改为FFFAH即可。

〔习题8.11〕用8255端口A方式1与打印机接口,如果改用端口B,其他不变,说明如何修改接口电路和程序。〔解答〕

修改电路:PA0~PA7改为PB0~PB7;PC6改用PC2,PC7改用PC1,PC3改用PC0。

修改程序:

mov dx,0fffeh

mov al,84h

out dx,al

mov al,04h

; 使INTEB(PC2)为0,禁止中断

out dx,al

……

mov cx,counter ; 打印字节数送CX

mov bx,offset buffer ; 取字符串首地址

call prints ; 调用打印子程序

……

prints proc

push ax ; 保护寄存器

push dx

print1: mov al,[bx] ; 取一个数据

mov dx,0fffah

out dx,al ; 从端口B输出

mov dx,0fffch

print2: in al,dx

test al,02h ; 检测(PC1)为1否?

jz print2

inc bx

loop print1

pop dx

pop ax

ret

prints endp

〔习题8.12〕有一工业控制系统,有四个控制点,分别由四个对应的输入端控制,现用8255的端口C 实现该系统的控制,如本题图形。开关K0~K3打开则对应发光二极管L0~L3亮,表示系统该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障。编写8255的初始化程序和这段控制程序。〔解答〕

; 写入方式字

mov al,100×00×1b ; =81H (×表示任意,可以填写为0,也可以为1) mov dx,控制口地址 ; 可以假设为0FFFEH

out dx,al

;加入下一段更好,使L0~L3全亮

mov al,0fh

mov dx,端口C 地址 ; 可以假设为0FFFCH

out dx,al

;控制程序段

mov dx,端口C 地址 ; 可以假设为0FFFCH

in al,dx ; 读入PC0~PC3

mov cl,4

shl al,cl ; 左移4位

out dx,al ; 控制PC4~PC7

第6章 常用可编程外围接口芯片

1. 设8253三个计数器的端口地址为201H 、202H 、203H ,控制寄存器端口地址200H 。试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX 。

答:

MOV AL ,80H

OUT 200H ,AL

IN AL ,203H

MOV BL ,AL

IN AL ,203H ,

MOV BH ,AL

MOV AX ,BX

2设8253三个计数器的端口地址为201H 、202H 、203H ,控制寄存器端口地址200H 。输入时钟为2MHz ,让1号通道周期性的发出脉冲,其脉冲周期为1ms ,试编写初化程序段。

答: 要输出脉冲周期为1ms ,输出脉冲的频率是331110110-=??,当输入时钟频率为2MHz 时,计数

器初值是

633210

2102000110?=?=?

使用计数器1,先读低8位,后读高8位,设为方式3,二进制计数,控制字是76H 。设控制口的地址是200H ,计数器0的地址是202H 。程序段如下:

MOV DX,200H

MOV AL,76H

OUT DX,,AL

MOV DX,202H

MOV AX ,2000

OUT DX ,AL

MOV AL ,AH

OUT DX ,AL

3设8253计数器的时钟输入频率为1.91MHz ,为产生25KHz 的方波输出信号,应向计数器装入的计数初值为多少?

答:

Z 1.91M H z

25K H = 76.4

应向计数器装入的初值是76。

4. 设8253的计数器0,工作在方式1,计数初值为2050H ;计数器1,工作在方式2,计数初值为3000H ;计数器2,工作在方式3,计数初值为1000H 。如果三个计数器的GATE 都接高电平,三个计数器的CLK 都接2MHz 时钟信号,试画出OUT0、OUT1、OUT2的输出波形。

答:

计数器0工作在方式1,即可编程的单脉冲方式。这种方式下,计数的启动必须由外部门控脉冲GATE 控制。因为GATE 接了高电平,当方式控制字写入后OUT0变高,计数器无法启动,所以OUT0输出高电平。 计数器1工作在方式2,即分频器的方式。输出波形的频率f=

clk f N = 2M H z 3000=666.7H Z ,其周期为1.5m s ,输出负脉冲的宽度等于CLK 的周期为0.5μs 。

计数器2工作在方式3,即方波发生器的方式。输出频率f=

2M H z 1000 = 2000Hz 的对称方波。

三个OUT 的输出波形如下:

O UT 0

O UT 1 O UT 2

250μs 250μ

s

9. 试对一个8251A 进行初始化编程,要求工作在同步方式,7位数据位,奇校验,1个停止位。答: 对原题目的补充改动,要求工作在内同步方式,2个同步字符。

方式字是:00011000B=18H

程序段如下:

XOR AX ,AX

MOV DX ,PORT

OUT DX ,AL

OUT DX ,AL

OUT DX ,AL ;向8251的控制口送3个00H

MOV AL ,40H

OUT DX ,AL ;向8251的控制口送40H,复位

MOV AL ,18H

OUT DX ,AL ;向8251送方式字

MOV AL ,SYNC ;SYNC 为同步字符

OUT DX ,AL

OUT DX,AL ;输出2个同步字符

MOV AL,10111111B

OUT DX,AL ;向8251送控制字

10.一个异步串行发送器,发送具有8位数据位的字符,在系统中使用一位作偶校验,2个停止位。若每秒钟发送100个字符,它的波特率和位周期是多少?

答:

每个字符需要的发送位数是12位(数据位8位,校验位1位,停止位2位,起始位1位)。每秒发送100

个字符共1200位。因此波特率为1200波特,位周期=

1

1200

≈833μs。

相关文档