第8章 定时计数控制接口
〔习题8.2〕
8253每个计数通道与外设接口有哪些信号线,每个信号的用途是什么? 〔解答〕
CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1
GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型 OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号
〔习题8.3〕
8253每个通道有___种工作方式可供选择。若设定某通道为方式0后,其输出引脚为___电平;当___后通道开始计数,___信号端每来一个脉冲___就减1;当___,则输出引脚输出___电平,表示计数结束。8253的CLK0接1.5MHz的时钟,欲使OUT0产生频率为300KHz的方波信号,则8253的计数值应为___,应选用的工作方式是___。 〔解答〕
6 低
写入计数初值(并进入减1计数器) CLK
减1计数器 计数器减为0 高
5(=1.5MHz÷300KHz) 3 〔习题8.4〕
试按如下要求分别编写8253的初始化程序,已知8253的计数器0~2和控制字I/O地址依次为204H~207H。
⑴ 使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。 ⑵ 使计数器0工作在方式1,按BCD码计数,计数值为3000。 ⑶ 使计数器2工作在方式2,计数值为02F0H。 〔解答〕
(1)
mov al,50h
mov dx,207h out dx,al
mov al,128 ;80h
21
mov dx,205h
out dx,al (2) 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 (3) mov al,0b4h mov dx,207h out dx,al mov al,02f0h mov dx,206h out dx,al mov al,ah out dx,al
22
第10章 并行接口
〔习题10.4〕
设定8255A的口A为方式1输入,口B为方式1输出,则读取口C的数据的各位是什么含义? 〔解答〕
〔习题10.5〕
对8255A的控制寄存器写入B0H,则其端口C的PC5引脚是什么作用的信号线? 〔解答〕
?方式控制字为B0H=10110000B,说明A组为方式1输入,它将征用PC5引脚作为输入缓冲器满信号IBFA
〔习题10.7〕
第10.2.3节用8255A端口A方式1与打印机接口,如果采用端口B,其他不变,请说明如何修改接口电路和程序。 〔解答〕
23
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
〔习题10.8〕
设一工业控制系统,有四个控制点,分别由四个对应的输入端控制,现用8255A的端口C实现该系统的控制,如图10-22。开关K0~K3打开则对应发光二极管L0~L3亮,表示系统该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障。编写8255A的初始化程序和这段控制程序。 〔解答〕
;写入方式字 mov al,100×00×1b mov dx,控制口地址 out dx,al
;=81h
;0fffeh
24