![]() |
Mọi người giúp dùm đồ án!!!
Mạch ADC chuyển đổi điện áp xuất ra 4 led7seg.
Sao nó không chạy Code nhu sau: #INCLUDE <16F877A.h> #DEVICE *=16 ADC=10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWN OUT, NOLVP, NOCPD, NOWRT #USE DELAY(CLOCK=20000000) CONST UNSIGNED CHAR MA7DOAN[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6 F}; INT16 KQADC; INT DONVI, CHUC, TRAM, NGAN,i,HSNHAN=1; UNSIGNED CHAR MDONVI,MCHUC,MTRAM,MNGAN; VOID DIV_DECODE (INT16 TAM) { NGAN = TAM/1000; TAM = TAM %1000; TRAM = TAM/100; TAM = TAM %100; CHUC = TAM/10; //LAY HANG CHUC DONVI= TAM%10; //LAY DONVI MDONVI= MA7DOAN[DONVI]; MCHUC = MA7DOAN[CHUC]; MTRAM = MA7DOAN[TRAM]; MNGAN = MA7DOAN[NGAN]; } VOID DISPLAY () { OUTPUT_D(MDONVI); OUTPUT_LOW(PIN_C0); DELAY_MS(200); OUTPUT_HIGH(PIN_C0); OUTPUT_D(MCHUC); OUTPUT_LOW(PIN_C1); DELAY_MS(200); OUTPUT_HIGH(PIN_C1); OUTPUT_D(MTRAM); OUTPUT_LOW(PIN_C2); DELAY_MS(200); OUTPUT_HIGH(PIN_C2); OUTPUT_D(MNGAN); OUTPUT_LOW(PIN_C3); DELAY_MS(200); OUTPUT_HIGH(PIN_C3); } VOID MAIN() { SET_TRIS_B(0xFF); SET_TRIS_C(0x00); SET_TRIS_D(0x00); OUTPUT_C(0xFF); SETUP_ADC(ADC_CLOCK_INTERNAL); SETUP_ADC_PORTS(AN0); SET_ADC_CHANNEL(0); delay_us(10); while(1) { KQADC=READ_ADC()/2; if (KQADC==511) KQADC++; DIV_DECODE(KQADC); for (i=0;i++;I<25) { DISPLAY(); } } } |
Múi giờ GMT. Hiện tại là 04:57 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam