Witam,
nie jestem elektronikiem ani programistą (dopiero staram się nauczyć).
Interesuje mnie napisanie programu pod mikrokontroler Attiny2313 żeby działał następująco:
zadanie sygnału będzie następowało za pomocą dwóch inputów oraz dodatkowo gdy PINB2 zostanie wciśnięty dłużej niż 3s PIND3 zmieni się na aktywny natomiast gdy później wciśniemy PINB1, PIND 3 zmieni się na nieaktywny.
nazwijmy
input
PINB1- otwieranie drzwi
PINB2-zamykanie drzwi
Output
PIND1
PIND2
PIND3
Napisałem krótki program (dopiero się uczę) w którym nie mogę sobie poradzić z czasowym aktywowaniem input-u.
Treść programu w BASCOM-ie
$regfile = "attiny2313.dat" 'najpierw określamy typ proca
$crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował
config portb=input 'port b jako wejścia
portb=&B00000000 'wszędzie stan spoczynkowy-0
config portd=output 'pprt d jako wyjścia
Portd = &B0000000 'wszędzie stan spoczynkowy-0
do 'pętla nieskończona
if pinb.0=1 then
portd.0=1
End If Pinb.1 = 1
Wait 3
If Pinb.1 = 1
Then
Portd.2 = 1
endif
loop 'koniec pętli
End
Czy znajdzie się forumowicz który poświęci chwile na pomoc mi?
nie jestem elektronikiem ani programistą (dopiero staram się nauczyć).
Interesuje mnie napisanie programu pod mikrokontroler Attiny2313 żeby działał następująco:
zadanie sygnału będzie następowało za pomocą dwóch inputów oraz dodatkowo gdy PINB2 zostanie wciśnięty dłużej niż 3s PIND3 zmieni się na aktywny natomiast gdy później wciśniemy PINB1, PIND 3 zmieni się na nieaktywny.
nazwijmy
input
PINB1- otwieranie drzwi
PINB2-zamykanie drzwi
Output
PIND1
PIND2
PIND3
Napisałem krótki program (dopiero się uczę) w którym nie mogę sobie poradzić z czasowym aktywowaniem input-u.
Treść programu w BASCOM-ie
$regfile = "attiny2313.dat" 'najpierw określamy typ proca
$crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował
config portb=input 'port b jako wejścia
portb=&B00000000 'wszędzie stan spoczynkowy-0
config portd=output 'pprt d jako wyjścia
Portd = &B0000000 'wszędzie stan spoczynkowy-0
do 'pętla nieskończona
if pinb.0=1 then
portd.0=1
End If Pinb.1 = 1
Wait 3
If Pinb.1 = 1
Then
Portd.2 = 1
endif
loop 'koniec pętli
End
Czy znajdzie się forumowicz który poświęci chwile na pomoc mi?