我用mplab x ide编写了一个pic16f685的程序,串口发送一直都不能完成要求,求指出问题

我的程序放在我自己的回复中,我把程序放在正文里总提示错误,而且我不知道要怎么解决

#include "pic.h"
#include "pic16f685.h"

__CONFIG(FOSC_HS &WDTE_OFF &BOREN_OFF &PWRTE_OFF);
/*

  • /

#define FAULT RA4
#define uint8 unsigned char
#define uint16 unsigned int
uint16 timer1_counter;
uint8 data;
void init()
{
TRISA = 0b00100100;
TRISB = 0b00000000;
TRISC = 0b00001111;
PORTB = 0b11000000;
GIE = 1;
PEIE = 1;
ADIE = 1;
ADIF = 0;
}

unsigned int AD_NTC()
{
unsigned int adval1;
float advalf1;
ANSEL = 0b10000000;
ADCON0 = 0b10011101;
ADCON1 = 0b00000000;
GO = 1;
while(GO == 1);
adval1 = ADRESH;
adval1 = adval1 << 8|ADRESL;
advalf1 = adval1/1023.05.0;
adval1 = advalf1
1000;
return (adval1);
}

unsigned int usart()
{
SPBRG = 0x19;
SPBRGH = 0;
// BRG16 = 0;
TXSTA = 0x24;
RCSTA = 0b10000000;

}

uint16 PWM()
{
CCP1CON = 0b00001100;
T2CON = 0x06;
PR2 = 127;
CCPR1L = 8;
}

uint16 TMR_init()
{
T1CON = 0x31;
}
void TMR1_INIT()
{
TMR1H = 0x0B;
TMR1L = 0xDC;
TMR1IF = 0;
timer1_counter = 0;
}
uint8 time1_count(uint16 limit)
{
if(PIR1bits.TMR1IF == 1 )
{
timer1_counter++;
TMR1H=0x0B;
TMR1L=0xDC;
TMR1IF=0;
}
if(timer1_counter >= limit)
{
return 1;
}
else
{
return 0;
}
}
void init_fosc(void)
{
OSCCON = 0x68;//4mhz

}

void main()
{
init();
init_fosc();
AD_NTC();
PWM();
TMR_init();
TMR1_INIT();
usart();
while(1)
{

    if(time1_count(20) == 1|| AD_NTC()< 0.45)
     {
       PORTB = 0;
       TMR2ON = 0;
     }
    
    if(time1_count(20)==1)
    {
         GIE = 0;        
         PEIE = 0;
        TXREG =0x01;
        while(TRMT!=1)
        {    }
    }
    
     if(AD_NTC()<0.45)
    {
         GIE = 0;        
         PEIE = 0;             
        TXREG = 0x02;
        while(TRMT!=1)
        {    }
    }
}

}