Witam,
Czy ktoś wie jak można symulować multipleksowanie wyświetlaczy LED w proteusie, bo coś mi się wydaje, że chyba nie można, tak jakby program się nie wyrabiał z szybkością przełączania wyświetlaczy, bo kiedy dam w pętli opóźnienie około 100 ms, to nawet działa, ale z wielkimi skokami, wiadomo, a szkoda bo program jest całkiem fajny
Na płytce testowej ten sam wsad działa właściwie.
Załączam w paczce wszystkie pliki potrzebne do wykonania symulacji, wsad do procka w Bascom i symulacji ISIS
Czy ktoś wie jak można symulować multipleksowanie wyświetlaczy LED w proteusie, bo coś mi się wydaje, że chyba nie można, tak jakby program się nie wyrabiał z szybkością przełączania wyświetlaczy, bo kiedy dam w pętli opóźnienie około 100 ms, to nawet działa, ale z wielkimi skokami, wiadomo, a szkoda bo program jest całkiem fajny
Na płytce testowej ten sam wsad działa właściwie.
Załączam w paczce wszystkie pliki potrzebne do wykonania symulacji, wsad do procka w Bascom i symulacji ISIS
$regfile = "m168def.dat"
$crystal = 8000000
'------------------------------------------------------------------------------------------------------
Config Portb = Output
Config Portc = Output
'------------------------------------------------------------------------------------------------------
W1 Alias Portc.2
W2 Alias Portc.3
W3 Alias Portc.4
W4 Alias Portc.5
'------------------------------------------------------------------------------------------------------
Dim Nr_wysw As Byte
Dim Cyfra1 As Byte
Dim Cyfra2 As Byte
Dim Cyfra3 As Byte
Dim Cyfra4 As Byte
'------------------------------------------------------------------------------------------------------
Cyfra1 = 1
Cyfra2 = 2
Cyfra3 = 3
Cyfra4 = 4
'------------------------------------------------------------------------------------------------------
Do
Set W1
Set W2
Set W3
Set W4
Select Case Nr_wysw
Case 0:
Portb = Lookup(cyfra1 , Tablica)
Reset W1
Case 1:
Portb = Lookup(cyfra2 , Tablica)
Reset W2
Case 2:
Portb = Lookup(cyfra3 , Tablica)
Reset W3
Case 3:
Portb = Lookup(cyfra4 , Tablica)
Reset W4
End Select
Incr Nr_wysw
If Nr_wysw = 4 Then
Nr_wysw = 0
End If
Waitms 100 '--------------bez-tego--opóźnienienia-nie-działa-symulacja
Loop
'------------------------------------------------------------------------------------------------------
Tablica:
'---------0------------1------------2------------3------------4-----------------
Data &B11000000 , &B11111001 , &B10100100 , &B10110000 , &B10011001
'---------5------------6------------7------------8------------9-----------------
Data &B10010010 , &B10000010 , &B11111000 , &B10000000 , &B10010000