Forum: Mikrocontroller und Digitale Elektronik PIC Taster abfrage


von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe ein Problem...
ist zwar nichts Grosses übersteigt aber dennoch meine Fähigkeiten!

1. Nicht immer wenn ich SW1 oder SW4 Drücke tuht sich was
   Gedacht war 1. mal drücken led am Pin blink 2. mal drücken led bleibt 
aus.
   wenn ich Sw1 oder Sw4 mehr mal drücke startet er erst die Subroutine.

2. Als erweiterung wenn Sw1 und Sw4 gedrückt werden sollen beide leds
   blinken und wenn man Sw1 oder Sw4 drückt aus gehen.

Danke im voraus...
Tobias ein weiterer Anfängern ;-)

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Tobias schrieb:
> 1. Nicht immer wenn ich SW1 oder SW4 Drücke tuht sich was

 Komisch. Bei mir auch.
 Was tuhn SW2 und SW3 ?
 Und wie tuhst du die SW1 und SW4 abfragen ?

 EDIT:
 Nachdenken.
 Was tuhst du da falsch ?

 EDIT_2:
 Kleine Hilfe ( in DELAY_ROUTINE ) ?

: Bearbeitet durch User
von Tobias (Gast)


Lesenswert?

Marc Vesely schrieb:
> Was tuhn SW2 und SW3 ?

Machen Zurzeit nichts sollen aber Später noch Funktionen ein/aus 
schalten.

>  Und wie tuhst du die SW1 und SW4 abfragen ?

Iss im Dateianhang...

Habe ÄErlich gesagt sehr wenig ahnung was Assambler angeht!
Habe mir alles aus Snippeds zusammen gebastelt...

LG

von Tobias (Gast)


Lesenswert?

Marc Vesely schrieb:
> Kleine Hilfe ( in DELAY_ROUTINE ) ?

Also ich denke das ich Folgendes mache...
DELAY_ROUTINE   MOVLW   D'500'
nehme den wert D'54' Kopiere den Wert in die Speicherzelle.
MOVWF   TIMER2
und Speicher ihn hier und den Timer2.

oder meinst wegen dem wert 500? weil da schreibt Mplab mir: Argument out 
of range.  Least significant bits used

Bin echt Über fragt bin aber dabei es Zulernen.

lg

von Chris B. (dekatz)


Lesenswert?

Tobias schrieb:

>
> oder meinst wegen dem wert 500? weil da schreibt Mplab mir: Argument out
> of range.  Least significant bits used
>
500 passt nun mal nicht in ein 8-Bit Register!!

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Tobias schrieb:
> Bin echt Über fragt bin aber dabei es Zulernen.

 Was ist DELAY_ROUTINE ?
 Wie rufst du die auf ?
 Und wie kommt man da raus ?

von Noch einer (Gast)


Lesenswert?

Pic Assembler lernen? Ein Vorschlag wäre erst mal Spruts Beispiele 
durcharbeiten. Er erklärt kurz und verständlich, wie das so läuft.
http://www.sprut.de/electronic/pic/

von Chris B. (dekatz)


Lesenswert?

Tobias schrieb:
> Habe mir alles aus Snippeds zusammen gebastelt...

Das funkteoniert bei Hochsprachen schon nicht besonders gut und in 
Assembler gar nicht!
Hier die "Kummernummer" für PIC und Assembler:
http://www.sprut.de

(ah da war jemand schneller...)

: Bearbeitet durch User
von Tobias (Gast)


Lesenswert?

Stimmt garnicht Drüber nachgedacht das "nur" 8-Bit Zurverfügung steht...
hab es auf  D'125' geandert und den rstlichen code Angepasst. Danke 
Schonmal Dafür:-)

Leider Ändert sich da durch nichts an meinemeingans Problem:-(

lg

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Tobias schrieb:
> Leider Ändert sich da durch nichts an meinemeingans Problem:-(

 Dein Stack läuft über !!!
 Und jetzt gehe zu dem obigen Link, aber flink !!

 Unterwegs bei Duden vorbeischauen...

: Bearbeitet durch User
von Michael R. (elektr-hobbyist)


Lesenswert?

Hallo Tobias,

Dir scheinen die kompletten Grundlagen zu fehlen.
Ich kann mich den "Vorrednern" nur anschließen, und Dir raten, Dich z.B. 
auf Spruts Seite, mit den Grundlagen zu befassen.
So wie Du es jetzt angegangen hast, wird das nur Murks.

L.G.

Micha

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.