پاسخ : تابلو (با led دو رنگ)
سلام
من تابلو لا چینی را به تابلو 8 در 64 تبدیل کردم ستون های ماتریس را به هم بستم مثلا ستون اول همه دات ماتریس ها را به هم وصل کردم و الی اخر و انها را به پورت c میکرو وصل کردم و برای درایو سطر های از لچ استفاده کردم و انها را به پورت d وصل کردم و پایه های فعال شاز لچ ها را به پورت b وصل کردم .میکروی مورد استفاد من atmega32 است حالا من می خواهم این ها را تبدیل به دو رنگ کنم و برای این کار می خواهم از لچ استفاده کنم یا دتون با شه گفتم ستون ها رو به هم وصل کردم ... حلا من می خواهم دو تا لچ بگذارم که با فعال کردن le هر کدام ان رنگ روی تابلو روان نشون داده بشه ..... ایا به نظرتون این کار درسته ... یا غلط /؟؟؟؟؟؟
برای اینکار من باید یک میکرو سوئیچ به صورت پول اپ تعریف کنم تا با زدن ان رنگ led ها تغییر کند که با توجه به اینکه همه پورت ها b , c , d پر شده اند لذا باید از پورت a استفاده کنم که من پورت A.0 را به صورت به پول اپ به عنوان ورودی تعریف کردم و با دستور DEBOUNCE تعیین کردم که به زیر بر نامه پریده و کار مورد نظر اش را انجام دهد مثلا چون اینجا دوتا لچ داریم (برای کنترل رنگ) لذا با هر با فشار میکرو سوئیچ باید هر کدام از یکی فعال شده و دیگری غیر فعال شود ..... و اینطوری رنگ انتخاب می شود .... ولی مشکلی که اینجا پیش می اید اینه که من همه این مراحل را انجام می دهم و به وقت شبیه سازی دگمه درست عمل نمی کنه ..... البته برنامه درسته ....
من برای امتحان برنامه دگمه را در یک فابل پروتیوس دیگر باز می کنم و انجام می دهم و با فشار دگمه پورت مر بوطه ست میشه ولی وقتی اجزای تابلو را وصل می کنی درست کار نمی کنه یعنی فسار دادن میکرو سوئیچ فرقی در خروجی نداره (منظورم اینه که پورت مر بوط به LE لچ های کنترل رنگ را تغییر نمی ده )؟؟؟؟ ولی وقتی این قسمت برنامه را به صورت مجزا انجام می دی درست کار می کنه
میشه راهنمایی ام کنید ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
بعدا شما تیک اش را می گ ذارم
$regfile = "m32def.dat"
$crystal = 1000000
Config Portb = Output
Config Portc = Output
Config Portd = Output
Config Porta.4 = Output
Config Porta.5 = Output
Dim Scan As Byte
Dim I As Byte
Dim Refresh As Byte
Dim Index As Byte
Dim S As Byte
Dim M As Byte
Dim E As Byte
Dim A As Byte
Dim G As Byte
Dim J As Byte
Declare Sub Ref
Config Debounce = 30
Ddra.0 = 0 : Porta.0 = 1
Debounce Pina.0 , 0 , Ref , Sub
Do
For S = 0 To 175
E = S + 7
For Refresh = 1 To 2
Scan = &H01
For I = S To E
A = I
Portd = Lookup(a , English)
Portc = 1
Portc = 0
A = I + 8
Portd = Lookup(a , English)
Portc = 2
Portc = 0
A = I + 16
Portd = Lookup(a , English)
Portc = 4
Portc = 0
A = I + 24
Portd = Lookup(a , English)
Portc = 8
Portc = 0
A = I + 32
Portd = Lookup(a , English)
Portc = 16
Portc = 0
A = I + 40
Portd = Lookup(a , English)
Portc = 32
Portc = 0
A = I + 48
Portd = Lookup(a , English)
Portc = 64
Portc = 0
A = I + 56
Portd = Lookup(a , English)
Portc = 128
Portc = 0
Portb = Scan
Rotate Scan , Left , 1
Waitms 5
Portb = 0
Next I
Next Refresh
Next S
Loop
End
English:
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 &H7F , &H08 , &H10 , &H10 , &H0F , &H00 , &H00 , &H00
Data &H00 , &H11 , &H5F , &H01 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H7F , &H08 , &H10 , &H10 , &H0F , &H00 , &H00 , &H00
Data &H0E , &H11 , &H11 , &H11 , &H0E , &H00 , &H00 , &H00
Data &H1E , &H01 , &H06 , &H01 , &H1E , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H02 , &H15 , &H15 , &H15 , &H0F , &H00 , &H00 , &H00
Data &H1F , &H08 , &H10 , &H10 , &H08 , &H00 , &H00 , &H00
Data &H0E , &H15 , &H15 , &H15 , &H0C , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H18 , &H05 , &H05 , &H05 , &H1E , &H00 , &H00 , &H00
Data &H0E , &H11 , &H11 , &H11 , &H0E , &H00 , &H00 , &H00
Data &H1E , &H01 , &H01 , &H02 , &H1F , &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 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Sub Ref:
Set Porta.4
Set Porta.5
End Sub
اگه ممکنه یه تحلیلی هم بر برنامه بکنید ؟؟؟
متغیر S و E , I , REFRESH را توضیح دهید
اگه ممکنه بخش زیر را توضیح دهید
For S = 0 To 175
E = S + 7
For Refresh = 1 To 2
Scan = &H01
For I = S To E
سلام
من تابلو لا چینی را به تابلو 8 در 64 تبدیل کردم ستون های ماتریس را به هم بستم مثلا ستون اول همه دات ماتریس ها را به هم وصل کردم و الی اخر و انها را به پورت c میکرو وصل کردم و برای درایو سطر های از لچ استفاده کردم و انها را به پورت d وصل کردم و پایه های فعال شاز لچ ها را به پورت b وصل کردم .میکروی مورد استفاد من atmega32 است حالا من می خواهم این ها را تبدیل به دو رنگ کنم و برای این کار می خواهم از لچ استفاده کنم یا دتون با شه گفتم ستون ها رو به هم وصل کردم ... حلا من می خواهم دو تا لچ بگذارم که با فعال کردن le هر کدام ان رنگ روی تابلو روان نشون داده بشه ..... ایا به نظرتون این کار درسته ... یا غلط /؟؟؟؟؟؟
برای اینکار من باید یک میکرو سوئیچ به صورت پول اپ تعریف کنم تا با زدن ان رنگ led ها تغییر کند که با توجه به اینکه همه پورت ها b , c , d پر شده اند لذا باید از پورت a استفاده کنم که من پورت A.0 را به صورت به پول اپ به عنوان ورودی تعریف کردم و با دستور DEBOUNCE تعیین کردم که به زیر بر نامه پریده و کار مورد نظر اش را انجام دهد مثلا چون اینجا دوتا لچ داریم (برای کنترل رنگ) لذا با هر با فشار میکرو سوئیچ باید هر کدام از یکی فعال شده و دیگری غیر فعال شود ..... و اینطوری رنگ انتخاب می شود .... ولی مشکلی که اینجا پیش می اید اینه که من همه این مراحل را انجام می دهم و به وقت شبیه سازی دگمه درست عمل نمی کنه ..... البته برنامه درسته ....
من برای امتحان برنامه دگمه را در یک فابل پروتیوس دیگر باز می کنم و انجام می دهم و با فشار دگمه پورت مر بوطه ست میشه ولی وقتی اجزای تابلو را وصل می کنی درست کار نمی کنه یعنی فسار دادن میکرو سوئیچ فرقی در خروجی نداره (منظورم اینه که پورت مر بوط به LE لچ های کنترل رنگ را تغییر نمی ده )؟؟؟؟ ولی وقتی این قسمت برنامه را به صورت مجزا انجام می دی درست کار می کنه
میشه راهنمایی ام کنید ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
بعدا شما تیک اش را می گ ذارم
$regfile = "m32def.dat"
$crystal = 1000000
Config Portb = Output
Config Portc = Output
Config Portd = Output
Config Porta.4 = Output
Config Porta.5 = Output
Dim Scan As Byte
Dim I As Byte
Dim Refresh As Byte
Dim Index As Byte
Dim S As Byte
Dim M As Byte
Dim E As Byte
Dim A As Byte
Dim G As Byte
Dim J As Byte
Declare Sub Ref
Config Debounce = 30
Ddra.0 = 0 : Porta.0 = 1
Debounce Pina.0 , 0 , Ref , Sub
Do
For S = 0 To 175
E = S + 7
For Refresh = 1 To 2
Scan = &H01
For I = S To E
A = I
Portd = Lookup(a , English)
Portc = 1
Portc = 0
A = I + 8
Portd = Lookup(a , English)
Portc = 2
Portc = 0
A = I + 16
Portd = Lookup(a , English)
Portc = 4
Portc = 0
A = I + 24
Portd = Lookup(a , English)
Portc = 8
Portc = 0
A = I + 32
Portd = Lookup(a , English)
Portc = 16
Portc = 0
A = I + 40
Portd = Lookup(a , English)
Portc = 32
Portc = 0
A = I + 48
Portd = Lookup(a , English)
Portc = 64
Portc = 0
A = I + 56
Portd = Lookup(a , English)
Portc = 128
Portc = 0
Portb = Scan
Rotate Scan , Left , 1
Waitms 5
Portb = 0
Next I
Next Refresh
Next S
Loop
End
English:
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 &H7F , &H08 , &H10 , &H10 , &H0F , &H00 , &H00 , &H00
Data &H00 , &H11 , &H5F , &H01 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H7F , &H08 , &H10 , &H10 , &H0F , &H00 , &H00 , &H00
Data &H0E , &H11 , &H11 , &H11 , &H0E , &H00 , &H00 , &H00
Data &H1E , &H01 , &H06 , &H01 , &H1E , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H02 , &H15 , &H15 , &H15 , &H0F , &H00 , &H00 , &H00
Data &H1F , &H08 , &H10 , &H10 , &H08 , &H00 , &H00 , &H00
Data &H0E , &H15 , &H15 , &H15 , &H0C , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H18 , &H05 , &H05 , &H05 , &H1E , &H00 , &H00 , &H00
Data &H0E , &H11 , &H11 , &H11 , &H0E , &H00 , &H00 , &H00
Data &H1E , &H01 , &H01 , &H02 , &H1F , &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 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Sub Ref:
Set Porta.4
Set Porta.5
End Sub
اگه ممکنه یه تحلیلی هم بر برنامه بکنید ؟؟؟
متغیر S و E , I , REFRESH را توضیح دهید
اگه ممکنه بخش زیر را توضیح دهید
For S = 0 To 175
E = S + 7
For Refresh = 1 To 2
Scan = &H01
For I = S To E
دیدگاه