View Single Post
Old 29-05-2013, 11:41 PM   #1
navypro
Đệ tử 1 túi
 
Tham gia ngày: May 2013
Bài gửi: 20
:
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);
}
}
}
navypro vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn