求教

[复制链接]
1762|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中断会不会错过?
梦幻泡影 发表于 2013-11-30 10:54 | 显示全部楼层
其实的话只用一个定时器就完全可以了的,如果你两个同时启动,并且没有设置优先级,那它就按照系统默认的优先级处理,先是T0,再到T1,
 楼主| 741392105 发表于 2013-11-30 10:57 | 显示全部楼层
梦幻泡影 发表于 2013-11-30 10:54
其实的话只用一个定时器就完全可以了的,如果你两个同时启动,并且没有设置优先级,那它就按照系统默认的优 ...

你的意思是不是说定时器1中断函数会等定时器0中断函数执行完了再执行?
黄小俊 发表于 2013-11-30 11:52 | 显示全部楼层
741392105 发表于 2013-11-30 10:57
你的意思是不是说定时器1中断函数会等定时器0中断函数执行完了再执行?

那当然,不然能怎么做?不能同时进行吧
 楼主| 741392105 发表于 2013-11-30 13:51 | 显示全部楼层
黄小俊 发表于 2013-11-30 11:52
那当然,不然能怎么做?不能同时进行吧

那这样的话会有误差的吧?
黄小俊 发表于 2013-11-30 14:19 | 显示全部楼层
741392105 发表于 2013-11-30 13:51
那这样的话会有误差的吧?

有误差,不过那是你程序的问题。
 楼主| 741392105 发表于 2013-11-30 14:28 | 显示全部楼层
黄小俊 发表于 2013-11-30 14:19
有误差,不过那是你程序的问题。

用一个定时器是不是会好一些?
黄小俊 发表于 2013-11-30 15:03 | 显示全部楼层
741392105 发表于 2013-11-30 14:28
用一个定时器是不是会好一些?

我感觉好多了。。
 楼主| 741392105 发表于 2013-11-30 16:09 | 显示全部楼层
黄小俊 发表于 2013-11-30 15:03
我感觉好多了。。

谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部