PIC18F458-E/P Microchip Technology, PIC18F458-E/P Datasheet - Page 113

IC MCU FLASH 16KX16 W/CAN 40 DIP

PIC18F458-E/P

Manufacturer Part Number
PIC18F458-E/P
Description
IC MCU FLASH 16KX16 W/CAN 40 DIP
Manufacturer
Microchip Technology
Series
PIC® 18Fr

Specifications of PIC18F458-E/P

Core Processor
PIC
Core Size
8-Bit
Speed
40MHz
Connectivity
CAN, I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, LVD, POR, PWM, WDT
Number Of I /o
33
Program Memory Size
32KB (16K x 16)
Program Memory Type
FLASH
Eeprom Size
256 x 8
Ram Size
1.5K x 8
Voltage - Supply (vcc/vdd)
4.2 V ~ 5.5 V
Data Converters
A/D 8x10b
Oscillator Type
External
Operating Temperature
-40°C ~ 125°C
Package / Case
40-DIP (0.600", 15.24mm)
Processor Series
PIC18F
Core
PIC
Data Bus Width
8 bit
Data Ram Size
1536 B
Interface Type
SPI, I2C, USART
Maximum Clock Frequency
40 MHz
Number Of Programmable I/os
33
Number Of Timers
4
Operating Supply Voltage
2 V to 5.5 V
Maximum Operating Temperature
+ 125 C
Mounting Style
Through Hole
3rd Party Development Tools
52715-96, 52716-328, 52717-734, 52712-325, EWPIC18
Development Tools By Supplier
PG164130, DV164035, DV244005, DV164005, PG164120, ICE2000, DV164136, DM163011
Minimum Operating Temperature
- 40 C
On-chip Adc
10 bit, 8 Channel
Lead Free Status / RoHS Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC18F458-E/P
Manufacturer:
Microchip Technology
Quantity:
135
Part Number:
PIC18F458-E/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
11.1
Timer0 can operate as a timer or as a counter.
Timer mode is selected by clearing the T0CS bit. In
Timer mode, the Timer0 module will increment every
instruction cycle (without prescaler). If the TMR0L
register is written, the increment is inhibited for the
following two instruction cycles. The user can work
around this by writing an adjusted value to the TMR0L
register.
Counter mode is selected by setting the T0CS bit. In
Counter mode, Timer0 will increment either on every
rising or falling edge of pin RA4/T0CKI. The increment-
ing edge is determined by the Timer0 Source Edge
Select bit (T0SE). Clearing the T0SE bit selects the
rising edge. Restrictions on the external clock input are
discussed below.
When an external clock input is used for Timer0, it must
meet certain requirements. The requirements ensure
the external clock can be synchronized with the internal
phase clock (T
incrementing of Timer0 after synchronization.
11.2
An 8-bit counter is available as a prescaler for the
Timer0 module. The prescaler is not readable or
writable.
The PSA and T0PS2:T0PS0 bits determine the
prescaler assignment and prescale ratio.
Clearing bit PSA will assign the prescaler to the Timer0
module. When the prescaler is assigned to the Timer0
module, prescale values of 1:2, 1:4, ..., 1:256 are
selectable.
When assigned to the Timer0 module, all instructions
writing to the TMR0 register (e.g., CLRF TMR0, MOVWF
TMR0, BSF TMR0, x.... etc.) will clear the prescaler
count.
TABLE 11-1:
© 2006 Microchip Technology Inc.
TMR0L
TMR0H
INTCON
T0CON
TRISA
Legend:
Note 1:
Note:
Name
Timer0 Operation
Prescaler
Timer0 Module Low Byte Register
Timer0 Module High Byte Register
GIE/GIEH
TMR0ON
x = unknown, u = unchanged, - = unimplemented locations read as ‘0’. Shaded cells are not used by Timer0.
Bit 6 of PORTA, LATA and TRISA is enabled in ECIO and RCIO Oscillator modes only. In all other oscillator modes, it is
disabled and reads as ‘0’.
Writing to TMR0 when the prescaler is
assigned to Timer0 will clear the prescaler
count but will not change the prescaler
assignment.
Bit 7
OSC
REGISTERS ASSOCIATED WITH TIMER0
). Also, there is a delay in the actual
PORTA Data Direction Register
PEIE/GIEL
T08BIT
Bit 6
TMR0IE
T0CS
Bit 5
INT0IE
T0SE
Bit 4
(1)
RBIE
Bit 3
PSA
11.2.1
The prescaler assignment is fully under software
control (i.e., it can be changed “on-the-fly” during
program execution).
11.3
The TMR0 interrupt is generated when the TMR0
register overflows from FFh to 00h in 8-bit mode or
FFFFh to 0000h in 16-bit mode. This overflow sets the
TMR0IF bit. The interrupt can be masked by clearing
the TMR0IE bit. The TMR0IF bit must be cleared in
software by the Timer0 module Interrupt Service
Routine before re-enabling this interrupt. The TMR0
interrupt cannot awaken the processor from Sleep
since the timer is shut-off during Sleep.
11.4
Timer0 can be set in 16-bit mode by clearing the
T08BIT in T0CON. Registers TMR0H and TMR0L are
used to access the 16-bit timer value.
TMR0H is not the high byte of the timer/counter in
16-bit mode, but is actually a buffered version of the
high byte of Timer0 (refer to Figure 11-1). The high byte
of the Timer0 timer/counter is not directly readable nor
writable. TMR0H is updated with the contents of the
high byte of Timer0 during a read of TMR0L. This
provides the ability to read all 16 bits of Timer0 without
having to verify that the read of the high and low byte
were valid, due to a rollover between successive reads
of the high and low byte.
A write to the high byte of Timer0 must also take place
through the TMR0H Buffer register. Timer0 high byte is
updated with the contents of the buffered value of
TMR0H when a write occurs to TMR0L. This allows all
16 bits of Timer0 to be updated at once.
TMR0IF
T0PS2
Bit 2
Timer0 Interrupt
16-Bit Mode Timer Reads
and Writes
INT0IF
T0PS1
Bit 1
SWITCHING PRESCALER
ASSIGNMENT
T0PS0
RBIF
Bit 0
PIC18FXX8
xxxx xxxx
0000 0000
0000 000x
1111 1111
-111 1111
POR, BOR
Value on
DS41159E-page 111
uuuu uuuu
0000 0000
0000 000u
1111 1111
-111 1111
Value on
all other
Resets

Related parts for PIC18F458-E/P