Kristalloscillator inkoppling!

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
bos
Inlägg: 2314
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Inlägg av bos »

Klistra in kod med taggen "

Kod: Markera allt

" så blir det bättre.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Tala om konkret vad ni behöver veta så säger jag det.

En kopia på din kod (självklart!), antingen här om den är liten, eller via
en länk någonstans om den är lite för stor.

Eller, *åtminstånde* de rader som de olika meddelanderna pekar mot !
Eftersom det var låga radnummer, så kanske de första 40 raderna
vore nog.

Eller (allra bäst) ett litet test-case (d.v.s minsta möjliga kod) som
uppvisar just de fel som du får.

Och slutningen, ja, jag blir irriterad när du enbart skriver "och felmeddelanden är många!"
utan en enda liten ledtråd till *VAD* dessa meddelanden sa.

> Tacksam om det finns någon som vill hjälpa mig seriöst...

När jag frågade vad som finns på rad 20-33 så var jag 100% seriös !!
Du har bara inte fattat hur man ställer frågor på ett korrekt sätt, d.v.s
så att det går att ge rellevanta och vettiga svar.

En gång till, säg *aldrig* att du får "en massa fel" utan att också visa *vilka*
fel du får. Det är ett bombsäkert sätt att reta upp de som försöker att
hjälpa till...

> Vet inte vad jag ska börja leta. Har sökt i hjälpen men det hjälper mig inte.

MPASM manualen sidorna 165 (för Warning[220]) och 159 (Error[116]).
http://ww1.microchip.com/downloads/en/D ... 33014J.pdf

Förresten, vad var det för problem med "Blink" ?

PS:
Jag la in:

Kod: Markera allt

;**********************************************************
; CONFIG settings
;
 config OSC = ECIO, WDT=OFF
;
;**********************************************************

 org h'0000'
 goto start
 
 org h'1000'
START
i början så byggde det "rent"...

EDIT: adressen till ORG ovan bara högg jag till...

EDIT2: Notera att det mesta av ovanstående förrutom den lilla kodsnutten
var skrivet innan du postade din kod...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Denna version bygger utan fel. Lägg till 18F2480.LKR till ditt projekt
(Linker Scripts). Och komplettera config inställningarna...
Jag har även snyggat till koden (indenteringarna) lite.

Kod: Markera allt

;***************************************************************************	
    LIST	P=18f2480			;Anger kompilator för processorn
	#include <p18f2480.inc>
;****************************************************************************

;**********************************************************
;     CONFIG settings
;
	config OSC = ECIO, WDT=OFF	
;
;**********************************************************

mycode  code h'0000'
        goto start


main_code code

START:  MOVWF 	PORTA   		;Nollställer Port A 
        MOVWF 	PORTB   		;Nollställer Port B
  
	MOVLW 	0x00			;Skriver värdet 00 hex till W registret
	MOVWF 	TRISA			;Värdet sparas i riktningsregistret för port A
						;Vilket innebär att alla bitarna blir utgångar
	MOVLW 	0x00			;Skriver värdet 00 hex till W registret
	MOVWF 	TRISB			;Värdet sparas i riktningsregistret för port B
						;Vilket innebär att alla bitarna blir utgångar
	
						;Slut på initiering
;*****************************************************************************
	MOVLW	0x02			;Lägg 02 i register W
	MOVWF	PORTA			;Lägg ut detta på PORT A för att bland annat aktivera krets 74HCT541 på laborationskort MT3
            
Blink:  MOVLW 	0x00      		;Lägg 1 i register W
        MOVWF 	PORTB      		;Lägg ut innehållet i register W på Port B för att tända lysdioden.
        CALL 	Delay    		;Subrutinanrop: Delay
        CALL	Delay 
	MOVLW 	0xff       		;Lägg 00 i register W
        MOVWF 	PORTB    		;Lägg ut innehållet i register W på Port B för att släcka lysdioden.
        CALL 	Delay
	CALL	Delay 
	MOVLW	0x00
	MOVWF	PORTB
	CALL	Delay    		;Subrutinanrop: Delay
	CALL	Delay 
        GOTO 	Blink     		;Repetera.

Delay:  MOVLW 	0xff	   		;Tidsfördröjning ca 1 sekund
        MOVWF 	0x0d	   
Loop2:  MOVLW 	0xff
	MOVWF 	0x0c
Loop1:  DECFSZ 	0x0c,1
	GOTO 	Loop1
	DECFSZ 	0x0d,1
	GOTO 	Loop2    
	RETURN

        END
warrior
Inlägg: 50
Blev medlem: 22 februari 2007, 12:36:58
Ort: Borås

Inlägg av warrior »

TACK SODJAN FÖR HJÄLPEN!
Konstigt att det inte gick innan. Du har väl magiska händer!

Dess värre har jag inte fått igång det.
Har provat att köra internoscillatorn "IRCIO67" och det fungerar så det är nog inget fel på programmet.

Men jag undrar är det normalt att kretsen är känslig för att man är i närheten jag tänker på frekvensen. Det ökar kraftigt när jag kommer i närheten med handen. Just nu när jag kör med "Internal oscillator block, port function on RA6 and RA7"
/John
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Konstigt att det inte gick innan.

Nja, det saknades ett par centrala delar. D.v.s de direktiv som talar om
var MPASM/MPLINK ska placera koden i minnet. Jag löste det med att
lägga till ett par CODE (du har sett det, eller hur?) och ett "Linker Script".
Fördelen är att koden också då blir "relocatable". Men det skulle även
ha fungerat med ett par ORG istället, men det är inte lika snyggt.

> Men jag undrar är det normalt att kretsen är känslig för att man är i närheten

Det pekar i 999 fall av 1000 på att man har öppna (oanslutna) pinnar som
är *ingångar*. Antingen MCLR eller vilken annan I/O pinne som helst.

Oanvända pinnar ska antingen programmeras som *utgångar* eller
anslutas till en fast nivå (d.v.s "hög" eller "låg").

Öppna och oanslutna CMOS ingångar är en absolut NO-NO för alla CMOS kretsar!

En 18F2480 har väl fler postar än PORTA och PORTB. Sätt alla portar som utgångar.
warrior
Inlägg: 50
Blev medlem: 22 februari 2007, 12:36:58
Ort: Borås

Inlägg av warrior »

Ja just det startvector heter det väl till ok med.

Och linker skriptet har du och jag diskuterat tidigare, och fördelar med "relocatable".

Ska prova att sätta alla till utgångar.
Tack för hjälpen! Ska vara tydligare från början vad jag frågar.
Har ju även lärt mig nu hur man lägger in code så det går att läsa.
Lättare att få hjälp då.

Mvh
John
warrior
Inlägg: 50
Blev medlem: 22 februari 2007, 12:36:58
Ort: Borås

Störningar!

Inlägg av warrior »

Har problem med störningar.
Kan inte ta på picen för då stör jag programmet.

Jag har nu stängt av Mclr, satt portarna till utgångar och stängt av A/D.
Processorn är fortfarande 18f2480 jag kör den på internoscillatorn.

Den är mindre känslig för störningar nu när jag gjort detta,
så jag misstänker att det finns nått mer att stänga av eller som behöver sättas.

Tacksam för tips!
John
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Sätt den till normal -MCLR med en 10K till VDD och se till att du har lite avkopplingskondensatorer över spänningsmatningen. 100nF keramisk är bra, 2 st är bättre.

Just det: dessa avkopplingskondensatorer ska sitta med så korta ledare till kretsen som praktisk möjligt och bäst är att klistra fast den/dom över kretsen.
warrior
Inlägg: 50
Blev medlem: 22 februari 2007, 12:36:58
Ort: Borås

Inlägg av warrior »

Tack Icecap!
Jag provar!
Skriv svar