单片机的C语言应用程序设计第八章作业.docx

单片机的C语言应用程序设计第八章作业.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机的C语言应用程序设计第八章作业

第八章作业1.什么是中断、中断源和中断优先级?答:所谓中断,是指当计算机执行正常程序时,系统中出现某些急需处理的异常情况和特殊请求,CPU暂时中止现行程序,转去对随即发生的更紧迫事件进行处理;处理完毕后,CPU自动返回原来的程序继续执行。中断源是指任何引起计算机中断的事件。所谓中断优先级,是指若系统中多个中断源同时请求中断,则CPU按中断源的优先级别,由高至低分别响应。2.8051中断有多少优先级答:只支持2个优先级。3. 8051中断的中断响应条件是什么?答:1、中断寄存器IE中的EA和相应的中断使能位激活;2、CPU没有在处理同级或者更高级的中断;3、现行执行周期是所执行指令的最后一个周期;4、当前指令不是RETI或者是访问IE或IP的指令。4. 8051的中断响应过程是怎样的?答:CPU响应中断后,由硬件自动执行如下的功能操作:(1) 根据中断请求源的优先级高低,对相应的优先级状态触发器置1。(2) 保护断点,即把程序计数器PC的内容压入堆栈保存。(3) 清内部硬件可清除的中断请求标志位(IE0、IE1、TF0、TF1)。(4) 把被响应的中断服务程序入口地址送入PC,从而转入相应的中断服务程序执行。各中断服务程序的入口地址见表。5.若8051的外部中断0为边沿触发方式,简述IE0标志的检测和置位过程。答:8051的CPU在每个机器周期采样引脚INT0上的电平,当前一个周期采样为高,而这个周期采样为低,即置位中断标志IE0。同时8051的CPU在每个机器周期还采样中断标志IE0,如果中断标志IE0被置位,中断被激活,且没有中断阻止条件,则CPU自动转向中断0的入口地址0x0003进入中断服务程序。6. 8051的中断系统如何实现两级中断嵌套?答:可以利用寄存器IP通过设置不同中断的优先级,或者利用中断的自然优先级实现两级中断嵌套。当单片机处理一个中断的时候,可以再去响应高优先级的中断,或者自然优先级较高的中断。但不能去响应同级或者更低的中断。7.8051的5个中断向量地址分别是什么?答:分别是0003H,000BH,0013H,001BH,0023H.8.设fosc=6MHz,外部中断采用电平触发方式,那么中断请求信号的低电平至少应持续多少?答:至少应持续1s。9. 8051中断程序如何进行现场保护?何为上下文切?答:中断通过把保存有现场数据的寄存器压入堆栈进行现场保护。当一个特定任务正在执行时,可能有更紧急的事需要引起CPU的注意。在一个具有优先级的系统中,CPU不是等待第一个任务完成,而是假定前一个任务已经完成,立即处理新的任务。若程序流程立刻转向新任务,则新任务使用的各个寄存器将会破坏第一个任务使用的中间信息。但第一个任务恢复运行时,寄存器的值将不再可靠而导致错误的发生。解决问题的方法是每次发生任务的切换时执行一些指令进行现场保护和现场恢复,这就是上下文切换。10. 8051定时器方式和计数器方式的区别是什么?答:基本的8051有2个可编程的16位定时器/计数器。其中计数器内部晶振驱动称为定时器;而计数8051的输入引脚的脉冲信号称为计数器。定时器实际上也是工作在计数方式下的。11.若TMOD=A6H,T/C0和T/C1分别在什么方式下工作?答:T/C0和 T/C1方式2下工作。13.时间溢出和时间间隔的区别是什么?何时采用时间间隔合适?答:1、定时器可以工作在定时模式。设定定时计数初值、定时时钟源、定时器启动和中断管理。2、当定时计数达到最大值,并复位到0时刻。计时器的计数值将溢出。3、如果每次溢出都重置了计数初值,间隔时间将固定。14. 设fosc=6MHz,利用定时器0的方式1在P1.6口产生一串50Hz的方波。定时器溢出时采用中断方式处理。答:1.50Hz的方波即周期为20ms的方波,要求定时间隔为10ms,每次时间到时,P1.6脚取反。定时器计数频率为fosc/12=500kHz其周期即单片机的机器周期为12/fosc=2us计数周期10ms需要计数10ms/2us=5000次计数器向上计数需要的初值为65536-5000=61536则程序为:#include reg51.hsbit P1_6=P1^6;void timer0() interrupt 1 using 1{ TH0=65536-5000/256; TL0=65536-5000%256; P1_6=!P1_6;}void main(){ TMOD=0x01; TH0=65536-5000/256; TL0=65536-5000%256; EA=1; ET0=1; TR0=1; while(1);}15. 用8751制作一个模拟航标灯,灯接在p1.7口上,INT0接光敏元件。使它具有如下功能:①白天航标灯

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档