李全利版单片机原理及接口技术课后答案(第五章)

上传人:woxinch****an2018 文档编号:38998828 上传时间:2018-05-10 格式:DOC 页数:7 大小:116.63KB
返回 下载 相关 举报
李全利版单片机原理及接口技术课后答案(第五章)_第1页
第1页 / 共7页
李全利版单片机原理及接口技术课后答案(第五章)_第2页
第2页 / 共7页
李全利版单片机原理及接口技术课后答案(第五章)_第3页
第3页 / 共7页
李全利版单片机原理及接口技术课后答案(第五章)_第4页
第4页 / 共7页
李全利版单片机原理及接口技术课后答案(第五章)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《李全利版单片机原理及接口技术课后答案(第五章)》由会员分享,可在线阅读,更多相关《李全利版单片机原理及接口技术课后答案(第五章)(7页珍藏版)》请在金锄头文库上搜索。

1、章 5 80C51 的中断系统及定时/计数器1.80C51 有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU 响应各中断时,其中断入口地址是多少?答:5 个中断源,分别为外中断和、T0 和 T1 溢出中断、串口中断。INT0INT1电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位。T0 和 T1,CPU 响应中断时,由硬件自动复位。RI 和 TI,由硬件置位。必须由软件复位。另外,所有能产生中断的标志位均可由软件置位或复位。各中断入口地址:0003H,T0000BH,0013H,T1001BH,RI 和 TI0023H。INT0INT12.某系统

2、有三个外部中断源 1、2、3,当某一中断源变低电平时便要求 CPU 处理,它们的优先处理次序由高到低为 3、2、1,处理程序的入口地址分别为 2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可) 。答:将 3 个中断信号经电阻线或,接。INT1ORG 0000HLJMP MAINORG 00013HLJMP ZDFZ ORG 0040HMAIN:SETB EASETB EX1 SJMP $0RG 0200HZDFZ:PUSH PSWPUSH ACCJB P1.0,DV0JB P1.1,DV1JB P1.2,DV2INRET:POP ACCPOP PSWRETIO

3、RG 2000HDV0:-JMP INRETORG 2100HDV1:-JMP INRETORG 2200HDV2:-JMP INRET3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?答:当 IT0=0 时,为电平触发方式。电平触发方式时,CPU 在每个机器周期的 S5P2 采样引脚INT0INT0电平,当采样到低电平时,置 IE0向 CPU 请求中断;采样到高电平时,将 IE0 清 0。在电平触发方式下,CPU 响应中断时,不能自动清除 IE0 标志。电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务

4、结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。当 IT0=1 时,为边沿触发方式。边沿触发方式时,CPU 在每个机器周期的 S5P2 采样引脚INT0INT0电平,如果在连续的两个机器周期检测到引脚由高电平变为低电平,即第一个周期采样到=1,INT0INT0第二个周期采样到=0,则置 IE01,产生中断请求。在边沿触发方式下,CPU 响应中断时,能由硬INT0件自动清除 IE0 标志。边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在 IE0 或

5、 IE1 中将锁存一个逻辑 1。若 CPU 暂时不能响应,中断申请标志也不会丢失,直到 CPU 响应此中断时才清 0。另外,为了保证下降沿能够被可靠地采样到,和引脚上的负脉冲宽度至少要保INT0INT1持一个机器周期(若晶振频率为 12MHz,为 1 微秒) 。边沿触发方式适合于以负脉冲形式输入的外部中断请求。4.定时/计数器工作于定时和计数方式时有何异同点?答:定时/计数器实质是加 1 计数器。不同点不同点:设置为定时器模式时,加 1 计数器是对内部机器周期计数(1 个机器周期等于 12 个振荡周期,即计数频率为晶振频率的 1/12) 。计数值乘以机器周期就是定时时间。设置为计数器模式时,外

6、部事件计数脉冲由 T0 或 T1 引脚输入到计数器。在每个机器周期的 S5P2 期间采样 T0、T1 引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加 1,更新的计数值在下一个机器周期的 S3P1期间装入计数器。相同点相同点:它们的工作原理相同,它们都有 4 种工作方式,由 TMOD 中的 M1M0 设定,即方式 0:13 位计数器;方式 1:16 位计数器;方式 2:具有自动重装初值功能的 8 位计数器;方式 3:T0 分为两个独立的 8 位计数器,T1 停止工作。5.定时/计数器的 4 种工作方式各有何特点?答:方式 0 位 13 位计数器,由 TL0 的低

7、5 位(高 3 位未用)和 TH0 的 8 位组成。TL0 的低 5 位溢出时向TH0 进位,TH0 溢出时,置位 TCON 中的 TF0 标志,向 CPU 发出中断请求。计数初值计算的公式为:X213N方式 1 的计数位数是 16 位,由 TL0 作为低 8 位、TH0 作为高 8 位,组成了 16 位加 1 计数器。计数个数与计数初值的关系为:X216N方式 2 为自动重装初值的 8 位计数方式。TH0 为 8 位初值寄存器。当 TL0 计满溢出时,由硬件使 TF0置 1,向 CPU 发出中断请求,并将 TH0 中的计数初值自动送入 TL0。TL0 从初值重新进行加 1 计数。周而复始,直

8、至 TR0=0 才会停止。计数个数与计数初值的关系为:X28N方式 3 只适用于定时/计数器 T0,定时器 T1 处于方式 3 时相当于 TR10,停止计数。方式 3 时,T0分成为两个独立的 8 位计数器 TL0 和 TH0,TL0 使用 T0 的所有控制位。当 TL0 计数溢出时,由硬件使 TF0置 1,向 CPU 发出中断请求。而 TH0 固定为定时方式(不能进行外部计数) ,并且借用了 T1 的控制位TR1、TF1。因此,TH0 的启、停受 TR1 控制,TH0 的溢出将置位 TF1。6.要求定时/计数器的运行控制完全由 TR1、TR0 确定和完全由、高低电平控制时,其初INT0INT

9、1始化编程应作何处理?答:TMOD 中 GATE 的值不同:完全由 TR1、TR0 确定时 GATE 为 0;完全由、高低电INT0INT1平控制时 GATE 为 1。7.当定时/计数器 T0 用作方式 3 时,定时/计数器 T1 可以工作在何种方式下?如何控制 T1 的开启和关闭?答:T0 用作方式 3 时,T1 可以工作在方式 0、1 和 2。T1 的开启由 TR1 控制,即 TR11 时,T1 开始工作;TR10 时或者定时/计数器工作在方式 3 时,T1 停止工作。8.利用定时/计数器 T0 从 P1.0 输出周期为 1s,脉宽为 20ms 的正脉冲信号,晶振频率为 12MHz。试设计

10、程序。答:采用定时 20ms,然后再计数 1、49 次的方法实现。a、T0 工作在定时方式 1 时,控制字 TMOD 配置:M1M0=01,GATE=0,C/=0,可取方式控制字为 01H;Tb、计算计数初值 X: 晶振为 12 MHz,所以机器周期 Tcy 为 1。sNt/ Tcy 20103/110620000X216N6553620000455364E20H即应将 4EH 送入 TH1 中,20H 送入 TL1 中。c、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 0030HMAIN:MOV TMOD,#01H ;设 T1 工作于方式 2MOV TH0,# 4

11、EH ;装入循环计数初值MOV TL0,#20H ;首次计数值LP0:SETB P1.0ACALL NT0CLR P1.0MOV R7,#49 ;计数 49 次LP1:ACALL NT0DJNZ R7,LP1AJMP LP0 NT0:MOV TH0,# 4EH MOV TL0,#20H SETB TR0JNB TF0,$CLR TR0CLR TF0RETEND9.要求从 P1.1 引脚输出 1000Hz 方波,晶振频率为 12MHz。试设计程序。答:采用 T0 实现a、T0 工作在定时方式 1 时,控制字 TMOD 配置:M1M0=01,GATE=0,C/=0,可取方式控制字为 01H;T b

12、、计算计数初值 X:晶振为 12 MHz,所以机器周期 Tcy 为 1。1/1000=1103sNt/ Tcy 0.5103/1106500X216N6553650065036FE0CH即应将 FEH 送入 TH0 中,0CH 送入 TL0 中。c、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 000BH ;T0 的中断入口地址LJMP DVT0 ORG 0030HMAIN:MOV TMOD,#01H ;设 T0 工作于方式 2MOV TH0,# 0FEH ;装入循环计数初值MOV TL0,#0CH ;首次计数值 SETB ET0 ;T0 开中断SETB EA ;C

13、PU 开中断SETB TR0 ;启动 T0SJMP $ ;等待中断DVT0:CPL P1.1 MOV TH0,# 0FEH MOV TL0,# 0CH SETB TR0RETIEND10.试用定时/计数器 T1 对外部事件计数。要求每计数 100,就将 T1 改成定时方式,控制 P1.7 输出一个脉宽为 10ms 的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为 12MHz。答:a、T1 工作在计数方式 2 时,控制字 TMOD 配置:M1M0=10,GATE=0,C/=1,可取方式控制字为 60H;TT1 工作在定时方式 1 时,控制字 TMOD 配置:M1M0=01,GATE=0,

14、C/=0,可取方式控制字为 10H;T b、计算初值 X:定时定时 10ms10ms 时时: 晶振为 12 MHz,所以机器周期 Tcy 为 1。sNt/ Tcy 10103/110610000X216N655361000055536D8F0H即应将 D8H 送入 TH1 中,F0H 送入 TL1 中。计数计数 100100 时时:N100X28N2561001569CHc、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序 ORG 001BH ;T1 的中断入口地址LJMP DVT1 ORG 0030HMAIN:MOV TMOD,#60H ;T1 工作于计数方式 2MOV TH1,#9CH ;装入计数初值MOV TL1,#9CH ;CLR P1.7SETB ET1 ;T1 开中断SETB EA ;CPU 开中断SETB TR1 ;启动 T1SJMP $ ;等待中断DVT1:SETB P1.7CLR ET1CLR TR1 MOV TMOD,#10H ;T1 工作于定时方式 1MOV TH1,#0D8H ;装初值MOV TL1,#0F0H SETB TR1JNB TF1,$ ;查询等待 10msCLR TF1CLR TR1CLR P1.7MOV TMOD,#60H ;T1 工作于计数方式 2MOV TH1,#9CH ;装初值MOV TL1,#9CH

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号