• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 51单片机中,正在执行定时器中断程序时,定时器是否还在计数?

51单片机中,正在执行定时器中断程序时,定时器是否还在计数?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了单片机定时器中断程序,单片机定时中断程序,51单片机定时中断程序,51单片机定时器中断,单片机定时器中断等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 51单片机中,正在执行定时器中断程序时,定时器是否还在计数?
描述:

单片机

就例如下面的一个例子:
T0_init()        //扫描频率为100HZ,即需定时1/100=00.01s
{
   TMOD=0x01;    
   TH0=0x3c;     //装定时器初值高8位
   TL0=0xb0;     //装定时器初值低8位
   TR0=1;        //启动定时器0
   ET0=1;        //开定时器0中断
   EA=1;         //开总中断
}
t0() interrupt 1 
{
    delay(1000);                                                        //8位数码管显示按键值  
}
如果我让定时器T0,50ms中断一次,但是我在中断函数里面加上了软件延时1000ms,当正在执行中断函数的时候,计数器还会计数吗?在计数满的话,还会申请中断吗?为什么?


解决方案1:

产生定时器中断时,定时器已经溢出,结束了计数。当你在定时器的中断服务例程中延时的时候,定时器是等待状态。

解决方案2:

执行中断函数时定时器不会计数,这时候只会处理中断服务程序,主函数的世界相当于时间静止了,等中断函数处理完后会回到主函数这时由于你之前已经把定时器打开,并没有关闭,因此定时器会继续计数,但在你程序中使用的是  定时器0中断,方式是“16位定时器”,如果你不在中断服务程序中给定时器重装初值的话,定时器此时会从零开始计数,如要保证每次都是50毫秒,你应在中断程序中给定时器重装初值
{TH0=(65535-45872)/256;
  TL0=(65535-45872)%256;
delay(1000);}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 51单片机中,正在执行定时器中断程序时,定时器是否还在计数?

相关文章

  • 2017-06-05 IARfor430编译器中#definedo{}while(0)问题
  • 2017-06-05 ArmV7指令跑Wince6的系统MMU初始化的代码需要修改吗?
  • 2017-06-05 arm-linux-gcc交叉编译的问题(其中用到了共享内存)
  • 2017-06-05 设备管理器中如何显示虚拟的多个串口???
  • 2017-06-05 关于vxworks下创建看门狗奇怪的现象
  • 2017-06-05 这个式子是怎么算出来的
  • 2017-06-05 wpa_cli连接wifi热点会崩掉驱动??
  • 2017-06-05 IAR中为什么有些执行语句会直接跳过
  • 2017-06-05 请问有没有适合32位单片机使用的简单JSONC语言库
  • 2017-06-05 肢解操作系统---破除垄断

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ADXL345三轴输出数据问题
    • 关于RSA算法在嵌入式设备中的实现
    • 寻求高手指点
    • VS2008下开发Windowsce程序,无法加载SystemDataSqlClient类
    • 如何制作安卓Rom
    • 汇编语言程序的结构
    • PIC电平变化中断问题
    • MFC与WMD文件宏定义发生冲突,主要发生冲突文件winnth
    • STM32使用的FSMC功能如何配置为双向
    • stm32USART问题:程序如下,问题是接收不到数据

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有