SN2501B,T0这样设置怎么不能进入中断

[复制链接]
查看3948 | 回复0 | 2015-9-5 21:59:57 | 显示全部楼层 |阅读模式
  1. void f_MCU_InitSFR(void)
  2. {
  3.         FGIE = 0;                                        // 关闭中断
  4.           OSCM = 0x00;
  5.       
  6.         P0M = 0x00;       
  7.         P1M = 0x08;                                // 1:output 0:input
  8.         P5M = 0x10;
  9.        
  10.         P0UR = 0x00;
  11.         P1UR = 0x00;
  12.         P5UR = 0x00;
  13.        
  14.         P5 = 0x00;
  15.                
  16.         T0M = 0xe0;                                //T0外部时钟控制寄存器,用Fcpu时钟源
  17.         T0C = 256-25;                        //溢出时间值 256-x   Fcpu/4  定时100us
  18.         FT0IRQ = 0;                                //中断请求寄存器INTRQ,存放各种中断请求标志,T0中断请求标志位清零
  19.         FT0IEN = 1;                                //中断请求使能寄存器INTEN,T0中断打开
  20.                                        
  21.         TC0M= 0xe4;                                //TC0定时器,Fcpu/4=1M、内部时钟源、TCO自动重装、P5.4蜂鸣器输出使能打开、启动TC0定时器
  22.         TC0C= 256-131;
  23.         TC0R = 256-131;                        //溢出时间值 256-x   Fcpu/4  定时500us

  24.         FGIE = 1;                                // 开启中断
  25. }
  26. /*=========================================================
  27. * 函 数 名: __interrupt isr(void)
  28. * 功能描述: 100us时间中断处理程序
  29. * 调用方法: __interrupt isr(void)
  30. * 全局变量:  
  31. =========================================================*/
  32. void __interrupt [0x08] isr(void)
  33. {       
  34.         T0C = 256-25;
  35.         /* T0定时中断 */
  36.         if(FT0IRQ)
  37.         {               
  38.                 FT0IRQ = 0;

  39.                 COUNT_10MS++;
  40.                 if(COUNT_10MS >= 100)
  41.                 {
  42.                         COUNT_10MS = 0;
  43.                         FLAG_10MS = 1;
  44.                 }       
  45.         }

  46.         /* TC0定时中断 */
  47.         if(FTC0IRQ)
  48.         {               
  49.                 FTC0IRQ = 0;

  50.                 COUNT_2HZ++;
  51.                 if(COUNT_2HZ >= 2)
  52.                 {
  53.                         COUNT_2HZ = 0;
  54.                         Buzz = ~Buzz;
  55.                 }
  56.         }
  57. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则