f
Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 548

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 549

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/page_header.php on line 343
And-Tech :: Zobacz temat - jak pisze się takie programy....

Strona korzysta z plików cookie w celu realizacji usług zgodnie z Politykš prywatnoœci.

Możesz okreœlić warunki przechowywania lub dostępu do cookie w Twojej przeglšdarce lub konfiguracji usługi.

And-Tech Strona Główna And-Tech
Forum firmy And-Tech

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum  DownloadDownload

Poprzedni temat «» Następny temat
jak pisze się takie programy....
Autor Wiadomość
luzak

Dołączył: 13 Paź 2010
Posty: 8
Wysłany: Nie Paź 17, 2010 8:38 pm   jak pisze się takie programy....

po wciśnięciu klawisza zapala się LED na 5 sek.
to proste do napisania.

a jak chcę zapalać 2 LEDy po 5 sek. każdy
klawisz 1 --- do LED 1
klawisz 2 --- do LED 2

jak świeci LED 1 (odliczane jest 5 sek) to mogę klawiszem 2 zapalić LED2 na 5 sek.
i odwrotnie:
pali się LED 2 (LED 1 zgaszony) naciskam klawisz 1 zapala się LED1 na 5 sek.

gdzie szukać rozwiązania??

a co jeżeli mam 5 klawiszy i 5 LEDów i rózne czasy dla każdego LEDa??

czy wkraczamy w "świat" przerwań??
 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Pon Paź 18, 2010 7:32 pm   

wkraczamy w "świat" przerwań i timerów, które są odpowiedzialne za odmierzanie odpowiednich odcinków czasowych.
_________________
http://www.piotr94.net21.pl/
 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Pią Lis 26, 2010 12:56 pm   

program na żywca z aktualnie pisanego przeze mnie kursu:
Kod:

$regfile = "m644pdef.dat"
'$regfile = "m32def.dat"
'$regfile = "m16def.dat"

$crystal = 16000000

Dim A As Byte , B As Byte , C As Byte

Config Pinb.0 = Input
Config Pinb.1 = Input
Config Pinb.2 = Input
Set Portb.0
Set Portb.1
Set Portb.2
'przyciski i rez. podciągające
Config Pinb.3 = Output
Config Pinb.4 = Output
Config Pinb.5 = Output
Set Portb.3
Set Portb.4
Set Portb.5
'diody, które potem wyłączamy

Enable Interrupts
Config Timer0 = Timer , Prescale = 1024
Enable Timer0
On Timer0 Przepelnienie
'konfiguracja Timera0

Do
If Pinb.0 = 0 Then A = 244
'jeśli wciśnięto przycisk S1 to ustaw "licznik" na 244 (ok. 4s)
If A = 0 Then Set Portb.3 Else Reset Portb.3
'jeśli A=0 to wyłącz diodę, w przeciwnym razie zapal ją
'podobnie postępujemy dla kolejnych przycisków i diod
If Pinb.1 = 0 Then B = 244
If B = 0 Then Set Portb.4 Else Reset Portb.4
If Pinb.2 = 0 Then C = 244
If C = 0 Then Set Portb.5 Else Reset Portb.5
Loop

End

Przepelnienie:
'przy przepełnieniu zmniejsz każdy "licznik" o 1, jeśli jest różny od 0
If A <> 0 Then Decr A
If B <> 0 Then Decr B
If C <> 0 Then Decr C
Return
_________________
http://www.piotr94.net21.pl/
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group