سلام
من برای تاچ برنامه زیرو نوشتم
[/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 اهم بود
در حالت عادی که هیچ نقطه ای رو تاچ نکردیم اینها نباید بی نهایت باشن؟؟




دیدگاه