• Tin mới

    [PIC TUTORIAL] BÀI 5 Đọc dữ liệu analog từ chân AN0 xuất ra port C, với VREF- = 0V và VREF+ = 2V.

    SƠ ĐỒ MẠCH ĐIỆN




    CHƯƠNG TRÌNH MẪU
    #include "16f887.h"
    #include "def_16f887.h"
    #device  *=16 ADC = 10 
    #fuses   HS,PUT,NOWDT,NOPROTECT,NOLVP 
    #use     delay(Clock = 4000000)        //Thach anh 4MHz
    int16 temp;
    void main() 
    { 
       setup_spi(SPI_SS_DISABLED); 
       setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 
       setup_timer_2(T2_DISABLED,0,1); 
       setup_comparator(NC_NC_NC_NC); 
       setup_vref(FALSE);     
       setup_timer_1(T1_INTERNAL);  
       setup_adc_ports(sAN0|VREF_VREF);  //kenh A0 nhan tin hieu, A2 = 0V; A3 = 2V; 
       setup_adc(ADC_CLOCK_INTERNAL);   //Thoi gian lay mau bang clock he thong. 
       delay_ms(5);                     //Cho thiet lap xong ADC.
       // TODO: USER CODE!! 
        
       trisa = 0xff;                    //PORTA nhan du lieu.
       trisc = 0x00;                    //PORTC xuat du lieu.
       set_adc_channel(0);              //Chon kenh 0.
       delay_us(10);                    //cho chon kenh xong. 
         
       while(1) 
       {  
          temp = read_adc();            //doc gia tri analog da chuyen doi sang so.
          temp = temp/25.6;             //stepsize = 50mV. Neu giao tiep LM35 thi chia 5.12 (stepsize = 10mv)
          PORTC = temp;                 //Value = Vol/0,05
          delay_ms(500);
       } 
    }
    
    
    




    DOWNLOAD FILE MÔ PHỎNG + CODE
    (Bấm vào link đợi 5s, sau đó bấm "Skip Ad" sẽ ra link download) 




    No comments