سلام
من برای تاچ برنامه زیرو نوشتم
[/quote]
و شماتیک هم بصورت زیر می باشد :

الان وقتی که هیچ نقطه ای رو تاچ نکردیم هم یه مقداری رو نشون می ده
لطفا کمکم کنید
با تشکر
راستی من با اهم متر مقاومت بین X- و X+ رو گرفتم حدود 400 اهم بود
و بین Y_ و Y+ حدود 500 اهم بود
در حالت عادی که هیچ نقطه ای رو تاچ نکردیم اینها نباید بی نهایت باشن؟؟
من برای تاچ برنامه زیرو نوشتم
کد:
#include <mega16a.h> #include <stdlib.h> #include <delay.h> #include <alcd.h> unsigned int x,y; unsigned char x1[32],y1[32],j; unsigned int adc_data; #define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR)) interrupt [ADC_INT] void adc_isr(void) { adc_data=ADCW; } unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | ADC_VREF_TYPE; delay_us(10); #asm in r30,mcucr cbr r30,__sm_mask sbr r30,__se_bit | __sm_adc_noise_red out mcucr,r30 sleep cbr r30,__se_bit out mcucr,r30 #endasm return adc_data; } unsigned int xpos (void) { unsigned int i=0,l=0; DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (1<<DDA3) | (0<<DDA2) | (1<<DDA1) | (0<<DDA0); PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (1<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); for(j=1;j<11;j++) { l=read_adc(2); delay_ms(5); i=(i+l)/j; } return i; } unsigned int ypos (void) { unsigned int q=0,w=0; DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (1<<DDA2) | (0<<DDA1) | (1<<DDA0); PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (1<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); for(j=1;j<11;j++) { q=read_adc(3); delay_ms(5); w=(w+q)/j; } return w; } void main(void) { ACSR=(1<<ACD); // ADC initialization // ADC Clock frequency: 62.500 kHz // ADC Voltage Reference: AVCC pin // ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE; ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (1<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); SFIOR=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0); lcd_init(16); #asm("sei") while (1) { lcd_clear(); x=xpos(); y=ypos(); itoa(x,x1); itoa(y,y1); lcd_gotoxy(0,0); lcd_puts(x1); lcd_gotoxy(0,1); lcd_puts(y1); delay_ms(250); } }
و شماتیک هم بصورت زیر می باشد :

الان وقتی که هیچ نقطه ای رو تاچ نکردیم هم یه مقداری رو نشون می ده
لطفا کمکم کنید
با تشکر
راستی من با اهم متر مقاومت بین X- و X+ رو گرفتم حدود 400 اهم بود
و بین Y_ و Y+ حدود 500 اهم بود
در حالت عادی که هیچ نقطه ای رو تاچ نکردیم اینها نباید بی نهایت باشن؟؟
دیدگاه