Anbieter zum Thema
Richtige Konfiguration der Timer-Module
Die Mikrocontroller bieten drei Timer-Module: Timer0, Timer1 und Timer2, von denen jedes einen Interrupt erzeugen kann, um ein Ereignis anzuzeigen, z.B. einen Timer-Überlauf.
Timer0 ist ein einfacher 8-Bit Timer-Counter. Timer1 ist ein 16-Bit Timer-Counter, bestehend aus zwei 8-Bit-Registern, die lesbar und beschreibbar sind. Timer2 ist ein 8-Bit Timer mit einem Pre-Scaler, Post-Scaler und Periodenregister. Mit dem Pre-Scaler und Post-Scaler auf höchster Einstellung ist die Überlaufzeit die gleiche wie bei einem 16-Bit-Ttimer. Timer2 ist die PWM-Zeitbasis wenn das CCP-Modul im PWM-Modus verwendet wird.
Für den PWM-Modus müssen das Timer2-Periodenregister (PR2), Timer2-Steuerregister (T2con) und das PIR1-Register konfiguriert werden. Der PWM-Ausgang verfügt über eine Zeitbasis (Periode) und eine Zeitdauer, in der der Ausgang auf 1 bleibt (Tastgrad). Die PWM-Frequenz ist der Kehrwert der Periode. Die PWM-Periode wird durch Schreiben in das PR2-Register festgelegt.
Capture-Compare PWM-Module und USART
Es gibt zwei CCP-Module, die jeweils mit einem 16-Bit-Register ausgestattet sind, das als 16-Bit Capture-Register, 16-Bit Compare-Register oder 10-Bit PWM Master-Slave Tastgrad-Register arbeiten kann. Die CCP-Module sind außer dem Special Event Trigger identisch im Betrieb.
Das USART-Modul ist eines der beiden seriellen I/O-Module; das andere ist das SSP-Modul. Der USART ist auch als serielle Kommunikationsschnittstelle bekannt (SCI) und kann als asynchrones Vollduplex-System konfiguriert werden, das in der Lage ist, mit Peripherie wie CRT-Terminals und PCs zu kommunizieren. Auch eine Konfiguration als synchrones Halbduplex-System ist möglich, das mit Peripherie wie integrierten ADCs und DACs sowie etwaigen seriellen EEPROMs kommuniziert.
Im Beispielprogramm ist es als asynchrones Vollduplex-System konfiguriert, um mit einem PC zu kommunizieren. In dieser Anwendung wird der USART nur für die Übertragung verwendet. Die einzurichtenden Register sind das Baudratengenerator-Register (SPBRG), das Transmit-Status- und Steuerregister (TXSTA), das Receive-Status- und Steuerregister (RCSTA) und das Transmit-Data-Register (TXreg).
Das spezielle 8-Bit-SPBRG steuert die Periode eines freilaufenden 8-Bit-Timers. Im asynchronen Modus steuert ein Bit auch die Baudrate. Im synchronen Modus darf man dieses Bit durchaus ignorieren.
Im TXSTA wählt man den asynchronen Modus und die 8-Bit-Übertragung aus. Das Transmit Enable (TXen) Bit des TXSTA startet die Übertragung, und das Transmit Shift Register Status Bit (TRMT) ist ein Read-Only Bit, das den Status des Transmit-Shift-Registers (TSR) anzeigt. Um mit der Übertragung zu beginnen, muss das Serial Port Enable Bit (SPen) im RCSTA-Register gesetzt werden. Das Schreiben in TXreg startet die Übertragung. Das Code-Beispiel kopiert das ADC-Ergebnis in TXreg. Der Wert wird automatisch in das TSR geschrieben und am RC6/TX-Pin ausgegeben.
(ID:43810605)