TTL-Rechteck-Generator mit einem PIC12F675
Beispielprojekt inklusive Source Code und brennbarer Hex-Datei
Hier wird eine einfache Methode vorgestellt, um einen PIC-Microcontroller in einen TTL-Taktgeber zu verwandeln - vollständiger Source-Code (in Basic und C) und Hex-Datei inbegriffen.
Um ein TTL-Rechtecksignal zu generieren, braucht es nicht unbedingt einen Funktionsgenerator - dafür genügt oftmals auch ein PIC Mikrocontroller. Ein solcher PIC-Generator ist portabel einsatzfähig, kostengünstig und so gut wie ohne Aufwand zu realisieren. Verwendbar ist der PIC-TTL-Rechteckgenerator zum Beispiel zur Messung der Kabel-Impedanz und der Kabellänge sowie zur Fehlersuche in Kabeln.
Der interne Oszillator mit Taktausgang wird dabei so konfiguriert, dass ein Signal von ca. 1 MHz auf einem Pin ausgegeben wird. Dies kann über die Konfiguration des Mikrocontrollers in der Programmiersoftware eingestellt oder oftmals auch über das Brennprogramm eingegeben werden (Konfiguration siehe Basic-Code unten). Da der Microcontroller ohne Programm, das abläuft, jedoch nicht arbeitet, wird auf einem weiteren Pin eine Leuchtdiode über einen Vorwiderstand angeschlossen zur visuellen Kontrolle der Mikrocontroller-Ausgabefunktion (simple Blinkschaltung). Dieser Aufbau wurde mit einem PIC12F675 (Einzelpreis: ca. 1,20 €) getestet, geeignet dafür sind selbstverständlich auch zahlreiche andere Typen.
Der Anschlussplan für den PIC12F675 ist Bild 2 zu entnehmen.
|
Dieser Aufbau wurde mit dem geringstmöglichen Aufwand und auf möglichst einfache Weise zu realisieren versucht.
Die Daten zum Brennen im hex-Format und in den Programmiersprachen C und Basic:
hex-Code für PIC 12F675 mit TTL-Rechtecksignalausgang und LED-Blinkschaltung: (Chip-Einstellung über Programmer, Daten sind Basic- oder Assembler-Code zu entnehmen)
Download brennbare hex-Datei PIC12F675-R-gen.rar (komprimiert)
0000: 2805 3FFF 3FFF 3FFF 0009 2037 1683 1085
0008: 3041 0090 1283 0185 1683 019F 3007 1283
0010: 0099 1683 0185 1283 1485 3032 00A2 01A3
0018: 2021 1085 3002 00A4 202F 2813 281F 0063
0020: 281F 0AA3 308E 00A1 3001 00A0 0BA0 2826
0028: 0BA1 2824 0BA2 2822 0BA3 2822 0008 30E8
0030: 00A2 3003 00A3 2021 0BA4 282F 0008 101F
0038: 139F 1683 019F 3007 1283 0099 0185 0008
Basic-Code für PIC12F675
;Chip Settings
#chip 12F675,4
#config CPD=OFF, CP=OFF, BODEN=OFF, MCLRE=OFF, PWRTE=OFF, WDT=OFF,
OSC=INTRC_OSC_CLKOUT
gpio = 0
Ansel = 0
cmcon = 7
TrisIO = 0
start:
gpio.1 = 1
wait 50 ms
gpio.1 = 0
wait 2 s
goto start
end
C-Code für PIC12F675
Chip-Konfiguration ist noch vorzunehmen (Daten sind Basic-Code zu entnehmen) !
void main()
{
ANSEL = 0; // Analog zu Digital 12F675
CMCON = 7; // Comparator aus
gpio = 0; // Setzt gesamten Port auf Null
TRISIO = 0; // Setzt alle GPIO als Ausgang
do
{
gpio = 1; // GPIO auf 000001 setzen
Delay_ms(50); // 50 mS EIN
gpio = 0; // GPIO auf 000000 setzen
Delay_ms(2000); // 2 Sek. warten
} while(1); // Endlosschleife von „while“ zu „do“
}
Anwendungsmöglichkeit:
Verwendbar als Taktgeber zur Messung der Kabel-Impedanz und der Kabellänge sowie zur Fehlersuche in Kabeln.
Alternativ zum PIC-Taktgeber kann ein TTL-Rechtecksignal auch mit einem Quarz-Oszillator erzeugt werden.
Weiterführende Links:
- Impedanzen einfach praktisch messen - Fehlersuche in Kabeln - Kabellänge bestimmen
- TTL-Rechtecksignal mit einem Microprozessor PIC12F675 generieren
Alle Texte und Bilder sind urheberrechtlich geschützt. Jegliche Vervielfältigung dieses Textes und/oder Bilder bedarf der vorherigen Genehmigung. Copyright: www.Afug-Info.de Kontakt: http://www.afug-info.de/