8253习题参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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题5-13可编程计数器8253的级联是什么意思?什么时候会用到级联。答:8253的通道间,一个通道的输出OUT作为其它通道的输入CLK,这种情况就称为级联。当定时或计数初值大于一个通道的最大计数初值时,需要通道级联来扩大计数范围。题5-14、8253的片选信号如图所示:①列出8253内各计数器及控制字寄存器的一组地址。②现有1MHz方波,利用这片8253产生1KHz方波,说明如何实现(利用的计数器、工作方式及计数初值),写出对8253编程的有关内容。A9A8A7A6A5A4A3A2A1A0111X100X00011011由于A6和A2不受约束,所以共有四组可选地址(A6=0):3A0H~3A3H(A2=0)3A4H~3A7H(A2=1)(A6=1):3E0H~3E3H(A2=0)3E4H~3E7H(A2=1)选择3A0~3A3H这组地址:用计数器0,工作方式3计数初值为:1MHZ/1KHZ=1000MOVAL,36H;00110110BMOVDX,3A3HOUTDX,ALMOVAX,1000MOVDX,3A0HOUTDX,ALMOVAL,AHOUTDX,AL8253初始化程序片段如下:补充1:某系统中8253芯片的通道0~通道2和控制字端口地址分别为FFF0~FFF3H。定义通道0工作在方式2,CLK0=5MHZ,要求输出OUT0=1KHZ频率波。定义通道1工作在方式4,用OUT0作计数脉冲,计数值为1000,计数到0,向CPU发中断请求信号,接于IRQ4。编写8253两个通道的初始化程序及中断向量、中断屏蔽位设置的程序,并画出两计数通道的连接图。分析:计数器0的初值:5000计数器1初值:1000MOVAL,34HMOVAL,78HMOVDX,0FFF3HMOVDX,0FFF3HOUTDX,ALOUTDX,ALMOVAX,5000MOVAX,1000MOVDX,0FFF0HMOVDX,0FFF1HOUTDX,ALOUTDX,ALMOVAL,AHMOVAL,AHOUTDX,ALOUTDX,AL开放IRQ4中断片段:INAL,21HANDAL,0EFHOUT21H,AL设置中断矢量表程序片段:MOVAH,25HMOVAL,0CHMOVDX,SEGINTRP4MOVDS,DXMOVDX,OFFSETINTRP4INT21H或者:MOVAX,0MOVDS,AXMOVSI,0CH*4;或者:MOVSI,30HMOVAX,OFFSEFINTRP4MOV[SI],AXMOVAX,SEGINTRP4MOV[SI+2],AX8253GATE1GATE2GATE0+5VCLK0CLK1OUT0OUT1IRQ4硬件连接图补充2:试按如下要求分别编写8253的初始化程序,已知8253的计数器0~2和控制字I/O地址依次为04~07H。①使计数器1工作在方式0,仅用8位二进制计数,初值为150②使计数器0工作在方式1,按BCD计数,初值为3000③使计数器2工作在方式2,计数初值为02F0H①MOVAL,50H;01010000BOUT07H,ALMOVAL,150OUT05H,AL②MOVAL,33H;00110011BOUT07H,ALMOVAX,3000HOUT04H,ALMOVAL,AHOUT04H,AL③使计数器2工作在方式2,计数初值为02F0HMOVAL,0B4H;10110100BOUT07H,ALMOVAX,02F0HOUT06H,ALMOVAL,AHOUT06H,AL补充3:下图为秒信号发生器硬件电路,试设计程序实现其功能。解:分析:1M→1HZ需要106分频,106>65536,两片级联选择0通道,方式3,初值1000;选择1通道,方式3,初值1000;端口地址未知,设控制口PORTCTL、0#计数器PORT0、1#计数器PORT1、2#计数器PORT2;0#计数器初始化MOVDX,PORTCTLMOVAL,00110110B;36HOUTDX,ALMOVAX,1000MOVDX,PORT0OUTDX,ALMOVAL,AHOUTDX,AL;1#计数器初始化MOVDX,PORTCTLMOVAL,01110110B;76HOUTDX,ALMOVAX,1000MOVDX,PORT1OUTDX,ALMOVAL,AHOUTDX,AL补充4:设计一个用8253实现定时中断的接口电路,要求每隔10分钟产生一个定时中断信号。设CPU为8088最小模式,系统提供0.5M的时钟,8253的口地址为48H~4FH。分析:1/1.5M=2*10-6S10*60=600S600/2*10-6=3*10865536需要级联选择0通道,方式3,初值30000;选择1通道,方式3,初值10000;选择口地址48H~4BH;0#计数器初始化MOVAL,00110110B;36HOUT4BH,ALMOVAX,30000OUT48H,ALMOVAL,AHOUT48H,AL;1#计数器初始化MOVAL,01110110B;76HOUT4BH,ALMOVAX,10000OUT49H,ALMOVAL,AHOUT49H,AL例题:外设接口译码电路如图所示。分析各接口芯片的地址A9A8A7A6A5A4A3A2A1A0地址译码输出连接芯片1100000000300HY08259111130FH0010000310HY18253111131FH0110000330HY38255111133FH1000000340HY48251111134FH1010000350HY50809111135FH1110000370HY70832111137FH

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功