počítadlo 0-9

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
paycz
Příspěvky: 283
Registrován: 13 říj 2014, 00:00

počítadlo 0-9

#1 Příspěvek od paycz »

Ahoj, zase sem trochu laboroval v assembléru a udělal jsem si počítadlo závislé na stisku tlačítka a v simulátoru nefunguje proto bych byl rád kdyby se někdo podíval zda to muže logicky fungovat :D
PS. překladaš na hex neháže žádný error

program:
https://www.dropbox.com/s/xdj3xl0cpoyti6h/pocitadlo.asm?dl=0
Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 00:00
Bydliště: Vysočina

#2 Příspěvek od Chenzee »

1) jak provedeš inicializaci, když první instrukce ji přeskočí?
2) kde inicializuješ port B jako výstupy?
Žádnej učenej z nebe nespadl ...
Uživatelský avatar
paycz
Příspěvky: 283
Registrován: 13 říj 2014, 00:00

#3 Příspěvek od paycz »

Chenzee píše:1) jak provedeš inicializaci, když první instrukce ji přeskočí?
2) kde inicializuješ port B jako výstupy?


už sem nastavil výstupy a zacína od start https://www.dropbox.com/s/xdj3xl0cpoyti ... o.asm?dl=0
Uživatelský avatar
paycz
Příspěvky: 283
Registrován: 13 říj 2014, 00:00

#4 Příspěvek od paycz »

počítadlo již funguje zde vám dávám program a simulaci v proteusu kdyby někdo potřeboval https://www.dropbox.com/sh/w6pkslxt4owu ... Jd77a?dl=0
Uživatelský avatar
MiloPS3
Příspěvky: 279
Registrován: 07 srp 2010, 00:00

#5 Příspěvek od MiloPS3 »

Kód: Vybrat vše

   GOTO STARTB1
STARTB1   
tohle je zbitecny, program jede od zhora dolu, pokud nepotrebujes odskok na tuhle instrukci je to tam zbytecny a pridavas 2 instruKcni cykly navic,

Kód: Vybrat vše

   BSF   A1   
   BSF   B1
   BSF   C1   
   BSF   D1
   BSF   E1
   BSF   F1
misto tohohle muzes zapsat

Kód: Vybrat vše

MOVLW 0x0 G1 E1 D1 C1 B1 A1 
MOVWF PORTB
Uživatelský avatar
paycz
Příspěvky: 283
Registrován: 13 říj 2014, 00:00

#6 Příspěvek od paycz »

MiloPS3 píše:

Kód: Vybrat vše

   GOTO STARTB1
STARTB1   
tohle je zbitecny, program jede od zhora dolu, pokud nepotrebujes odskok na tuhle instrukci je to tam zbytecny a pridavas 2 instruKcni cykly navic,

Kód: Vybrat vše

   BSF   A1   
   BSF   B1
   BSF   C1   
   BSF   D1
   BSF   E1
   BSF   F1
misto tohohle muzes zapsat

Kód: Vybrat vše

MOVLW 0x0 G1 E1 D1 C1 B1 A1 
MOVWF PORTB

DÍKY ZA RADY :D jsem začátečník takže přístě mi to zabere alespoň méně času :D

a to Goto.... 2instukce to je myslím 6uS při 4MHz :D což je zanedbatelný :D
Uživatelský avatar
MiloPS3
Příspěvky: 279
Registrován: 07 srp 2010, 00:00

#7 Příspěvek od MiloPS3 »

Jak kdy .....
Predchozi prispevky se necituji...
Uživatelský avatar
Rako
Příspěvky: 40
Registrován: 29 bře 2014, 00:00

#8 Příspěvek od Rako »

paycz píše:počítadlo již funguje zde vám dávám program a simulaci v proteusu kdyby někdo potřeboval


Tak toto počítadlo si strč niekam...
Keby som bol tvoj učiteľ tak máš 5.
Ja si takéto počítadlo napíšem pomocou 10 riadkov kódu, ešte si nepočul
o inštrukcii INCF ???????????
Použiť celý výkon mikrokontroléra len na snímanie stavu tlačítka a ešte ho
niekomu ponúkať !? -- Nepracuješ náhodou v Microsofte?
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#9 Příspěvek od Atlan »

ten tvoj zdrojak je cesta niekam, poslednykrat opakujem na RMW problem
http://forum.mcontrollers.com/viewtopic.php?t=2409
Uživatelský avatar
MiloPS3
Příspěvky: 279
Registrován: 07 srp 2010, 00:00

#10 Příspěvek od MiloPS3 »

a kolik takovejch problemu se vyskytlo u picka bezicim na 4MHz ?
Uživatelský avatar
Rako
Příspěvky: 40
Registrován: 29 bře 2014, 00:00

#11 Příspěvek od Rako »

Ešte som sa stým u PIC16 v svojich programoch nestretol. U PIC18 som o tom ani nepočul že by sa to stávalo.
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#12 Příspěvek od Atlan »

Milo prevencia sa tomu hovori :D, no ked by si nejaku kapacitu zapojil priamo na pin tak je mozne ze to nieco spravi aj pri 4MHz.
Ale ako som povedal prevencia neskodi
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“