TÌM HIỂU VỀ ADC CỦA VI ĐIỀU KHIỂN PIC 16F877A

13 2K 6
TÌM HIỂU VỀ ADC CỦA VI ĐIỀU KHIỂN PIC 16F877A

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TÌM HIỂU VỀ ADC CỦA VI ĐIỀU KHIỂN PIC 16F877A I. GIỚI THIỆU VỀ ADC CỦA PIC ADC là bộ chuyển đổi tín hiệu tương tự thành tín hiệu số [...]... -void interrupt isr() { int ADC_ result; if (ADIF== 1) //neu ngat adc xay ra { ADIF = 0; //Clear ADC Interrupt Flag//Read ADC result ADC_ result = (ADRESH 2.5V ADC_ result > 512 { PORTB = 0; //bat cac led o port b } else { PORTB = 0xFF; } } } void main(void) { port_init(); adc_ init(); int_init(); while(1) { delay_us(50); //delay... Turn on ADC Module delay_ms (1); //delay to wait for adc module init } // -//interrupt initialization THIET LAP CO NGAT CHO BO ADC void int_init() { GIE = 1; //Global Interrupt Enable //cho phep tat cac cac ngat xay ra PEIE = 1; //Peripheral Interrupt Enable // cho phep tat ca ngat ngoai vi ADIE = 1; / /ADC Interrupt Enable // cho phep ngat adc ADIF = 0; //Clear ADC Interrupt... trị ADC 8 bit ở chân AN0 (điều chỉnh bằng biến trở 10k), và kiểm tra nếu áp ngõ vào analog > 2.5V thì bật các LED gắn ở PORTB lên  CHƯƠNG TRÌNH: #include CONFIG(0X3F7A); #define _XTAL_FREQ 20000000 void port_init(void); void adc_ init(void); void int_init(void); void interrupt isr(void); // void port_init(void) { TRISA0 = 1; //khai bao RA0 la Input de doc ADC. .. nen la OutPut PORTB = 0xFF; // Tat het LED o portB } // -void adc_ init(void) { PCFG0=0; //chon dien ap mau dua tren cac thong so cua thanh ghi ADCON1 PCFG1=0; // VREF+ =VDD, VREF- = VSS PCFG2=0; PCFG3=0; ADCS1 = 0; // chon tan so lay mau // ADC conversion clock: = Fosc/8 ADCS0 = 1; // Select Input chanel: AN0 CHS1 = 0; // CHS = 000 Select AN0 CHS2 = 0; CHS0 = . TÌM HIỂU VỀ ADC CỦA VI ĐIỀU KHIỂN PIC 16F877A I. GIỚI THIỆU VỀ ADC CỦA PIC ADC là bộ chuyển đổi tín hiệu tương tự thành tín hiệu số

Ngày đăng: 05/04/2015, 17:46

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan