03-03-2015, 11:44 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: Nov 2012
Bài gửi: 1
: |
chào các thánh. mình muốn hỏi 1 vấn đề ngoài luồng tý. Mình có lập trình đo ADC hiển thị LCD 2 dòng 16 ký tự, nhưng giá trị của ADC phải 20 phút sau mới hiển thị, khi thay đổi adc= biến trở cũng vậy hơn 20 phút sau nó mới thay đổi giá trị hiển thị trên màn hình LCD. trên proteus vẫn chạy bình thương mình ko thể khắc phục được mong các thánh giúp đỡ chút.
#include "Lcd_Main.h" #include "lcd.h" void main() { setup_adc_ports(sAN0|Vss_Vdd);// thiet lap chan ao lam chan nhân adc di?n ap tham chiêu vss-vdd setup_adc(adc_clock_internal);// xung lay mau = xung clock disable_interrupts(int_ad); setup_spi(SPI_SS_DISABLED); setup_wdt(WDT_OFF); setup_timer_0(RTCC_INTERNAL); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); //Setup_Oscillator parameter not selected from Intr Oscillator Config tab // TODO: USER CODE!! unsigned char str[20]; unsigned int16 Value; LCD_Init(); sprintf(str," DEMO ADC"); delay_ms(10); LCD_Puts(str); delay_ms(1000); LCD_Clear(); while(TRUE) { set_adc_channel(0);//kenh doc adc delay_us(20); Value=read_adc(adc_start_and_read); LCD_Gotoxy(0,1); sprintf(str,"Gia Tri: %4lu",Value); LCD_Puts(str); delay_ms(1000); } trên đây là code của e. do lần đầu sử dụng diễn đàn mong các thánh thông cảm và giúp đỡ nhiều |
|
|