Pic AND Funktion

Gast #1284643
Hallo,

Ich hab mich heute wieder einmal hinter meinen Pic gesetzt und möcht 
eine "AND-Funktion" erstellen.

1. 4Eingänge von PortA sollen verglichen werden
2. 4Leds sollen an PortC alles Anzeigen

Im Grunde soll z.B. 1Led leuchten, wenn Eingang 1 und 2 High haben. 
(Wenn PortA 1&2 Dann PortC 1)

Weit bin ich leider nicht gekommen:

#include <pic.h>
void main(void)
{
TRISC = 0b00000000;
TRISA = 0b11111111;
}


Im Netz hab ich auch nicht brauchbares Gefunden

p.s. hab Pic-Kit2 und 16F690

Hoffe ihr helft mir
Gast
Also das ganze geht in Asembler folgendermaßen:

;#############################
loop

   btfss PORTA,0
   goto  aus
   goto  test2

test2
   btfss PORTB,0
   goto  aus
   goto  an

an
   bsf  PORTC,0
   goto loop

aus
   bcf  PORTC,0
   goto loop
;#################################

wir etwas verzwickter wenn man einen ganzen PORT ( PORTA und PORTB )
vergleichen will aber ich hab diesen algorythmus in einer 
Autoalarmanlage eingebaut und er funktioniert problemlos

mfg
asm
versuche sowas:

#include <pic.h>      //////////////////  ?!? Controllerspezifisch ?!?
void main(void)
{
  TRISC = 0b00000000;
  TRISA = 0b11111111;


  for(;;)  // endlosschleife
  {
    if(PORTA == 0b.00000011)
    {
      PORTC = 0b.00000001;
    }
    else
    {
      PORTC = 0b.00000000;
    }
  }   // for(;;)

}
Gast
vielen Dank für die Antworten:

C kann ich schon ein bisschen, da dies einer meiner ersten Projekte ist, 
hab ich etwas Probleme, wie das Ganze in einem PIC aussieht.

Die Links kenn ich und habe diese auch schon etwas studiert.

Der Code hilft mir schon weiter, versuche ihn noch zum laufen zu bringen 
:-)
Gast
Musste nur die Binär-Zahlen zu Dezimal-Zahlen umschreiben:

#include <pic.h>
void main(void)
{
  TRISC = 0b00000000;
  TRISA = 0b11111111;


  for(;;)  // endlosschleife
  {
    if
    (
      PORTA == 0)
    {
      PORTC = 1;
    }
    else
    {
      PORTC = 0;
    }
  }   // for(;;)

}

Nur...
Sobald ich meine Schalter für die Eingänge dazu schalte, reklamiert der 
PC wegen der VPP Spannung. Alle Schalter ziehen die Eingänge Anfangs auf 
Vss.

Woran kann das liegen? Bin ratlos

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.