This repository contains an example of MCC-generated source code for TMR0 as described in TB3285 - Getting Started with Timers/Counters on PIC18 document from Microchip.
This example describes how to configure TMR0 in 8-bit mode, using LFINTOSC as clock source.
A GPIO pin is configured as output and a 125 Hz signal is generated on the GPIO pin (RC2) using the Peripheral Pin Select (PPS).
The code was generated using MPLAB Code Configurator.
- TB3285 - Getting Started with Timers/Counters on PIC18
- PIC18-Q10 Product Family Page
- PIC18F47Q10 Data Sheet
- PIC18F47Q10 Code Examples on GitHub
- MPLAB® X IDE 5.30 or newer (microchip.com/mplab/mplab-x-ide)
- MPLAB® XC8 2.10 or newer (microchip.com/mplab/compilers)
- MPLAB® Code Configurator (MCC) 3.95.0 or newer (microchip.com/mplab/mplab-code-configurator)
- MPLAB® Code Configurator (MCC) Device Libraries PIC10 / PIC12 / PIC16 / PIC18 MCUs 1.79.0 or newer (microchip.com/mplab/mplab-code-configurator)
- Microchip PIC18F-Q Series Device Support 1.3.89 or newer (packs.download.microchip.com/)
- PIC18F47Q10 Curiosity Nano (DM182029)
The PIC18F47Q10 Curiosity Nano Development Board is used as the test platform.
The following configurations must be made for this project:
- Clock
- Oscillator Select: HFINTOSC
- HF Internal Clock: 1 MHz
- Clock Divider: 1
- TMR0
- TMR0 Enabled
- Clock Prescaler: 1:1
- Postscaler: 1:1
- Timer mode: 8-bit
- Clock Source: LFINTOSC
- Synchronization: disabled
- Timer interrupt: enabled
- Watchdog Timer: disabled
- Low-voltage Programming: enabled
Pin | Configuration |
---|---|
RC2 | Digital Output |
-
Connect the board to the PC.
-
Open the pic18f47q10-cnano-tmr0-clk-out-mcc.X project in MPLAB® X IDE.
-
Set pic18f47q10-cnano-tmr0-clk-out-mcc project as main project. Right click on the project in the Projects tab and click Set as Main Project:
-
Select the PIC18F47Q10 Curiosity Nano in the Hardware Tool section of the project settings:
- Right click on the project and click Properties;
- Select the PIC18F47Q10 Curiosity Nano (click on the SN) in the Hardware Tool tab and then click OK:
Result:
RC2 pin - Channel 0 (black) in the screenshot below
This project is an illustration for a basic use case based around TMR0.