TP Mikrocontroller
TP Mikrocontroller
PRAKTISCHE ARBEITEN
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
TP ELEKTRONIK NUMERISCH 1
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Objectifs :
‹ Sich mit der Entwicklungsumgebung von MikroC vertrautmachen
‹ Durchführung der Eingangs- und Ausgangsverwaltung mit einem PIC 16F628A.
‹ Einen Mikrocontroller PIC 16F628A programmieren.
‹ Simulieren und testen Sie das Programm auf der Hardware.
Ich- Einführung :
Ein Mikrocontroller ist ein integrierter Schaltkreis, der die wesentlichen Elemente eines Computers vereint:
Prozessor, Speicher (Nichtflüchtiger Speicher für das Programm, Arbeitspeicher für die Daten), Einheiten
Peripheriegeräte und Ein- und Ausgabeschnittstellen. Mikrocontroller zeichnen sich durch eine höhere aus.
Integrationsgrad, ein geringerer Stromverbrauch (einige Milliwatt in
Betriebsweise, einige Nanowatt im Standby), eine niedrigere Betriebs Geschwindigkeit (einige
Megahertz) und Kosten im Vergleich zu den vielseitigen Mikroprozessoren, die in den verwendet werden
Personalcomputer.
Im Vergleich zu elektronischen Systemen auf Basis von Mikroprozessoren und anderen separaten Komponenten
(wie zum Beispiel Computer oder Automaten) ermöglichen Mikrocontroller eine Verringerung
die Größe, den Stromverbrauch und die Kosten der Produkte. Sie haben somit dazu beigetragen, zu demokratisieren
die Nutzung von Informatik in einer Vielzahl von Produkten und Prozessen.
TP ELEKTRONIK DIGITAL 2
AOUINA NOURALLAH Technologe an der ISET von Bizerte
Aktivität 1: Blinkdiode
ÿ Schritt 1: Pflichtenheft
Wir möchten eine Leuchtdiode "LED" gemäß dem folgenden Zeitplan bestellen:
Starten Sie die Software mikroC und erstellen Sie ein neues Projekt (Projekt --> Neues Projekt)
TP ELEKTRONIK DIGITALE 3
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Das neue Projekt heißt (Project Name) Diode_LED im Verzeichnis (Project folder)
C:\Atelier_Labo_I06\Diode_LED\, wir wählen den pic16F628A (Gerätename) und einen Quarz von 4MHz
(Geräteuhr).
TP ELEKTRONIK NUMERISCH 4
AOUINA NOURALLAH Technologe am ISET von BIZERTE
TP ELEKTRONIK DIGITAL 5
AOUINA NOURALLAH Technologe am ISET von Bizerte
voidmain() {
TRISB= 0b11111110 ; // b7 b6 b5 b4b3 b2 b1b0
// 1 1 1 1 1 1 10
// Entrées Ausgang
while(1) // endlose Schleife
{
PORTB = 0b1111111 ; Die LED-Diode ist eingeschaltet
verzögerung_ms(1000); // Verzögerung von einer Sekunde
PORTB = 0b11111110 ;//die LED-Diode ist ausgeschaltet
verzögerung_ms(1000); //Zeitverzögerung von einer Sekunde
} //Ende der Endlosschleife
} //Fin de programme
Hinweis:
Um einen einzigen Pin des PORTB zu programmieren, kann man die folgende Syntax verwenden: RB0_bit oder
PORTB.F0
Kompilieren Sie das Programm
Um Ihr Programm zu kompilieren, gehen Sie zum Tab Build.‰Bauen Sie das Symbol aus , oder aber
Strg+F9.
TP ELEKTRONIK NUMERISCH 6
AOUINA NOURALLAH Technologe am ISET von BIZERTE
TP ELEKTRONIK NUMERISCH 7
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Klicken Sie auf das Terminal-Symbol, die Liste der verfügbaren Terminals erscheint.
F Klicken Sie auf PIC16F628A (rechte Maustaste, dann linke Maustaste und fügen Sie die Datei diode_LED.hex hinzu)
TP ELEKTRONIK DIGITAL 8
AOUINA NOURALLAH Technologe am ISET von BIZERTE
FStarten Sie die Simulation des Schaltkreises (klicken Sie auf die Wiedergabetaste im Steuerpanel der Animation unten)
links)
TP ELEKTRONIK DIGITALE 9
AOUINA NOURALLAH Technologe am ISET in BIZERTE
F Verbinden Sie den Programmierer über das serielle Verbindungskabel mit dem PC.
F Verwenden Sie die Software Ic-Prog, um Ihre Datei diode_LED.hex auf den PIC zu übertragen
Starten Sie die Software IC-Prog und wählen Sie PIC16F628A aus.
TP ELEKTRONIK DIGITAL 10
AOUINA NOURALLAH Technologe am ISET von Bizerte
TP ELEKTRONIK NUMERIK 11
AOUINA NOURALLAH Technologe am ISET von Bizerte
F Setzen Sie das elektronische Schema auf die Testplatine und testen Sie dessen Funktion.
TP ELEKTRONIK NUMERISCH 12
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Um mehr zu erfahren!
Die Kompilierung eines Codes ermöglicht es, nur Syntaxfehler zu erkennen, hingegen ein
Korrekte Syntax bedeutet nicht, dass ein Programm korrekt ist.
Falls der Code gut geschrieben ist, aber die Anwendung nicht den Anforderungen entspricht, ISIS
bietet uns die Möglichkeit, das Programm im Schrittmodus (Debug-Modus) auszuführen, um
Bestimmen Sie die Programmierfehler.
Um diesen Modus zu verwenden, muss zuerst eine Datei erstellt werden, die der *.hex-Datei ähnelt, aber die
enthält mehr Informationen zur Verwendung des Debug-Modus, ist die Datei .COFF
Um diese Datei zu generieren, gehen Sie in MikroC auf die Registerkarte Werkzeuge.‰ Optionen‰ Ausgabeeinstellungen
dann das Kästchen „COFF-Datei generieren“ ankreuzen
TP ELEKTRONIK DIGITALE 13
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Laden Sie diese Datei in den PIC statt der .hex-Datei in ISIS und starten Sie dann den Debug-Modus.
TP ELEKTRONIK DIGITAL 14
AOUINA NOURALLAH Technologe am ISET von Bizerte
Aktivität 2: Abblendlicht
Lastenheft
Wir möchten die Steuerung einer Kreuzung Lichtern automatisieren, die den Verkehr regelt.
Kreuzung mit zwei Fahrbahnen. Das Lastenheft sieht die Möglichkeit vor, die Zeitgeber zu ändern.
durch den Betreiber in Abhängigkeit von der Verkehrsdichte. Die Studie wird auf eine einzige Ampel beschränkt sein. Der
Der normale Betrieb wird durch das folgende Zeitdiagramm beschrieben:
4 0 1 0
1- Schreiben und Kompilieren eines Programms, das dem obigen Zeitplan entspricht mit
MiKroC.
2- Erfassen und simulieren Sie das obenstehende elektronische Schema unter ISIS.
3- Implementieren Sie das Programm im Speicher des PIC: Übertragen Sie die [Link] in die
mémoire programme du PIC à l'aide du programmateur.
4- Den PIC in seine endgültige Montage einsetzen und die Simulationsergebnisse in der Praxis validieren
TP ELEKTRONIK NUMERISCH 15
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Abbildung Nr. 3: Die verschiedenen Ziffern, die vom Sieben-Segment-Anzeiger erstellt werden
Un afficheur sept segments est constitué de sept segments(a, b, c, d, e, f, g), chaque segment
enthält eine LED-Diode, die ein- oder ausgeschaltet wird, um eine Zahl zu bilden, Abbildung Nr. 3. Beispiel
Si(a=b=c=1)et(g=d=e=f=0)le chiffre créé est sept.
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 Code ein Code HEX in
- g f e d c b a Hexadezimal miKroC
0 0 0 0 0 1 1 1 07 0x07
TP ELEKTRONIK NUMERISCH 16
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Klicken Sie auf die Segmente (a, b, c, d, e, g), um die gewünschte Zahl zu erstellen, in unserer Anwendung
nimmt den Code der Ziffer für einen gemeinsamen Kathoden-7-Segment-Anzeiger (Beispiel: das
Die erzeugte Ziffer ist 7, ihr Code in HEX ist 0x07.
1- Schreiben Sie dann ein Programm, das die Funktionsweise eines Modulo-10-Zählers beschreibt und kompilieren Sie es.
wer zählt von 0 bis 9 mit mikroC.
2- Erfassen und simulieren Sie das obenstehende elektronische Schaltbild unter ISIS.
3- Implementieren Sie das Programm im Speicher des PIC: Übertragen Sie die [Link] die
Speicherprogramm des PIC mit Hilfe des Programmiergeräts.
4- Den PIC in seine endgültige Montage einsetzen und die Simulationsergebnisse in der Praxis validieren.
Um einen Zähler/Abzähler zu erstellen, fügen wir zwei Schalter (Switch) an die Anschlüsse hinzu.
RA0, RA1du PORTA
SiRA0=0‰Der Montage funktioniert im Zähler/Stellen
SiRA0=1‰Rücksetzung (RAZ)
SiRA1=0‰ Zählen von 0 bis 9
SiRA1=1‰ Abzählen von 9 bis 0
Es wird gebeten, die Fragen 1 bis 4 zu verweisen.
TP ELEKTRONIK DIGITAL 17
AOUINA NOURALLAH Technologe am ISET von BIZERTE
TP ELEKTRONIK DIGITAL 18
AOUINA NOURALLAH Technologe am ISET in BIZERTE
PRAXISARBEITEN
V-------------------------------- --------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
TP ELEKTRONIK DIGITAL 19
AOUINA NOURALLAH Technologe am ISET von Bizerte
Ziele:
Implementierung eines LCD-Displays, das von einem PIC 16F628A, 16F877A gesteuert wird.
I- Prinzip :
Hier ist die Rolle jeder der 3 Stromversorgungen des Displays LM016L:
Man kann eine Brosche gewinnen, indem man R/W mit Masse verbindet (R/W = 0 : Schreibmodus)
TP ELEKTRONIK NUMERISCH 20
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Es ist die Uhr des Displays, sie wird takten und validieren.
alle den Austausch (Übertragung von Anweisungen oder für
6 E
die Anzeige eines Zeichens).
D0 à Daten im ASCII-Code (D0 bis D4 haben zusätzlich
7 bis 14
D7 andere Funktionen)
15 A Anode Hintergrundbeleuchtung (+5V)
16 K Kathoden-Hintergrundbeleuchtung (Masse)
Die folgende Tabelle zeigt die verschiedenen Zeichen, die von LCD angezeigt werden können.
ASCII-Code.
TP ELEKTRONIK NUMERISCH 21
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Die verschiedenen PINs des LCD werden vom Mikrocontroller gesteuert. Jede Variable muss sein
einem Pin des µC zugewiesen.
Beispiel:
Register-Wahlleitung. sbitLCD_RSatRB4_bit;
……… ……….
Die Grundfunktionen:
Prototyp Description
TP ELEKTRONIK NUMERISCH 22
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Druckt Zeichen auf dem LCD an der angegebenen Position. Beide Variablen
und Literale können als Zeichen übergeben werden.
void Lcd_Chr (char zeile, char
Parameters :
column, char out_char);
• Reihe: Schreibposition Reihenfolge
• Spalte: Schreibposition Spaltennummer
• out_char: character to be written
Druckt das Zeichen an der aktuellen Cursorposition auf dem LCD. Beide
void Lcd_Chr_Cp (char Variablen und Literale können als Zeichen übergeben werden.
out_char);
Parameters :
Die Befehle :
LCD-Befehl Zweck
_LCD_STARTSEITE Setzen Sie den Cursor in die Heimatposition zurück, bringt eine verschobene Anzeige zurück zu
Bewege den Cursor nach links, ohne die Anzeigedaten im RAM zu ändern
_LCD_CURSOR_NACH_LINKS_BEWEGEN
TP ELEKTRONIK DIGITAL 23
AOUINA NOURALLAH Technologe am ISET von BIZERTE
_LCD_SHIFT_LEFT Verschieben Sie das Display nach links, ohne den Display-Daten-RAM zu ändern.
_LCD_SHIFT_RECHTS Verschiebe das Display nach rechts, ohne den RAM der Anzeige-Daten zu ändern
1. Angeforderte Arbeit:
On propose de réaliser un programme à l’aide d’un pic 16F628A qui permet de gérer un afficheur
alphanumerisch aus 2 Zeilen mit 16 Zeichen im 4-Bit-Modus, um die folgenden Texte zu schreiben:
TP ELEKTRONIK DIGITAL 24
AOUINA NOURALLAH Technologe am ISET von BIZERTE
void main(){
Programmieren Sie Ihren PIC16F877A-Mikrocontroller mit der Software IcProg und der Karte von
Programmierung wie in Abbildung 4b angegeben
4- Führen Sie die Montage auf der Testplatte durch (und/oder) verkabeln Sie sie auf einem didaktischen Modell.
de PIC und die geplante Funktionsweise überprüfen.
TP ELEKTRONIK DIGITAL 25
AOUINA NOURALLAH Technologe am ISET von Bizerte
(a) (b)
Figure 4 : a- Résultat pratique, b- Programmation du PIC
TP ELEKTRONIK DIGITAL 26
AOUINA NOURALLAH Technologe am ISET von Bizerte
PRAXISARBEITEN
V----------------------------------------------------------------------------------------------------------------
V --------------------------------- -------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V ----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
TP ELEKTRONIK NUMERISCH 27
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Objectifs :
1- Zeitmanagement :
1-1- Prinzip :
- Zählen Sie die empfangenen Impulse an der Pin RA4/T0CKI. In diesem Fall sagen wir, dass wir sind
im Moduszähler.
- die Taktzyklen des PIC selbst zählen. In diesem Fall, da der Takt fest ist, wir
Wir werden also tatsächlich die Zeit zählen. Also werden wir im "Timer"-Modus sein.
0 : pas de débordement
TP ELEKTRONIK NUMERISCH 28
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Wir schlagen vor, ein Programm auf Basis eines PIC 16F628A zu erstellen, das es ermöglicht, den Zustand zu ändern.
Die Diode, die an Bit 0 von PORTA angeschlossen ist, nach einer Zeit von 3 ms.
TP ELEKTRONIK DIGITAL 29
AOUINA NOURALLAH Technologe am ISET von BIZERTE
2- Signal PWM :
2-1- Prinzip :
Ein MLI-Signal (PWM) hat eine feste Periode, aber eine variable Impulsbreite. Das Verhältnis
zwischen der Breite des Impulses (tan) und die Periode (T) ist das Hauptmerkmal eines Signals
PWM. Es ist das Tastverhältnis (Duty Cycle). Diese Technik wird hauptsächlich verwendet für
Motoren mit variabler Geschwindigkeit bestellen.
2-1-1- Konfiguration :
Das PWM-Signal wird mithilfe des Timer2 (8 Bit) erzeugt und auf dem Pin CCP1 (RC2) abgerufen, dafür,
Dieser Pin muss als Ausgang konfiguriert werden.
Die Hauptdaten, die bereitgestellt werden müssen, sind die Signalperiode (oder deren Frequenz) und das Verhältnis.
zyklisch
a. Die Periodendauer des Signals wird im Register PR2 gespeichert, sie wird durch die Formel berechnet
nächste :
b. Der zyklische Bericht ist eine 10-Bit-Auflösung, daher wird er in zwei Registern geschrieben:
CCPR1L et les bits 5 et 4 du CCP1CON.
Arbeitzyklus
Bit9 Bit2 Bit0
CCP1CON<5:4>
CCPR1L (MSB)
(LSB)
TP ELEKTRONIK NUMERISCH 30
AOUINA NOURALLAH Technologe am ISET von Bizerte
Le registreT2CON:
-- TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0
bit7 bit0
Name Funktionen oder Zustände
bit7 Non utilisé
bit6-3 TOUTPS3:TOUTPS0: Timer2 Konfiguration des Postscalers:
Postscale-Auswahlbits 0000= 1:1
0001= 1:2
0010= 1:3
…….
1111= 1:16
bit2 TMR2ON: Timer2 On bit Timer2 ist aktiviert
Timer2 ist deaktiviert
bit1-0 T2CKPS1:T2CKPS0: Timer2 00: Prescaler ist 1
Takt-Präskalerauswahlbits 01: Vorteiler ist 4
1x: Teiler ist 16
Wir schlagen vor, ein Programm auf Basis eines PIC16F877A zu erstellen, das ein Signal erzeugt.
PWM mit einer Frequenz von 2 kHz und variablem Tastverhältnis über zwei Drucktaster.
TP ELEKTRONIK NUMERISCH 31
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Abbildung 1
1- Geben Sie die Werte an, die in jedes Register programmiert werden sollen, um das PWM-Modul zu konfigurieren.
2- Schreiben Sie das entsprechende Programm in MiKroC.
3- Kompilieren Sie das Programm und simulieren Sie es auf ISIS.
4- Führen Sie die Montage auf einer Prüfplatte durch (und/oder) verdrahten Sie sie auf einem didaktischen Modell.
de PIC und die geplante Funktionsweise überprüfen und Ihre Ergebnisse validieren.
Abbildung 2
TP NUMERISCHE ELEKTRONIK 32
AOUINA NOURALLAH Technologe am ISET von BIZERTE
TP ELEKTRONIK NUMERIK 33
AOUINA NOURALLAH Technologe am ISET von BIZERTE
PRAXISARBEITEN
TPN°4Analogisch-Digitalumwandlung
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
V----------------------------------------------------------------------------------------------------------------
TP ELEKTRONIK NUMERISCH 34
AOUINA NOURALLAH Technologe an der ISET von Bizerte
Ziele :
VEine analoge Spannung auf dem A/D-Modul des Mikrocontrollers 16F877 lesen
VZeigen Sie das Bild des Wertes einer analog umgewandelten Spannung auf einem LCD-Display an.
V Die Geschwindigkeit eines Gleichstrommotors entsprechend dem Wert der analogen Spannung steuern.
1- Principe :
Das Modul des Analog-Digital-Wandlers ermöglicht die Umwandlung eines analogen Signals in
ein numerischer Wert. Der PIC 16F877A arbeitet mit einem ADC, der eine Abtastung ermöglicht.
auf 10 Bit. Daher kann das digitale Signal 2 annehmen10(1024) mögliche Werte.
1-1- Configuration :
Abbildung 1
Der analoge Eingang kann an einen der externen analogen Eingänge angeschlossen werden. Man kann verwenden
bis zu 8 Eingänge, aber zu einem bestimmten Zeitpunkt ist nur ein Kanal mit dem ADC verbunden. Also die Auswahl
Die Umwandlung muss zwingend vor jeder Konversion stattfinden.
Kanalnummer Brosche
0 RA0/AN0
1 RA1/AN1
2 RA2/AN2/VREF-
3 RA3/AN3/VREF+
4 RA5/AN4
5 RE0/AN5
6 RE1/AN5
7 RE2/AN5
TP ELEKTRONIK DIGITAL 35
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Die Referenzspannungen, die die Dynamik des Wandlers festlegen. Sie können sein
wählen Sie aus Vdd, Vss, Vr+ oder Vr-.
Um einen Eingang als analogen Eingang zu verwenden, muss der entsprechende Port im Modus konfiguriert werden
analoge.
Das ADC-Modul enthält vier Konfigurationsregister:
TP ELEKTRONIK DIGITAL 36
AOUINA NOURALLAH Technologe am ISET von BIZERTE
Der Konverter gibt ein Ergebnis auf 10 Bit, daher muss dieses Ergebnis zwingend sein
in zwei Registern gespeichert. Diese Register sind die Register ADRESSE und ADRESH.
Das Ergebnis kann entweder links oder rechts ausgerichtet sein.
Die Rechtsbündigung vervollständigt den linken Teil des Ergebnisses mit "0". Das Ergebnis wird daher sein
die folgende Form :
ADRESH ADRESL
0 0 0 0 0 0 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
Die linksbündige Ausrichtung erfolgt selbstverständlich nach der umgekehrten Methode:
ADRESH ADRESL
b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 0 0 0 0 0
Die Rechtsbündigung wird hauptsächlich verwendet, wenn wir die vollständigen 10 Bit benötigen.
Das Ergebnis, während die linksbündige Justierung sehr praktisch ist, wenn 8 Bits ausreichend sind.
TP ELEKTRONIK NUMERISCH 37
AOUINA NOURALLAH Technologe am ISET von BIZERTE
2- Angeforderte Arbeit :
Wir schlagen vor, ein Programm auf Basis eines PIC 16F877A zu erstellen, siehe Abbildung 1, das es ermöglicht, ...
Ein analoges Signal in einen digitalen Wert umwandeln und auf einem LCD anzeigen (siehe TP4).
1-Die Werte angeben, die in jedes Register programmiert werden sollen, um den ADC zu konfigurieren.
Man gibt die Abbildung 2 an, ein Programm zu schreiben, das die Geschwindigkeit eines Motors erhöht
in Gleichstrom gemäß dem analogen Wert, der aus dem Potentiometer stammt, das einen Sensor simuliert
thermisch.
TP ELEKTRONIK NUMERISCH 38