سلام به همه دوستان گـــــــل
oo:
امیدوارم حال همه خوب باشه...!
یه سوال داشتم ممنون میشم کسی جواب بده...!
راستش من با کدویژن یه برنامه ای رو برای میکرو نوشتم که پایه A.3 میکرو رو بخونه و به 0 تا 1023 تبدیل کنه....!
این برنامه توی پرتئوس بخوبی کار میکنه ولی توی واقعیت همش صفر رو نشون میده....!
مشکلش چیه؟؟؟
وقفه هم الکی گذاشتم که بعدا ازش استفاده کنم....!
فعلا کاری بهش نداریم....!
توی وایل هم خواستم بیکار نباشه گفتم اگه فلان کلید رو زدم کد رو دوباره اجرا کن...!
حالا بزرگان بگید مشکلش چیه؟؟؟!
ممنون

امیدوارم حال همه خوب باشه...!
یه سوال داشتم ممنون میشم کسی جواب بده...!
راستش من با کدویژن یه برنامه ای رو برای میکرو نوشتم که پایه A.3 میکرو رو بخونه و به 0 تا 1023 تبدیل کنه....!
این برنامه توی پرتئوس بخوبی کار میکنه ولی توی واقعیت همش صفر رو نشون میده....!
مشکلش چیه؟؟؟
کد:
#include <mega16.h> #include <delay.h> #include <alcd.h> #include <stdio.h> interrupt [EXT_INT0] void ext_int0_isr(void) { } unsigned int read_adc(void) { ADMUX=(1<<REFS0)|(0<<REFS1); ADCSRA=0B111;// فرکانس ADCSRA|=(1<<ADEN); ADMUX|= 0b011; ADCSRA|=(1<<ADSC); while(ADCSRA & (1<<ADIF)); ADCSRA=(0<<ADIF); return ADCW; } void main(void) { char b[16]; DDRD.5=0; PORTD.5=1; // وقفه GICR|=0x40; MCUCR=0x02; MCUCSR=0x00; GIFR=0x40; #asm("sei") lcd_init(16); lcd_putsf("THE NAME OF GOD"); delay_ms(1000); lcd_clear(); lcd_putsf("start"); delay_ms(1000); alio: lcd_clear(); read_adc(); delay_ms(1000); sprintf(b,"ADC= %d ",ADCW); lcd_puts(b); lcd_gotoxy(0,0); delay_ms(1000); while (1) { if (PIND.5==0) goto alio; } }
فعلا کاری بهش نداریم....!
توی وایل هم خواستم بیکار نباشه گفتم اگه فلان کلید رو زدم کد رو دوباره اجرا کن...!
حالا بزرگان بگید مشکلش چیه؟؟؟!
ممنون
دیدگاه