SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

PIC16F877

Beispiel mit dem PIC16F887 von Microchip

Mit diesem Beispiel in Assembler kann man acht LEDs bei PORTC einschalten. Für den PIC16F87X-Microcontroller muss man bei der Initialisiereung sehr viel aufpassen.
Die Analoge-Eingänge des Microcontrollers sind per "default" aktiviert. Und PORTC kann nur nach dem Befehl BANKSEL TRISC konfiguriert werden.

8 LEDs eingeschaltet (PicBoard 16F887 von MAW Engineering)



Damit der Microcontroller programmiert werden kann, muss man das Programm mit der Entwicklungsumgebung "MPLAB IDE" kompilieren, runterladen und dann laufen lassen. In der unten stehenden Abbildung sieht man die Ausgangslage für den Test:



Für die Erstellung des Projektes soll man den ASM-Code kopieren und kompilieren:



Beispiel: Lauflicht mit dem PIC16F887 von Microchip

Das Beispiel zeigt beim PORTC ein Lauflicht von links nach rechts und dann von rechts nach links. Damit die LED nicht zu schnell eingeschaltet werden, steht die Subroutine wait_10ms zur Verfügung. Diese Subroutine wartet 10 ms.

Wie funtioniert diese Subroutine?
Diese Subroutine verwendet die Funktion wait_50us, die 200 mal mit einer Schleife ausgeführt wird (siehe Variable 'k' und Befehl DECFSZ). Diese Funktion wait_50us besteht grundsätzlich aus 100 NOP, die 50 us Wartezeit erzeugen können.
Man muss beachten, dass die Wartezeit vom Quarz des Mikrocontrollers abhängig ist. Bei 8 MHz benötigt ein NOP genau 0.5 us (1/8MHz * 4). Mit 100 NOP ist die Wartezeit sehr einfach zu berechnen, und zwar: 100 * 0.5 us= 50 us.
Wennn man die Wartezeit von 50 us mit der Schleife 200 mal ausführt, bekommt man eine Wartezeit von genau 10ms.





Beispiel: Taste überprüfen und dann LEDs einschalten mit dem PIC16F887 von Microchip

Mit diesem Beispiel werden acht LEDs bei PORTC einschaltet, wenn die Taste bei RB0 (PORTB) betätigt wird. Für die Programmierung muss man folgende Punkte berücksichtigen:
1) RB0 von PORTB muss als Eingang definiert werden
2) PORTC muss als Ausgang konfiguriert werden
Das Programm besteht aus einer Schleife (siehe WHILE_1), die konstant RB0 überprüft.
Sobald die Taste betätigt wird (RB0=1), wird der Befehl BTFSS (Bit Test Skip if Set) den Eingang RB0 überprüfen und dann direkt den Befehlt GOTO MAIN ausführen.
Nach diesem Befehl werden dann die 8 LEDs eingeschaltet (siehe MAIN-Schleife).





DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere