智能车制作

标题: 中断 [打印本页]

作者: juejiang    时间: 2010-1-18 08:55
标题: 中断
#include <AT89X51.H>                // 头文件
    #define uchar unsigned char
    uchar deda=0;                                   // 5mS计数单元清零              
    uchar sec=0;                                    // 秒单元清零         
    void init_timer();                              // 声明定时函数
    void sc();                         // 声明输出函数
//--------------------------------------------------- 主函数  ----------------------------------------------
  main()
    {
       init_timer();                                // 调用定时函数
        while(1)                                    // 无限循环
         {
            sc ( ) ;                                // 调用输出函数
         }
    }
//--------------------------------------------------- 定时函数 ---------------------------------------------

void init_timer()
   {
      TMOD=0x01;                                  // 设置定时器T0工作模式1
      TH0=-(4800/256);                            // 加载高字节计数初值      
      TL0=-(4800%256);                            // 加载低字节计数初值      
      IE=0x82;                                    // 启用定时器T0中断产生   
      TR0=1;                                      // 启动定时器T0开始计时   
   }

//---------------------------------------------- 中断服务函数 --------------------------------------------
void T0_srv(void) interrupt 1
{
        TH0=-(4800/256);                          // 重置定时器计时初始值  
        TL0=-(4800%256);   
deda++;                                           // 计数单元deda 值递增
    }                                                                                                   

//------------------------------------------------- 输出模块 -----------------------------------------------  
   void sc (  )                                                   
    {                                          
      if(deda>=200){sec++;deda=0;}                 // 中断200次秒加1,deda清0
      if(sec==30){P1_0=~P1_0;sec=0;}               // 满30次后,反相输出1次,清0
   
   }
这里的中断时怎么使用的!!!请大侠指点,就是不明白这个中断什么时候执行,是定时器的时间到了之后中断就执行吗?
作者: 天恒    时间: 2010-1-21 15:56
只是产生PWM,可控制占空比。是定时器的时间到了就执行的。
作者: qicai    时间: 2010-2-7 18:36
这不是飞思卡尔的程序吧




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2