| |
|
Beispiele mit dem PIC18F4520 |
|
|
|
|
|
Beispiele mit dem PIC18F4520
Eine LED mit dem PIC18F4520 Mikrocontroller einschalten:
Wenn man mit dem PIC Mikrocontroller das erste Programm schreibt, ist es sinnvoll, ein Test-Programm zu schreiben.
Mit diesem Beispiel kann man testen, ob die LED beim PORTB (RB0) eingeschaltet werden kann.
Für diesen Test soll man das MPLAB2-Board von Microchip, die extrem günstige Variante von Sure Electronics oder die elegante Lösung PicBoard 16F887 von MAW Engineering verwenden. Bei diesen Demo Boards sind vier (oder acht) LEDs direkt bei dem PORTB angeschlossen. Detaillierte Fotos und Beispiele mit dem PicBoard 16F887 finden Sie hier.
Schritt 1: TRISB konfigurieren
Wenn man eine Spannung (+5V) bei PORTB ausgeben möchte, muss man zuerst TRISB konfigurieren.
Mit TRISB kann man das Verhalten (Input oder Output) von PORTB bestimmen. Wenn der binäre Wert 00000000 bei der Adresse TRISB gespeichert ist, werden alle Anschlüsse (8 bit) von PORTB als Ausgang konfiguriert. Wenn der binäre Wert 11111111 bei der Adresse TRISB gespeichert ist, werden alle Anschlüsse (8 bit) von PORTB als Eingang konfiguriert.
Schritt 2: PORTB steuern
Wenn PORTB als Ausgang konfiguriert ist, kann man ein Signal ausgeben und somit eine LED steuern. Beim PIC18F4520 erfolgt diese Operation in zwei Schritten:
Zuerst wird der Wert 1 (00000001) vom W-Register aufgeladen. Im zweiten Schritt wird der Wert vom W-Register an PORTB übergeben.
Der W-Register ist ein Arbeitsspeicher (Work-Register), welcher aus 8 Flip-Flops besteht.
Einige Details und Erklärungen:
MOVLW B'00000000'
MOVWF TRISB
Der Mikrocontoller lädt den Wert 0 (oder im Binär-Format 00000000) im W-Register auf. Der Befehl kann auch als MOVLW D'0' geschrieben werden. Dann, der Wert vom W-Register wird an TRISB übergeben.
Die Adresse vom TRISB ist im "Include File" definiert und vorkonfiguriert. Nach diesen zwei Befehlen resultiert: TRISB=0.
MOVLW B'00000001'
MOVWF PORTB
Der Mikrocontoller lädt den Wert 1 (oder im Binär-Format 00000001) im W-Register. Der Befehl kann auch als MOVLW D'1' geschrieben werden.
Der Wert vom W-Register wird an PORTB übergeben. Nach diesen zwei Befehlen resultiert: PORTB=1, dh eine LED ist jetzt eingeschaltet.
Die Adressen von PORTB und von TRISB sind im "Include File" definiert und vorkonfiguriert.
Hier finden Sie einige Beispiele mit dem PIC16F887
| |
|
|
|