Problem mit PIC16F628A

Gast #522338
Hallo,

bin neu in diesem Gebietund kenn mich noch nicht so gut mit 
Microcontrollern aus! Wollte als test nur mehrere Dioden zum leuchten 
bringen und hab den PIC16F628A mit folgendem Programm in MPLAB 
beschrieben!

------------------------------------------------------------------------ 
------
void main(void)
    {
         TRISA = 0b.0000.0000;
         PORTA = 0b.0000.1010;
  TRISB = 0b.0000.0000;
         PORTB = 0b.0101.1010;
    }
------------------------------------------------------------------------ 
------

aber irgendwie funktioniert das nicht! mit dem PIC 16F84A funktioniert 
das!

muss man bei dem dem PIC 16F628A irgend welche besonderen einstellungen 
beim brennen vornehmen?

Schon mal danke im voraus

MFG SNI
Gast #522354
------------------------------------------------------------------------ 
------
> void main(void)
>     {
>          TRISA = 0b.0000.0000;
>          PORTA = 0b.0000.1010;
>          TRISB = 0b.0000.0000;
>          PORTB = 0b.0101.1010;
>     }
> ------------------------------------------------------------------------ ------

Ist das wirklich so, dass da noch zusätzliche Punkte drin sein müssen?

Ansonsten gilt des, die Fuses im Auge zu haben.
Gast #522367
Die PIC16F627/628 haben einen Komparator. Den hat der F84 nicht. Nach 
Power up ist PORTA als analog-in konfiguriert.

Damit PORTA digital arbeitet brauchts noch den Befehl
CMCON = 7;

siehe datenblatt Seite 61

Gerhard
#522556
HI SNI

Also diese Punkte sind echt komisch. Lass sie einfach weg, geht ohne. So 
kannst du schon mal eine mögliche Fehlerquelle eliminieren.

Und dann must du gleich am Anfang die analogen Analog-Eingänge auf 
Digital umschalten. Denn im Vergleich zu 16f84 ist PORTA nach dem Reset 
auf ADC eingestellt (Analog-Digital-Converter). Um PORTA zu benutzen 
musst du auf jeden Fall am Anfang auf digital umschalten.
Das geht so.

Im Assembler:

    BSF CMCON, CM0
    BSF CMCON, CM1
    BSF CMCON, CM2

In C entsprechend !!  (Beachte auch die anderen Bits im CMCON)

Schalte auch die Interupts am besten aus
Das ist das GIE Bit.


PS: Wenn du Anfänger bist, programmiere auch einmal im Assembler. Es ist 
sehr einfach und man kann sich beim Assembler mehr aus wesentliche 
konzentrieren.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 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.