微机原理习题答案9章

上传人:痛*** 文档编号:160678060 上传时间:2022-10-11 格式:DOC 页数:16 大小:652KB
收藏 版权申诉 举报 下载
微机原理习题答案9章_第1页
第1页 / 共16页
微机原理习题答案9章_第2页
第2页 / 共16页
微机原理习题答案9章_第3页
第3页 / 共16页
资源描述:

《微机原理习题答案9章》由会员分享,可在线阅读,更多相关《微机原理习题答案9章(16页珍藏版)》请在装配图网上搜索。

1、第9章 定时/计数器8253应用设计1. 下列地址哪些能够分配给8253/8254的计数器0?为什么?(23H、54H、97H、51H、FCH、59H)解:因为已经约定采用A2,A1作为8253的内部地址线,而且计数器0的地址为00,所以在题中所给的地址中只有51H,59H的A2和A1同时为0,即:A2A1=00.2. 如果计数器0设定为方式0,GATE01,CLK01MHz,时常数为N1000,请画出OUT0的波形。如果计数器1设定为方式1,其它参数与计数器0相同,画出OUT1的波形。3. 编程实现:将8253计数器0设置成方式4,并置时常数10000,然后处于等待状态,直到CE的内容100

2、0后再向下执行。解:MOV DX,COUNTD ;写入计数器0的方式控制字 MOV AL,00111000B OUT DX,AL MOV DX,COUNTA ;设置计数器0的常数 MOV AX,10000 OUT DX,AL XCHG AL,AH OUT DX,AL L1: MOV DX,COUNTD ;写入计数器0的方式控制字 MOV AL,0H OUT DX,AL MOV DX,COUNTA ;读入CE IN AL,DX MOV AH,AL IN AL,DX XCHG AL,AH CMP AX,1000 ;判别CE当前大小 JA L1 4. 利用8253可以实现确定时间的延迟,编程实现延时

3、10秒的程序段(设可以使用的基准时钟为1MHz)。解:本题使用计数器0和计数器1,并且计数器0的输出OUT0作为计数器1的时钟输入CLK1.程序如下:MOVDX,COUNTD;写计数器0方式控制字MOVAL,00110100BOUTDX,ALMOVDX,COUNTAMOVAX,10000 ;写计数器0时常数,分频得到100Hz时钟频率OUTDX,ALXCHGAL,AHOUTDX,ALMOVDX,COUNTD;写计数器1方式控制字MOVAL,01110000BOUTDX,ALMOVDX,COUNTBMOVAX,999;分频得到0.1Hz时钟频率。(在方式0下,时常数为N时, ;OUT输出的低电平

4、宽度为N+1).OUTDX,ALXCHGAL,AHOUTDX,ALL1: ;延时MOVDX,COUNTD; 当前CE的内容锁存到OLMOVAL,01000000BOUTDX,ALMOVDX,COUNTBINAL,DXMOVAH,ALINAL,DXXCHGAL,AHCMPAX,999JNAL1;延时结束,则继续执行,否则,跳到L1,继续延时.5. 比较8254方式0与方式4、方式1与方式5的区别?方式0与方式4方式0 OUT端计数过程中为低,计数值减为0时,输出变高方式4 OUT端计数过程中为高,计数值减为0时输出宽度为1个CLK的负脉冲方式1与方式5方式1 OUT端输出宽度为n个CLK的低电平

5、,计数值减为0时,输出为高方式5 OUT端计数过程中为高,计数值减为0时输出宽度为1个CLK的负脉冲6. 在8088最小系统中,8253的端口地址为284H287H。系统提供的时钟为1MHz,要求在OUT0输出周期为20微秒的方波,在OUT1输出周期为200微秒,其中每周期为负的时间是180微秒的信号。请编写8253的初始化程序。解:OUT0输出为20微妙方波,可用方式三直接产生,OUT1输出波形与书中例9.2类似,可用其中思想产生此信号。如果允许增加外部器件,也可在例9.1的基础上,将OUT端信号通过与非门取反,这样即可产生题目要求信号。本例利用例9.1思想解答MOV DX,287H ;写计

6、数器0控制方式字MOV AL,00010110BOUT DX,ALMOV DX,284H ;写计数器0时常数MOV AL,20OUR DX,ALMOV DX,287 ;写计数器2控制方式字MOV AL,10010110BOUT DX,ALMOV DX,286H ;写计数器2时常数MOV AL,200OUT DX,ALMOV DX,287HMOV AL,01010010B ;写计数器1控制方式字OUT DX,ALMOV DX,285HMOV AL,9 ;写计数器1时常数OUT DX,AL7. 通过8253计数器0的方式0产生中断请求信号,现需要延迟产生中断的时刻,可采用:A) 在OUT0变高之前

7、重置初值;B) 在OUT0变高之前在GATE0端加一负脉冲信号;C) 降低加在CLK0端的信号频率;D) 以上全是。解:D A:方式0下,在OUT0变高之前重置初值,将在下一个CLK的下降沿使时常数从CR读入CE并重新计数。B:在OUT0变高之前在GATE0端加一负脉冲信号可以延时一个时钟周期,达到延时的目的。C:降低加在CLK0端的信号频率,可以增大时钟周期,达到延长OUT0端低电平的时间。(注:A中,如果重置的初值为1,则不会达到延时的效果)8. 已知8254计数器0的端口地址为40H,控制字寄存器的端口地址为43H,计数时钟频率为2MHz,利用这一通道设计当计数到0时发出中断请求信号,其

8、程序段如下,则中断请求信号的周期是 32.7675 ms。MOV AL,00110010BOUT 43H, ALMOV AL, 0FFHOUT 40H, ALOUT 40H, AL9. 若8254芯片可使用的8086端口地址为D0D0HD0DFH,试画出系统设计连接图。设加到8254上的时钟信号为2MHz,(1)利用计数器02分别产生下列三种信号: 周期为10us的对称方波 每1s产生一个负脉冲 10s后产生一个负脉冲每种情况下,说明8254如何连接并编写包括初始化在内的程序段。(2) 希望利用8086通过一专用接口控制8253的GATE端,当CPU使GATE有效开始,20us后在计数器0的O

9、UT端产生一个正脉冲,试设计完成此要求的硬件和软件。解:(1) 选用D0D0HD0DFH中的偶地址DODO,DOD2,DOD4,DOD6为基本地址作为8254的端口地址,设8086工作在最小方式下。8254端口地址译码电路如下图: 计数器0输入端加2MHz的时钟信号,GATE0加+5V电压,输出OUT0信号为周期为10s的对称方波。初始化代码:MOV DX,0D0D6H ;写计数器0工作方式MOV AL,00010110BOUT DX,ALMOV DX,0D0D0H ;写计数器0时常数MOV AL,20OUT DX,ALCLK0加2MHz的始终信号,GATE0,GATE1加+5V电压,OUT0

10、输出加到CLK1做时钟信号,OUT1输出为每1s产生一个负脉冲。初始代码:MOV DX,0D0D6H ;写计数器0的工作方式MOV AL,00010110BOUT DX,ALMOV DX,0D0D0H ;写计数器0的时常数MOV AL,100OUT DX,ALMOV DX,0D0D6H ;写计数器1的工作方式MOV AL,01110100B OUT DX,ALMOV DX,0D0D2H ;写计数器1的时常数MOV AX,20000OUT DX,ALXCHG AL,AHOUT DX,ALCLK0加2MHz的始终信号,GATE0,GATE1加+5V电压,OUT0输出加到CLK2做时钟信号,OUT2

11、输出为10s后产生一个负脉冲。初始代码:MOV DX,0D0D6H ;写计数器0的工作方式MOV AL,00110110BOUT DX,ALMOV DX,0D0D0H ;写计数器0的时常数MOV AX,1000OUT DX,ALXCHG AL,AHOUT DX,ALMOV DX,0D0D6H ;写计数器2的工作方式MOV AL,10111000BOUT DX,ALMOV DX,0D0D4H ;写计数器2的时常数MOV AX,20000OUT DX,ALXCHG AL,AHOUT DX,AL1) 选用地址D0D0,DOD2,DOD4,DOD6为8253的端口地址,D0D8为GATE端口地址,该端

12、口采用74LS373,8253用方式4,在OUT输出端加非门实现脉冲功能。接口电路如图:初始代码为:MOV DX,0D0D8H ;GATE初始化MOV AL,0OUT DX,ALMOV DX,0D0D6H ;写计数器0工作方式MOV AL,00011000BOUT DX,ALMOV DX,0D0D0H ;写计数器0时常数MOV AL,40OUT DX,ALMOV DX,0D0D8HMOV AL,1OUT DX,AL ;使GATE变高有效10. 若加到8254上的时钟频率为0.5MHz,则一个计数器的最长定时时间是多少?若要求10分钟产生一次定时中断, 试提出解决方案。解:一个计数器的最长定时时

13、间应该是置入时常数0时,此时定时时间为:65536/0.5*106s=131ms采用方式0即:计数达到终值时中断来10分钟产生一次定时中断,此时时常数CR为:10*60*0.5*106=3*109.由于一个计数器最多分频65536,所以至少得使用2个计数器。我们采用计数器0和计数器1.计数器0的时常数CR0为60000,计数器1的时常数CR1为50000.连接方式为:把0.5MHz的时钟频率接到计数器0的CLK0,然后把计数器0的OUT0接到计数器1的CLK1。这样计数器1的OUT1端输出的就是10分钟产生一次的定时中断。11. 织布机控制系统如图9.26所示,已知织布机每织1米发出一个正脉冲

14、,每织100米要求接收到一脉冲,去触发剪裁设备把布剪开。(1)设8253的端口地址为80H83H,编写对8253初始化程序。(2)假定系统提供的信号频率为1MHz,希望利用8253的其余通道产生0.1秒的周期信号,编写初始化程序。 图9.26 织布机控制系统解:(1)MOVDX,83HMOVAL,00010100BOUTDX,ALMOVDX,80HMOVAL,100OUTDX,AL(2)将计数器1的输出OUT1信号作为计数器2的时钟输入CLK2,计数器1的时钟输入为系统提供1MHZ的信号MOVDX,83HMOVAL,01110100BOUTDX,ALMOVDX,81HMOVAX,1000OUT

15、DX,ALXCHGAL,AHMOVDX,ALMOVDX,83HMOVAL,10010110BOUTDX,ALMOVDX,82HMOVAL,100OUTDX,AL12. 在IBM PC系统中根据下列不同条件设计接口逻辑,利用8253完成对外部脉冲信号重复频率的测量。(1) 被测脉冲信号的重复频率在101000Hz范围内。(2) 被测脉冲信号的重复频率在0.51.5Hz范围内。(3) 被测脉冲信号重复频率在10100Hz范围内。(4) 被测是间歇脉冲信号,每次有信号时有100个脉冲,重复频率为0.81.2MHz,间歇频率大约每秒15次,要求测有信号时的脉冲重复频率。解:用两个计数器,计数器0的CL

16、K接待测信号,GATE接半周期为10s的高电平信号,OUT接8259,同时取反接计数器1的GATE端。计数器1的CLK接系统时钟,半周期为T0。在这样的逻辑电路下,计数器0的功能是记录待测信号的脉冲数N0,计数器1的功能是记录在相同时间里系统时钟信号的脉冲数N1。根据T=N1*T0/N0可计算出待测信号的周期。S(t)是待测信号,S(t)为给定的周期大于10s的高电平信号。端口声明:COUNTA为计数器0的地址,COUNTB为计数器2的地址,COUNTD为控制器地址,COUNT为373地址程序如下:MOV DX,COUNTD ;计数器1初始化 MOV AL,01110000B OUT DX,A

17、L MOV DX,COUNTB OUT DX,AL MOV DX,COUNTB MOV AL,O OUT DX,ALMOV DX,COUNTD ;计数器0初始化MOV AL,00010000BOUT DX,ALMOV DX,COUNTAMOV AL,0OUT DX,ALOUT DX,ALSTI读两计数器的计数,并进行计算的中断服务子程序:PUSH AXPUSH BXPUSH CXPUSH DXMOV DX,COUNTDMOV AL,00000000BOUT DX,ALMOV DX,COUNTAIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXMOV

18、 BX,AXMOV DX,COUNTDMOV AL,00010000BOUT DX,ALMOV DX,COUNTBIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXMOV CX,T0MUL CXDIV BXMOV SFR,AXPOP DXPOP CXPOP BXPOP AXIRETSFR中保存结果即为待测信号的周期。对于(1)题,10*10不小于100,10*1000不大于65535,可以用计数法。同理(3)也可用此方法。对于(2)题,可用周期法。逻辑电路图如下:程序如下:MOV DX,COUNTDMOV AL,0011 0100BOUT DX,A

19、LMOV DX,COUNTAMOV AL,0OUT DX,ALOUT DX,ALSTIPUSH AXPUSH BXPUSH DXMOV DX,COUNTDMOV AL,0000 0000BOUT DX,ALMOV DX,COUNTAIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXMOV BX,AXMOV DX,000FHMOV AX,4240HDIV BXMOV SFR,AXPOP DXPOP BXPOP AXIRET(4) 如图设计接口,计数器1用来记录在50个脉冲所用时间,50个信号脉冲最多用1/0.8*50(约为63us)由于计数器1用1M

20、Hz CLK,故其计数个数N即为N us,所以当N63时,则有低电平间隔计入,须重新计数。当N63时,则计算得待测频率。程序如下:MOV DX,COUNTDMOV AL,00HOUT DX,ALMOV DX,COUNTDMOV AL,0001 0000BOUT DX,ALMOV DX,COUNTAMOV AL,50OUT DX,ALMOV DX,COUNTDMOV AL,0111 0000BOUT DX,ALMOV COUNTBMOV AL,0OUT DX,ALOUT DX,ALL2: MOV DX,COUNT ;给GATE0和GATE1高电平,开始计数MOV AL,81HOUT DX,ALL

21、1: NOP MOV DX,COUNTDMOV AL,00000000BOUT DX,ALMOV DX,COUNTAIN AL,DXMOV DX,COUNTAIN AL,DXAND AL,AL ;判断是否计完50个脉冲,若未计完继续等待JNZ L1MOV DX,COUNTMOV AL,00H ;若计完则暂停计数OUT DX,ALMOV DX,COUNTD ;读计数器1结果MOV AL,01000000BOUT DX,ALMOV DX,COUNTBIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXCMP AX,70H ;当AL大于70,则有间歇计入,重新测试JA L2MOV BL,ALMOV AL,50 ;计算频率DIV BLMOV FREC,AL 88

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!