PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   ai dạy em đọc adc với thằng PIC18 xxxx với được không ah (http://www.picvietnam.com/forum/showthread.php?t=32346)

navypro 29-05-2013 11:41 PM

ai dạy em đọc adc với thằng PIC18 xxxx với được không ah
 
chuyện là thế này em lập trình cho pic 18f4431 biên dịch không có lỗi nhưng mô phỏng không được các bác xem hộ em với ah
#include <18F4331.h>
#device adc=10

#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
//#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES XT //Crystal osc <= 4mhz
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#use delay(clock=4000000)



int16 adc ;
float a;

void a_n()
{
set_adc_channel(sAN0); // SAI DOAN NAY. set_adc_channel(sAN0); HOAC set_adc_channel(1); sAN0 <=> 1
delay_us(20);
adc = read_adc ( ) ;
a=0.00488*adc;
}

void main()
{
SET_TRIS_A(0xFF);
SET_TRIS_B(0x00);
SET_TRIS_D(0x00);

setup_adc_ports(sAN0);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(sAN0);

lcd_init();

while(TRUE)
{
a_n();
lcd_gotoxy (1,1);
printf(lcd_putc,"a: %f",a);
if(a>=0.2802)
output_high(PIN_D0);
else
{
output_low(PIN_D0);
output_high(PIN_D1);
}
}
}


Múi giờ GMT. Hiện tại là 07:05 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam