Jednoduché zapojení s 89c2051 - problém
Moderátor: Moderátoři
Jednoduché zapojení s 89c2051 - problém
Zapojil jsem podle obrázku (viz níže) a uspěšně jsem naprogramoval jednoduchý blikač do Atmelu 89c2051. A nefunguje mi to. Tak jsem to zkoušel naprogramovat aby blikal na celým portu P1 a taky bezuspěšně. (program byl převzat z knížky od Matouška) Kde vlastně dělám chybu? Jak poznám, že ten procesor je funkční? (Na programátoru ezoflash jsem otestoval tak, že jsem kliknul na verify a read chip -> operace šli).
Sice to vypadá úlpně jednoduše, ale přesto nemohu na to přijít proč to nejde
Sice to vypadá úlpně jednoduše, ale přesto nemohu na to přijít proč to nejde
Zde je zdroják:
Ale jak to zkouším dál a jinak. (Jinak zkouším programovat v Bascomu -> je jazyk jednodušší a výsledek žádný)
Kód: Vybrat vše
LED equ P1.2 ;vystup LED
;------------------------------
setb LED
zacatek:cpl LED
mov R3,#167
cas_1: mov R2,#171
cas_2: mov R1,#16
cas_3: djnz R1,cas_3
djnz R2,cas_2
djnz R3,cas_1
sjmp zacatek
end
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
U Atmelů je dobrý umístit program až od adresy 30H příkazem org 30h, protože dole jsou umístěný přerušení a pokud se z jakýhokoliv důvodu vyvolá nežádoucí přerušení, tak to reti zas "vrátí zpátky". Po resetu by sice měly být nastavený výchozí hodnoty včetně zakázanýho přerušení, ale je lepší je přesně definovat.
Co se týká hardware, je lepší přidat k resetovacímu elytu odpor do země, už jsem viděl pár atmelů, co se bez odporu neresetly (protože elyt se nabíjel moc pomalu a vyvolal nějakej hazardní stav, i když podle katalogu by neměl.)
Na začátek programu dej clr Led, tím zjistíš, jestli je port OK.
V praxi je lepší blikat přes přerušní, tohle zbytečně zabírá výkon procesoru.
Jo, a Led je bit !
Co se týká hardware, je lepší přidat k resetovacímu elytu odpor do země, už jsem viděl pár atmelů, co se bez odporu neresetly (protože elyt se nabíjel moc pomalu a vyvolal nějakej hazardní stav, i když podle katalogu by neměl.)
Na začátek programu dej clr Led, tím zjistíš, jestli je port OK.
V praxi je lepší blikat přes přerušní, tohle zbytečně zabírá výkon procesoru.
Jo, a Led je bit !
Kód: Vybrat vše
Led bit P1.2 ;vystup LED
Start:
org 0h
jmp Zacatek
;tady jsou skoky na obsluhu přerušení
org 30h
reti
Zacatek:
; hlavni program
clr Led
Smycka2:
mov r5,#30 ;30 x 10ms
Smycka:
call Wt_10ms
djnz r5,Smycka
cpl Led
jmp Smycka2
;konec programu
;CEKACI SMYCKY
Wt_100u:
mov r7,#50
Sm100:
djnz r7,Sm100 ;2us pri 12mhz
ret
Wt_10ms:
mov r6,#100
Sm101:
call Wt_100u ;100 x 100us
djnz r6,Sm101
ret
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Tak to si určitě vyzkouším.
Jaký význam má $MOD52 -> je to důležitý to tam psát?
Já jsem začal programovat v Bascomu kvůli jednoduššímu programování (mohli byste mi zkontrolovat ten kód)
Jaký význam má $MOD52 -> je to důležitý to tam psát?
Já jsem začal programovat v Bascomu kvůli jednoduššímu programování (mohli byste mi zkontrolovat ten kód)
Kód: Vybrat vše
$regfile "89c2051.dat"
Dim A As Bit
Dim B1 As Bit
A = 1
B1 = 0
Do
P1.2 = A
Waitms 500
P1.2 = B
Waitms 500
Loop
End
ale skus tento kod.
Mne to frci vzdy
led bit p1.2
mov p1,#0h
mov p3,#0h
start: clr led
call delay
setb led
call delay
ajmp start
delay: djnz r7,$
djnz r6,$-2
ret
end
Ak ti nepojde ani toto tak mas problem s programovanim.
Ja pouzivam TAFE programato a soft ICprog obojo najdes na nete.
Ten programator vyde asi tak na 50 az 100 korun.
Mne to frci vzdy
led bit p1.2
mov p1,#0h
mov p3,#0h
start: clr led
call delay
setb led
call delay
ajmp start
delay: djnz r7,$
djnz r6,$-2
ret
end
Ak ti nepojde ani toto tak mas problem s programovanim.
Ja pouzivam TAFE programato a soft ICprog obojo najdes na nete.
Ten programator vyde asi tak na 50 az 100 korun.
No to mi neříkej!!! Programátor jsem sestavil na netu http://www.ezoflash.com a podle mě to fachá dobře (aspoň si to myslím)Mibeus píše: ....
Ak ti nepojde ani toto tak mas problem s programovanim.
Ja pouzivam TAFE programato a soft ICprog obojo najdes na nete.
Ten programator vyde asi tak na 50 az 100 korun.
Má někdo všeobecnou radu, jak poznám, že ten mikroprocesor funguje???
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Např. tak, že tam naprogramuješ jen
mov p1,#0
mov p3,#0
Když zkratuješ resetovací kondík, měly by být na všech portech LOG1. Až zkrat zrušíš, měly by se nastavit do LOG0.
Kdyby byl mrtvej, tak nepůjde ani naprogramovat.
mov p1,#0
mov p3,#0
Když zkratuješ resetovací kondík, měly by být na všech portech LOG1. Až zkrat zrušíš, měly by se nastavit do LOG0.
Kdyby byl mrtvej, tak nepůjde ani naprogramovat.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
No mrtvi nemusi byt.Ja som sa asi mesiac trapil s ICprogom,kym sa mi podarilo zistit,ze ak verifikujem program v procesore tak ho dosaha a nic nejde.Ten programator mrknem.Vydel som ich uz dost.Tak jeden naviac nezaskodi.Len kde konkretne na tej stranke je.Pripadne hod schemu na sklo.
ZdenekHQ: hej ale nech tam prida aspon jeden volny prikaz.(Ani za svet si nespomeniem ako sa vola myslim ze NOP).
ZdenekHQ: hej ale nech tam prida aspon jeden volny prikaz.(Ani za svet si nespomeniem ako sa vola myslim ze NOP).
Tak jsem to zkusil a jde to, jak mi tady píšeš. Ale přesto mi nejde to blikání, to asi bude chyba mezi klavesnicí a židlíZdenekHQ píše:Např. tak, že tam naprogramuješ jen
mov p1,#0
mov p3,#0
Když zkratuješ resetovací kondík, měly by být na všech portech LOG1. Až zkrat zrušíš, měly by se nastavit do LOG0.
Kdyby byl mrtvej, tak nepůjde ani naprogramovat.
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Ten malej atmel kmitá bez problémů i bez kondenzátorů. A kdyby oscilátor nekmital, tak mu neprojde ten můj test. Tenhle problém nechápu, ale ten můj program v simulátoru funguje bez problémů.
Jinak Bascom neznám, píšu všechno v assembleru a občas je toho 50 stran...
Jinak Bascom neznám, píšu všechno v assembleru a občas je toho 50 stran...
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]