Tohle jsem narychlo sesmolil jen tak pro inspiraci
'-------------------------------------------------------------------------------
'name : LED_blik_Attiny13.bas
'copyright : (c)6/2009,
nekmil@cbox.cz
'micro : ATtiny13
'BASCOM-AVR : 1.11.9.4
'-------------------------------------------------------------------------------
'
' tlačítko připojeno na PB.3 a GND
'
' LED připojeny katodami na PB.4 a PB.5 přes rezistor na Ucc
''
' zkoušeno v simulátoru v BASCOMu
'-------------------------------------------------------------------------------
'$sim 'pouze pro simulaci, při překladu pro procesor odstranit !!!
$regfile = "attiny13.dat"
$crystal = 1200000 'ponechat v továrním nastavení 9,6MHz/8 = 1,2MHz
Dim I As Byte 'pomocná proměnná
Config Pinb.3 = Input 'kofigurujeme Pinb.3 jako vstup (tlačítko)
Portb.3 = 1 'a nastavíme mu pullup
Config Portb.4 = Output 'kofigurujeme PORTb.4 jako výstup (LED_1)
Config Portb.5 = Output 'kofigurujeme PORTb.5 jako výstup (LED_2)
'přiřadíme vývodům nějaká jména
Key Alias Pinb.3
Led_1 Alias Portb.4
Led_2 Alias Portb.5
Const On = 0
Const Off = 1
'počáteční stav
Led_1 = Off 'nesvítí
Led_2 = Off 'nesvítí
'--------------------------------------------
Main:
'blikáme a kontrolujeme tlačítko
Do
Toggle Led_1 'převrátíme LEDky, tedy rozsvítíme
Toggle Led_2
Gosub Key_press 'zkontrolujeme tlačítko
Waitms 100 'počkáme např. 100ms +-
Toggle Led_1 'převrátíme LEDky, tedy zhasneme
Toggle Led_2
For I = 1 To 10 'zde máme pauzu 10x100ms=1s, během které-
Gosub Key_press '- 10x zkontrolujeme tlačítko
Waitms 100 'počkáme 100ms
Next I 'tlačítko by se dalo obsluhovat i v přerušení
Loop 'ale zvolil jsem pro jednoduchost toto řešení
'--------------------------------------------
'podprogram kontroly tlačítka
Key_press:
If Key = 0 Then 'tlačítko stisknuto
Bitwait Key , Set 'čekáme na puštění tlačítka
Led_1 = Off 'zhasneme LEDky
Led_2 = Off
Wait 600 'čekáme 10 minut
Goto Main 'znovu na začátek
End If
Return
End 'end program
:1000000009C018951895189518951895189518956C
:10001000189518958FE98DBFC0E9E8E84E2EDD27C9
:100020005D2EEEE3F0E0A0E6B0E0A89584B7082EE0
:10003000877F84BF88E1992781BD91BD88278D93F3
:100040003197E9F76624BB98C39ABC9ABD9AC49AC3
:10005000C59A88B390E1892788BB88B390E2892745
:1000600088BB1FD084E690E03AD088B390E189271E
:1000700088BB88B390E2892788BB81E080936000C9
:10008000009160000A3010F009F00AC00AD084E63E
:1000900090E025D0A0E68C918F5F8C9308F4F0CF90
:1000A000D8CFB3990AC0A6E38C9183FBE6F7C49A34
:1000B000C59AE8E5F2E004D0CCCF0895F894FFCFDC
:1000C00088EE93E00CD03197D9F708953197F1F786
:1000D0000895689462F80895E89462F80895EF939B
:1000E000FF93EE27E82BE92B31F0ECE2F1E03197BA
:0C00F000F1F70197D1F7FF91EF9108950F
:00000001FF