搜索

51单片机定时器中断函数定时器还有while()这三个之间是怎么跳转

gecimao 发表于 2019-07-24 19:14 | 查看: | 回复:

  2,什么时候进入中断函数,进入中断函数后定时器是怎么工作的,怎么循环累加出延时时间的?

  主要在定时器计数,进中断,进WHILE()时这整个流程,具体怎么工作的呢?展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  ②程序配置了 定时器的 中断时间为 50ms(12MHz晶振),也就是每隔 50ms 就进入一次中断函数。进入中断后,程序又重新给定时器 定时 50ms,同时 对 中断次数 进行 记录(tt++)。主程序只要查询 记录值(tt),就能知道 定时器 中断了多少次了。

  ③主函数的 while(1)表示 系统是个 循环系统,一直在 循环,不结束。当 定时器 产生中断时,就会 暂停 主函数,这就称为 中断。等 中断执行结束后,又 会的 主函数 被打断的 地方,继续执行主函数的 内容。追问1,TR0=1;启动定时器0后,定时器第一次溢出时,进入中断函数(第一次),中断函数重赋定时器初值,tt加1;定时器开始第二次计数,tt加1;

  一直到tt=10时,数码显示,同时定时器也一直在独立工作,不受while(1)j里动作的影响。

  一路是定时器一直在计数; 另一路是程序按顺序执行,执行到while(1)中等待。追答①主函数属于 前台工作,定时器属于 后台工作。这就像一个戏台子:演员(主函数)在前台表演给观众(使用者)看,而后勤人员(定时器)在后台 敲锣打鼓(计时)为 演员表演 提供信息。这是告诉你,主函数在执行的时候,定时器是一直在工作的(只要你开启了)。

  ②程序中,主函数的while(1)内容是有东西的,它对 定时器的中断次数(tt)进行查询,如果=10次,那它就清 0 次数,并且执行数码显示。这是告诉你,显示不是定时器做的,清0 也不是定时器做的。

本文链接:http://kingstonflowers.net/dingshiqi/929.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部