با درود خسته نباشید
توی ویزارد ccs میشه دقت 16 بیت برای میکرو هایی که adc ده بیتی دارند انتخاب کرد
من این کارو کردمدیدم که واقعا 16 بیت جواب میده .
حالا تو این موندم که روش کد نویسی اون چی بوده ؟؟؟ pic18f452 که adc10bit داره ؟؟؟
توی ویزارد ccs میشه دقت 16 بیت برای میکرو هایی که adc ده بیتی دارند انتخاب کرد
من این کارو کردمدیدم که واقعا 16 بیت جواب میده .
کد:
[LEFT]#include <adc16bit test.h> #include <18F452.h> #device ADC=16 #FUSES NOWDT //No Watch Dog Timer #FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale #FUSES NOBROWNOUT //No brownout reset #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #use delay(crystal=20000000) #define LCD_RS_PIN PIN_C0 #define LCD_RW_PIN PIN_C1 #define LCD_ENABLE_PIN PIN_C2 #define LCD_DATA4 PIN_C3 #define LCD_DATA5 PIN_C4 #define LCD_DATA6 PIN_C5 #define LCD_DATA7 PIN_C6 #include <lcd.c> float adc; void main() { setup_adc_ports(ALL_ANALOG); output_c(0xff); setup_adc( ADC_CLOCK_INTERNAL ); setup_adc_ports( ALL_ANALOG ); lcd_init(); while(TRUE) { set_adc_channel(0); delay_ms(10); adc=read_adc(); lcd_gotoxy(1,1); printf(lcd_putc,"V:%5.0f ",adc); } }[/LEFT]
دیدگاه