ik gebruik deze code en heb al ongeveer 6 pics geprogged met deze code maar het werkt nooit. hoe kan dit??


instelporta     EQU	85h
porta		EQU	05h
teller		EQU	40h
teller2	        EQU	41h

                ORG	00h     	

		BSF 	03,5		
		CLRF	instelporta	
	        BCF 	03,5		


knipper		MOVLW	00h
		MOVWF	porta
	        MOVLW	01h		
		MOVWF	porta		

		CALL	pauze

		MOVLW	00h
		MOVWF	porta		

 		CALL	pauze
		
		MOVLW	02h
		MOVWF	porta

 		CALL	pauze            

		MOVLW	00h
		MOVWF	porta
		
		CALL	pauze

 

		MOVLW	03h
		MOVWF	porta

 		CALL	pauze

		MOVLW	00h
		MOVWF   porta

		GOTO	knipper

pauze           MOVLW	0ffh		
        	MOVWF	teller2
verder          MOVLW	0ffh
        	MOVWF	teller
opnieuw         DECFSZ	teller, 1
        	GOTO	opnieuw
        	DECFSZ	teller2, 1
        	GOTO	verder
		RETURN
		END

btw er missen een paar spaties die laat ie weg oid

Ik heb nu het bestand van bastiaan in me pic geladen, volgens ic prog gaat het goed en ik kan het er ook weer uitlezen.
Maar als ik het op me breadboard maak werkt het niet meer??
Ik heb al een ander kristal geprobeert maar dat hielp ook niks de weerstanden en leds werken gewoon, dus wat kan er dan nog fout zijn.
Het heeft wel gewerkt zoals het nu op me breadboard zit.
waar kan dit aan liggen??

- welke PIC gebruik je;
- staat IC-Prog ook ingesteld voor hetzelfde type PIC;
- staat IC-Prog ook ingesteld op Xtal oscillator;
- maken alle componenten op het breadboard wel goed contact?

16f628
ja
XT, jep
ja ook
[edit] heb hem nu opgebouwt op een ander stuk van me breadboard daar werkt ie ook niet [/edit]

[Bericht gewijzigd door G_SHOCK op ]

De code van Bastiaan's tutor is gemaakt voor de 16F84. In principe loopt dat ook op een 16F628 maar je moet dan een aantal instellingen van de 628 aanpassen. Op de website van Wouter (http://www.voti.nl) kun je lezen hoe dat moet.

Los van het bovenstaande vind ik dat het schrijven van broncode op deze manier veel beter kan met weinig moeite. Als je later nog eens naar de code kijkt, weet je niet meer voor welke PIC het gemaakt is, welke instellingen (fuses) er in IC-Prog (of ander programma) ge-set/reset moeten worden enz. Veel beter is het om die gegevens direct in je broncode op te nemen zodat MPASM direct weet waar hij mee te maken heeft en die informatie ook voor IC-Prog automatisch beschikbaar komt. Met name het 'Configuration Word' is belangrijk.
Zie voorbeeld hieronder.


 TITLE " MORSE "
 LIST   P=12F629
;
 include "p12f629.inc"
;
; ----- Configuration Word -----------
; Bandgap               11                 Highest voltage
; Unimplemented           000              Read as '0'
; Data code protection       1             CPD disabled
; Code protection             1            CP disabled
; Brown-out detect             0           BOD enabled
; GP3/MCLRE                     0          digital I/O, MCLR internaly tied to Vdd
; Power-up timer                 1         PWRT disabled
; Watchdog timer                  0        WDT disabled
; Oscillator                       100     INTOSC I/O on GP4 & GP5
;
 __config             b'11000110010100'

dat stel ik zelf allemaal in en ic prog zet dat er automatisch bij

movlw 7
movwf CMCON

dus ik moet dit invoeren?>?

Op 9 augustus 2003 21:08:47 schreef G_SHOCK:
dat stel ik zelf allemaal in en ic prog zet dat er automatisch bij

Doe je die instellingen in MPASM? Op zich niet fout, maar -zoals ik al schreef- weet je over 'n jaar niet meer wat de juiste instellingen waren als je het programma nog eens wil assembleren. Stop het in de broncode, dat maakt het voor altijd duidelijk.

movlw 7
movwf CMCON
dus ik moet dit invoeren?

Ja.

dus dit zou moeten werken?

instelporta     EQU	85h
porta		EQU	05h
teller		EQU	40h
teller2	        EQU	41h

                ORG	00h     	
		
		CLRF	porta	
		
		MOVLW	07h
		MOVWF	1Fh
		BSF 	03,5		
		CLRF	instelporta	
	        BCF 	03,5		


knipper		MOVLW	00h
		MOVWF	porta
	        MOVLW	01h		
		MOVWF	porta		

		call	pauze

		MOVLW	00h
		MOVWF	porta		

 		call	pauze
		
		MOVLW	02h
		MOVWF	porta

 		call	pauze            

		MOVLW	00h
		MOVWF	porta
		
		call	pauze

 

		MOVLW	03h
		MOVWF	porta

 		call	pauze

		MOVLW	00h
		MOVWF   porta

		GOTO	knipper

pauze           MOVLW	0ffh		
        	MOVWF	teller2
verder          MOVLW	0ffh
        	MOVWF	teller
opnieuw         DECFSZ	teller, 1
        	GOTO	opnieuw
        	DECFSZ	teller2, 1
        	GOTO	verder
		return
		END

Probeer eens of het werkt. Trouwens, je gebruikt toch niet steeds een nieuwe PIC hè, want je kunt zo'n 16F628 met gemak 1000x opnieuw programmeren.

hehe, werkt niet :(
ong 10.000x :P nee ik use een andere om te checken of die dan wel werkt, maar ook niet dus.
ow ik heb je trouwens op me msn toegevoegt, maar ik zie je niet echt online komen ;)

[Bericht gewijzigd door G_SHOCK op ]

hmm hij werkt nu wel :D! beter

Op 10 augustus 2003 18:15:57 schreef G_SHOCK:
ow ik heb je trouwens op me msn toegevoegt, maar ik zie je niet echt online komen ;)

Klopt, ik doe niet aan MSN.

Werkt de schakeling met de PIC nu wel of niet? Smilies hebben voor mij geen toegevoegde waarde. Ze zeggen me niets, maar dat kan met de leeftijd te maken hebben.

ja het werkt nu, bedankt voor je hulp.
( ben alweer bezig met nieuwe code )