سلام
من بالاخره تونستم اين lcd گرافيکي را راه اندازي کنم
از کمک و لطف همه دوستان متشکرم . من براي راه اندازيش از برنامه زير استفاده کردم .
مشکل من اينجا بود که نمي دونستم بايد فايل فونت نيز همراه برنامه باشد .
$regfile = "m8535.dat"
$crystal = 8000000
$lib "glcdKS108.lbx"
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 3 , Ce2 = 4 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
Cls
Setfont Font8x8
Lcdat 1 , 1 , "1234567890123456"
Wait 1
End
$include "font8x8.font"
براي فارسي نويسي بايد چي کار کنيم . من چند تا حرف را با استفاده ازfont editor درست کردم ولي اصلا خوشگل در نيامد . کسي فايل font فارسي نداره .
در ضمن براي چه به اين نوع LCD ها SED مي گويند .
برنامه bascom 1.11.8.1 را بصورت کامل کسي نداره . من دموي آن را گرفته ام که حداکثر 4 کيلو بايت برنامه را جواب ميدهد . بيشتر از آن خطاي 999 داده و 79 يورو براي خريد آن تقاضا مي کند .
با تشکر از همه دوستان خوب و عزيز
خوب دوست عزيز اين برنامه را كه من همان روز اول برات گذاشتم.
مشكلش كجا بود كه نتونسته بودي راه اندازيش كني؟
سلام
مشکل من اینجا بود که برای نوشتن بر روی LCD باید فونت مورد استفاده نیز در کنار برنامه موجود باشد در غیر این صورت خطا می دهد . ( در این مورد من چیزی نمی دونستم )
من فکر می کردم همچون LCD متنی معمولی نیاز به این چیز ها نیست
سلام.
به هر حال از اينكه بالاخره موفق شدي خوشحالم.
با عرض سلام خدمت همه دوستان خوب و عزيزم و با تشکر از مدريت سايت هادي آقا
من بعد از بدبختي هاي بسياري که براي راه اندازي LCD گرافيکي داشتم به اين فکر افتادم که يک اسيلوسکوپ يک کاناله باهاش درست کنم و برنامه زير را نوشتم .
مشکل من اينجاست که سرعت عمل ميکرو خيلي پايين آمده است و براي يک اسکن کامل صفحه نمايش در بهترين حالت حدود 400میلی ثانیه زمان نياز دارد که خوب خيلي بالا است .
از کريستال 8 مگا هرتز داخلي ميکرو استفاده کرده ام و هيچگونه تاخيري نيز در برنامه نگذاشته ام .
به نظر شما من بايد چي کار کنم .
$regfile = "m8535.dat"
$crystal = 8000000
$lib "glcdKS108.lbx"
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 3 , Ce2 = 4 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
Setfont Font8x8
Cls
Config Adc = Single , Prescaler = Auto
Dim X As Byte , A As Word , A1 As Byte , B As Byte , X1 As Byte , Av As Single
Start Adc
Line(0 , 54) -(127 , 54) , 1
Line(0 , 0) -(0 , 54) , 1
Line(127 , 0) -(127 , 54) , 1
Line(0 , 0) -(127 , 0) , 1
Do
For X = 1 To 126
A = Getadc(0)
Av = A / 204.56
A = A / 19
If A > 53 Then :
Line(x , 1) -(x , 53) , 0
Goto Ali
End If
If 27 > A Then :
B = 27 - A
A = 27 + B
Goto Ant
End If
If A > 27then :
B = A - 27
A = 27 - B
Goto Ant
End If
Ant:
Decr A
Line(x , 1) -(x , 53) , 0
Pset X , A , 1
X1 = X - 1
Line(x1 , A1 ) -(x , A) , 1
A1 = A
Ali:
Next
Lcdat 8 , 1 , "U=" ; Av ; "V "
Loop
End
$include "font8x8.font"
از لطف همه شما متشکرم .
سلام
من بازم نتونستم راش بندازم توی config ، ال سی دی. Dataport رو مثلا می ذاریم porta و db0-7 رو به پایه های porta می بندیم. خوب؟
control port رو می ذاریم portd حالا بنا به دو عکس پایین که یکی پایه های atmega32 است و دومی پایه های lcd کدوم رو به کدوم وصل کنم و حتما(بی زحمت) خط کانفیگ رو اینجا تماما بنویسید.
در ضمن فایل font8x8.font رو هم آپلود کنید که بگیرم.
پایه های LCD
پایه های mega32
والا من کار نکردم با بسکام ولی فکر کنم کد ها رو گذاشتن
نقل قول: مشکل من اينجاست که سرعت عمل ميکرو خيلي پايين آمده است و براي يک اسکن کامل صفحه نمايش در بهترين حالت حدود 400میلی ثانیه زمان نياز دارد که خوب خيلي بالا است .
تازه سرعت تبدیل ADC هم پایینه دیگه کار با LCD گرافیکی و اونم بسکام حتما سرعترو می یاره پایین باید یه بار کامل نمونه گیری کنی بعد که تموم شد بکشی روی صفحه اینطری سرعت یکم بهتر می شه ولی به adc و پروسسور بهتری نیاز داری برای این کار
سلام
ممنون داره یک کارهایی می شه
آقا فرهاد فایل فونت را می توانید در مثالهای BASCOM 1.11.8.1 در پوشه مثالها قمست LCD گرافیکی پیدا کنید .
همچنین اگر محل نصب بسکام را تغییر نداده اید به محل زیر رفته و فایل مورد نظر را با بسکام اجرا و در میکرو پروگرام کرده ( مثال مربوط به این نوع LCD است ).
D:\Program Files\MCS Electronics\BASCOM-AVR\SAMPLES\Lcdgraph\KS108.bas
پیروز باشید :roll:
salam be hameye dustan man emruz varede site shodam
ye soale dar morede vasle lcd graphice be avr dashtam
va oon enke chera lcd graphice ba atmega16 kar nemekoone 8O
برای وصل کردنش که توی همین جا زیاد بحث شده و این که چرا با atmega8 کار نمی کنه به خاطر اینه که درست وصلش نکردی یا برنامه ای که نوشتی اشتباه :wink:
اگه از پورت c را به LCD وصل کرده باشی به دلیل آنکه Jtag در ATmega 16 به صورت پیش فرض فعال است پس از پورت c نمی تونی استفاده کنی .
به فیوز بیتها برو و این قابلیت را غیر فعال کن .