Sida 1 av 2

pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 12 april 2010, 22:32:23
av peterjansson20
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

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 12 april 2010, 22:34:18
av danielr112
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.

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 12 april 2010, 22:38:14
av bearing
Antagligen har du inte stängt av de analoga funktionerna på PORTA.

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 12 april 2010, 23:00:38
av v-g
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.

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 12 april 2010, 23:15:43
av peterjansson20
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

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 12 april 2010, 23:41:21
av sodjan
> 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".

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 08:58:17
av peterjansson20
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"

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 09:01:13
av sodjan
> 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å ??

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 09:08:32
av peterjansson20
port "RA0-RA3" visar 1 om man ansluter +
men "RA4-RA5"Visar 0

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 09:10:12
av sodjan
Och testkoden ?

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 10:08:21
av sodjan
> 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...

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 11:18:55
av peterjansson20
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

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 11:22:24
av AndersG
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

Kod: Markera allt

BANKSEL TRISA
movlw 0x00
movwf TRISC 
MOVLW 0ff 
MOVWF TRISA ; make IO Pin B.0 an output
Vad är "movfw" ?

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 11:28:40
av peterjansson20
tack!

Re: pic 16f690 digital i/o på porta, jag lyckas inte!

Postat: 13 april 2010, 11:30:57
av AndersG
Menar du:

Kod: Markera allt

	movf	PORTA,w
	movwf	PORTC
?

Har du testat koden i MPLABS simulator?