View Single Post
Old 09-08-2011, 10:14 PM   #4
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi maruko View Post
em làm 1 ví dụ nhỏ về hỏi về đọc kết quả ADC hiển thị lên LCD nhưng nó cứ báo lỗi ở lệnh xuất dữ liệu ra LCD cụ thể là dòng lcd_putc_int(adc);
nhờ các bác suẳ giùm giúp em đoạn code này với :


#include <16f877A.h>
#device *=16, adc = 10
#use delay(clock = 20M)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT

#define LCD_ENABLE_PIN PIN_D3
#define LCD_RS_PIN PIN_D2
#define LCD_RW_PIN PIN_D6
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7

#include <lcd.c>
void main(){
int i;
int16 adc;

setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(AN0); // Chon cong RA0 lam cong vao ADC
set_adc_channel(0);

lcd_init();
lcd_putc("STARTING");
for(i = 1; i < 10; i++){
lcd_putc('.');
delay_ms(100);
}
lcd_putc('\f');

while(1){
lcd_putc("\f");
adc = read_adc();
lcd_putc_int(adc);
//printf(" gia tri doc la : %u", adc );
delay_ms(200);
}
}
nếu bạn dùng thư viện " lcd.c" của ccs c thì không có hàm lcd_putc_int(). do vây nó báo lỗi.
adc khai báo là 16 bit thì dùng %lu : printf(" gia tri doc la : %lu", adc );
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.

thay đổi nội dung bởi: tdm, 09-08-2011 lúc 10:21 PM.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn