打印

求教

[复制链接]
1095|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
741392105|  楼主 | 2013-11-30 08:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51用定时器0控制二极管闪烁,用定时器1控制数码管从0到60每隔一秒自加,初值都是TH=(65536-50000)/256,TL=(65536-50000)%256,请问是先进入定时器0的中断函数还是先进入定时器1的中断函数?

相关帖子

沙发
553010746| | 2013-11-30 09:19 | 只看该作者
外零
定零
外1
定1

使用特权

评论回复
板凳
NE5532| | 2013-11-30 09:23 | 只看该作者
如果两个中断在同一个内核中断的申请窗口内申请,那么按照中断优先级设置,高优先级中断先被响应,没有设置中断优先级的,按楼上说的,中断排列顺序的自然优先级响应。

但是严格说来,你的两个中断不一定能在同一个窗口发生,因为你不可能一个语句打开两个定时器的使能,总有个先后顺序。

另外,你两个定时的周期一样,用一个不就可以了?何必用2个呢?

使用特权

评论回复
地板
741392105|  楼主 | 2013-11-30 10:25 | 只看该作者
NE5532 发表于 2013-11-30 09:23
如果两个中断在同一个内核中断的申请窗口内申请,那么按照中断优先级设置,高优先级中断先被响应,没有设置 ...

/******定时器0中断函数*********/
void T0_time() interrupt 1 //定时器0中断级别为1
{  TH0=(65536-46080)/256;//重装处值  
TL0=(65536-46080)%256;
num0++;   
if(num0==4)//200MS   
  {  num0=0;  led=~led;     }
}     
/******定时器1中断函数*********/
void T1_time() interrupt 3 //定时器1中断级别为3
{    TH1=(65536-46080)/256;//重装处值  
TL1=(65536-46080)%256;  
num1++;
  if(num1==20)     
{      num1=0;     
shu++;     
flag=1;         
if(shu>59)         
{        shu=0;   
flag=1;      //display(shu);   
  flag=0;       }   
}  
}
我先TR0=1;然后TR1=1;
会不会出现这样的情况,定时器0中断函数和定时器1中断函数几乎同时进入,但是由于优先级的原因,先进入定时器0中断,可是0中断函数在执行的过程中也会消耗一部分时间,定时器1中断会不会错过?

使用特权

评论回复
5
梦幻泡影| | 2013-11-30 10:54 | 只看该作者
其实的话只用一个定时器就完全可以了的,如果你两个同时启动,并且没有设置优先级,那它就按照系统默认的优先级处理,先是T0,再到T1,

使用特权

评论回复
6
741392105|  楼主 | 2013-11-30 10:57 | 只看该作者
梦幻泡影 发表于 2013-11-30 10:54
其实的话只用一个定时器就完全可以了的,如果你两个同时启动,并且没有设置优先级,那它就按照系统默认的优 ...

你的意思是不是说定时器1中断函数会等定时器0中断函数执行完了再执行?

使用特权

评论回复
7
黄小俊| | 2013-11-30 11:52 | 只看该作者
741392105 发表于 2013-11-30 10:57
你的意思是不是说定时器1中断函数会等定时器0中断函数执行完了再执行?

那当然,不然能怎么做?不能同时进行吧

使用特权

评论回复
8
741392105|  楼主 | 2013-11-30 13:51 | 只看该作者
黄小俊 发表于 2013-11-30 11:52
那当然,不然能怎么做?不能同时进行吧

那这样的话会有误差的吧?

使用特权

评论回复
9
黄小俊| | 2013-11-30 14:19 | 只看该作者
741392105 发表于 2013-11-30 13:51
那这样的话会有误差的吧?

有误差,不过那是你程序的问题。

使用特权

评论回复
10
741392105|  楼主 | 2013-11-30 14:28 | 只看该作者
黄小俊 发表于 2013-11-30 14:19
有误差,不过那是你程序的问题。

用一个定时器是不是会好一些?

使用特权

评论回复
11
黄小俊| | 2013-11-30 15:03 | 只看该作者
741392105 发表于 2013-11-30 14:28
用一个定时器是不是会好一些?

我感觉好多了。。

使用特权

评论回复
12
741392105|  楼主 | 2013-11-30 16:09 | 只看该作者
黄小俊 发表于 2013-11-30 15:03
我感觉好多了。。

谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

20

帖子

0

粉丝