智能车制作

标题: 光电PIT中进行分时点亮 附代码 [打印本页]

作者: 272496322    时间: 2011-5-9 16:51
标题: 光电PIT中进行分时点亮 附代码
这是我们的PIT中断 内容 不知道将激光分时点亮 和读取放这样放在中断里有没有问题
第一个激光坏掉了
void Init_PIT(void) {
  
   
   
    PITCFLMT_PITE=0;//关闭PIT计时通道
   
    PITCE_PCE0=1;//定时器通道0使能
   
    PITMTLD0=320-1;   //8位定时器0初值设定,0.1MHz 即0.01ms
   
    PITLD0=PITTIME-1; //16位定时器0初值设定,PITTIME*0.01ms(10us) 这个来看激光管的状态
      
    PITMUX_PMUX0=0;//定时器通道0选用时基0   
   
    PITINTE_PINTE0=1;// 定时器中断通道0中断使能   
   
   //PITTF=0X01;//查询位  置一则表示清零 故可以通过查询是否为一来看是否置位

    PITCFLMT_PITE=1;//使能PIT计时通道
}
               
/**********************END*****************************************/
/**********************END*****************************************/




//函数名称:PIT0(void)
//函数功能:PIT中断函数
//输入参数:无
//输出参数:无
//创作时间:2011年05月01日
/******************************************************/

#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt 66 PIT0(void)
{


  laser_count++;
  
  PITTF_PTF0=1;//清中断标志位
  
  if(laser_count==1)
  {
   
      laser_2;//点亮激光
      delay_us(1);
      Current_Flag[1]=PORTB_PB0;
     
  }


  if(laser_count==2)
  {
   
      laser_3;
      delay_us(1);
      Current_Flag[2]=PORTB_PB1;
     
  }
  
    if(laser_count==3)
  {
   
      laser_4;
      delay_us(1);
      Current_Flag[3]=PORTB_PB1;
  }   
  
    if(laser_count==4)
  {
        
      laser_5;
      delay_us(1);
      Current_Flag[4]=PORTB_PB1;
      
  }
   
     if(laser_count==5)
  {
      
      laser_6;
      delay_us(1);
      Current_Flag[5]=PORTB_PB2;
      
  }
   
     if(laser_count==6)
  {
      
      laser_7;
      delay_us(1);
      Current_Flag[6]=PORTB_PB2;
      
  }
   
     if(laser_count==7)
  {
      
      laser_8;
      delay_us(1);
      Current_Flag[7]=PORTB_PB2;
      
  }
   
     if(laser_count==8)
  {
      
      laser_9;
      delay_us(1);
      Current_Flag[8]=PORTB_PB2;
      
  }
  
    if(laser_count==9)
  {
        
      laser_10;
      delay_us(1);
      Current_Flag[9]=PORTB_PB3;
      
  }
  
    if(laser_count==10)
  {
        
      laser_11;
      delay_us(1);
      Current_Flag[10]=PORTB_PB3;
      
  }
  
    if(laser_count==11)
  {
        
      laser_12;
      delay_us(1);
      Current_Flag[11]=PORTB_PB3;
      
  }
  
    if(laser_count==12)
  {
        
      laser_13;
      delay_us(1);
      Current_Flag[12]=PORTB_PB4;
      
  }
  
    if(laser_count==13)
  {
        
      laser_14;
      delay_us(1);
      Current_Flag[13]=PORTB_PB4;
      laser_count=0;
     
  }
  

}




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