智能车制作

标题: 关于HJ口作为中断的问题 [打印本页]

作者: a959845298    时间: 2011-10-1 12:40
标题: 关于HJ口作为中断的问题
怎么初始化 H,J口为中断呢???没看到相关方面的资料额、、、大家可不可以把寄存器 解释一下呢???
作者: 重在学习    时间: 2012-7-17 21:57
同求

作者: Cclreo    时间: 2012-7-23 14:29
/////////////////////外部中断J  判断黑线  ///////////////////////////////////////////////
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 24 PORTJ_ISR(void)
{
  
  if( PIFJ_PIFJ0 )   
   {
       PIFJ_PIFJ0=1;   //清除中断标志
       QUDONG(225);
       //DUOJI_Change(2100);
       if(  (!PTH_PTH7)||(!PTH_PTH6)||(!PTH_PTH5)||(!PTH_PTH4)  )
       {
        DUOJI_Change(turn_left[3]); while( !PTH_PTH6);
       }
       else {
        DUOJI_Change(turn_right[4]);QUDONG(230);
       }
      //  DUOJI_Change(turn_right[4]-50*sumrightbuffer());
    }

       if( PIFJ_PIFJ1 )   
   {
       PIFJ_PIFJ1=1;   //清除中断标志
       QUDONG(225);
      // DUOJI_Change(900);
       if(  (!PTH_PTH0)||(!PTH_PTH1)||(!PTH_PTH2)||(!PTH_PTH3)  )
          {
          DUOJI_Change(turn_right[3]);
          while(!PTH_PTH1 )
              DUOJI_Change(turn_right[3]);
          }
         
         
       else {
        DUOJI_Change(turn_left[4]);QUDONG(235);
       }
      // DUOJI_Change(turn_left[4]);
      // DUOJI_Change(turn_left[4]+50*sumleftbuffer());
    }


}


作者: Cclreo    时间: 2012-7-23 14:30
void PortHJ_Init(void)
{


/*=================================================
    DDRP_DDRP5 = 0;  //设置P5为输入
    PTP_PTP5=1;  
    //PPSP_PPSP5= 1;  // Port J Polarity Select Register-rising EDGE
    PPSP_PPSP5 = 0; // Port J Polarity Select Register-falling EDGE   
    PIEP_PIEP5 =  1; // VIDEO SYNC INTERRUPT DISABLED,BUT NOT IN MAIN()
    PERP_PERP5 =1;
    ==================================================*/
   
//    =================================================
    DDRH = 0X00;  //设置H口为输入
    PTH = 0XFF;
    PERH=0XFF;//使能上拉或者下拉  
    PPSH = 0X00; // Port H Polarity Select Register-falling EDGE   
    PIEH =  0XFF; // VIDEO SYNC INTERRUPT DISABLED,BUT NOT IN MAIN()
   
//    =================================================
   
     //=================================================
    DDRJ_DDRJ0 = 0;  //设置J6为输入
    PTJ_PTJ0=1;
    PERJ_PERJ0 =1; //使能
    //PPSP_PPSP5= 1;  // Port J Polarity Select Register-rising EDGE
    PPSJ_PPSJ0 = 0; // Port J Polarity Select Register-falling EDGE   
    PIEJ_PIEJ0 =  1; // VIDEO SYNC INTERRUPT DISABLED,BUT NOT IN MAIN()
   
   
   
    DDRJ_DDRJ1 = 0;  //设置J6为输入
    PTJ_PTJ1=1;
    PERJ_PERJ1 =1;
    //PPSP_PPSP5= 1;  // Port J Polarity Select Register-rising EDGE
    PPSJ_PPSJ1 = 0; // Port J Polarity Select Register-falling EDGE   
    PIEJ_PIEJ1 =  1; // VIDEO SYNC INTERRUPT DISABLED,BUT NOT IN MAIN()
   
    //=================================================
   
     
}   
  




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