芯片复制ASR语音核心模块控制摄像头舵机程序
芯片复制void PWMA_ISR() interrupt 26
{
P_SW2 |= 0x80;
if (PWMA_SR1 & 0x01) //状态寄存器, 硬件产生中断置1 , 需软件清零。
{
PWMA_SR1 &=~0x01; //软件清零 中断。
if(first>0) //大于0,为低压启动标志
{if(first==10)
PWMA_Duty= T_SinTable9[PWM_Index];
if(first==9)
PWMA_Duty= T_SinTable8[PWM_Index];
if(first==8)
PWMA_Duty= T_SinTable7[PWM_Index];
if(first==7)
PWMA_Duty= T_SinTable6[PWM_Index];
if(first==6)
PWMA_Duty= T_SinTable5[PWM_Index];
if(first==5)
PWMA_Duty= T_SinTable4[PWM_Index];
if(first==4)
PWMA_Duty= T_SinTable3[PWM_Index];
if(first==3)
PWMA_Duty= T_SinTable2[PWM_Index];
if(first==2)
PWMA_Duty= T_SinTable1[PWM_Index];
if(first==1)
PWMA_Duty= T_SinTable0[PWM_Index];
if(PWM_Index==199)
first--;
}
else
PWMA_Duty = T_SinTable[PWM_Index];
if (++PWM_Index >= 200) // 之前是>=200 点
{ PWM_Index = 0;
}
if( PWM_Index <= 99)
{ PWMA_CCR1H = (u8)(3460>> 8); //设置占空比时间,PWMA_CCR1H 为1通道的捕获/比较寄存器 连续输出方波波。
PWMA_CCR1L = (u8)(3460);
PWMA_CCR2H = (u8)(0); //设置占空比时间,PWMA_CCR2H 为2通道的捕获/比较寄存器 连续输出方波波。
PWMA_CCR2L = (u8)(0);
//////////////
PWMA_CCR4H = (u8)(PWMA_Duty >> 8); //设置占空比时间,PWMA_CCR4H 为4通道的捕获/比较寄存器 连续输出正旋波。
PWMA_CCR4L = (u8)(PWMA_Duty); //输出正的上半波
PWMA_CCR3H = (u8)(0); //设置占空比时间,PWMA_CCR3H 为3通道的捕获/比较寄存器 连续输出正旋波。
PWMA_CCR3L = (u8)(0);
}
if ( PWM_Index >= 100)
{ PWMA_CCR1H = (u8)(0); //设置占空比时间,PWMA_CCR1H 为1通道的捕获/比较寄存器 连续输出方波波。
PWMA_CCR1L = (u8)(0);
PWMA_CCR2H = (u8)(3460>> 8); //设置占空比时间,PWMA_CCR2H 为2通道的捕获/比较寄存器 连续输出方波波。
PWMA_CCR2L = (u8)(3460);
////////////////
PWMA_CCR4H = (u8)(0); //设置占空比时间,PWMA_CCR4H 为4通道的捕获/比较寄存器 。
PWMA_CCR4L = (u8)(0);
PWMA_CCR3H = (u8)(PWMA_Duty >> 8); //设置占空比时间,PWMA_CCR3H 为3通道的捕获/比较寄存器 连续输出正旋波。
PWMA_CCR3L = (u8)(PWMA_Duty); //输出负的正玄波
}
}
PWMA_SR1 = 0;
P_SW2 &= 0x7f;
}

芯片解密