12f1822编译问题
时间:10-02
整理:3721RD
点击:
为什么编译结果连寄存器都编译不过求解,谢谢
#define u8 unsigned char
#define u16 unsigned int
//u16 adresult=0;
//u8 ADL,ADH;
/*******************************************************************************************************/
void init ADC(void)
{
TRISA0 = 1; //方向输入
ANSA0 = 1; //模拟输入
ADCON0 = 0b00000001; //通道AN0 A/D转换末进行,使能ADC
ADCON1 = 0b10010000; //右对齐 Fosc/8 参考电压接到VDD
}
/*******************************************************************************************************/
void init PWM(void)
{
TRISA2 = 1; //禁止PWM1引脚输出驱动器
PWM1CON = 0b00000000; //清零PWM1CON
PR2 = 155; //讲PWM周期值装入PR2寄存器
PWM1DCH = 0B00000000; //清零占空比
PWM1DCL = 0B00000000;
TMR2IF = 0; //清零中断标志位
T2CON = 0B00000110; //T2CKPS1 0预分频1:16 使能Timer2 TRISA2 = 0; //PWM1引脚输出驱动器
PWM1CON = 0b11000000; //使能模块 使能PWM引脚输出 高电平有效
}
/*******************************************************************************************************/
void delay(u8 x)
{
u8 i,j;
for(i=x;i>0;i--)
for(j=71;j>0;j--);
}
/*******************************************************************************************************/
//---------------------------------------
// main()
/*******************************************************************************************************/
void main (void)
{ u16 adresult=0;
u8 ADL,ADH;
init ADC();
delay(10);
init PWM();
while(1)
{
adx = adresult;
ADGO = 1;
while(ADGO);
{
ADL = ADRESL<<6;
ADH = ADRESL>>2+ADRESH<<6;
PWM1DCH = ADH;
PWM1DCL = ADL;
}
}
}
#define u8 unsigned char
#define u16 unsigned int
//u16 adresult=0;
//u8 ADL,ADH;
/*******************************************************************************************************/
void init ADC(void)
{
TRISA0 = 1; //方向输入
ANSA0 = 1; //模拟输入
ADCON0 = 0b00000001; //通道AN0 A/D转换末进行,使能ADC
ADCON1 = 0b10010000; //右对齐 Fosc/8 参考电压接到VDD
}
/*******************************************************************************************************/
void init PWM(void)
{
TRISA2 = 1; //禁止PWM1引脚输出驱动器
PWM1CON = 0b00000000; //清零PWM1CON
PR2 = 155; //讲PWM周期值装入PR2寄存器
PWM1DCH = 0B00000000; //清零占空比
PWM1DCL = 0B00000000;
TMR2IF = 0; //清零中断标志位
T2CON = 0B00000110; //T2CKPS1 0预分频1:16 使能Timer2 TRISA2 = 0; //PWM1引脚输出驱动器
PWM1CON = 0b11000000; //使能模块 使能PWM引脚输出 高电平有效
}
/*******************************************************************************************************/
void delay(u8 x)
{
u8 i,j;
for(i=x;i>0;i--)
for(j=71;j>0;j--);
}
/*******************************************************************************************************/
//---------------------------------------
// main()
/*******************************************************************************************************/
void main (void)
{ u16 adresult=0;
u8 ADL,ADH;
init ADC();
delay(10);
init PWM();
while(1)
{
adx = adresult;
ADGO = 1;
while(ADGO);
{
ADL = ADRESL<<6;
ADH = ADRESL>>2+ADRESH<<6;
PWM1DCH = ADH;
PWM1DCL = ADL;
}
}
}
寄存器搅错了