ايران ويج

نسخه‌ی کامل: راهنمایی در نوشتن برنامه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
باعرض سلام خدمت دوستان
اصل قضیه اینکه من یه تابلوی64 *8 ساختم که مدارشو از سایت اقای لاچینی گرفتم ومشکل اینجاست که من ال ای دی هاشو برعکس نصب کردم یعنی کاتدهاشو به عنوان ستون واند هاشونو به عنوان سطر وصل کردم واز اونجایی که در برنامه نویسی اماتور تشریف دارم از اساتید تقاضای کمک دارم
سلام
میتونی با یه بار نات گرفتن از برنامه حلش کنی
اگه سورس برنامتو بزاری میگم چی کار کنی
$regfile = "m16def.dat"
$crystal = 1000000

Config Porta = Output
Config Portb = Output
Config Portd = Output

Dim Scan As Byte
Dim I As Word
Dim Refresh As Byte
Dim T As Byte
Dim B As Byte
Dim D As Word
Dim U As Word
Dim S As Word
Dim M As Word
Dim E As Word
Dim A As Word

Do
For S = 0 To 240
E = S + 7
For Refresh = 1 To 5
Scan = &H01
For I = S To E

For B = 0 To 7

D = B * 8
D = D + I
Portd = Lookup(d , Text00)

Portb = 2 ^ B
Portb = 0

Next B

Porta = Scan
Rotate Scan , Left , 1
Waitms 2
Porta = 0

Next I
Next Refresh
Next S

Loop
End 'end program

Text00:
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H07 , &H08 , &H08 , &H08 , &H14 , &H14 , &H08 'Farsi character
Data &H08 , &H08 , &H08 , &H0A , &H0A , &H08 , &H08 , &H30 'Farsi character
Data &H08 , &H08 , &H08 , &H28 , &H48 , &H48 , &H28 , &H10 'Farsi character
Data &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H24 , &H18 'Farsi character
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &HF0 'Farsi character
Data &H00 , &H00 , &H00 , &HF8 , &H00 , &H00 , &H00 , &H00 'Farsi character
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 'Farsi character
Data &H00 , &H0C , &H02 , &H01 , &H09 , &H01 , &H02 , &H1C 'Farsi character
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H14 , &H14 , &H08 'Farsi character
Data &H08 , &H08 , &H08 , &H28 , &H48 , &H48 , &H28 , &H10 'Farsi character
Data &H00 , &H00 , &H00 , &H01 , &H01 , &H02 , &H24 , &H18 'Farsi character
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &HF0 'Farsi character
Data &H00 , &H00 , &H00 , &HF8 , &H00 , &H00 , &H00 , &H00 'Farsi character
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 'Farsi character
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H38 , &H28 , &H18 'Farsi character
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &HF0 'Farsi character
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &HF0 'Farsi character
Data &H00 , &H00 , &H00 , &HF8 , &H00 , &H00 , &H00 , &H00 'Farsi character
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 'Farsi character
Data &H00 , &H07 , &H08 , &H08 , &H08 , &H14 , &H14 , &H08 'Farsi character
Data &H08 , &H08 , &H08 , &H10 , &H08 , &H10 , &H08 , &H10 'Farsi character
Data &H08 , &H08 , &H08 , &H08 , &H0A , &H08 , &H08 , &H30 'Farsi character
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
[align=right]
چه طوری نات بگیرم؟
به جایه این دستور
Portd = Lookup(d , Text00)
اینو بنویس و یه متغیر اضافی مثل K تعریف کن
k= lookup(d,text00)
portd=not k
اینو امتحان کن و نتیجه رو بگو
نات رو هم که فهمیدی چه جوری میگیرن

راستی وقتی برنامه ای که گذاشتین رو اجرا میکنی چیزی نمایش میده؟
آدرس لینکی رو که برنامه رو برداشتی هم بدی خوبه
بهترین راهش همین NOT کردن ایسی لچ هست چون وگرنه باید فنت و همه چیزها رو دست کاری کنی.

ایسیش هم 74hc540 هست که 200-300 تومان هم بیشتر قیمت نداره .البته اگر افقی و عمودی رو رعایت نکنی حروف پشت هم قرار نمیگیره و مثلا از بالا به پایین حروف رو مینویسه.
خیلی ممنونم از جواب تون
من تغییرات رو اعمال کردم وبرنامه به شکل زیر در امد حالا شما ببنید اشکالی نداره



اینم لینکش که گفته بودید
http://www.hlachini.com/Projects/LED-Sig...-Farsi.htm
$regfile = "m16def.dat"
$crystal = 1000000

Config Porta = Output
Config Portb = Output
Config Portd = Output

Dim Scan As Byte
Dim I As Word
Dim Refresh As Byte
Dim T As Byte
Dim B As Byte
Dim K As Byte
Dim D As Word
Dim U As Word
Dim S As Word
Dim M As Word
Dim E As Word
Dim A As Word

Do
For S = 0 To 240
E = S + 7
For Refresh = 1 To 5
Scan = &H01
For I = S To E

For B = 0 To 7

D = B * 8
D = D + I
K = Lookup(d , Text00)
portd=not k

Portb = 2 ^ B
Portb = 0

Next B

Porta = Scan
Rotate Scan , Left , 1
Waitms 2
Porta = 0

Next I
Next Refresh
Next S

Loop
End
من این برنامه رو روی میکرو پروگرم کردم هیچ اتفاقی نیفتاد وهیچ کدوم از ال ای دی ها روشن نشد
راستی این قضییه ای سی چیه
اگر افقی و عمودی رو رعایت نکنی حروف پشت هم قرار نمیگیره و مثلا از بالا به پایین حروف رو مینویسه یعنی چطوری میتونید بیشتر توضیح بدید
من میگم بهتره مدارتونو رو تو پروتوس شبیه سازی کنین تا با امتحان کردن چن مورد روشو پیدا کنیم
راستی تو برنامه اولی هم هیچ کدوم از ال ای دی ها روشن نمی شد؟
سلام.

1-حتما در جریان هستید که زمانی که برای مثلا یک ماتریس 8*8 برای یکی از حروف فنت طراحی میکنند مشخص میشود در کدام سطر و ستون باید LED ما روشن شود حال اگر جهت نصب LED های ما مثلا 90 درجه فرق کند حروف از بالا به پایین نمایش داده میشود و مثلا اگر 180 درجه فرق کند حروف وارون شده و جهت نمایش نیز برعکس میشود.

2-شما اصلا نیازی نیست که برنامه رو تغییر بدی فقط باید خروجی ایسی درایورت و لچها رو برعکس کنی(چون اند و کاتد رو برعکس وصل کردی) که برای این کار از ایسی 74hc540 میتونی استفاده کنی که 8 تا هم ورودی داره.

3-دلیل اینکه هیچ LED روشن نمیشه اینه که اند و کاتد LED ها رو برعکس زدی و چون LED لامپ نیست پس روی این قضیه یه کم حساس عمل میکنه.Biggrin(تیکه اخرشو شوخی کردم و میدونم میدونستی فقط به خاطر سوالت یاداوری کردم)
با سلام خدمت دوستان
متاسفانه پروتوس روندارم
فقط باید خروجی ایسی درایورت و لچها رو برعکس کنی_
میخواستم بدونم منظورتون از درایور همون ای سی جریان که برای سطرها استفاده شده و در این صورت چه چیزی باید جایگزین کنم
وبا توجه به این که تابلو به هشت لچ احتیاج داره من اگه 2 عدد ای سی که شما میگید تهیه کنم میشه تست کرد یا جواب نمیده
سلام.

ایسی درایورت احتمالا با پیشوند ULN باید باشه.

آره با دوتا هم میشه یکی همون ایسی درایور رو باید نات کنی و یکی از ایسی های لچ که اینجوری یکی از ماتریسها حروف مورد نظر رو نمایش میده.
با سلام
یعنی
ULN2803
برای نات مناسبه یا نه؟
راستی ای سی لچی که گفتده بودید رو چند جا زنگ زدم نداشتند البته شهرستانیم

حالا نمیشه با برنامه کمکم کنید
صفحه‌ها: 1 2