PIC17C756A MICROCHIP [Microchip Technology], PIC17C756A Datasheet - Page 99

no-image

PIC17C756A

Manufacturer Part Number
PIC17C756A
Description
High-Performance 8-bit CMOS EPROM Microcontrollers with 10-bit A/D
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC17C756A
Manufacturer:
Microchip
Quantity:
6
Part Number:
PIC17C756A-16/L
Manufacturer:
MICROCHIP
Quantity:
101
Part Number:
PIC17C756A-16/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C756A-16/L
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Part Number:
PIC17C756A-16/PT
Manufacturer:
SA
Quantity:
12 000
Part Number:
PIC17C756A-16/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C756A-16/PT
Manufacturer:
MICROCHI
Quantity:
20 000
Part Number:
PIC17C756A-16E/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C756A-16E/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C756A-16I/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C756A-16I/L
Manufacturer:
MICROCH
Quantity:
20 000
Part Number:
PIC17C756A-16I/PT
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Part Number:
PIC17C756A-16I/PT
0
Part Number:
PIC17C756A-33
Manufacturer:
Microchip
Quantity:
5 510
Part Number:
PIC17C756A-33
Manufacturer:
INTEL
Quantity:
5 510
Part Number:
PIC17C756A-33/L
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
12.3
Although TMR0 is a 16-bit timer/counter, only 8-bits at
a time can be read or written during a single instruction
cycle. Care must be taken during any read or write.
12.3.1
The problem in reading the entire 16-bit value is that
after reading the low (or high) byte, its value may
change from FFh to 00h.
Example 12-1 shows a 16-bit read. To ensure a proper
read, interrupts must be disabled during this routine.
EXAMPLE 12-1:
FIGURE 12-3:
MOVPF
MOVPF
MOVFP
CPFSLT
RETURN
MOVPF
MOVPF
RETURN
2000 Microchip Technology Inc.
AD15:AD0
Instruction
Executed
TMR0H
TMR0L
Read/Write Consideration for
TMR0
Fetch
TMR0L, TMPLO
TMR0H, TMPHI
TMPLO, WREG
TMR0L
TMR0L, TMPLO
TMR0H, TMPHI
ALE
READING 16-BIT VALUE
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
16-BIT READ
TMR0 TIMING: WRITE HIGH OR LOW BYTE
T0
PC
;read low tmr0
;read high tmr0
;tmplo
;tmr0l < wreg?
;no then return
;read low tmr0
;read high tmr0
;return
MOVFP W,TMR0L
Write to TMR0L
T0+1
wreg
PC+1
MOVFP TMR0L,W
(Value = NT0)
Read TMR0L
New T0 (NT0)
PC+2
12.3.2
Since writing to either TMR0L or TMR0H will effectively
inhibit increment of that half of the TMR0 in the next
cycle (following write), but not inhibit increment of the
other half, the user must write to TMR0L first and
TMR0H second, in two consecutive instructions, as
shown in Example 12-2. The interrupt must be dis-
abled. Any write to either TMR0L or TMR0H clears the
prescaler.
EXAMPLE 12-2:
12.4
Timer0 has an 8-bit prescaler. The prescaler selection
is fully under software control; i.e., it can be changed
“on the fly” during program execution. Clearing the
prescaler is recommended before changing its setting.
The value of the prescaler is “unknown” and assigning
a value that is less than the present value, makes it dif-
ficult to take this unknown time into account.
BSF
MOVFP
MOVFP
BCF
Prescaler Assignments
MOVFP TMR0L,W
CPUSTA, GLINTD ; Disable interrupts
RAM_L, TMR0L
RAM_H, TMR0H
CPUSTA, GLINTD ; Done, enable
WRITING A 16-BIT VALUE TO TMR0
(Value = NT0)
Read TMR0L
PC+3
16-BIT WRITE
PIC17C7XX
MOVFP TMR0L,W
;
;
;
(Value = NT0 +1)
New T0+1
Read TMR0L
PC+4
interrupts
DS30289B-page 99

Related parts for PIC17C756A