ايران ويج

نسخه‌ی کامل: lcd 16*2
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام من یه برنامه دارم ولی وقتی وصلش میکنم کار نمیکنه ال سیدی هم سالمه
برنامه از هلپ بسکام برداشتم میخوام وقتی میکرو روشن شد یه متنی نمایش داده شهSad
برنامه و سخت افزار رو بذار ببینیم چکار کردی
اصل مشکل من اتصال پایه هاس تا به الان نتونستم با ال سیدی کار کنم
کد php:
$regfile "m16def.dat"       ' specify the used micro

$crystal = 4000000                                          ' 
used crystal frequency

$baud 
19200                                               ' use baud rate

$hwstack = 32                                               ' 
default use 32 for the hardware stack

$swstack 
10                                               ' default use 10 for the SW stack

$framesize = 40                                             ' 
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 Portb.5 Rs Portb.6

Config Lcdpin 
Pin Db4 Porta.4 Db5 Porta.5 Db6 Porta.6 Db7 Porta.7 Portc.7 Rs Portc.6






Dim A 
As Byte

Config Lcd 
16 2 N








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 1 To 10

  Shiftlcd Right                                           
'shift the text to the right

  Wait 1                                                   '
wait a moment

Next



For 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

End 
(۰۸-شهریور-۱۳۹۲, ۱۵:۴۹:۴۲)msjia نوشته است: [ -> ]اصل مشکل من اتصال پایه هاس تا به الان نتونستم با ال سیدی کار کنم

ببینین این کمکتون میکنه

http://www.iranled.com/forum/thread-24305-page-2.html
(۰۸-شهریور-۱۳۹۲, ۱۵:۴۹:۴۲)msjia نوشته است: [ -> ]اصل مشکل من اتصال پایه هاس تا به الان نتونستم با ال سیدی کار کنم

سلام
شماتیک مداری رو که راه اندازی کردید پیوست کنید
یا فایل شبیه ساز داشتید بزارید بررسی بشه
ممنون از دوستان بالاخره تونستم راش بندازم
سلام

من موندم اون همه با ال سی دی کار کردم اما الان این برنامه ساده هم جواب نمیده!!

[attachment=11261]
(۰۶-فروردین-۱۳۹۳, ۲۳:۱۷:۰۵)Ambassador نوشته است: [ -> ]سلام

من موندم اون همه با ال سی دی کار کردم اما الان این برنامه ساده هم جواب نمیده!!
اگر میکروتون نوع a هست به هیچ وجه بدون کریستال جواب نمیده چون میکرو زورش به فرکانس مورد نیاز ال سی دی نمی رسه و نمی تون روشنش کنه
شما یه کریستال 12 مگ وصل کنین به مدار و 4 تا فیوز بیت رو 1 کنین(پروگرامر هاتل) باید روشن بشه
سلام
مسلم جان من تست کردم موردی نداشت
فقط برنامه چندتا ایراد کوچیک داره
وقتی از دستور home استفاده میشه، مکان نما در مختصات 1,1 قرار میگیره
و نیازی نیست که دوباره از دستور locate استفاده بشه
بعد اینکه برای راه اندازی lcd ، خروجی کردن پورت درست نیست
config i/o فقط برای مواقعی هست که بخواهیم خروجی بدیم یا ورودی بگیریم که برای lcd با config lcd این حالت خودش ایجاد میشه
دستور cls هم نباید گذاشته بشه، چون دستورات و بدون حلقه نوشتید، اول کاری این دستور اجرا میشه و باعث میشه که lcd درست نشون نده

برنامه تصحیح شدش بصورت زیر میشه؛
کد:
$regfile = "m16def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Pind.2 , Db5 = Pind.3 , Db6 = Pind.4 , Db7 = Pind.5 , Rs = Pind.0 , E = Pind.1
Cursor Off
Locate 1 , 1
Lcd "25"
End

موفق باشید.
سلام

ممنون از هادی جان و امید جان

این کد هم نشد برم یه کریستال بزارم ببینم درست میشه . و فکر نکنم مشکل از ال سی باشه.
سلام.
من مکیرو های AVR نوع A دارم و تاحالا هیچ نیازی به کریستال و اینا نداشته و بدون مشکل کار کرده.
من یه بار همچین مشکلی که داشتم ، برنامه سالم بود چون تو پروئوس جواب میداد ، میکرو هم درست پروگرام شده بود ، فیوز بیت ها همه درست بودن ، اما مدارو که میبستم کار نمیکرد ، بعده تقریباً یه 7-8 ساعت الافی ( این داستان اون زمانیه که آماتور بودم ) فهمیدم که 2تا از سیم های برد بوردم وقتی که تو سوراخش بود به هم اتصال داشتن Biggrin
بعد ک اتصالشونو بر طرف کردم درست شد Biggrin
صفحه‌ها: 1 2