导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→回复

* 96455: [求教]一段中断程序

   wangxueyou 
wangxueyou发表的帖子 

 回复
void main(void)                            
{                      
        IP=0x0a;          //优先级设定,定时器高,外部中断低
        IT0=1;           //下降沿触发
        TMOD=0x22;         //工作方式二
        TH1=256-t;          //装载初值
        TL1=TH1;
        TH0=256-(41-t);
        TL0=TH0;
        IE=0x8b;    //开中断
        TR0=1;           //开定时器
        while(1);
}
可以利用外部中断进行时间设置  但是你主程序中的while(1);
不能够是主程序不段的循环 而是对t采样一次后 就一直停留在while(1);
这句上了 根本就不能够在改变t的值了 你可以尝试着把程序变成这样
void main(void)                            
{                      
       while(1)
        {IP=0x0a;          //优先级设定,定时器高,外部中断低
        IT0=1;           //下降沿触发
        TMOD=0x22;         //工作方式二
        TH1=256-t;          //装载初值
        TL1=TH1;
        TH0=256-(41-t);
        TL0=TH0;
        IE=0x8b;    //开中断
        TR0=1;           //开定时器
        }
}
看看这样是不是可以实现.


发表时间:2006年8月7日19:57:49

  
回复该帖

本主题共有 9 帖,分页:>>>>>该主题的所有内容[9]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  96458.[详细]我试了,确实好使了,非常感谢!!!
摘要:我试了,确实好使了,非常感谢!!!......(34字)
- [qingyu][740次] 2006年8月7日

  96459.[详细]huifu
摘要:不要那么客气  彼此学习 彼此提高......(31字)
- [wangxueyou][808次] 2006年8月7日

  96468.[详细]回复
摘要:今天又遇到问题了,就是按照while(1)改变位置后,由于在while(1)中有中断产生,使得有时定时器1的重新装载执行了,而定时器0的重新装载没执行,输出的波形总是在变化,我把程序改成定时器1定时总周期,但是输出总是高电平,不知为什么,有......(1262字)
- [qingyu][807次] 2006年8月8日

[上一篇帖子]:超简单的的跑马灯程序,烧录到AT89C51上好使,但是烧录到AT89S51上就不好使恳请大虾执教&n
[下一篇帖子]:huifu我看了看你的程序 我觉得你利用外部中断来进行时间的设置有点不妥 因为你