www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Erster Versuch Assembler Code


Autor: Jens Mander (Firma: vzdub) (jens-mander)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle!

Ich habe letztes Wochenende mir die Velleman K8048 Pogrammierplatine 
gkauft und nun meinen ersten Assembler Code geschrieben.
Der Code ist recht simpel dennoch funktioniert er nicht so wie er 
sollte.

Funktion des Programms:
Eine LED soll invertiert werden d.h. wenn man keinen Taster betätigt 
soll die LED an sein.
Wenn man den Taster betätigt soll sie aus gehen.

Wenn das Programm läuft passiert genau das Gegenteil. Es muss wohl noch 
ein grundlegender Fehler vorhanden sein.

Mein Code:

       list                            p=16f627
       #include                        <p16f627.inc>

       __CONFIG                        _BODEN_ON & _CP_OFF & 
_DATA_CP_OFF
& _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _XT_OSC

                       movlw           B'00000111';digital inputs!
                       movwf           CMCON

                       bsf             STATUS,RP0   ;switch to
Bank1


                       movlw           B'11000000'   ;RB0-RB5
are Outputs
                       movwf           TRISB

                       movlw           B'11111111' ;RA0-RA7
are Inputs
                       movwf           TRISA

                       bcf             STATUS,RP0 ;switch to Bank0

                       clrf            PORTB ;clear all outputs


HAUPT             btfss           PORTA,0
                       goto            JA

NEIN                bsf             PORTB,0
                       goto            HAUPT

JA                    bcf             PORTB,0
                       goto            HAUPT

                       end

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Taster an 0 GND Masse angeschlossen ist musst du
JA und NEIN vertauschen.

Autor: Jens Mander (Firma: vzdub) (jens-mander)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für deine Antwort.
Die Taster schalten 5V.

---->http://www.audiodesignguide.com/Robot/schem1.jpg

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Eine LED soll invertiert werden

Sorry das hatte ich übersehen.
Dein Code wäre richtig wenn der Taster gegen
GND schaltet. Du musst immer noch JA und NEIN
vertauschen.

Autor: Jens Mander (Firma: vzdub) (jens-mander)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Holger du hast auf jeden Fall recht.

Also liegt am Eingang des PIC 5V an und es müsste eigentlich nach Masse 
geschaltet werden?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.