pic 16f690 digital i/o på porta, jag lyckas inte!
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
pic 16f690 digital i/o på porta, jag lyckas inte!
jag har provat alla tänkbara sätt på ansel bank 2
samt trissat porta i bank 1
men jag kan inte läsa annat än 0 på ra5,ra4,ra3
fördelen med detta misslyckade projekt är att jag lärt mig en del om registrena.
Nackdelen är att jag ofrivilligt har lärt min son massa fula ord.
tanken är att läsa av en plusgivare på port ra5 och ra4
sedan visa resultatet på portc0-4
portc är ju inget problem men porta är hopplös!
om någon har tid för detta så är jag väldigt tacksam för ett förslag.
mvh
Peter
samt trissat porta i bank 1
men jag kan inte läsa annat än 0 på ra5,ra4,ra3
fördelen med detta misslyckade projekt är att jag lärt mig en del om registrena.
Nackdelen är att jag ofrivilligt har lärt min son massa fula ord.
tanken är att läsa av en plusgivare på port ra5 och ra4
sedan visa resultatet på portc0-4
portc är ju inget problem men porta är hopplös!
om någon har tid för detta så är jag väldigt tacksam för ett förslag.
mvh
Peter
-
- Inlägg: 8092
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
Hur har du kopplat? Och hur exakt har du configurerat PortA?
Jag vill minnas att manualen beskriver exakt hur man ställer in och att jag gjorde det när jag lekte med 690 för knappa halvåret sedan.
Jag vill minnas att manualen beskriver exakt hur man ställer in och att jag gjorde det när jag lekte med 690 för knappa halvåret sedan.
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
Antagligen har du inte stängt av de analoga funktionerna på PORTA.
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
Kolla databladet, sist i kapitlet för PortA står ALLA register som berör denna port, se till att du har koll på alla dessa 
Tips: troligen är det de analoga funktionerna eller komparatorerna som spökar.

Tips: troligen är det de analoga funktionerna eller komparatorerna som spökar.
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
tack !
De analoga funktionerna har jag försökt förstå migpå halva dan
så i morgon blir det nog en djupdykning i komparatorer.
det känns som en lång väg tills jag kan få traktorn att följa en gps.
men jag kommer definitivt lära mig mycket på vägen.
tack ska ni ha för hjälpen!
med vänliga hälsningar
Peter
De analoga funktionerna har jag försökt förstå migpå halva dan
så i morgon blir det nog en djupdykning i komparatorer.
det känns som en lång väg tills jag kan få traktorn att följa en gps.
men jag kommer definitivt lära mig mycket på vägen.
tack ska ni ha för hjälpen!
med vänliga hälsningar
Peter
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
> jag har provat alla tänkbara sätt på ansel bank 2
Exakt *VAD* menar du med "alla tänkbara sätt" ?
Databladet anger exakt *ETT* sätt för att stänga av de analoga funktionerna för
PORTA helt. Hör just det sättet till de "tänkbara" sätten du har provat med ?
Att koden du har provat med saknas har andra redan påpekat, så det är väl på gång.
> ..om någon har tid för detta...
Tid för att göra vadå ? Du frågar ju igentligen ingenting.
Det blir mycket enklare om du har några konkreta frågor, annars blir det mest
ett allmänt gnäll, och det brukar ju sällan hjälpa någon...
Skriv gärna "ANSEL", "RA1", "PIC", "I/O" o.s.v så är det lättare att se vad som är register m.m.
Använd också gärna "Förhandsgranska" och kolla igenom att det ser OK ut innan du använder "Skicka".
Exakt *VAD* menar du med "alla tänkbara sätt" ?
Databladet anger exakt *ETT* sätt för att stänga av de analoga funktionerna för
PORTA helt. Hör just det sättet till de "tänkbara" sätten du har provat med ?
Att koden du har provat med saknas har andra redan påpekat, så det är väl på gång.
> ..om någon har tid för detta...
Tid för att göra vadå ? Du frågar ju igentligen ingenting.
Det blir mycket enklare om du har några konkreta frågor, annars blir det mest
ett allmänt gnäll, och det brukar ju sällan hjälpa någon...

Skriv gärna "ANSEL", "RA1", "PIC", "I/O" o.s.v så är det lättare att se vad som är register m.m.
Använd också gärna "Förhandsgranska" och kolla igenom att det ser OK ut innan du använder "Skicka".
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
det som hände var om man rensar ansel så skall allt vara digital "I/O". (clrf ansel)
Men när jag provade med etta eller nolla på "RA5" och "RA4" så blev svaret 0.
presis innan jag slutade provade jag även "RA0-3" vlika fungerade.
min slutsats är att jag har lärt mig ansel men jag får nog undersöka
"T1CKI/OSC1/CLKIN"
"AN3/T1G/OSC2/CLKOUT"
Men när jag provade med etta eller nolla på "RA5" och "RA4" så blev svaret 0.
presis innan jag slutade provade jag även "RA0-3" vlika fungerade.
min slutsats är att jag har lärt mig ansel men jag får nog undersöka
"T1CKI/OSC1/CLKIN"
"AN3/T1G/OSC2/CLKOUT"
Senast redigerad av peterjansson20 13 april 2010, 09:04:21, redigerad totalt 1 gång.
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
> Men när jag provade med etta eller nolla på ra5 och ra4 så blev svaret 0.
Vad exakt betyder "provade med etta eller nolla på ra5 och ra4" ??
Och det saknas fortfarande kod.
> presis innan jag slutade provade jag även ra0-3 vlika fungerade.
Vad betyder "provade" och "fungerade" här då ??
Vad exakt betyder "provade med etta eller nolla på ra5 och ra4" ??
Och det saknas fortfarande kod.
> presis innan jag slutade provade jag även ra0-3 vlika fungerade.
Vad betyder "provade" och "fungerade" här då ??
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
port "RA0-RA3" visar 1 om man ansluter +
men "RA4-RA5"Visar 0
men "RA4-RA5"Visar 0
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
> men "RA4-RA5"Visar 0
Jag utgår från att du inte använder en oscillatorinställning
som använder RA4 och RA5 som kristallingångar eller liknande.
Men, som sagt, om du bara kan fixa fram *koden* du har kört
med så är det ju inget vi behöver gissa eller spekulera kring...
Jag utgår från att du inte använder en oscillatorinställning
som använder RA4 och RA5 som kristallingångar eller liknande.
Men, som sagt, om du bara kan fixa fram *koden* du har kört
med så är det ju inget vi behöver gissa eller spekulera kring...
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
just nu ser koden ut såhär
koden du fick i mailet kan du ignorera!
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
Start:
bsf STATUS,RP0 ; select Register Page 1
movlw 0x00
movwf TRISC
MOVLW 0ff
MOVWF TRISA ; make IO Pin B.0 an output
BCF STATUS,RP0 ;Bank 0
BCF STATUS,RP1
CLRF PORTA ;Init PORTA
BSF STATUS,RP1 ;Bank 2
CLRF ANSEL ;digital I/O
BCF STATUS,RP1 ;
BCF STATUS,RP0 ;Bank 0
MainLoop:
movfw PORTA
movwf PORTC
goto MainLoop ; Do it again...
end
jag kör den interna orsilatorn
koden du fick i mailet kan du ignorera!
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
Start:
bsf STATUS,RP0 ; select Register Page 1
movlw 0x00
movwf TRISC
MOVLW 0ff
MOVWF TRISA ; make IO Pin B.0 an output
BCF STATUS,RP0 ;Bank 0
BCF STATUS,RP1
CLRF PORTA ;Init PORTA
BSF STATUS,RP1 ;Bank 2
CLRF ANSEL ;digital I/O
BCF STATUS,RP1 ;
BCF STATUS,RP0 ;Bank 0
MainLoop:
movfw PORTA
movwf PORTC
goto MainLoop ; Do it again...
end
jag kör den interna orsilatorn
Re: pic 16f690 digital i/o på porta, jag lyckas inte!
Var snäll och använd "code" taggarna då du postar kod så blir det lättare att läsa...
Sedan se did 30 i databladet, TRISx och PORTx ligger i olika bankar. Använd BANKSEL för att välja rätt bank hellre än att fibbla med statusregistret.. Då jag kollar hastigt så ser den biten av koden IOFS rätt ut, men risken är stor att man tappar bort sig. BANKSEL är säkrare.
Typ
Vad är "movfw" ?
Sedan se did 30 i databladet, TRISx och PORTx ligger i olika bankar. Använd BANKSEL för att välja rätt bank hellre än att fibbla med statusregistret.. Då jag kollar hastigt så ser den biten av koden IOFS rätt ut, men risken är stor att man tappar bort sig. BANKSEL är säkrare.
Typ
Kod: Markera allt
BANKSEL TRISA
movlw 0x00
movwf TRISC
MOVLW 0ff
MOVWF TRISA ; make IO Pin B.0 an output
Senast redigerad av AndersG 13 april 2010, 11:33:31, redigerad totalt 1 gång.
- peterjansson20
- Inlägg: 66
- Blev medlem: 12 april 2010, 09:07:16