BASCOM


Włącznik ze zwłoką



Włącznik posiada ciekawą właściwość. Załącza dopiero po puszczeniu przycisku P. Ponadto, załączenie trwa tutaj 3 sekundy. Portem wyjściowym jest Portd.0, do którego dołączona jest dioda Led.


'3sek.bas

 'W Portd.2 jest przycisk.

 'Portd.0 jest wyjściem.

 'Naciskamy przycisk (do 0), nic się nie dzieje, puszczamy - jest 0 w Pord.0 i trzyma 3sek (Wait 3).

 'Opracował Henryk Wydmuch

 'Program zajmuje 3% pamięci.

 

 $regfile = "m8def.dat"                                     'Info dla kompilatora.

$crystal = 4000000                                          'Informujemy kompilator o kwarcu 4MHz.

 

 

 Config Pind.0 = Output                                     'Port wykonawczy.

 Config Pind.2 = Input                                      'Przycisk.

  Set Portd.0                                               'Poziom wysoki.

  Set Portd.2                                               '

 

  Dim Ko As Byte                                            'Deklaracja zmiennej.

  Dim De As Byte                                            '

 

  Ko = 0                                                    'Zerowanie zmiennej.

  De = 0                                                    '

 '------------------------------------------------------------------------------------------------------

Do                                                          'Początek pętli głównej programu.

   If Pind.2 = 0 Then                                       'Przycisk P zwierający do masy.

   Ko = 2                                                   'Do zmiennej Ko wpisujemy 2.

   End If                                                   'Koniec warunku.

   If Pind.2 = 1 Then                                       'Jeśli przycisk został zwolniony.

   De = 3                                                   'Do zmiennej De wpisz 3.

  If Ko = 2 And De = 3 Then                                 'Jeśli zmienne mają już 2 i 3...

  Reset Portd.0                                             'Ustaw poziom niski w Portd.0.

   Wait 3                                                   'Trzymaj poziom 3sek.

   Set Portd.0                                              'Wróć do poziomu wysokiego.

   Ko = 0                                                   'Zeruj zmienną.

   De = 0                                                   '

   End If                                                   'Koniec warunku.

   End If                                                   '

 Loop                                                       'Powtórz pętlę.

End                                                         'Koniec pętli.

'--------------------------------------------------------------------------------------------------------