|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
TIBET Član
Pridružen-a: Čet 13 Sep 2007 23:39 Prispevkov: 163 Aktiv.: 0.80 Kraj: Metlika
|
Objavljeno: Tor Feb 24, 2009 9:23 pm Naslov sporočila: 74HC165 |
|
|
Prosil bi za pomoč pri omenjenem čipu. Imam kaskadno vezana dva med seboj. Zakaj mi ne dela?
INIT
CLRF PORTA
CLRF PORTB
CLRF PORTC
CLRF PORTD
CLRF PORTE
BCF STATUS,RP1
BSF STATUS,RP0 ;banka1
;********************************
MOVLW b'00001000'
MOVWF TRISA ;PORTA pini izhod, razen RA3, data pin HC165, vhod
MOVLW 0X06
MOVWF ADCON1 ; vsi pini digitalni
MOVLW B'00001000'
MOVWF TRISA ; RA3 digitalen vhod
;*****************************************
MOVLW 0x00
MOVWF TRISB ;PORTB pini vsi izhod
MOVLW b'00001100'
MOVWF TRISC ;RC3, RC4 vhod za uro in temp. senzor
MOVLW b'01111000' ;RD3- RD6 vhod za tipkovnico
MOVWF TRISD
MOVLW 0X00
MOVWF TRISE ;PORTE vsi izhodi
MOVLW b'10000001'
MOVWF OPTION_REG ;predelilnik 1:4 prekoračitev 1,024ms
Beri_165
movlw .16
movwf STEVEC ; KOLIKO BITOV BEREM
BCF PL_165 ; Parallel Load STROBE
nop
BSF PL_165 ; pulz za branje vhodov
nop
Se_Beri
;***************
bsf STATUS,C ; Recimo, da je na vhodu 1
btfss PORTA,3 ; DS ; Kaj je na vhodu ?
bcf STATUS,C ; Na vhodu je 0
;***************
rlf PODATEK3,F ; premik bitov v levo
rlf PODATEK4,F ; premik bitov v levo
nop
BSF CLOCK
nop
BCF CLOCK ; pulz CLOCK
Decfsz STEVEC,F
Goto Se_Beri ;smo prebrali vse pine
return
#define CLOCK PORTC,0 ; pin 0 CLOCK
#define PL_165 PORTC,1
#define DS PORTC,2 ; data pin 9 _________________ LP. Aleš |
|
Nazaj na vrh |
|
|
TIBET Član
Pridružen-a: Čet 13 Sep 2007 23:39 Prispevkov: 163 Aktiv.: 0.80 Kraj: Metlika
|
Objavljeno: Sre Feb 25, 2009 9:37 pm Naslov sporočila: |
|
|
Najprej se opravičujem, pri kopiranju programa na forum sem naredil nekaj napak. Do tega je prišlo, ker sem omenjena čipa imel priklopljena najprej na PORTA, nato pa sem poskusil še na PORTC. Uporabljam PIC16F877A. Ne vem, kaj delam narobe.
Uporabljam izhodna in vhodna pomikalna registra, 74HC595 in 74HC165. 595 sta vezana kaskadno, kot v knjigi Programirajmo PIC mikrokontrolerje in delujeta v redu, pod pogojem da je v INIT:
MOVLW b'00001000'
MOVWF TRISA ;PORTA pini izhod, razen RA3, data pin HC165, vhod
če pa dam v INIT:
MOVLW 0X06
MOVWF ADCON1 ; vsi pini digitalni
MOVLW B'00001000'
MOVWF TRISA ; RA3 digitalen vhod
ne delata tudi 595-ki. 595 in 165 sta skupno imela CLOCK priklop na RA1 pin.
#define SER PORTA,0 ; PRIKLOP 74HC595, DATA PIN, pin 14
#define SCK PORTA,1 ; CLOCK, pin 11 595, pin 2 165
#define RCK PORTA,2 ; STROBE, pin 12
#define DS PORTA,3 ; data pin 9, HC165
#DEFINE PL_165 PORTA,4 ; pin 1, PARALEL LOAD
Nato sem ločil 165-ki in jih prestavil na PORTC, kateri ni A/D, ampak tam tudi ne deluje. Kaj je vzrok?
Beri_165
movlw .16
movwf STEVEC ; KOLIKO BITOV BEREM
BCF PL_165 ; Parallel Load STROBE
nop
BSF PL_165 ; pulz za branje vhodov
nop
Se_Beri
;***************
bsf STATUS,C ; Recimo, da je na vhodu 1
btfss PORTA,3 ; DS ; Kaj je na vhodu ?
bcf STATUS,C ; Na vhodu je 0
;***************
rlf PODATEK3,F ; premik bitov v levo
rlf PODATEK4,F ; premik bitov v levo
nop
BSF SCK
nop
BCF SCK ; pulz CLOCK
Decfsz STEVEC,F
Goto Se_Beri ;smo prebrali vse pine
return
Moderatorja bi prosil, če lahko temo premakne v Microchip PIC, ali v Osnove programiranja PIC-a v Assambler-ju. Done VolkD
Hvala. _________________ LP. Aleš |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 92 dni
Powered by phpBB © 2001, 2005 phpBB Group
|