OSCCAL Value Finder




Introduction

When working with microcontrollers that require a factory calibrated osccal value stored in memory, it’s very normal that once in a while this setting could be lost during an upload of a new program or when accidentally erasing the device.

I’m no exception and erased many times this value by mistake in several devices. Once this value is erased, it’s not possible to recover it unless it was written on a sheet of paper or in our own memory and use it to record it back.

OSCCAL Value Finder

This project has the ability to calculate what is the appropriate osccal value for the 12F675 microcontroller.




Schematic

Schematic OSCCAL Value Finder

Parts List

R1                   300 ohms resistor
R2                  1K ohms resistor
R3                  10K ohms resistor
P1                   10K Potentiometer
C1                   15pF capacitor
C2                  15pF capacitor
C3                  10uF capacitor
Led1               3mm green led
LCD               8X2 LCD
XTAL            8Mhz cristal
IC1                 16F88 microcontroller from Microchip
S1                   Push button

Others:

Box
8 PIN IC SOCKET
PCB
Hex program for the microcontroller

How it works

The program loaded in the 12F675 device which has no osccal value will force a pulse on GPIO.4 and it will make a loop while increasing the osccal value internally.
GPIO.5 will send the current osccal value used for each pulse sent. Because the device has no calibrated osccal value, the pulse will be variable. The circuit will wait until it receives the correct pulse. When the correct pulse is received, it will stop the test and display the osccal value used when the correct pulse was measured.
 
The value displayed is in Hexadecimal format which means it can be used without conversions directly to the device’s memory.

For more detail: OSCCAL Value Finder




Leave a Comment

*
= 5 + 4

Read previous post:
Function generator
Function generator

This instructable describes the design of function generator based on the Maxims's Analog integrated circuit MAX038. The function generator is...

Close
Scroll to top