PDA

View Full Version : ADC-Báo lỗi nhờ các bác giúp!!!


dvtrieu89
04-04-2009, 08:33 PM
Các bác xem giúp em lỗi của đoạn code sau là ở đâu thế? Em mới bắt đầu xem modul ADC của Pic nên còn gà quá. Nó báo lỗi (xem file đính kèm)
Thanks!

#include <16F877a.h >
#include <def_877a.h>
#fuses NOWDT,HS,PUT,NOPROTECT,NOLVP,NODEBUG
#use delay (clock=16000000)
#device *=16 ADC=8
#use fast_io(b)
Int8 adc ;
Main( )
{
set_tris_b(0x00);
Setup_ADC (ADC_internal );
Setup_ADC_ports (AN0);
Set_ADC_channel ( 0 ) ;
Delay_us (10 ); // delay 10 us
While (true )
{
adc = read_adc ( ) ;
portb=adc; ; // xuat ra port B gia tri bien adc
}
}

dvkkt
05-04-2009, 09:10 AM
#include <16F877a.h >
#include <def_877a.h>
#fuses NOWDT,HS,PUT,NOPROTECT,NOLVP,NODEBUG
#use delay (clock=16000000)
#device *=16 ADC=8 <<<<------- dòng này đặt trước #use delay


#use fast_io(b)
Int8 adc ;
Main( )
{
set_tris_b(0x00); <<<<---- khỏi cần cấu hình cho portB nữa, vì ở trên đã dùng fast_io(b)
Setup_ADC (ADC_internal ); <<<<----- Adc_clock_internal
Setup_ADC_ports (AN0);
Set_ADC_channel ( 0 ) ;
Delay_us (10 ); // delay 10 us
While (true )
{
adc = read_adc ( ) ;
portb=adc; ; // xuat ra port B gia tri bien adc
}
}

dvtrieu89
05-04-2009, 11:17 AM
Ồ...hết lỗi rồi. Cảm ơn bác nhiều nha

thaithien
05-04-2009, 09:15 PM
có mạch proteus để mô phổng vấn đề ADC không vậy?

dvtrieu89
05-04-2009, 10:01 PM
Bác chỉ cần dùng các biến trở kết nối đến các ngỏ vào analog là được rồi. Xem file mình đang mô hỏng nè, ohải bát đầu từ vấn đề đơn giải nhất trước. mình cũng vậ nè.

thaithien
05-04-2009, 10:20 PM
Bác chỉ cần dùng các biến trở kết nối đến các ngỏ vào analog là được rồi. Xem file mình đang mô hỏng nè, ohải bát đầu từ vấn đề đơn giải nhất trước. mình cũng vậ nè.

Sao tiết kiệm qua vậy,không cho cái code luôn?hihi

dvtrieu89
06-04-2009, 01:32 AM
Cái code của tui ở trên đó, bác dvkkt đã sữa giúp rồi. Tui đang mô phỏng con LM35D mà vẫn chưa chạy đúng. Nếu bác cần code asm cho mạch này thì tui có.