![]() |
![]() |
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
|
Home
|
|||||||||||||||||||||||||||||||||
![]() |
![]() |
OSCCAL Value Finder ![]()
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.
This
project has the ability to calculate what is the appropriate osccal
value for the 12F675 microcontroller.
R1
300 ohms resistor
The PCB used for this Project is single layer and its size is 42.96 mm x 55.53 mm.
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.
The
Hex program named
Oscfind1 must be saved in the 16F88
microcontroller’s memory before soldering on the
PCB.
Turning on the circuit, it will display the name of the project and then it will display the message “ Put Pic – Hit But “. At this point it’s possible to place the 12F675 device on the socket and press the push button.
Pressing the push button S1 the circuit will start to measure the signal from the 12F675 device and will count the pulses. The display shows the pulse signal being measured and the current Osccal value.
When the pulse sent by the 12F675 device matches the requested pulse length the circuit will stop the device and display the recommended osccal value.
Since the circuit controls the power of the 12F675 device, at this point is possible to remove the device from the socket and place a new one. Pressing S1 the circuit will start a new test. ![]()
This is
a very interesting circuit for the microcontroller
beginner. Not only for recovering lost osccal values
but also to understand some microcontroller
characteristics.
| |||||||||||||||||||||||||||||||
![]() |
![]() |
|
|||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
|
Elektrotekno.com | Free Schematics Search Engine | Electronic Kits | Electronic Accessories |
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||