PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : توضیح این برنامه



M3R
12-08-2009, 15:59
با سلام.
من این برنامه رو از اینترنت گرفتم که رو lcd یه خط رو نشون میده که بالا و پایین میشه.

$regfile = "2313def.dat"
$crystal = 4000000
$sim
Config Portd = Output
Dim Mbar As Byte

Cursor Off

Deflcdchar 0 , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 6
Deflcdchar 1 , 32 , 32 , 32 , 32 , 32 , 32 , 6 , 6
Deflcdchar 2 , 32 , 32 , 32 , 32 , 32 , 6 , 6 , 6
Deflcdchar 3 , 32 , 32 , 32 , 32 , 6 , 6 , 6 , 6
Deflcdchar 4 , 32 , 32 , 32 , 6 , 6 , 6 , 6 , 6
Deflcdchar 5 , 32 , 32 , 6 , 6 , 6 , 6 , 6 , 6
Deflcdchar 6 , 32 , 6 , 6 , 6 , 6 , 6 , 6 , 6
Deflcdchar 7 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6

Cls

Do
Portd = 255
Locate 1 , 16
Lcd " "
Waitms 100
For Mbar = 0 To 7 Step 1
Locate 1 , 16
Lcd Chr(mbar)
Waitms 100
Next Mbar
For Mbar = 6 To 0 Step -1
Locate 1 , 16
Lcd Chr(mbar)
Waitms 100
Next Mbar
Portd = 0
Waitms 100
Loop

End

Lcd Chr(mbar) اینو نفهمیدم چطوری نشون میده؟؟؟؟؟:huh:
آخه اون کاراکترها رو که تو این ریجستر نریخته که رو lcd داره این ریجستر رو نشون میده.

1nafar
12-08-2009, 18:38
سلام
فرم کلی دستور chr به صورت زیر هست :
Deflcdchar x , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 6

lce chr(x)
شما باید توسط برنامه مخصوص کارکتر های دلخواه رو ایجاد کنید و سپس با دستور بالا اونا رو روی lcd نمایش بدید .
توی برنامه به جای عدد x از یک متغیر به نام mbar استفاده شده :
For Mbar = 0 To 7 Step 1
Locate 1 , 16
Lcd Chr(mbar)
Waitms 100
Next Mbar
در لحظه اول مقدار Mbar برابر 0 هست بنا براین ، دستور Lcd Chr(mbar) با دستور Lcd Chr(0 ) برابر هست ، با دستور Next Mbar میکرو به اول حلقه پرش میکنه ، اینبار مقدار Mbar برابر 1 میشه و حلقه تا وقتی که مقدار Mbar به 7 برسه ادامه پیدا کنه ، با رسیدن مقدار Mbar به 7 میکرو این حلقه رو ترک میکنه .
ساختار کلی for-next :
For x = a To b Step y

Next x
با این دستور یک حلقه ایجاد میشه ، در هر بار تکرار حلقه واحد y به مقدار x افزوده میشه ، a مقدار اولیه و b مقدار نهایی x است . هنگامی که x با b برابر شد cpu از حلقه خارج میشه .