智能车制作
标题:
光电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