본문 바로가기

[Microchip]/PIC16F

[PIC16F723-S EVM] ADC테스트 - TFT LCD에 그래프 표시

[PIC16F723-S EVM] ADC테스트 - TFT LCD에 그래프 표시

 

 

PIC16F723은 저렴한 MCU 임에도 8bit ADC가 13채널이 있다. 8bit라 약간 아쉬움이 있지만 VREF도 있고 속도도 빨라 여러가지로 사용가능할것 같다.

 

PIC16F723 ADC 블록도

 

 

 

 

 

PIC16F723 ADC 레지스터

 

PIC16F723 ADC  초기화 함수

//ADC Initialize
void AdcInit(void)
{
 // initial A/D channel 0,1
 Sbi(TRISA, BIT0);
 Sbi(ANSELA, BIT0);

 VCFG1 = 0; //Low Voltage refences = VSS
 VCFG0 = 0; //High Voltage refences = VDD

 GODONE = 0; //A/D Conversion Start and Check this bit, if done,ADGO => 0
 ADON = 1; //A/D Conversion Operating

 //Sampling rate
 ADCS1 = 1;
 ADCS0 = 1;
}

 

 

PIC16F723 ADC Read 함수

unsigned char AdcRead(unsigned char port)
{
 ADCON0 = (0x3C&(port<<2)) | BIT0;

 //AD Converter Start
 GODONE  = 1;

 //AD End Check  
 while(GODONE)continue;

 //Read AD Converting Value
 return ADRES;
}

 

 

 

PIC16F723 ADC테스트 동영상

PIC16F723 EVM 확장 보드 ADC0 에 연결된 가변저항의 전압값을 TFT LCD에 표시하는 예제 이다.

 

 

 

PIC16F723 ADC 테스트 소스코드

void main(void)
{
 unsigned char adc_value;

 SystemInit();
    Led1Init();

 

 U0_Init(BAUD_57600);
 DebugPrint("PIC16F723 EVM Test\r\n");

 

 IntAdc();

 

    while(1)
    {
        adc_value = AdcRead(0);
 
        DebugPrint("%d\r\n", adc_value );

        Delay(10);

    }
}

 

 

 

 

 

 

 

반응형