solamoh کاربر جدید وضعيت: آفلاين 19 ارديبهشت ماه ، 1389 تعداد ارسالها: 3 امتياز: 9 تشکر کرده: 0 تشکر شده 1 بار در 1 پست
ارسال شده در: يكشنبه، 2 خرداد ماه ، 1389 08:52:39 موضوع مطلب: تابلو 8*16 درست کار نمیکنه
سلام. من یک تابلو 8*16 درست کردم( 16 سطر و 8 ستون) که با 2 عدد دات ماتریس هست. حالتهای مختلف رو امتحان کردم. در حالت آخر هر سر و ستون یک دات رو با دو پورت کنترل کردم ( یعنی از 4 پورت آی سی برای 2 سر و 2 ستون دو دات استفاده کردم. توی پروتئوس از همون اول درست جواب میده ( همون اول یعنی یک مدار ارائه شده بزرگتر در سایت رو اینقدر ابعادش رو کم کردم تا به این رسیدم) ولی در عمل با این دو عدد دات یکی از دات ها درست نشون نمیده و دیگری درست نشون میده. اون یکی که درست نشون نمیده بعضی از داتها روشن نمیشه. کلافه شدم. اینجا نه لچ هست نه درایور.مستقیم هم متصل شده بدون مقاومت. لطفا راهنمایی کنید چون الان 3 هفته درگیر این هستم
من نقشه مدار را هم گذاشتم در لحظه اول دات سمتراست و بعد دات سمت چپ یک کلمه را نشان می دهند( به ترتیب) که بهسمت راست حرکت میکند و در مرحله بعد هر دو دات همزمان این کلمه را به راست حرکت می دهند. در مدار اصلی مقاومت نگذاشتم و همین مدار را بستم. میبینید که در پروتئوس درست جواب میده ولی در عمل یکی از اینها همه داتهاش روشن نمیشن.کلمه ای که نشان میدهد" NANO " هست. کد هگز مدار هم به این صورت هست. من همون چیزی که برای پورتها a,b نوشتم برای پورتهای c,d هم نوشتم ولی چرا یکی از داتها درسته و یکی غلط. مدارم هم درسته و مشکل قطعی و درست نبستنو ... نداره چون حدودا 20 بار مدار رو از اول یستم. پایه های داتها رو هم درست پیدا کردم.سعی کردم هر سوالی که از مدار داشته باشید همون اول جواب داده باشم.لطفا کمممممممممممممممممممممممممممممممممممممکم کنید
Dim Col As Byte
Dim Scan As Byte
Dim Refresh As Byte
Dim Index As Byte
Dim S As Byte
Do
For S = 0 To 42
For Refresh = 1 To 20
Scan = &B10000000
For Col = 0 To 7
Index = S + Col
Portc = Lookup(index , Gelayof1) 'portb for row
Porta = Scan
Waitus 300
Rotate Scan , Right
Porta = &H00
Next Col
Next Refresh
Next S
Waitms 500
'***********************************************************
For S = 0 To 42
For Refresh = 1 To 20
Scan = &B10000000
For Col = 0 To 7
Index = S + Col
Portb = Lookup(index , Gelayof1) 'portc for row
Portd = Scan
Waitus 100
Rotate Scan , Right
Portd = &H00
Next Col
Next Refresh
Next S
Waitms 500
'***********************************************************
For S = 0 To 42
For Refresh = 1 To 20
Scan = &B10000000
For Col = 0 To 7
Index = S + Col
Portc = Lookup(index , Gelayof1)
Portb = Lookup(index , Gelayof1) 'portb for row
Portd = Scan
Porta = Scan
Waitus 100
Rotate Scan , Right
Portd = &H00
Porta = &H00
Next Col
Next Refresh
Next S
Waitms 500
Loop
End
'end program
Gelayof1:
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B10000001
Data &B11111011
Data &B11110111
Data &B11101111
Data &B11011111
Data &B10000001
Data &B11111111
Data &B11111111
Data &B11111111
Data &B10000011
Data &B11101101
Data &B11101110
Data &B11101110
Data &B11101101
Data &B10000011
Data &B11111111
Data &B11111111
Data &B11111111
Data &B10000001
Data &B11111011
Data &B11110111
Data &B11101111
Data &B11011111
Data &B10000001
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11000011
Data &B10111101
Data &B10111101
Data &B10111101
Data &B10111101
Data &B11000011
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111
Data &B11111111