PIC -registr misto PORTB ?
Jiri Splichal
splichal@pulp.cz
Čtvrtek Srpen 30 10:50:12 CEST 2007
Ahoj
mam takovy ( zacatecnicky) dotaz:
zkousim zapojeni s PIC16F628 ,ktere zobrazuje na PORTB stav pomoci LED
,ale ted v BCD kodu.
Chci ale zobrazovat vysledek jen jednou LED a proto sem naspal toto :
.
.
.
.
MOVF SLA_IND,W
ADDWF MAS_IND,W
ADDWF MAS_IND,W
ADDWF MAS_IND,W
MOVWF TEMP
MOVLW 4*AVER_BASE + D'3'
SUBWF TEMP,W
MOVWF PRIJMUTO ;bylo PORTB ;tady by se zobrazil vysledek v BCD
kodu na PORTB
GOTO MOV_BUFFERS
NO_TONE
MOVLW dtmf1 ;nacte porovnavany kod
MOVWF STSW ;presune ho do
pomocneho registru
MOVFW PRIJMUTO ;bylo PORTB ;nacte zobrazeny udaj
SUBWF STSW,W ;a oba je porovna
BZ UKOL1 ;pokud souhlasi
-provede ukol jinak jde na dalsi mozne....
;-------------------
MOVLW dtmf2
MOVWF STSW
MOVFW PRIJMUTO ;bylo PORTB
SUBWF STSW,W
BZ UKOL2
;--------------------
MOVLW dtmf3
MOVWF STSW
MOVLW PRIJMUTO ;bylo PORTB
SUBWF STSW,W
BZ UKOL3
GOTO MOV_BUFFERS
;-----------------------------------------------
UKOL1
NOP
CLRF PORTB
BSF PORTB,4
NOP
GOTO MOV_BUFFERS
.
.
.
.
(je to samozrejme jen cast) Nacte pozadovany kod BCD a porovna ho se
stavem na PORTB.
A ted - pokud se pracuje skutecne s PORTB ,tak vse funguje jak ma ,ale
pokud nahradim PORTB (radne definovanym) registrem PRIJMUTO ,tak uz to
nedekoduje :-O Uz na to koukam par dni a vubec to nechapu?
Jak to patri spravne ,aby se nemusely pokazde rozsvecovat i ty LED s BCD
kodem?
Dedkuji za kazdou radu!
Jirka
Další informace o konferenci Hw-list