We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X

The Numerically Controlled Oscillator (NCO) peripheral provides a programmable precision linear frequency generator for applications such as lighting control, tone generators, radio-tuning circuitry, fluorescent ballasts and class D audio amps. 

Features


  • 16-bit numeric frequency control
    • 500 kHz max output
  • 20-bit numeric frequency control
    • 32 MHz max output
  • 0.0001% step size of source clock input frequency
  • Multiple clock sources
  • Operation while in low-power sleep
  • Two output modes
    • Fixed 50% duty cycle
    • Pulse frequency modulation
  • Useable as a general-purpose 20-bit timer/counter
  • True linear frequency control
  • Increased frequency resolution
  • Core-independent operation

8-bit Microcontrollers with Numerically Controlled Oscillator

View All Parametrics
Product Pricing Pin Count Program Memory Size (KWords) Numerically Controlled Oscillator (NCO)
PIC16F15313 0.4600 8 2 1
PIC16F15323 0.5000 14 2 1
PIC16F15324 0.5600 14 4 1
PIC16F15325 0.6300 14 8 1
PIC16F15344 0.6300 20 4 1
PIC16F15345 0.7000 20 8 1
PIC16F15354 0.7300 28 4 1
PIC16F15355 0.8000 28 8 1
PIC16F15356 0.8800 28 16 1
PIC16F15375 0.9000 40 8 1
PIC16F15376 0.9800 40 16 1
PIC16F15385 0.8800 48 8 1
PIC16F15386 0.9700 48 16 1
PIC16F18313 0.5300 8 2 1
PIC16F18323 0.5700 14 2 1
PIC16F18324 0.6400 14 4 1
PIC16F18325 0.7100 14 8 1
PIC16F18326 0.7800 14 16 1
PIC16F18344 0.7000 20 4 1
PIC16F18345 0.7700 20 8 1
PIC16F18346 0.8400 20 16 1
PIC16F18424 0.7100 14 4 1
PIC16F18425 0.7800 14 8 1
PIC16F18426 0.8500 14 16 1
PIC16F18444 0.8100 20 4 1
PIC16F18445 0.8800 20 8 1
PIC16F18446 0.9500 20 16 1
PIC16F18455 0.9500 28 8 1
PIC16F18456 1.0400 28 16 1
PIC16F18854 0.7800 28 4 1
PIC16F18855 0.8400 28 8 1
PIC16F18856 0.9400 28 16 1
PIC16F18857 1.0400 28 32 1
PIC16F18875 0.9700 40 8 1
PIC16F18876 1.0500 40 16 1
PIC16F18877 1.1600 40 32 1
PIC18F04Q40 0.6300 14 8 3
PIC18F04Q41 0.6900 14 8 3
PIC18F05Q40 0.6900 14 16 1
PIC18F05Q41 0.7400 14 16 1
PIC18F06Q40 0.7700 14 32 1
PIC18F06Q41 0.8300 14 32 1
PIC18F14Q40 0.7000 20 8 3
PIC18F14Q41 0.7600 20 8 3
PIC18F15Q40 0.7600 20 64 1
PIC18F15Q41 0.8100 20 16 1
PIC18F16Q40 0.8400 20 32 1
PIC18F16Q41 0.9000 20 32 1
PIC18F24K42 1.0800 28 8 1
PIC18F25K42 1.1500 28 16 1
PIC18F25K83 1.5000 28 16 1
PIC18F25Q43 0.9000 28 16 3
PIC18F26K42 1.2300 28 32 1
PIC18F26K83 1.5100 28 32 1
PIC18F26Q43 0.9800 28 32 3
PIC18F26Q83 1.0000 28 32 1
PIC18F26Q84 1.0900 28 32 1
PIC18F27K42 1.3700 28 64 1
PIC18F27Q43 1.0900 28 64 3
PIC18F27Q83 1.1500 28 64 1
PIC18F27Q84 1.2200 28 64 1
PIC18F45K42 1.2900 40 16 1
PIC18F45Q43 1.0600 40 16 3
PIC18F46K42 1.4000 40 32 1
PIC18F46Q43 1.1500 40 32 3
PIC18F46Q83 40 32 1
PIC18F46Q84 1.2900 40 32 1
PIC18F47K42 1.5400 40 64 1
PIC18F47Q43 1.2900 40 64 3
PIC18F47Q83 1.3400 40 64 1
PIC18F47Q84 1.4600 40 64 1
PIC18F55K42 1.3400 48 16 1
PIC18F55Q43 1.1300 48 16 3
PIC18F56Q43 1.2500 48 32 3
PIC18F56Q83 48 32 1
PIC18F56Q84 48 32 1
PIC18F57Q43 1.3000 48 64 1
PIC18F57Q83 48 64 1
PIC18F57Q84 1.4700 48 64 1

Documentation

Title Download
AN1523 - Sine Wave Generator Using Numerically Controlled Oscillator Module Download
TB3071 - Voltage-Controlled Oscillator with Linear Frequency Output Download
TB3102 - Boost Converter Using the PIC12F1501 NCO Peripheral Download
AN1467 - High-Power CC/CV Battery Charger Using a Inverse SEPIC (Zeta) Topology Download
AN1473 - Various Solutions for Calculating a Pulse and Duty Cycle Download
TB3131 - Numerically Controlled Oscillator on PIC Microcontrollers Download
AN1470 - Manchester Decoder Using the CLC and NCO Download
AN1451 - Glitch-Free Design Using the Configurable Logic Cell (CLC) Download
AN1521 - Practical Guide to Implementing Solar Panel MPPT Algorithms Download
TB3097 - Digital SMPS - Buck Converter using the PIC12F1501 NCO Peripheral Download
AN1476 - Combining the CLC and NCO to Implement a High Resolution PWM Download
Title Download
TB3131 - Numerically Controlled Oscillator on PIC Microcontrollers Download
Title Abstract
Using the Numerically Controlled Oscillator This is a self-paced Training presentation that will focus on Microchip's Using the Numerically Controlled Oscillator (NCO) covering NCO Overview, Clock Source, Output Signal Mode, Accumulator and Invrement Registers, Output Control, Reset and Sleep, NCO Example, Application Examples and a Summary with some Additional Resources to get you started.

Numerically Controlled Oscillator

The Numerically Controlled Oscillator (NCO) module is a timer that uses the overflow from the addition of an increment value to divide a frequency. The advantage of the addition method over simple counter driven timer or a PWM is that the resolution of division does not vary with the divider value resulting in true linear frequency control. The NCO is most useful for applications that require linear frequency control, high frequency accuracy and fine resolution at a fixed duty cycle such as lighting and ballast control, tone generators and resonant power supplies.