samoprzyspieszający generator

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
seba618
-
Posty: 2
Rejestracja: 09 gru 2007, 0:04
Lokalizacja: Kalisz
Kontakt:

samoprzyspieszający generator

Post autor: seba618 » 09 gru 2007, 0:25

witam
napisałem taki oto program

Kod: Zaznacz cały

dim licz as byte 
licz = 50 
do 
If P3 = 0 Then________ ' p3 to przycisk 
Pk3 = 1____________ 'Pk3 to jeden z portów wyjściowych 
Decr Licz 
End If 
If Licz = 10 Then Licz = 10 
if P3 = 1 then pk3 = 0 : Licz = 50 
Waitms Licz 
Pk3 = 0 
Waitms Licz 
Loop 
End 
program ma spełniac rolę generatora który po naciśnięciu i trzymaniu przycisku będzie zwiększał swoja częśtotliwość i tak też sie dzieje
problem polega na tym że zmienna licz nie zmniejsza sie z 50 do 10 tylko spada do zera i zaczyna liczyć od 255 i tak cały czas
może ktoś z Was wie jak poprawić ten program tak aby zmienna zatrzymała się na 10 i wracała do 50 dopiero jak zwolnie przycisk ?
docelowo ma to słuzyć do sterowania silnika krokowego (wolnego rozbiegu )
pozdrawiam


---------
Prosze przeczytać wskazówki jak pisać w tym dziale. ZbeeGin
Ostatnio zmieniony 01 sty 1970, 1:00 przez seba618, łącznie zmieniany 1 raz.

elektronWielki
Użytkownik
Posty: 247
Rejestracja: 30 maja 2006, 12:45
Lokalizacja: kontownia

Post autor: elektronWielki » 09 gru 2007, 2:14

ogolnie rzecz ujmujac bez wnikania w bascomowe zawilosci:

przycisk_wcisniety(
if(i > 10)
dec(i);
);

przycisk_puszczony(
i = 50;
);

seba618
-
Posty: 2
Rejestracja: 09 gru 2007, 0:04
Lokalizacja: Kalisz
Kontakt:

Post autor: seba618 » 09 gru 2007, 11:24

dzięki
zadziałało :grin:

ODPOWIEDZ