Witam!!
Prosiłbym o sprawdzenie programu napisanego w Bascomie. Program został napisany dla 8 diod i 4 przycisków. Mogłem zrobić błędy w pętlach, gdyż jest to mój pierwszy, napisany od podstaw program.
Opiszę teraz pętla dla każdego z przycisków:
przycisk 1 - wszystkie diody świecą
przycisk 2 - diody migają od 1 do 8 powracają
przycisk 3 - diody zapalają się od 1- 4 (do środka ) i powracają
przycisk 4 - wyłączenie układu
Pozdrawiam i liczę na pomoc.
Prosiłbym o sprawdzenie programu napisanego w Bascomie. Program został napisany dla 8 diod i 4 przycisków. Mogłem zrobić błędy w pętlach, gdyż jest to mój pierwszy, napisany od podstaw program.
Opiszę teraz pętla dla każdego z przycisków:
przycisk 1 - wszystkie diody świecą
przycisk 2 - diody migają od 1 do 8 powracają
przycisk 3 - diody zapalają się od 1- 4 (do środka ) i powracają
przycisk 4 - wyłączenie układu
Pozdrawiam i liczę na pomoc.
$regfile "m8def.dat"
$crystal = 1000000
Dim I As Byte
Dim K As Byte
Dim L As Byte
Dim Dioda(8) As Byte
'załadowanie diod do tablicy
Dioda(1) = &B11111110
Dioda(2) = &B11111101
Dioda(3) = &B11111011
Dioda(4) = &B11110111
Dioda(5) = &B11101111
Dioda(6) = &B11011111
Dioda(7) = &B10111111
Dioda(8) = &B01111111
Config Portb = Output
Config Portc = Output
Portc = 1
'linie PD0 i PD1 wejściowe, PD2 i PD3 wyjściowe
Config Portd = &B11111100
Portd = &HFF
Petla:
'sprawdzam górną klawiaturę
Portd.2 = 0
Portd.3 = 1
nop
'przycisk 1
If Pind.0 = 0 Then
Portb = 0
Goto Petla
End If
'przycisk 2
If Pind.1 = 0 Then
For I = 1 To 8
Portc = Dioda(i)
Waitms 250
Portc = 0
Waitms 250
Next I
For K = 8 To 1 Step -1
Portc = Dioda(k)
Waitms 250
Portc = 0
Waitms 250
Next K
Goto Petla
End If
'sprawdzam dolną cześć klawiatury
Portd.2 = 1
Portd.3 = 0
' przycisk 3
If Pind.0 = 0 Then
For L = 1 To 4
For K = 8 To 5 Step -1
Portc = Dioda(l)
Portc = Dioda(k)
Waitms 50
Next K
Next L
For L = 4 To 1 Step -1
For K = 5 To 8
Portc = Dioda(l)
Portc = Dioda(k)
Next K
Next I
Goto Petla
End If
'przycsik 4
If Pind.1 = 0 Then
Portc = 0
Goto Petla
End If