〔习题8.3〕填空题
(1)8253芯片上有__________个__________位计数器通道,每个计数器有__________种工作方式可供选择。若设定某通道为方式0后,其输出引脚OUT为__________电平;当__________后通道开始计数,__________信号端每来一个脉冲__________就减1;当__________,则输出引脚输出__________电平,表示计数结束。
(3)8255具有__________个外设数据引脚,分成3个端口,引脚分别是__________,__________和__________。
(4)8255的A和B端口都定义为方式1输入,端口C上半部分定义为输出,则方式控制字是__________,其中D0位已经没有作用、可为0或1。
(5)对8255的控制寄存器写入A0H,则其端口C的PC7引脚被用作__________信号线。 〔解答〕
① 3,16,6,低,写入计数初值(并进入减1计数器),脉冲输入CLK,减法计数器,计数器的计数值减为0,高
③ 24,PA0~PA7,PB0~PB7,PC0~PC7 ④ 10110110(=B6H,B7H) ⑤
〔习题8.4〕8253芯片每个计数通道与外设接口有哪些信号线,每个信号的用途是什么?
〔解答〕
CLK时钟输入信号:在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1。
GATE门控输入信号:控制计数器工作,可分成电平控制和上升沿控制两种类型。
OUT计数器输出信号:当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号。
〔习题8.5〕8253芯片需要几个I/O地址,各用于何种目的? 〔解答〕
4个,读写计数器0,1和2,及控制字。
〔习题8.6〕试按如下要求分别编写8253的初始化程序,已知8253的计数器0~2和控制字I/O地址依次为204H~207H。
① 使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。
- -36
② 使计数器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,发出信号。查询方式下,通过端口C的状态确信可以输出数据,处理器执行输出指令;
② WR信号一方面清除INTR,另一方面在上升沿使有效,通知外设接收数据。实质上信号是外设的选通信号;
③ WR信号结束后,数据从端口数据线上输出。当外设接收数据后,发出
- -37
响应; ④ 信号使出新的中断请求。
无效,上升沿又使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.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
- -38