Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Zpozdeni pri vycitani portu

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
vak
Neregistrovaný





PříspěvekZaslal: po listopad 19 2007, 0:43    Předmět: Zpozdeni pri vycitani portu Citovat

Dobry den,

prosim o radu, po jake dobe je mozne vycitat port u PIC 16F628 po prepnuti ze stavu vystupu na stav vstup? Mam v programu:

MOVLW 0x67 ;01100111
BSF STATUS,RP0 ;Banka1
MOVWF TRISB
BCF STATUS,RP0 ;Banka0
MOVF PORTB,W ;čtení
MOVF PORTB,W ;čtení
MOVF PORTB,W ;čtení

prijde mi to, ze cim delsi program mam, tim musim vicekrat vycitat PORTB. Omlouvam se za zacatecnicky dotaz, ale jsem jen zacatecnik.

Predem dekuji za jakoukoliv radu,

vak
Návrat nahoru
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: po listopad 19 2007, 9:46    Předmět: Citovat

Pouze tuším, o co ti jde. Stav portu je možné číst bezprostředně následující instrukcí. Ale... Pokud jsou na portech parazitní kapacity, pak obecně musíš čekat, až se stav ustálí. To je ovšem obvykle problém nevhodně navržené konstrukce. A pokud máš třeba pullupem neošetřené vstupy, tak se stav portu nemusí ustálit nikdy. Pro objektivnější posouzení by bylo třeba schéma a více podrobností.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
vak
Neregistrovaný





PříspěvekZaslal: po listopad 19 2007, 10:48    Předmět: Citovat

Diky za odpoved,

pouzivam vystupy RB0, RB1, RB2. Na nich jsou napojeny anody cislicovek a zaroven jsou zde tlacitka pres odpory 1k proti zemi. Katody jsou napojene na pos. registr 4094 a ovladany pres RB3 a RB4. Ostatni vystupy jsou odpojene.

Nastaveni OPTION_REG je:
MOVLW 0x05 ;00000101
MOVWF OPTION_REG ;předdělič /64 pro T0
takze pull-up odpory by mely byt pripojeny. Pri prvnim az cca tretim vyctenim portu je stav RB0-RB2 log0, az pri ctvrtem a dalsim je stav log1.
Toto se prodluzuje s delkou programu.

dekuji za jakykoliv napad,
vak
Návrat nahoru
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: po listopad 19 2007, 16:49    Předmět: Citovat

Nápad je jednoduchej. Nemáš správně definované logické úrovně na PB0- PB2. Žádný PullUp nepomůže, když ke vstupu připojíš diodu, která ti limituje vstupní logickou úroveň. A to je tvůj případ s displejem. Rozhodovací úroveň vstupů PIC je cca 1/2 Udd, tj běžně asi 2,5V. Jenže ty máš vstupní napětí sotva této úrovně dosahující. Pak se nesmíš divit, že jsou problémy.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
vak
Neregistrovaný





PříspěvekZaslal: po listopad 19 2007, 22:22    Předmět: Citovat

Pouzil jsem tohle zapojeni http://www.cmail.cz/doveda/konstrukce/reg_rv2/index.htm , jen jsem nahradil 74HCT164 obvodem 4094, myslite ze je to tim? Cim mam tedy zmenit ty napetove urovne?

Diky,
vak
Návrat nahoru
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: po listopad 19 2007, 23:10    Předmět: Citovat

Nemyslím, že je problém v jiném IO. Problém je podle mě v chybně navržené konstrukci. Můžeš zkusit to ošetřit programově. Tj. do posuvného registru před čtením tlačítek nahrnout '11111111'B
Ale optimální to asi není. Mimochodem, proč se neobrátíš na autora?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
MiLe



Založen: Oct 18, 2005
Příspěvky: 123

PříspěvekZaslal: út listopad 20 2007, 19:24    Předmět: Citovat

Zdravim,
neviem ci sa vyjadrim celkom presne a spravne ale:
ta 4094ka ti to LEDkovy displej "neutiahne"... a s tymi 330R odpormi v serii uz vobec nie... S tymto obvodom som robil pokusy ovladat nim LEDky - ako tak to da prud cca 1mA pre LEDky bez odporov. Pouzil som 0603 SMD /cervene/ LEDky. Ako tak svietili ale displej s tym asi moc nerozbehas...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
vak
Neregistrovaný





PříspěvekZaslal: po listopad 26 2007, 15:05    Předmět: Citovat

Dobry den,

diky za rady. Po naplneni pos. registru jednickami cteni klaves bezi. Funguje to jak s 74HCT164, tak s 4094 naprosto stejne. Ovsem problemy se presunuly na cteni snimacu. Autora jsem kontaktoval, ale nevi, kdy by mohl byt problem. Mohl bych poprosit o radu co zmenit v konstrukci, aby bylo vse spravne navrzeno a PIC se nechoval nevyzpytatelne?

Predem moc dekuji,

vak
Návrat nahoru
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: po listopad 26 2007, 15:40    Předmět: Citovat

Vůbec se nezmiňuješ, jakého charakteru jsou tvoje problémy se snímači. Dokonce tajíš o jaké snímače jde! Jakým programem je čteš?
Ostatně ta konstrukce je celkově velmi přitažená za vlasy, dík použitému softwarovému A/D převodníku. Každá druhá PIC má integrovaný 10bitový A/D a autor převodník pozoruhodně vlastnoručně "vyrábí". Důvod této skutečnosti mi zatím zůstal utajen.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
vak
Neregistrovaný





PříspěvekZaslal: po listopad 26 2007, 16:00    Předmět: Citovat

Tuhle vstupni cast nepouzivam, Port A mam cely odpojen, v budoucnu by tam mela byt jen 4 rele. Pouzivam snimace SMT 160-30 pripojene na RB5 a RB6. Cteni snimacu fungovalo v poradku do te doby, nez jsem zacal davat do posuvneho registru same jednicky. A funguje tak zahadne, ze volam 2x stejnou rutinu a prvni probehne a druha ne. Pokud prvni preskocim a oremuju ji, funguje druha. Pokud preskoceni necham a odremuju kod, prestane to behat. Prijde mi to, ze to je zavisle na delce programu. Zrejme se asi ta druha rutina nestaci vykonat. Ovsem kdyz vynecham cteni tlacitek, cteni snimacu funguje. Vypada to, ze jsou opravdu nejak spatne definovane urovne na portu B a tim se nejak zpozduje cteni celeho tohoto portu. Ale nevim co s tim udelat. Snad jsem to popsal dostatecne. Moc dekuji za jakoukoliv radu.

vak
Návrat nahoru
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: po listopad 26 2007, 16:32    Předmět: Citovat

Prostě je něco špatně. Nejspíš v programu, nebo stačí nižší napájecí napětí pro ten teplotní senzor. Pro rozbor je nezbytné skutečné schéma zapojení a skutečně použitý software. Jinak je to zbytečná ztráta času.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
spoj_alfa
Neregistrovaný





PříspěvekZaslal: ne prosinec 16 2007, 6:02    Předmět: délka programu Citovat

Zmiňuješ se o různém chování programu při jeho rozdílné délce.
Neobsahuje program náhodou manipulaci s pozicí akt.instrukce pomocí PCL?
Pokud ano, jednoduchej fígl aniž by ses to snažil blíž pochopit je odpočítat si řádky s instrukcemi tak, aby funkční část tohoto kódu nebyla v blízkosti celých násobků 256-ti, tedy uložit tuto část tam, kde registr PCL nepřetéká.
Návrat nahoru
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.15 sekund