Založen: Dec 26, 2004 Příspěvky: 1436 Bydliště: Košice - okolie
Zaslal: út září 12 2006, 20:02 Předmět: čítač impulzov s PIC16f84 - problém
nazdar, Skusam si naprogramovat vlastní čítač impulzov s pomocou PIC16f84A. Program v simulátore bezi bez problemov, ale akonáhle ho dám do PICka tak to na Led displeji ukazuje somariny sem tam ukaze spravne číslo, displej je pripojený na správne porty RB0-a .....RB6-g RA0 disp1...RA2disp3
zatial pocita (aspon by mal) od -3 do 9, viem ze je to zlozito, mne ide hlavne prijst nato kde je chyba dik za rady
program je tu http://obkysak.tripod.com/asm.htm pravym treba klknut na odkaz 1.asm a dat ulozit ako
edit: opravena mala chyba v asm subore (nesuvisela s problemom)
Založen: Jun 13, 2004 Příspěvky: 5780 Bydliště: Břeclavsko
Zaslal: út září 12 2006, 21:38 Předmět:
Abych pravdu přiznal, nějak se v tom programu nemohu zorientovat. Zásadní chybou je, že prakticky nepoužíváš komentář. Okomentuj to co nejvíce, když začínáš, klidně každý řádek, jinak za pár dní ani ty sám nebudeš vědět, jaks to vlastně myslel.
Založen: Jul 21, 2006 Příspěvky: 25741 Bydliště: skoro Brno
Zaslal: út září 12 2006, 22:19 Předmět:
Máš ošetřený překmity zdroje pulsů (tlačítko atd...) ? _________________ 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[?]
Založen: Dec 26, 2004 Příspěvky: 1436 Bydliště: Košice - okolie
Zaslal: út září 12 2006, 22:22 Předmět:
jj to mam ide mi to priamo z druheho uProcesora ale hned po zapnuti by mala byt len -3 a nie hociake somariny na displeji, aj ked vstup uzemnim tak je to rovnake, na simulatore krasne od -3 do 9 pocita a potom uz len od 0 do 9 a to je to co presne chcem
Založen: Nov 21, 2005 Příspěvky: 524 Bydliště: Bratislava
Zaslal: út září 12 2006, 22:37 Předmět:
Pozerám na program a mám pocit, že mi tam chýbajú inštrukcie :wait: ono to možno zobrazuje správne, ale tak rýchlo, že tvoje oko to nestíha sledovať a vidíš iba to, na čo zareaguje mozog.
ZOBRAZ CLRF PORTB ;vynuluje portb
MOVLW .1 ;
MOVWF PORTA ;zapne displej cislo 1 (port RA0) jednotky
MOVF JED,0 ;zapise cislo ulozene v pomocnom registre do W
MOVWF PORTB ;obsah W na portb - na 7 segmentovku
CALL WAIT10
CLRF PORTB ;vynuluje portb
MOVLW .2 ;
MOVWF PORTA ;zapne displej cislo 2 (port RA1) desiatky
MOVF DES,0 ;zapise cislo ulozene v pomocnom registre do W
MOVWF PORTB ;obsah W na portb - na 7 segmentovku
CALL WAIT10
CLRF PORTB
MOVLW .4 ;zapne displej cislo 3 (port RA2) stovky
MOVWF PORTA
MOVF STO,0
MOVWF PORTB
CALL WAIT10
CLRF PORTB
Label WAIT10
čakanie 10ms
return
Naposledy upravil ViPali dne út září 12 2006, 23:05, celkově upraveno 1 krát.
Založen: Nov 21, 2005 Příspěvky: 524 Bydliště: Bratislava
Zaslal: út září 12 2006, 23:01 Předmět:
Máš tam sekvenciu:
MINUS MOVLW B'01000000' ;ulozena binarna hodnota cisla pre 7 segmentovku
RETURN
NULA MOVLW B'00111111'
RETURN
JEDEN MOVLW B'00000110'
RETURN
atď.
Myslím, že jednoduchšie to je takto:
movf CISLO.......; načítané pulzy do W
call _7segment...; idem z čísla vyrobiť znak
GOTO ZOBRAZ
.
.
.
_7segment . . . . .; tu budem vyrábať znaky
addwf pc . . . . . . ; w pripočítam k čítaču inštrukcií (PC registru) poskočí o toľko inštrukcií, aké číslo si priniesol vo W
retlw B'00111111' ; NULA - vráti sa z podprogramu a vo W bude znak
retlw B'00000110' ; JEDEN
retlw B'01011011' ; DVA
retlw B'01001111' ; TRI
retlw B'01100110' ; STYRI
retlw B'01101101' ; PAT
retlw B'01111101' ; SEST
retlw B'00000111' ; SEDEM
retlw B'01111111' ; OSEM
retlw B'01101111' ; DEVAT
retlw B'01000000' ; minus - mmínusu musíš priradiť číslo, alebo ho generovať samostatne
Založen: Dec 26, 2004 Příspěvky: 1436 Bydliště: Košice - okolie
Zaslal: út září 12 2006, 23:13 Předmět:
TAKZE UZ TO IDE OK S TYM POVODNYM PROGRAMOM S DOPLNENOU CAKACOU SLUCKOU A NOVYM PIC LEBO TEN NOVY CO SOM MAL BOL ZLY MOOOC DIK ZA NAKOPNUTIA A RADY VSETKYM
Jak skusam tak skusam ale neviem rozchodit ten program s tabulkou od ViPali . Po prejdeni cisel 0-9 trba register cislo nulovat ze?
Založen: Nov 21, 2005 Příspěvky: 524 Bydliště: Bratislava
Zaslal: st září 13 2006, 7:38 Předmět:
Máš čítač do 999, takže máš aj tri registre
CISLO_1, CISLO_10, CISLO_100.
Keď pripočítaš k CISLO_1 impulz, hneď skontroluješ či je 10, ak áno CISLO_1 = 0 a CISLO_10 = +1, a hneď skontroluješ CISLO_10 či je 10, ak áno tak CISLO_10 = 0 a CISLO_100 = +1
A potom
CISLO_1 do W
CALL TABULKA
GOTO ZOBRAZ_jednotky
CISLO_10 do W
CALL TABULKA
GOTO ZOBRAZ_desiatky
CISLO_100 do W
CALL TABULKA
GOTO ZOBRAZ_stovky
Založen: Dec 26, 2004 Příspěvky: 1436 Bydliště: Košice - okolie
Zaslal: st září 13 2006, 15:06 Předmět:
jeeeej to je parada , som si nemyslel ze az tak sa to da zjednodusit, ako inac sa da zistit ci je osah registru rovny nejakemu cislu napr. 10, ja to robim tak ze si do ineho registra ulozim to cislo cize v tomto pripade 10 a ked chcem zistit ci uz je osah registru rovny 10 tak presuniem cislo 10 do W a odpocitam od testovaneho registra, ak bol obsah testovaneho registra 10 tak vysledok bol nula a v registry status sa Z nastavi na 1 a podla tohto urcujem, Da sa to aj jednoduchsie? asi hej vsak?
Založen: Dec 26, 2004 Příspěvky: 1436 Bydliště: Košice - okolie
Zaslal: st září 13 2006, 19:31 Předmět:
Tak konecne sa mi to podarilo daujem vsetkym za ich rady a pomoc bez nich by som to nikdy nedokazal spravit. Hotovy subor asm som dal na upload pod nazvom citac16f84.asm Tento citac na uploade pocita od 0 nie od -3 aby to mohlo vyuzit viac ludi bez upravy
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2Další
Strana 1 z 2
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.