8253习题参考答案解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计数器0的初值:5000 MOV AL,34H MOV DX,0FFF3H OUT DX,AL MOV AX,5000 MOV DX,0FFF0H OUT DX,AL MOV AL,AH OUT DX,AL
开放IRQ4中断片段: IN AL,21H AND AL,0EFH OUT 21H,AL
计数器1初值:1000 MOV AL,78H MOV DX,0FFF3H OUT DX,AL MOV AX,1000 MOV DX,0FFF1H OUT DX,AL MOV AL,AH OUT DX,AL
补充1:某系统中8253芯片的通道0~通道2和控制字端口地 址分别为FFF0~FFF3H。定义通道0工作在方式2, CLK0=5MHZ,要求输出OUT0=1KHZ频率波。定义通道 1工作在方式4,用OUT0作计数脉冲,计数值为1000,计 数到0,向CPU发中断请求信号,接于IRQ4。编写8253 两个通道的初始化程序及中断向量、中断屏蔽位设置的程 序,并画出两计数通道的连接图。 分析:
题5-13 可编程计数器8253的级联是什么意思?什么时候会 用到级联。 答:8253的通道间,一个通道的输出OUT作为其它通道的 输入CLK,这种情况就称为级联。 当定时或计数初值大于一个通道的最大计数初值时,需 要通道级联来扩大计数范围。
题5-14、8253的片选信号如图所示: ①列出8253内各计数器及控制字寄存器的一组地址。 ②现有1MHz方波,利用这片8253产生1KHz方波,说明如 何实现(利用的计数器、工作方式及计数初值),写出对 8253编程的有关内容。
选择3A0~3A3H这组地址: 用计数器0,工作方式3 计数初值为:1MHZ/1KHZ=1000
8253初始化程序片段如下:
MOV MOV OUT MOV MOV OUT MOV OUT AL,36H ;0011 0110B DX,3A3H DX,AL AX,1000 DX,3A0H DX,AL AL,AH DX,AL
8253习题参考答案
题5-12 可编程计数/定时器8253的控制字可以设定一种“数 值锁存操作”,这种操作有何必要。 答:计数时数值锁存寄存器的值随着减1计数器的值的变化 而变化,当执行锁存命令后,数值锁存器所存当前减1计数 器的值,直到读出数值锁存器的内容后,它继续跟着减1计 数器的值的变化而变化。若果没有锁存功能,因为8253是16 位定时器计数器,计数值需要分两次读出,读出结果可能会 出错。例如某时刻计数值为1000H,读出低位00H后,这是正 赶上来一脉冲计数器减1,计数值变成了0FFFH,这时再读高 8位读出的就是0FH了,这样分两次读出的16位数据变成了 0F00H,而非希望的1000H。所以读出前必须锁存,才可以正 确读出。 计数器0的所存控制字为:00H 或 00000000B 计数器1的所存控制字为:40H 或 01000000B 计数器2的所存控制字为:80H 或 10000000B
补充4:设计一个用8253实现定时中断的接口电路,要求每隔 10分钟产生一个定时中断信号。设CPU为8088最小模式, 系统提供0.5M的时钟,8253的口地址为48H~4FH。
A9 A8 A7 A6 A5 A4 A3 A2 A1 0 0 1 1 1 X 1 0 0 X 1 1
由于A6和A2不受约束,所以共有四组可选地址
A0 0 1 0 1
(A6=0): 3A0H~3A3H (A2=0) 3A4H~3A7H (A2=1)
(A6=1): 3E0H~3E3H (A2=0)
3E4H~3E7H(A2=1)
设置中断矢量表程序片段: MOV AH,25H 硬件连接图 +5V MOV AL,0CH CLK0 GATE0 MOV DX,SEG INTRP4 OUT0 GATE1 MOV DS,DX GATE2 8253 CLK1 MOV DX,OFFSET INTRP4 OUT1 INT 21H 或者: MOV AX,0 MOV DS,AX MOV SI,0CH*4;或者:MOV SI,30H MOV AX,OFFSEF INTRP4 MOV [SI],AX MOV AX,SEG INTRP4 MOV [SI+2],AX
;0#计数器初始化 MOV DX, PORTCTL MOV AL, 00110110B; 36H OUT DX, AL ;1#计数器初始化 MOV AX, 1000 MOV DX, PORTCTL MOV DX, PORT0 MOV AL, 01110110B; 76H OUT DX, AL OUT DX, AL MOV AL, AH MOV AX, 1000 OUT DX, AL MOV DX, PORT1 OUT DX, AL MOV AL, AH OUT DX, AL
AL,33H ;0011 0011B 07H,AL AX,3000H 04H,AL AL,AH 04H,AL
③使计数器2工作在方式2,计数初值为02F0H
MOV AL,0B4H ;1011 0100B OUT 07H,AL MOV AX,02F0H OUT 06H,AL MOV AL,AH OUT 06H,AL
补充3:下图为秒信号பைடு நூலகம்生器硬件电路,试设计程序实现其功能。
解:分析:1M→1HZ需要106分频,106>65536,两片级联 选择0通道,方式3,初值1000;选择1通道,方式3,初值 1000;端口地址未知,设控制口PORTCTL、0#计数器 PORT0、1#计数器PORT1、2#计数器PORT2
IRQ4
补充2:试按如下要求分别编写8253的初始化程序,已知8253 的计数器0~2和控制字I/O地址依次为04~07H。 ①使计数器1工作在方式0,仅用8位二进制计数,初值为150 ②使计数器0工作在方式1,按BCD计数,初值为3000 ③使计数器2工作在方式2,计数初值为02F0H ① MOV OUT MOV OUT AL,50H 07H,AL AL,150 05H,AL ;0101 0000B ② MOV OUT MOV OUT MOV OUT