PIC12CE518-04I/SN Microchip Technology, PIC12CE518-04I/SN Datasheet - Page 178

no-image

PIC12CE518-04I/SN

Manufacturer Part Number
PIC12CE518-04I/SN
Description
IC MCU OTP 512X12 W/EE 8SOIC
Manufacturer
Microchip Technology
Series
PIC® 12Cr

Specifications of PIC12CE518-04I/SN

Core Processor
PIC
Core Size
8-Bit
Speed
4MHz
Peripherals
POR, WDT
Number Of I /o
5
Program Memory Size
768B (512 x 12)
Program Memory Type
OTP
Eeprom Size
16 x 8
Ram Size
25 x 8
Voltage - Supply (vcc/vdd)
3 V ~ 5.5 V
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
8-SOIC (3.9mm Width)
For Use With
309-1046 - ADAPTER 8-SOIC TO 8-DIP309-1045 - ADAPTER 8-SOIC TO 8-DIP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Data Converters
-
Connectivity
-
PICmicro MID-RANGE MCU FAMILY
11.7
DS31011A-page 11-10
Design Tips
Question 1:
Answer 1:
If you are polling TMR0 to see if it has rolled over to zero. You could do this by executing:
wait
Two possible scenarios to lose clock cycles are:
1.
2.
If you are incrementing TMR0 from the internal instruction clock, or an external source that
is about as fast, the overflow could occur during the two cycle GOTO, so you could miss it.
In this case the TMR0 source should be prescaled.
Or you could do a test to see if it has rolled over by checking for less than a nominal value:
When writing to TMR0, two instruction clock cycles are lost. Often you have a specific time
period you want to count, say 100 decimal. In that case you might put 156 into TMR0
(256 - 100 = 156). However, since two instruction cycles are lost when you write to TMR0
(for internal logic synchronization), you should actually write 158 to the timer.
Wait
MOVF
BTFSS
GOTO
movlw
subwf
btfsc
goto
I am implementing a counter/clock, but the clock loses time or is
inaccurate.
TMR0,W
STATUS,Z
wait
3
TMR0,W
STATUS,C
Wait
; read the timer into W
; see if it was zero, if so,
;
; if not zero yet, keep waiting
break from loop
1997 Microchip Technology Inc.

Related parts for PIC12CE518-04I/SN