با سلام
من یه مشکلی با adc داخلی میکرو و (مدل 034007)touch screen دارم.حتما همه اون مدار معروف صفحه لمسی که تاپیکش هم تو فروم خودمون بود یادتون هست.من اون مدار رو طبق نقشه و برنامه داده شده بستم.اما چند مشکل هست:
1-چند دفعه اول مختصات هر نقطه از touch screenبصورت زیر روی lcd نمایش داده می شد:
X=233 (با یه نوسان 5 تا 10 واحد در نمایش نقاط مختلف)
Y=0
یعنی مختصات Y که اصلا توسط میکرو دریافت نمی شد و برای X هم در همه نقاط تقریبا عدد ثابتی بود اما نکته جالب در این بود که وقتی دستم رو به پین های کانکتور touch screen می زدم مختصات X ,Y هر دو تغییر می کردو بر خلاف حالت قبل Y هم روی lcd با مقدار نشان داده میشد.تا اینجا به نظر شما مشکل از چیه؟
2-بعد از چند دفعه نمی دونم چه اتفاقی افتاد که وقتی اتصالات touch screen رو هم قطع میکردم فقط مقدار ثابت X=255,Y=127 نمایش داده میشد.(تاچ اسکرین را از مدار جدا کردم)یعنی ممکنه به adc میکرو آسیب رسیده باشه؟
راهی برای تست کردن میکرو و تاچ اسکرین وجود داره که بشه فهمید سالمن؟
برنام و یک سایت config تاچ اسکرین که از اونها استفاده کردم به این صورته: http://www.elect.ir/post-242.aspx
من یه مشکلی با adc داخلی میکرو و (مدل 034007)touch screen دارم.حتما همه اون مدار معروف صفحه لمسی که تاپیکش هم تو فروم خودمون بود یادتون هست.من اون مدار رو طبق نقشه و برنامه داده شده بستم.اما چند مشکل هست:
1-چند دفعه اول مختصات هر نقطه از touch screenبصورت زیر روی lcd نمایش داده می شد:
X=233 (با یه نوسان 5 تا 10 واحد در نمایش نقاط مختلف)
Y=0
یعنی مختصات Y که اصلا توسط میکرو دریافت نمی شد و برای X هم در همه نقاط تقریبا عدد ثابتی بود اما نکته جالب در این بود که وقتی دستم رو به پین های کانکتور touch screen می زدم مختصات X ,Y هر دو تغییر می کردو بر خلاف حالت قبل Y هم روی lcd با مقدار نشان داده میشد.تا اینجا به نظر شما مشکل از چیه؟
2-بعد از چند دفعه نمی دونم چه اتفاقی افتاد که وقتی اتصالات touch screen رو هم قطع میکردم فقط مقدار ثابت X=255,Y=127 نمایش داده میشد.(تاچ اسکرین را از مدار جدا کردم)یعنی ممکنه به adc میکرو آسیب رسیده باشه؟
راهی برای تست کردن میکرو و تاچ اسکرین وجود داره که بشه فهمید سالمن؟
برنام و یک سایت config تاچ اسکرین که از اونها استفاده کردم به این صورته: http://www.elect.ir/post-242.aspx
$regfile = "m32def.dat"
$crystal = 12000000
Config Porta = Input
Config Portb = Output
Config Portc = Output
Config Portd = Output
Dim X As Word , Y As Word
$lib "glcdks108.lbx"
Config Adc = Single , Prescaler = Auto , Reference = Internal
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Cd = 0 , Rd = 1 , Enable = 2 , Ce2 = 3 , Ce = 4 , Reset = 5
Setfont Font8x8
Stop Adc
Start Adc
X = 0
Y = 0
Do
Config Porta.0 = Output
Config Porta.1 = Input
Config Porta.2 = Output
Config Porta.3 = Input
Set Porta.0
Reset Porta.1
Reset Porta.2
Reset Porta.3
X = Getadc(1)
X = X / 4
Config Porta.0 = Input
Config Porta.1 = Output
Config Porta.2 = Input
Config Porta.3 = Output
Reset Porta.0
Set Porta.1
Reset Porta.2
Reset Porta.3
Y = Getadc(2)
Y = Y / 8
Lcdat 1 , 1 , " "
Lcdat 2 , 1 , " "
Lcdat 1 , 1 , X
Lcdat 2 , 1 , Y
Waitms 10
Loop
End
$include"font8x8.font"
LCD طبق مدار خودم ست شده.خیلی از وقتم رو گرفته.ممنون میشم کمکم کنین$crystal = 12000000
Config Porta = Input
Config Portb = Output
Config Portc = Output
Config Portd = Output
Dim X As Word , Y As Word
$lib "glcdks108.lbx"
Config Adc = Single , Prescaler = Auto , Reference = Internal
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Cd = 0 , Rd = 1 , Enable = 2 , Ce2 = 3 , Ce = 4 , Reset = 5
Setfont Font8x8
Stop Adc
Start Adc
X = 0
Y = 0
Do
Config Porta.0 = Output
Config Porta.1 = Input
Config Porta.2 = Output
Config Porta.3 = Input
Set Porta.0
Reset Porta.1
Reset Porta.2
Reset Porta.3
X = Getadc(1)
X = X / 4
Config Porta.0 = Input
Config Porta.1 = Output
Config Porta.2 = Input
Config Porta.3 = Output
Reset Porta.0
Set Porta.1
Reset Porta.2
Reset Porta.3
Y = Getadc(2)
Y = Y / 8
Lcdat 1 , 1 , " "
Lcdat 2 , 1 , " "
Lcdat 1 , 1 , X
Lcdat 2 , 1 , Y
Waitms 10
Loop
End
$include"font8x8.font"
دیدگاه