PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC16F627 will mein programm nicht haben :(



muh-kuh
23.06.2005, 00:53
Help Please !!!
ich hab mir vor kurzem einen PIC16F627 mit prog/test station von Conrad bestellt ,
nach dem löten kommt ja das programmieren ;) ,
die mitgelieferten beispiele laufen ohne probleme , aber wenn ich mein eigenes programm starten will, tut sich nix was geplant war :(

erklärung: ich wollte eine LED an RB0 ein und ausschalten , die warteschleife hab ich mit herunterzählen von 255 auf 0 erstellt,
das ein/ ausschalten hatte ich mit dem " bsf " und " bcf " befehl gemacht, das komische ist aber, dass die LED die ganze zeit Leuchtet, so als wäre der PIC abgestürzt
was bleibt ist grooooooße ungewissheit was falsch ist :(

P.S. dat erste lernbeispiel von Spruts PIC page ( mit dem LED lauflicht) läuft nur bis zur LED 4 und bleibt dort stecken bis ich den PIC resette , also wer sich mit den PICs auskennt wird lachen wenn er das liest , da ich aber erst angefangen habe die PICs zu quälen weiss ich nicht was ich tun soll :(

plz help

ghost0
23.06.2005, 10:51
Hallo,

wenn Du "nur" bis 255 Zaehlst & den internen Takt verwendest (4 MHz) kommst Du auf eine 'Schaltgeschwindigkeit' >> 100 Hz - das ist mit dem Auge nicht mehr sichtbar. Mit einem Oszi - notfalls auch mit einem Multimeter -> Wechselspannung nachmessen.

Heinz

muh-kuh
23.06.2005, 13:38
ähm , ich hab die Schleife 2 mal gemacht
das heisst er zählt 255 mal von 255 runter :)
aber trotzdem kann ich mir nicht erklären warum ein Lernbeispiel von "Sprut" abstürzt .
wie gesagt die mitgelieferten Beispiele laufen alle , sobald ich aber was verändere zb anstatt eines lauflichts nur eine LED ansteuere dann funktioniert es nicht mehr , also das Beispiel für das lauflicht ( ohne kommentare) ist hier

list p=16f627
#include <C:\P16f627.INC>
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC
loops Equ 0x22 ; Zahler fur Warteschleife
loops2 Equ 0x23 ; Zahler fur Warteschleife
Init
bsf STATUS, RP0 ; auf Bank 1 umschalten
movlw B'00000000' ; PortB alle output
movwf TRISB
bcf STATUS, RP0 ; auf Bank 0 zuruckschalten
clrf PORTB ; alle LEDs ausschalten
bsf PORTB,0 ; LED an RB0 einschalten
Loop
call Wait ; Wartezeit
rlf PORTB,f ; laufen zur nachsten LED
call Loop
Wait
movlw D'250' ; 250 ms Pause
movwf loops
Wai
movlw .110 ; Zeitkonstante fur 1ms
movwf loops2
Wai2 nop ;
nop
nop
nop
nop
nop
decfsz loops2, F ; 1 ms vorbei?
goto Wai2 ; nein, noch nicht
;
decfsz loops, F ; 250 ms vorbei?
goto Wai ; nein, noch nicht
retlw 0 ; das Warten hat ein Ende

end

wenn jetzt die 4-te LED angeht stürzt der PIC ab

wenn du dich damit auskennst wäre es nett wenn du mir ein kleines Programm schreiben könntest welches die LED ein und ausschaltet =)

ich sag schonmal danke :)

ghost0
24.06.2005, 08:26
Hallo,

ganz so fest stehe ich nicht im Stoff, ich schlage mich mit anderen Prozessoren herum :-( - aber:

loop
.. call Wait ; Wartezeit
.. rlf PORTB,f ; laufen zur nachsten LED
call Loop

sollte das "call loop" nicht ein jump (goto ??) sein ?

Heinz

muh-kuh
24.06.2005, 15:29
ähm stimmt , ma guggn obs mit goto funktioniert :)

dangeeee ;)

the_Ghost666
24.06.2005, 22:35
ich kenn deinen Pic nicht,aber ist das nicht ein 18pin modell mit AnalogDigital Converter oder Comparator? wenn ja sind einige Ports als Analogpins definiert, wenn du einen Power On reset hast. also erst auf Digital umstellen.
Schau mal bei Sprut nach anfängerfehlern und Analogfalle.
Sonst schreib mich mal in ICQ an oder so, bin mittlerweile mit pics recht gut dabei und hab mir letztens professionelles gerät zugelegt *stolz auf sein ICD2 +demoboard 2plus sei*

muh-kuh
25.06.2005, 13:08
jop das ist so ein 18pin modell :) aber mehr kann ich zu dem " ding " auch net sagen , hab jetzt das beispiel programm etwas umgeschrieben und es funktioniert ,

hab aber keine ahnung warum :)

P.S. @Ghost666 hab dich in ICQ geaddet ,
bekomme aber keine Antwort ^^

the_Ghost666
25.06.2005, 16:52
welche nummer denn? bin momentan am laptop, das ist die 347386774, aber schreib was sinnvolles in die anfrage sonst klick ich die weg

muh-kuh
25.06.2005, 20:20
ähm 269774277 <---- meine ICQ numma :P der name is nen bissel komisch )-I-(eka oda so in der art :)