ATMEGA8L - programuje to nekdo?
Moderátor: Moderátoři
-
Stan3
Tenhle programátor je také docela dobrý. Upravoval jsem si to pro sériový port a funguje perfektně(zatím jsem zkoušel 16F84A, a 12F508/509). Jako software používám WinPic800.
-
Alexxx
Popis:
1) Po pripojeni baterie se spusti blikani na LED (200ms blik/1000ms cykl)2) Pri stisku mikrotlacitka zacne PIC odpocitavat cca 10 minut, pri jejim dokonceni se spusti blikani jako v bodu 1)
Pozn. Pri odpocitavani je tlacitko nefunkcni. PIC resetuje citac na 10 minut pouze kdyz blikaji LED (aby nebylo mozne oddalovat blikani)
Tot vse!
Naprogramoval by to nekdo pro me a poslal dobirkou?
Diky moc Alex
Pokud mas programátor na mega8 pres lpt tak předpokládám ze umí tiny13 naprogramovat také...
-
Alexxx
Alexxx píše:to ceeert: to bych ti byl moc vdecny. Usetrilo by mi to hodne prace. Stacil by jen naprogramovat CPU a poslat. Ostatni bych si uz nejak spajel dohromady. Zdrojvy kod bude urcite jen na par radku. Navic je tak jednuduchy ze nepredpokladam nejake kolizni stavy a tak.
Kolik bys za to chtel?
Kdybys to komerčně neprodával,tak za cenu poštovného:) zdrojové kódy bysme dali k dispozici...
-
Alexxx
'-------------------------------------------------------------------------------
'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
-
Alexxx
Předpokládám, že kdybych měli ledky blikat současně tak by to bylo takto:
Main:
Led_1 = Off 'svítí
Led_2 = Off 'nesvítí
'blikáme a kontrolujeme tlačítko
Do
Toggle Led_1 'převrátíme LEDky
Toggle Led_2
Gosub Key_press 'zkontrolujeme tlačítko
Waitms 100 'LED budou svitit 100ms +-
Toggle Led_1 'převrátíme LEDky
Toggle Led_2
Waitms 1000 'LED budou zhasnute 1000ms +-
Gosub Key_press 'zkontrolujeme tlačítko
Loop
Pokud by to fungovalo ... mohl by to nekdo hodit do CPU a poslat? ... dal bych mu k ceně součástek a poštovného 100Kč.
Díky moc.
Programátor na LPT je velmi jednoduchý.
http://www.edisk.cz/stahnout-soubor/978 ... 3.6MB.html
-
Alexxx
Prosimte jaky program tedy pouzit pro psani kodu v tom jazyce cos uvedl vyse? Umi ten program i nahrat vse do toho procesoru?
Diky moc.
- Přílohy
-
programator.JPG- (26.64 KiB) Staženo 79 x
Osobně bych k připojování čehokoliv na LPT byl velmi opatrný, proto tam mám ten 74245.
Člověk je "blbec" někde jenom škrtne a LPT je kaput.
Jinak je to psáno ve vývojovém prostředí BASCOM-AVR, volná verze je omezena na 4kB kódu.
Programátor používám AVRDUDE s grafickým rozhraním Burn O Mat.
Ale lze ho "připojit" do toho výv. prostředí jako externí programátor stiskem jediné ikony. Vše potřebné je v tom odkazu.
-
Alexxx