欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    单片机f-习题6问题详解.doc

    • 资源ID:6778       资源大小:144.50KB        全文页数:8页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机f-习题6问题详解.doc

    word习题61. 什么是中断系统?中断系统的功能是什么?答:中断系统是指实现中断过程的硬件逻辑和实现中断功能的指令的统称。为了满足单片机系统中各种中断的要求,中断系统一般具备如下根本功能:(1). 能实现中断与返回(2). 能实现优先权排队(3). 能实现中断嵌套2. 什么是中断嵌套?答:当CPU响应某一外设的中断请求,正在进展中断处理时,假如有优先权级别更高的中断源提出中断请求,如此CPU能中断正在进展的中断服务程序,响应高级中断,在高级中断处理完后,再继续执行被中断的中断服务程序。这一过程称为中断嵌套,如图6-1所示。假如发出新的中断申请的中断源的优先级与正在处理的中断源同级或更低时,如此CPU不响应这个中断申请,直至正在处理的中断服务程序执行完后才去处理新的中断申请。图6-1 中断嵌套3. 8051单片机的中断源有几个?各个中断的标志位是什么?答:80C51单片机的中断系统有5个中断源,它们是:(1) 外部中断0:由(P3.2)引脚输入,由外部中断0触发方式选择位IT0选择其为低电平有效还是下降沿有效,当CPU检测到引脚上出现有效的中断请求信号时,中断请求标志位IE0置1,向CPU申请中断。(2) 外部中断1:由(P3.3)引脚输入,由外部中断1触发方式选择位IT1选择其为低电平有效还是下降沿有效,当CPU检测到引脚上出现有效的中断请求信号时,中断请求标志位IE1置1,向CPU申请中断。(3) 定时器/计数器T0溢出中断请求,当T0定时时间到或计数满后,中断请求标志位TF0由硬件置1,向CPU申请中断。(4) 定时器/计数器T1溢出中断请求,当T1定时时间到或计数满后,中断请求标志位TF1被硬件置1,向CPU申请中断(5) 串行口中断请求,当串行口接收完一帧数据时,中断请求标志RI被硬件置1,或当串口发送完一帧数据时,中断请求标志TI被硬件置1。4. 各个中断源的中断请如何撤销的?答:定时器/计数器中断请求的撤销定时器/计数器的中断请求被响应后。硬件会自动把中断请求标志位TF0、TF1清0,因此定时器/计数器中断请自动撤销的。外部中断请求的撤销 (1) 电平触发方式外部中断请求的撤销电平触发方式的中断请求标志是自动撤销的,但外部中断请求信号的低电平可能继续存在,由于单片机对、引脚没有控制作用,所以在以后的机器周期采样时,又会把已清0的IE0或IE1标志位重新置1,会屡次引起中断,因此需要外接电路来撤销中断请求信号,即在中断响应后把中断请求信号引脚从低电平强制改变为高电平。常用的电平触发方式外部中断请求信号的撤销电路如图6-8所示。图6-8电平触发方式外部中断请求的撤销电路由图6-8可见,用D触发器锁存外来的中断请求电平,外部中断请求信号通过D触发器加到单片机的或引脚上。当外部中断信号使D触发器的CP端发生正跳变时,由于D端接地,Q端输出为0,即向单片机发出中断请求,CPU响应中断后,为了撤销中断请求,可利用D触发器的直接置位端SD实现,把SD端接51单片机的P1.0端,使P1.0端输出一个负脉冲就可以使D触发器置1,从而撤销了低电平的中断请求信号,所需的负脉冲可通过在中断服务程序中增加如下两条语句得到:P1=P1 & 0xfe;P1.0=0P1=P1 | 0x01;P1.0=1 第一条语句使P1.0为0, P1口的其它各位状态不变。由于P1.0与直接置1端SD相连,故D触发器Q1,撤销了中断请求信号。第二条语句使P1.0为1,即置1端SD不起作用,目的使以后产生的新的外部中断请求信号又能向单片机申请中断。由此可见,电平触发方式的外部中断请求信号的完全撤销,是通过软硬件相结合的方法来实现的。(2) 边沿触发方式外部中断请求的撤销边沿触发方式的外部中断请求的撤销,其中断标志位IE0或IE1的清0是在中断响应后由硬件自动完成的,因此边沿触发方式的外部中断请自动撤销的。串行口中断请求的撤销 串行口中断的标志位是TI和RI,但对这两个中断标志位CPU不进展自动清0,因为响应串行口的中断后,CPU无法知道是接收中断还是发送中断,所以串行口中断请求的撤销只能使用软件的方法,在中断服务程序中用程序清0,即用如下的语句进展串行口中断标志位的去除:5. CPU响应中断时,各个中断源的中断入口函数如何编写?答:C51的中断函数格式如下:void 函数名interrupt 中断号 using 工作组中断服务程序容中断函数不能返回任何值,所以最前面用void;后面紧跟函数名,名字不要与C语言中的关键字一样;中断函数后不带任何参数,所以函数后面的小括号为空;中断号是指单片机中几个中断源的序号,可查表6-1,这个序号是编译器识别不同中断的唯一序号,此处应该设为0;最后面的“using 工作组是指这个中断函数使用单片机部RAM中4个工作存放器组中的哪一组,C51编译器在编译程序时会自动分配工作组,因此“using 工作组通常省略不写。6. 编写外部中断0为边沿触发方式的中断初始化程序。答:IE=0x81; /EA=1,CPU开中断,EX0=1,允许外部中断0产生中断IP=0x01; /PX01,外中断0为高级中断IT0=1; /外中断0为边沿触发方式7. 电路如图6-11所示,要求单片机的主程序实现P1口控制一个共阴极数码管的各段依次点亮,不断循环,当有外中断输入时,使数码管显示0,闪烁4次后,返回原断点处继续执行程序,外中断的触发方式采用边沿触发方式。试编写程序。图6-11单片机外中断应用系统电路图答:程序如下:#include<reg51.h>#include<intrins.h>#define uint unsigned int #define uchar unsigned charuchar i,aa;void delay(uint z);void main()EA=1;/开总中断EX1=1;/开外部中断1IT1=1;/将外部中断1设为边沿触发方式aa=0x01; P3=0xff;while(1)P1=aa;/送入段选信号delay(1000);aa=_crol_(aa,1);/将aa循环左移1位后再赋给aavoid delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void exter0( ) interrupt 2for(i=4;i>0;i-)P1=0x3f;/送入段选信号7f,使数码管显示8delay(500);P1=0x00;/送入段选信号00,使数码管熄灭delay(500);8. 电路如图6-12所示,要求单片机主程序控制P0口数码管循环显示09;外部中断发生时,控制P2口控制数码管显示09,外部中断发生时,控制P1口数码管显示09,外部中断为高优先级,外部中断为低优先级,都采用边沿触发方式,数码管为共阳极数码管。试编写程序。图6-12单片机外中断、应用系统电路图答:程序如下:#include <reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code table= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void delayms(uint x) int i,j;for(i=x;i>0;i-)for(j=110;j>0;j-);void init()IT0=1; /INT0边沿触发。IT1=1; /INTl边沿触发。EA=1; /开总中断EX0=1; /使能INT0EX1=1; /使能INTlPX1=1; /中断1高优先级PX0=0; /中断0低优优先void main() uchar i;init();while(1) P0=tablei;i=(i+1)%10;/*显示0-9*/delayms(500);void xint0() interrupt 0uchar j;for(j=0;j<10;j+)P2=tablej;delayms(500); P2=0xff;void xint1() interrupt 2uchar k;for(k=0;k<10;k+)P1=tablek;delayms(500); P1=0xff;8 / 8

    注意事项

    本文(单片机f-习题6问题详解.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开