ايران ويج

نسخه‌ی کامل: اشکال در نمایش LCD
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10
یک فروند LCD 20 * 40 دارم
برنامه زیر را براش نوشتم
کد:
'test lcd 20* 4'
'''''''' configration''''''''''
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7_
, Rs = Pinb.2 , E = Pinb.3

Config Lcd = 20 * 4

Do
Cls
Lcd "joker "
Waitms 400
Loop
End
و طبق شکل زیر هم مدارش را روی بردبورد بستم ( با اضافه به اینکه پایه 31 را هم به زمین وصل کردم ( که خب این پروتئوس عقلش میرسه کلا این چیزا را نمیکشه )
[attachment=4318]
اما چیزی روی LCD نمیبینم ، و فقط در زمانهایی که ظاهرا cls فعال میشه فقط یه پرش خیلی سریع ( کم و زیاد شدن نور lcd ) دارم
مشکل از کجاست ؟
[/quote]
نقل قول: یک فروند LCD 20 * 40 دارم

اصلاً همچین چیزی هم هست؟!!!!!


اگه برنامت موردی نداشته باشه دوتا حالت بیشتر نداره:
1- پایه VEE. اگه با یه پتانسیومتر وصل شه بهتره. بعضی lcd ها اگه vee رو مستقیماً زمین کنین کار نمیکنن.
2- lcd سوخته!!!!

تذکر: شما دستور cls رو بردار.
ممنون ،
ببخشین یه 0 زیاد گذاشتم Question
20 x 4

اگه نخوام پتانسیومتر بزارم ترجیحا چه مقاومتی ( حدودا ) میشه گذاشت ؟

امیدوارم نسوخته باشه ،10 چوق پول دادم بالاش ، میدونین تو اصفهان یعنی چی Happy
نقل قول: اگه نخوام پتانسیومتر بزارم ترجیحا چه مقاومتی ( حدودا ) میشه گذاشت ؟
بین 100 تا 200 اهم !

اگه برقشو اشتباه نداده باشی نمی سوزه
(۳۰-آذر-۱۳۸۸, ۲۲:۴۷:۰۴)t3r!p3000 نوشته است: [ -> ]
نقل قول: اگه نخوام پتانسیومتر بزارم ترجیحا چه مقاومتی ( حدودا ) میشه گذاشت ؟
بین 100 تا 200 اهم !

اگه برقشو اشتباه نداده باشی نمی سوزه

من پایه های 15-16 که برای بک لایت هست را اصلا به جائی وصل نکردم ولی ماشالا lcd من چهره ای خیلی نورانی پیدا کرده Biggrin
فردا یکی دیگه میگیرم با اون تست میکنم ، دیگه بلائی نبوده سرش نیاورده باشم Confused
با شبیه ساز پروتئوس چیزی دیده میشه؟
(۰۱-دى-۱۳۸۸, ۱۰:۴۲:۱۶)iman-63 نوشته است: [ -> ]با شبیه ساز پروتئوس چیزی دیده میشه؟

توی پروتئوس درست کار میکنه
امروز 2 تا LCD دیگه گرفتم + یک آی سی atmega 32 نو
یکی از lcd ها را 20در4 از یه جایی که سالم داشت کار میکرد قرض گرفتم که مطمئن باشم و یکی هم 16 * 2 نو خریدم
روی lcd اولی که داشتم کامل روشن میشد ( بک لایتش کامل روشن بود )
روی این lcd که امروز گرفتم فقط لاین اول و دومش روش میشد ( باز هم چیزی چاپ نمیکرد)
روی lcd 2-16 هم فقط خط اول روشن میشه ( تمام لاین مشکی میشه )
گفتم شاید ic سوخته ، اون را هم یکی نو انداختم روش و از اول پروگرام کردم ( برای 4 و 2 جداگونه دستورconfig lcd = 16 * 2 , config lcd=20* 40 _
دیگه جدی جدی نمیدونم مشکل از چیه Amaze

90% احتمالا مشکل از باسکام ممکنه باشه ؟
ایا قبل از کامپایل باید تغییری تو تنظیمات پروگرامر باسکام بدم ؟
آیا ممکنه مشکلات از تنظیمات پیش فرض باشه ؟
باسکام را هم کلا عوض کردم ( 1.11.9.5 ) استفاده کردم ولی باز هم مشکل داره !!!!
سمپل خودش هم کامپایل کردم ( پایه ها الان روی این مثال ست شدن )
حتی مقادیر کریستال داخلیش را هم عوض کردم ، :((
دیگه چیکار کنم :)
به چه ساز این avr برقصم :)

کد:
'-----------------------------------------------------------------------------------------
'name                     : lcd.bas
'copyright                : (c) 1995-2008, MCS Electronics
'purpose                  : demo: LCD, CLS, LOWERLINE, SHIFTLCD, SHIFTCURSOR, HOME
'                           CURSOR, DISPLAY
'micro                    : Mega8515
'suited for demo          : yes
'commercial addon needed  : no
'-----------------------------------------------------------------------------------------

$regfile = "m32def.dat"
$crystal = 100000                                           ' used crystal frequency
                                          ' default use 40 for the frame space


''$sim
'REMOVE the above command for the real program !!
'$sim is used for faster simulation


'note : tested in PIN mode with 4-bit

Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6
'Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6
'These settings are for the STK200 in PIN mode
'Connect only DB4 to DB7 of the LCD to the LCD connector of the STK D4-D7
'Connect the E-line of the LCD to A15 (PORTC.7) and NOT to the E line of the LCD connector
'Connect the RS, V0, GND and =5V of the LCD to the STK LCD connector

Rem with the config lcdpin statement you can override the compiler settings


Dim A As Byte
                                      'configure lcd screen


'other options are 16 * 4 and 20 * 4, 20 * 2 , 16 * 1a
'When you dont include this option 16 * 2 is assumed
'16 * 1a is intended for 16 character displays with split addresses over 2 lines

'$LCD = address will turn LCD into 8-bit databus mode
'       use this with uP with external RAM and/or ROM
'       because it aint need the port pins !

Cls                                                         'clear the LCD display
Lcd "Hello world."                                          'display this at the top line
Wait 1
Lowerline                                                   'select the lower line
Wait 1
Lcd "Shift this."                                           'display this at the lower line
Wait 1
For A = 1 To 10
   Shiftlcd Right                                           'shift the text to the right
   Wait 1                                                   'wait a moment
Next

For A = 1 To 10
   Shiftlcd Left                                            'shift the text to the left
   Wait 1                                                   'wait a moment
Next

Locate 2 , 1                                                'set cursor position
Lcd "*"                                                     'display this
Wait 1                                                      'wait a moment

Shiftcursor Right                                           'shift the cursor
Lcd "@"                                                     'display this
Wait 1                                                      'wait a moment

Home Upper                                                  'select line 1 and return home
Lcd "Replaced."                                             'replace the text
Wait 1                                                      'wait a moment

Cursor Off Noblink                                          'hide cursor
Wait 1                                                      'wait a moment
Cursor On Blink                                             'show cursor
Wait 1                                                      'wait a moment
Display Off                                                 'turn display off
Wait 1                                                      'wait a moment
Display On                                                  'turn display on
'-----------------NEW support for 4-line LCD------
Thirdline
Lcd "Line 3"
Fourthline
Lcd "Line 4"
Home Third                                                  'goto home on line three
Home Fourth
Home F                                                      'first letteer also works
Locate 4 , 1 : Lcd "Line 4"
Wait 1

'Now lets build a special character
'the first number is the characternumber (0-7)
'The other numbers are the rowvalues
'Use the LCD tool to insert this line

Deflcdchar 1 , 225 , 227 , 226 , 226 , 226 , 242 , 234 , 228       ' replace ? with number (0-7)
Deflcdchar 0 , 240 , 224 , 224 , 255 , 254 , 252 , 248 , 240       ' replace ? with number (0-7)
Cls                                                         'select data RAM
Rem it is important that a CLS is following the deflcdchar statements because it will set the controller back in datamode
Lcd Chr(0) ; Chr(1)                                         'print the special character

'----------------- Now use an internal routine ------------
_temp1 = 1                                                  'value into ACC
!rCall _write_lcd                                           'put it on LCD

'or use this instead
Lcddata 65                                                  'data
Lcdcmd 1                                                    ' control

End
من هم قبلانا یه همچین مشکلی با کمپایلر داشتم که وقتی عوضش کردم درست شد.
اما مال شما بعید میدونم از کمپایلر باشه.

یه بار دیگه اتصالاتو تست کن. اگه هم از port c استفاده میکنی حتماً jtag رو غیر فعال کن.
(۰۱-دى-۱۳۸۸, ۱۵:۵۴:۲۴)iman-63 نوشته است: [ -> ]من هم قبلانا یه همچین مشکلی با کمپایلر داشتم که وقتی عوضش کردم درست شد.
اما مال شما بعید میدونم از کمپایلر باشه.

یه بار دیگه اتصالاتو تست کن. اگه هم از port c استفاده میکنی حتماً jtag رو غیر فعال کن.
اتفاقا چون احتمال jtag دادم کلا روی پورت b گذاشتم کار کنم ( البته jtag را هم دیزیبل کردم )
کامپایلر را هم کلا عوض کردم ولی !
اتصالات را هم فکر کنم برای بار 5م از اول باز کردم و بستم.

پیوست :
فکر کنم باید برم حموم غسل کنم Biggrin

نوع آی سی من atmega 32 هست ( نوع معمولی نه L ) ممکنه مربوط به این باشه ؟
یه فایل هگز برات گذاشتم. فقط پرگرمش کن ببین کار میکنه.
پایه ها رو هم حتماً حتماً حتماً همون طوری که توی HELP نوشتم ببند.
روی همون پورت B کار میکنه.
بعد از پرگرام هم حتماً پروگرام رو خارج کن.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10