Zpozdeni pri vycitani portu
Moderátor: Moderátoři
-
vak
Zpozdeni pri vycitani portu
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
-
vak
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
-
vak
Diky,
vak
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...
-
vak
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
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.
-
vak
vak
-
spoj_alfa
délka programu
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á.