-
-
Erfahrener Benutzer
Fleißiges Mitglied
Startprobleme
Hallo zusammen...
Ich bin noch ziemlich neu bei den Mikroprozessoren und bin zur Zeit ein bisschen am ausprobieren, doch weit bin ich noch nicht gekommen.
Ich verwende einen pic16f628a mit einer selbstgebeuten Testplatine.
Darauf möchte ich zum Beginn eine LED zum Blinken bringen.
Den Quellcode habe ich teilweise von sprut.de übernommen:
list p=16f628a
include "p16f628a.inc"
main
loops Equ 0x22
loops2 Equ 0x23
errorLEVEL -302
Init
bsf STATUS, RP0
movlw B'00000000'
movwf TRISB
bcf STATUS, RP0
clrf PORTB
; LED einschalten
bsf PORTB,5
Loop
call Wait
bcf PORTB,5
call Wait
bsf PORTB,5
goto Loop
Wait
movlw D'250'
movwf loops
Wai
movlw .249
movwf loops2
Wai2 nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
decfsz loops2, F
goto Wai2
decfsz loops, F
goto Wai
retlw 0
end
Ich hab dann den Code in ein HEX-File assembliert (mit dem Tool vom Microchip) und mit dem Galep-4 auf den Chip gebrannt. Wenn ich den Chip nun in die Platine einsetze und Strom drauf gebe, passiert gar nichts...
Jedoch kann es nicht an der Platine liegen, denn die funzt ohne den Chip.
Der WatchDog-Timer ist auch ausgeschaltet, den Takt habe ich auf HS eingestellt (20mhz-Quarz) und das Brennen funktioniert ohne Fehler.
Sieht hier jemand einen dummen Beginner-Fehler oder so was?
-
Erfahrener Benutzer
Lebende Robotik Legende
Hallo orph!
Ich vermute, dass der PIC nicht läuft, weil Du Ihm in Deiner .asm Datei die Konfiguration nicht definiert hast. Im Code sehe ich keine Fehler.
MfG
-
Erfahrener Benutzer
Fleißiges Mitglied
danke für die Antwort
Ich habe jetzt noch zwischen dem Befehl zur Fehlermeldungsunterdrückung und dem Init-Befehl die folgende Zeile eingefügt:
__CONFIG _PWRTE_ON & _WDT_OFF& _HS_OSC
Doch auch damit konnte ich keinen Erfolg erziehlen.
gruss orph
-
Erfahrener Benutzer
Lebende Robotik Legende
Dann bleibt noch MCLR. Versuche es, bitte, noch _MCLRE_OFF dazu schreiben. Ich hatte am Anfang damit gleiches Problem, und seit dem steht das bei mir immer drin. Das ermöglichst das Pin 4 (RA5) auch als I/O zu benutzen. Wenn Du einen Reset Taster an dem Pin hast, muss das Pin mit pull-up ca. 10 kOhm an +Vcc angeschlossen sein und kannst Du _MCLRE_OFF weg lassen.
MfG
P.S. Ich weiss nicht ob es Bedeutung hat, aber die Konfigurationszeile steht üblich direkt nach include xxx.inc .
-
Erfahrener Benutzer
Fleißiges Mitglied
Hallo PICture,
Ich habe deinen Rat weiter befolgt und auch noch MCLRE in die Konfiguration hineingenommen und sie direkt unter include gestellt.
Doch auch dies brachte mir keinen Erfolg.
Nun habe ich jedoch gemerkt, dass ich die beiden Kondensatoren, die zwischen den Quarz und Masse kommen sollten, vergessen habe einzubauen. Ist dies möglicherweise der Grund, das nichts läuft?
(Da ich eh noch andere Bauteile benötige, werde ich mir auch noch solche Kondensatoren kaufen, doch welche kann man dort verwenden? Ich nehme mal an, es werden normale Elektrolyt-Kondensatoren verwendet, doch mehr weis ich nicht.)
-
Erfahrener Benutzer
Robotik Einstein
An den 20MHz-Quarz kommen 2 kleine keramische Kondensaoren mit 10...22 pF (Rastermaß 2,54 mm). Es handelt sich hier um eine höhere Frequenz, wo Elkos nichts zu suchen haben.
Wichtig ist ein PullUp-Widerstand 4,7...47k vom Reset-Pin nach +5V.
PIC-Beispiele: http://www.domnick-elektronik.de/picasm.htm
Fehler-Checkliste: http://www.domnick-elektronik.de/piccheck.htm
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON & _LVP_OFF
-
Erfahrener Benutzer
Fleißiges Mitglied
Jeah, vielen Dank für die Super Infos.
Nur das mit dem PullUp-Widersand versehe ich noch nicht ganz.
Ich nehme an, dass dieser ein normaler Metall-Widerstand sein sollte, oder? Doch wieviel Ohm brauche ich dort nun, zwischen 4.7 und 47 k ist noch eine grosse Auswahl .
Gruss
-
Erfahrener Benutzer
Lebende Robotik Legende
Ich habe schon früher 10kOhm genannt, hast Du warscheinlich übersehen. Kann auch Kohleschicht sein (billiger).
Gut, dass Du die fehlende Kondensatoren selber bemerkt hast, sonst hätten wir noch einege Zeit dafür verloren.
MfG
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen