智能车制作

标题: XS128单片机中断没有进去,是什么原因呢?求大大神 [打印本页]

作者: j12y12x12    时间: 2013-11-17 22:21
标题: XS128单片机中断没有进去,是什么原因呢?求大大神


  1. /*==============================================================================
  2.                                   TIM定时器设置了捕捉中断
  3. ==============================================================================*/
  4. void TIMER23_IC_Init(void)  //输入捕捉OC23初始化
  5. {
  6.   TIOS_IOS2=0;   // 设置PT2为输入捕捉
  7.   TIOS_IOS3 = 0; // 设置PT3为输入捕捉
  8.    
  9.   TSCR1_TFFCA=0; // FAST FLAG CLEAR  读取即清零
  10.   
  11.   TCTL4_EDG2A=1;
  12.   TCTL4_EDG2B=0; // 脉冲计数 (PT2) 上升沿捕捉
  13.   TCTL4_EDG3A=1;
  14.   TCTL4_EDG3B=0; // 脉冲计数 (PT3) 上升沿捕捉
  15.   
  16.   TIE_C2I = 1;   //中断请求允许
  17.   TIE_C3I = 1;   //中断请求允许


  18.   TSCR2_PR2=1;   // 计时器预分频 ,  从总线bus   128分频
  19.   TSCR2_PR1=1;
  20.   TSCR2_PR0=1;
  21.   
  22.   TSCR1_TEN=1;    // timer enable  

  23. }
复制代码

  1. //中断函数
  2. #pragma CODE_SEG __NEAR_SEG NON_BANKED
  3. #pragma TRAP_PROC
  4. void interrupt 11 Int_ico3(void)      //ico3 输入捕捉中断按键
  5. //void interrupt 11 TIMER23_IC_Init(void)
  6. {
  7.   TFLG1_C3F = 1; //中断的标志位清零  
  8.   // PITCFLMT ^=(1 << 7);//定时器使能位取反

  9.    TimeSec = Time_cnt;
  10.    TimeUs = _10Ms_Num;
  11.   // PITCFLMT=0X00;
  12.   // LCD_Write_Num(70,4,Time_cnt,2);
  13. }   
复制代码


  1. //主函数
复制代码


一般就是这些代码了,不知道为什么中断没有进行,TimeSec,TimeUs,就没能捕捉到,按键按下数值会停。


我把中断函数注释掉了,按键还是会停,说明中断函数并没有运行,这是为什么呢?


求大大神指教~,

作者: j12y12x12    时间: 2013-11-17 22:23
  1. void main(void)
  2. {
  3.   /* put your own code here */
  4.   
  5.   SetBusCLK_64M();                        //主频64M
  6.   TIMER23_IC_Init();    //输入捕捉按键
  7.   PIT_Init();           //定时器
  8.   DDRT = 0xff;                            //PORTT方向寄存器 输出
  9.   LCD_Init();                             //LCD初始化
  10.   LCD_clear();                            //LCD清屏                             

  11.         EnableInterrupts;                       //中断允许
  12.        
  13.   for(;;)
  14.   {
  15.     _FEED_COP(); /* feeds the dog */
  16.     if(Time_cnt == 60) Time_cnt = 0;
  17.     LCD_Write_Num(53,0,Time_cnt,2);
  18.     LCD_Write_String(65,0,".");
  19.     LCD_Write_Num(70,0,_10Ms_Num,2);//显示变量      
  20.     LCD_Write_Num(53,1,TimeSec,2);   //没有显示出来
  21.     LCD_Write_Num(70,1,TimeUs,2);      //同上~
  22.   } /* loop forever */
  23.   
  24.   /* please make sure that you never leave main */
  25. }
复制代码
主函数怎么没有。。呈上了
作者: 简单丹    时间: 2013-11-18 08:54
配置有问题把




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