单片机原理及接口技术课后答案(李全利版第五章)_第1页
单片机原理及接口技术课后答案(李全利版第五章)_第2页
单片机原理及接口技术课后答案(李全利版第五章)_第3页
单片机原理及接口技术课后答案(李全利版第五章)_第4页
单片机原理及接口技术课后答案(李全利版第五章)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

章 5 80C51 的中断系统及定时/计数器 1.80C51 有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU 响应各中断时,其中断入 口地址是多少? 答:5 个中断源,分别为外中断 和 、T0 和 T1 溢出中断、串口中断。INT01 电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位。 T0 和 T1,CPU 响应中断时,由硬件自动复位。 RI 和 TI,由硬件置位。必须由软件复位。 另外,所有能产生中断的标志位均可由软件置位或复位。 各中断入口地址: 0003H,T0000BH, 0013H,T1001BH,RI 和 TI0023H。I0I1 2.某系统有三个外部中断源 1、2、3,当某一中断源变低电平时便要求 CPU 处理,它们的优先处理次 序由高到低为 3、2、1,处理程序的入口地址分别为 2000H、2100H、2200H。试编写主程序及中断服务程序 (转至相应的入口即可) 。 答:将 3 个中断信号经电阻线或,接 。INT ORG 0000H LJMP MAIN ORG 00013H LJMP ZDFZ ORG 0040H MAIN:SETB EA SETB EX1 SJMP $ 0RG 0200H ZDFZ:PUSH PSW PUSH ACC JB P1.0,DV0 JB P1.1,DV1 JB P1.2,DV2 INRET:POP ACC POP PSW RETI ORG 2000H DV0:- - 1 - JMP INRET ORG 2100H DV1:- JMP INRET ORG 2200H DV2:- JMP INRET 3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎 样设定? 答:当 IT0=0 时, 为电平触发方式。电平触发方式时,CPU 在每个机器周期的 S5P2 采样INT0 引脚电平,当采样到低电平时,置 IE0向 CPU 请求中断;采样到高电平时,将 IE0 清 0。在电平INT0 触发方式下,CPU 响应中断时,不能自动清除 IE0 标志。 电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断 服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该方式适合于外部中 断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。 当 IT0=1 时, 为边沿触发方式。边沿触发方式时,CPU 在每个机器周期的 S5P2 采样 引脚I0 INT0 电平,如果在连续的两个机器周期检测到 引脚由高电平变为低电平,即第一个周期采样到 =1,INT0 第二个周期采样到 =0,则置 IE01,产生中断请求。在边沿触发方式下,CPU 响应中断时,能由硬T 件自动清除 IE0 标志。 边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平, 则在 IE0 或 IE1 中将锁存一个逻辑 1。若 CPU 暂时不能响应,中断申请标志也不会丢失,直到 CPU 响应此 中断时才清 0。另外,为了保证下降沿能够被可靠地采样到, 和 引脚上的负脉冲宽度至少要保IT0N1 持一个机器周期(若晶振频率为 12MHz,为 1 微秒) 。边沿触发方式适合于以负脉冲形式输入的外部中断请 求。 4.定时/计数器工作于定时和计数方式时有何异同点? 答:定时/计数器实质是加 1 计数器。 不同点:设置为定时器模式时,加 1 计数器是对内部机器周期计数(1 个机器周期等于 12 个振荡周期, 即计数频率为晶振频率的 1/12) 。计数值乘以机器周期就是定时时间。设置为计数器模式时,外部事件计数 脉冲由 T0 或 T1 引脚输入到计数器。在每个机器周期的 S5P2 期间采样 T0、T1 引脚电平。当某周期采样到 一高电平输入,而下一周期又采样到一低电平时,则计数器加 1,更新的计数值在下一个机器周期的 S3P1 期间装入计数器。 相同点:它们的工作原理相同,它们都有 4 种工作方式,由 TMOD 中的 M1M0 设定,即 方式 0:13 位计数器; 方式 1:16 位计数器; 方式 2:具有自动重装初值功能的 8 位计数 器; - 2 - 方式 3:T0 分为两个独立的 8 位计数器,T1 停止工作。 5.定时/计数器的 4 种工作方式各有何特点? 答:方式 0 位 13 位计数器,由 TL0 的低 5 位(高 3 位未用)和 TH0 的 8 位组成。TL0 的低 5 位溢出 时向 TH0 进位,TH0 溢出时,置位 TCON 中的 TF0 标志,向 CPU 发出中断请求。 计数初值计算的公式为: X2 13N 方式 1 的计数位数是 16 位,由 TL0 作为低 8 位、TH0 作为高 8 位,组成了 16 位加 1 计数器。计数个 数与计数初值的关系为: X2 16N 方式 2 为自动重装初值的 8 位计数方式。TH0 为 8 位初值寄存器。当 TL0 计满溢出时,由硬件使 TF0 置 1,向 CPU 发出中断请求,并将 TH0 中的计数初值自动送入 TL0。TL0 从初值重新进行加 1 计数。周而 复始,直至 TR0=0 才会停止。计数个数与计数初值的关系为: X2 8N 方式 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 确定和完全由 、 高低电平控制时,其初INT01 始化编程应作何处理? 答:TMOD 中 GATE 的值不同:完全由 TR1、TR0 确定时 GATE 为 0;完全由 、 高低电INT 平控制时 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。试设 计程序。 答:采用定时 20ms,然后再计数 1、49 次的方法实现。 a、T0 工作在定时方式 1 时,控制字 TMOD 配置: M1M0=01,GATE=0,C/ =0,可取方式控制字为 01H;T b、计算计数初值 X: 晶振为 12 MHz,所以机器周期 Tcy 为 1 。s Nt/ Tcy 20 103 /1106 20000 X2 16N6553620000455364E20H - 3 - 即应将 4EH 送入 TH1 中,20H 送入 TL1 中。 c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 0030H MAIN:MOV TMOD,#01H ;设 T1 工作于方式 2 MOV TH0,# 4EH ;装入循环计数初值 MOV TL0,#20H ;首次计数值 LP0:SETB P1.0 ACALL NT0 CLR P1.0 MOV R7,#49 ;计数 49 次 LP1:ACALL NT0 DJNZ R7,LP1 AJMP LP0 NT0:MOV TH0,# 4EH MOV TL0,#20H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET END 9.要求从 P1.1 引脚输出 1000Hz 方波,晶振频率为 12MHz。试设计程序。 答:采用 T0 实现 a、T0 工作在定时方式 1 时,控制字 TMOD 配置: M1M0=01,GATE=0,C/ =0,可取方式控制字为 01H;T b、计算计数初值 X: 晶振为 12 MHz,所以机器周期 Tcy 为 1 。1/1000=110 3s Nt/ Tcy 0.5 103 /1106 500 X2 16N6553650065036FE0CH 即应将 FEH 送入 TH0 中,0CH 送入 TL0 中。 c、实现程序如下: ORG 0000H - 4 - AJMP MAIN ;跳转到主程序 ORG 000BH ;T0 的中断入口地址 LJMP DVT0 ORG 0030H MAIN:MOV TMOD,#01H ;设 T0 工作于方式 2 MOV TH0,# 0FEH ;装入循环计数初值 MOV TL0,#0CH ;首次计数值 SETB ET0 ;T0 开中断 SETB EA ;CPU 开中断 SETB TR0 ;启动 T0 SJMP $ ;等待中断 DVT0:CPL P1.1 MOV TH0,# 0FEH MOV TL0,# 0CH SETB TR0 RETI END 10.试用定时/计数器 T1 对外部事件计数。要求每计数 100,就将 T1 改成定时方式,控制 P1.7 输出一 个脉宽为 10ms 的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为 12MHz。 答:a 、T1 工作在计数方式 2 时,控制字 TMOD 配置: M1M0=10,GATE=0,C/ =1,可取方式控制字为 60H;T T1 工作在定时方式 1 时,控制字 TMOD 配置: M1M0=01,GATE=0,C/ =0,可取方式控制字为 10H; b、计算初值 X: 定时 10ms 时: 晶振为 12 MHz,所以机器周期 Tcy 为 1 。s Nt/ Tcy 10 103 /1106 10000 X2 16N655361000055536D8F0H 即应将 D8H 送入 TH1 中,F0H 送入 TL1 中。 计数 100 时: N100 X2 8N2561001569CH c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 - 5 - ORG 001BH ;T1 的中断入口地址 LJMP DVT1 ORG 0030H MAIN:MOV TMOD,#60H ;T1 工作于计数方式 2 MOV TH1,#9CH ;装入计数初值 MOV TL1,#9CH ; CLR P1.7 SETB ET1 ;T1 开中断 SETB EA ;CPU 开中断 SETB TR1 ;启动 T1 SJMP $ ;等待中断 DVT1:SETB P1.7 CLR ET1 CLR TR1 MOV TMOD,#10H ;T1 工作于定时方式 1 MOV TH1,#0D8H ;装初值 MOV TL1,#0F0H SETB TR1 JNB TF1,$ ;查询等待 10ms CLR TF1 CLR TR1 CLR P1.7 MOV TMOD,#60H ;T1 工作于计数方式 2 MOV TH1,#9CH ;装初值 MOV TL1,#9CH ; SETB ET1 ;T1 开中断 SETB TR1 ;启动 T1 RETI END 11.利用定时/计数器 T0 产生定时时钟,由 P1 口控制 8 个指示灯。编一个程序,使 8 个指示灯依次闪动, 闪动频率为 1 次/秒(即,亮 1 秒后熄灭并点亮下一个,-) 。 答:采用定时 20ms,计数 50 次实现 1 秒定时。编制 1 秒延时子程序,由主程序调用。 a、T0 工作在定时方式 1 时,控制字 TMOD 配置: - 6 - M1M0=01,GATE=0,C/ =0,可取方式控制字为 01H;T b、计算计数初值 X: 晶振为 12 MHz,所以机器周期 Tcy 为 1 。s Nt/ Tcy 20 103 /1106 20000 X2 16N6553620000455364E2

温馨提示

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

评论

0/150

提交评论