PIC16C717 - 770 - 771 Datasheet
PIC16C717 - 770 - 771 Datasheet
PIC16C717/770/771
Data Sheet
18/20-Pin, 8-Bit CMOS Microcontrollers
with 10/12-bit A/D
• The PICmicro family meets the specifications contained in the Microchip Data Sheet.
• Microchip believes that its family of PICmicro microcontrollers is one of the most secure products of its kind on the market today,
when used in the intended manner and under normal conditions.
• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowl-
edge, require using the PICmicro microcontroller in a manner outside the operating specifications contained in the data sheet.
The person doing so may be engaged in theft of intellectual property.
• Microchip is willing to work with the customer who is concerned about the integrity of their code.
• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable”.
• Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of
our product.
If you have any further questions about this matter, please contact the local sales office nearest to you.
PIC16C770/771
• Operating speed: DC - 20 MHz clock input RA5/MCLR/VPP 4 17 RA6/OSC2/CLKOUT
DC - 200 ns instruction cycle VSS 16 VDD
5
Memory AVSS 6 15 AVDD
A/D A/D
Device Program Data Pins Resolution Channels RA2/AN2/VREF-/VRL 7 14 RB7/T1OSI/P1D
x14 x8 RA3/AN3/VREF+/VRH 8 13 RB6/T1OSO/T1CKI/P1C
RB0/AN4/INT 9 12 RB5/SDO/P1B
PIC16C717 2K 256 18, 20 10 bits 6
RB1/AN5/SS 10 11 RB4/SDI/SDA
PIC16C770 2K 256 20 12 bits 6
PIC16C771 4K 256 20 12 bits 6
Peripheral Features:
• Interrupt capability (up to 10 internal/external
interrupt sources) • Timer0: 8-bit timer/counter with 8-bit prescaler
• Eight level deep hardware stack • Timer1: 16-bit timer/counter with prescaler,
can be incremented during SLEEP via external
• Direct, indirect and relative addressing modes
crystal/clock
• Power-on Reset (POR)
• Timer2: 8-bit timer/counter with 8-bit period
• Power-up Timer (PWRT) and register, prescaler and postscaler
Oscillator Start-up Timer (OST)
• Enhanced Capture, Compare, PWM (ECCP)
• Watchdog Timer (WDT) with its own on-chip RC module
oscillator for reliable operation - Capture is 16-bit, max. resolution is 12.5 ns
• Selectable oscillator options: - Compare is 16-bit, max. resolution is 200 ns
- INTRC - Internal RC, dual speed (4 MHz and - PWM max. resolution is 10-bit
37 kHz nominal) dynamically switchable for - Enhanced PWM:
power savings - Single, Half-Bridge and Full-Bridge Output
- ER - External resistor, dual speed (user modes
selectable frequency and 37 kHz nominal) - Digitally programmable deadband delay
dynamically switchable for power savings • Analog-to-Digital converter:
- EC - External clock - PIC16C770/771 12-bit resolution
- HS - High speed crystal/resonator - PIC16C717 10-bit resolution
- XT - Crystal/resonator
• On-chip absolute bandgap voltage reference
- LP - Low power crystal
generator
• Low power, high speed CMOS EPROM
• Programmable Brown-out Reset (PBOR)
technology
circuitry
• In-Circuit Serial Programming™ (ICSP™)
• Programmable Low-Voltage Detection (PLVD)
• Wide operating voltage range: 2.5V to 5.5V circuitry
• 15 I/O pins with individual control for: • Master Synchronous Serial Port (MSSP) with two
- Direction (15 pins) modes of operation:
- Digital/Analog input (6 pins) - 3-wire SPI™ (supports all 4 SPI modes)
- PORTB interrupt on change (8 pins) - I2C™ compatible including Master mode
- PORTB weak pull-up (8 pins) support
- High voltage open drain (1 pin)
• Program Memory Read (PMR) capability for look-
• Commercial and Industrial temperature ranges up table, character string storage and checksum
• Low power consumption: calculation purposes
- < 2 mA @ 4V, 4 MHz
- 11 µA typical @ 2.5V, 37 kHz
- < 1 µA typical standby current
18 RA0/AN0 1 20 RB3/CCP1/P1A
RA0/AN0 1 RB3/CCP1/P1A
RA1/AN1/LVDIN 2 19 RB2/SCK/SCL
RA1/AN1/LVDIN 2 17 RB2/SCK/SCL
16 RA4/T0CKI 3 18 RA7/OSC1/CLKIN
RA4/T0CKI 3 RA7/OSC1/CLKIN
PIC16C717
RA5/MCLR/VPP
PIC16C717
RA5/MCLR/VPP 4 15 RA6/OSC2/CLKOUT 4 17 RA6/OSC2/CLKOUT
VSS(1) 5 16 VDD(2)
VSS 5 14 VDD
VSS(1) 6 15 VDD(2)
RA2/AN2/VREF-/VRL 6 13 RB7/T1OSI/P1D
RA2/AN2/VREF-/VRL 7 14 RB7/T1OSI/P1D
RA3/AN3/VREF+/VRH 7 12 RB6/T1OSO/T1CKI/P1C
RB0/AN4/INT 8 11 RB5/SDO/P1B RA3/AN3/VREF+/VRH 8 13 RB6/T1OSO/T1CKI/P1C
RB1/AN5/SS 10 RB4/SDI/SDA RB0/AN4/INT 9 12 RB5/SDO/P1B
9
RB1/AN5/SS 10 11 RB4/SDI/SDA
Key Features
PICmicroTM Mid-Range MCU Family PIC16C717 PIC16C770 PIC16C771
Reference Manual, (DS33023)
Errata
An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current
devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision
of silicon and revision of document to which it applies.
To determine if an errata sheet exists for a particular device, please check with one of the following:
• Microchip’s Worldwide Web site; http://www.microchip.com
• Your local Microchip sales office (see last page)
• The Microchip Corporate Literature Center; U.S. FAX: (480) 792-7277
When contacting a sales office or the literature center, please specify which device, revision of silicon and data sheet (include liter-
ature number) you are using.
Addr MUX
Instruction reg PORTB
7 Indirect RB0/AN4/INT
Direct Addr
8 Addr RB1/AN5/SS
FSR reg RB2/SCK/SCL
RB3/CCP1/P1A
RB4/SDI/SDA
STATUS reg
Internal 8 RB5/SDO/P1B
4 MHz, 37 kHz RB6/T1OSO/T1CKI/P1C
and ER mode RB7/T1OSI/P1D
3 MUX
Instruction
Decode &
Control Power-up
Timer
ALU
Timing Oscillator
Generation Start-up Timer 8
OSC1/CLKIN
OSC2/CLKOUT Power-on
VDD, VSS Reset W reg
Watchdog
Timer
Brown-out
Reset
Master
Enhanced CCP
Synchronous
(ECCP)
Serial Port (MSSP)
Addr MUX
Instruction reg PORTB
7 Indirect
Direct Addr RB0/AN4/INT
8 Addr
RB1/AN5/SS
FSR reg RB2/SCK/SCL
RB3/CCP1/P1A
STATUS reg RB4/SDI/SDA
Internal 8 RB5/SDO/P1B
4 MHz, 37 kHz RB6/T1OSO/T1CKI/P1C
and ER mode RB7/T1OSI/P1D
3 MUX
Instruction
Decode &
Control Power-up
Timer
ALU
Timing Oscillator
Generation Start-up Timer 8
OSC1/CLKIN
OSC2/CLKOUT Power-on
VDD, VSS Reset W reg
Watchdog
Timer
Brown-out
Reset
Master
Enhanced CCP
Synchronous
(ECCP) Serial Port (MSSP)
Stack Level 1
Stack Level 2
3FFFh
Stack Level 8
2.2 Data Memory Organization
The data memory is partitioned into multiple banks,
RESET Vector 0000h which contain the General Purpose Registers and the
Special Function Registers. Bits RP1 and RP0 are the
bank select bits.
Bank 0
00h(3) INDF Addressing this location uses contents of FSR to address data memory (not a physical register) 0000 0000 23
05h PORTA RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 xxxx 0000 25
06h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 xxxx xx11 33
07h — Unimplemented — —
08h — Unimplemented — —
09h — Unimplemented — —
0Ah(1,3) PCLATH — — — Write Buffer for the upper 5 bits of the Program Counter ---0 0000 22
0Bh(3) INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 16
0Eh TMR1L Holding register for the Least Significant Byte of the 16-bit TMR1 register xxxx xxxx 47
0Fh TMR1H Holding register for the Most Significant Byte of the 16-bit TMR1 register xxxx xxxx 47
10h T1CON — — T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 47
12h T2CON — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 51
13h SSPBUF Synchronous Serial Port Receive Buffer/Transmit Register xxxx xxxx 70
14h SSPCON WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0 0000 0000 67
18h — Unimplemented — —
19h — Unimplemented — —
1Ah — Unimplemented — —
1Bh — Unimplemented — —
1Ch — Unimplemented — —
1Dh — Unimplemented — —
1Eh ADRESH A/D High Byte Result Register xxxx xxxx 107
1Fh ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE CHS3 ADON 0000 0000 107
Bank 1
80h(3) INDF Addressing this location uses contents of FSR to address data memory (not a physical register) 0000 0000 23
81h OPTION_REG RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 15
82h(3) PCL Program Counter’s (PC) Least Significant Byte 0000 0000 22
(3)
83h STATUS IRP RP1 RP0 TO PD Z DC C 0001 1xxx 14
84h(3) FSR Indirect data memory address pointer xxxx xxxx 23
87h — Unimplemented — —
88h — Unimplemented — —
89h — Unimplemented — —
8Ah(1,3) PCLATH — — — Write Buffer for the upper 5 bits of the Program Counter ---0 0000 22
8Bh(3) INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 16
8Fh — Unimplemented — —
90h — Unimplemented — —
91h SSPCON2 GCEN ACKSTAT ACKDT ACKEN RCEN PEN RSEN SEN 0000 0000 69
98h — Unimplemented — —
99h — Unimplemented — —
9Ah — Unimplemented — —
9Ch LVDCON — — BGST LVDEN LVV3 LVV2 LVV1 LVV0 --00 0101 101
9Dh ANSEL — — Analog Channel Select --11 1111 25
9Eh ADRESL A/D Low Byte Result Register xxxx xxxx 107
Bank 2
100h(3) INDF Addressing this location uses contents of FSR to address data memory (not a physical register) 0000 0000 23
102h(3) PCL Program Counter's (PC) Least Significant Byte 0000 0000 22
105h — Unimplemented — —
106h PORTB PORTB Data Latch when written: PORTB pins when read xxxx xx11 33
107h — Unimplemented — —
108h — Unimplemented — —
109h — Unimplemented — —
(1,3) PCLATH — — — Write Buffer for the upper 5 bits of the Program Counter ---0 0000 22
10Ah
(3) INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 16
10Bh
10Ch PMDATL Program memory read data low xxxx xxxx
110h-
— Unimplemented — —
11Fh
Bank 3
180h(3) INDF Addressing this location uses contents of FSR to address data memory (not a physical register) 0000 0000 23
181h OPTION_REG RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 15
182h(3) PCL Program Counter's (PC) Least Significant Byte 0000 0000 22
185h — Unimplemented — —
187h — Unimplemented — —
188h — Unimplemented — —
189h — Unimplemented — —
18Ah (1,3) PCLATH — — — Write Buffer for the upper 5 bits of the Program Counter ---0 0000 22
(3) INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 16
18Bh
18Dh-
— Unimplemented — —
18Fh
bit 7 IRP: Register Bank Select bit (used for indirect addressing)
1 = Bank 2, 3 (100h - 1FFh)
0 = Bank 0, 1 (00h - FFh)
bit 6-5 RP<1:0>: Register Bank Select bits (used for direct addressing)
11 = Bank 3 (180h - 1FFh)
10 = Bank 2 (100h - 17Fh)
01 = Bank 1 (80h - FFh)
00 = Bank 0 (00h - 7Fh)
Each bank is 128 bytes
bit 4 TO: Time-out bit
1 = After power-up, CLRWDT instruction, or SLEEP instruction
0 = A WDT time-out occurred
bit 3 PD: Power-down bit
1 = After power-up or by the CLRWDT instruction
0 = By execution of the SLEEP instruction
bit 2 Z: Zero bit
1 = The result of an arithmetic or logic operation is zero
0 = The result of an arithmetic or logic operation is not zero
bit 1 DC: Digit carry/borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions) (for borrow the polarity
is reversed)
1 = A carry-out from the 4th low order bit of the result occurred
0 = No carry-out from the 4th low order bit of the result
bit 0 C: Carry/borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions)
1 = A carry-out from the Most Significant bit of the result occurred
0 = No carry-out from the Most Significant bit of the result occurred
Note: For borrow, the polarity is reversed. A subtraction is executed by adding the two’s
complement of the second operand. For rotate (RRF, RLF) instructions, this bit is
loaded with either the high or low order bit of the source register.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Note 1: Individual weak pull-up on RB pins can be enabled/disabled from the weak pull-up
PORTB Register (WPUB).
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
REGISTER 2-3: INTERRUPT CONTROL REGISTER (INTCON: 0Bh, 8Bh, 10Bh, 18Bh)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-x
GIE PEIE T0IE INTE RBIE T0IF INTF RBIF
bit 7 bit 0
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
PCLATH
PCH PCL
12 1110 8 7 0
GOTO, CALL
PCLATH<4:3> 11
Opcode <10:0>
2
PCLATH
Data
Memory(1)
Note: Setting a pin to an analog input disables the digital input buffer on the pin. The cor-
responding TRIS bit should be set to Input mode when using pins as analog inputs.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
3.2 PORTA and the TRISA Register these pins as analog input/output, the ANSEL register
must have the proper value to individually select the
PORTA is a 8-bit wide bi-directional port. The corre- Analog mode of the corresponding pins.
sponding data direction register is TRISA. Setting a
TRISA bit (=1) will make the corresponding PORTA pin Note: Upon RESET, the ANSEL register config-
an input (i.e., put the corresponding output driver in a ures the RA<3:0> pins as analog inputs.
Hi-impedance mode). Clearing a TRISA bit (=0) will All RA<3:0> pins will read as '0'.
make the corresponding PORTA pin an output (i.e., put Pin RA4 is multiplexed with the Timer0 module clock
the contents of the output latch on the selected pin). input to become the RA4/T0CKI pin. The RA4/T0CKI
Reading the PORTA register reads the status of the pin is a Schmitt Trigger input and an open drain output.
pins, whereas writing to it will write to the port latch. All Pin RA5 is multiplexed with the device RESET (MCLR)
write operations are read-modify-write operations. and programming input (VPP) functions. The RA5/
Therefore, a write to a port implies that the port pins are MCLR/VPP input only pin has a Schmitt Trigger input
read, this value is modified, and then written to the port buffer. All other RA port pins have Schmitt Trigger input
data latch. buffers and full CMOS output buffers.
Pins RA<3:0> are multiplexed with analog functions, Pins RA6 and RA7 are multiplexed with the oscillator
such as analog inputs to the A/D converter, analog input and output functions.
VREF inputs, and the onboard bandgap reference out-
The TRISA register controls the direction of the RA
puts. When the analog peripherals are using any of
pins, even when they are being used as analog inputs.
The user must ensure the bits in the TRISA register are
maintained set when using them as analog inputs.
TRIS Mode
D Q N
WR
TRIS VSS VSS
CK Q
RD
TRIS
Analog Select
Schmitt
D Q
Trigger
WR
ANSEL
CK Q
Q D
EN
RD
PORT
WR
TRIS VSS VSS
CK Q
RD
TRIS
Analog Select
D Q Schmitt
Trigger
WR
ANSEL
CK Q
Q D
EN
RD
PORT
WR
Port
CK Q
TRIS Latch
N
D Q
WR
TRIS
CK Q VSS
VSS
RD Schmitt Trigger
TRIS
Input Buffer
Q D
EN
RD
PORT
To MCLR Circuit
MCLR Filter
Program Mode
HV Detect
Data VSS
Bus
RD
TRIS VSS
Schmitt
Trigger
Q D
EN
RD PORT
0
VDD
Data D Q VDD
Bus
WR Q P
CK
PORTA VSS
Data Latch
D Q
N
WR CK Q
TRISA
TRIS Latch
VSS
Schmitt Trigger
Input Buffer
RD TRISA EC or [(ER or INTRC) and CLKOUT]
Q D
EN
RD PORTA
To OSC2 Oscillator
Circuit VDD
To Chip Clock Drivers
Schmitt Trigger
Data D Q VDD Input Buffer
Bus
EC Mode
WR Q P
CK
PORTA
Data Latch
D Q
WR N
TRISA CK Q
TRIS Latch
INTRC Vss
INTRC
RD TRISA
Schmitt Trigger
Input Buffer
Q D
EN
RD PORTA
Input Output
Name Function Description
Type Type
RA0 ST CMOS Bi-directional I/O
RA0/AN0
AN0 AN A/D input
RA1 ST CMOS Bi-directional I/O
RA1/AN1/LVDIN AN1 AN A/D input
LVDIN AN LVD input reference
RA2 ST CMOS Bi-directional I/O
AN2 AN A/D input
RA2/AN2/VREF-/VRL
VREF- AN Negative analog reference input
VRL AN Internal voltage reference low output
RA3 ST CMOS Bi-directional I/O
AN3 AN A/D input
RA3/AN3/VREF+/VRH
VREF+ AN Positive analog reference input
VRH AN Internal voltage reference high output
RA4 ST OD Bi-directional I/O
RA4/T0CKI
T0CKI ST TMR0 clock input
RA5 ST Input port
RA5/MCLR/VPP MCLR ST Master clear
VPP Power Programming voltage
RA6 ST CMOS Bi-directional I/O
RA6/OSC2/CLKOUT OSC2 XTAL Crystal/resonator
CLKOUT CMOS FOSC/4 output
RA7 ST CMOS Bi-directional I/O
RA7/OSC1/CLKIN OSC1 XTAL Crystal/resonator
CLKIN ST/AN External clock input/ER resistor connection
05h PORTA RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 xxxx 0000 uuuu 0000
85h TRISA PORTA Data Direction Register 1111 1111 1111 1111
9Dh ANSEL — — ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 --11 1111 --11 1111
Legend: x = unknown, u = unchanged, - = unimplemented locations read as ’0’. Shaded cells are not used by PORTA.
Note 1: For the WPUB register setting to take effect, the RBPU bit in the OPTION_REG
register must be cleared.
2: The weak pull-up device is automatically disabled if the pin is in Output mode
(TRIS = 0).
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Note: The interrupt enable bits GIE and RBIE in the INTCON Register must be set for indi-
vidual interrupts to be recognized.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
WPUB Reg
Data Bus
D Q
WR
WPUB
CK Q VDD
RBPU
P weak
pull-up
PORTB Reg VDD
D Q
VDD
WR
PORT CK Q
P
TRIS Reg N
D Q
WR
TRIS VSS
CK Q
RD
TRIS VSS
Analog Select
D Q
WR
ANSEL
CK Q
TTL
IOCB Reg
D Q Schmitt
WR Set Trigger
IOCB RBIF
CK Q Q D
...
From Q1
EN
RB<7:0> pins
Q D
Q3
Q D
EN
EN
RD
EN
PORT
To A/D Converter
WPUB Reg
Data Bus
D Q
WR
WPUB
CK Q VDD
Spec. Func En. RBPU VDD
SDA, SDO, SCK, CCP1, P1A, P1B P weak
pull-up
PORTB Reg 1 VDD
D Q 0
P
WR
PORT
CK Q
N
TRIS Reg
D Q VSS
WR
TRIS VSS
CK Q
RD
TRIS
TTL
IOCB Reg
Schmitt
D Q Trigger
WR Set
IOCB RBIF
CK Q Q D
...
From Q1
EN
RB<7:0> pins
Q D
Q D
Q3
EN
EN EN
RD
PORT
D Q P
VDD
WR PORTB
CK Q
Data Latch
D Q
WR TRISB N
CK Q
RD TRISB TTL
Input
T1OSCEN Buffer
RD PORTB
IOCB Reg
D Q
WR
IOCB
CK Q CMOS
TMR1 Clock
Serial programming clock Schmitt
Trigger
From RB7
TMR1 Oscillator
Q D
Q1
EN
Set RBIF
...
Q D
From RD Port
RB<7:0> pins EN Q3
Note: The TMR1 oscillator enable (T1OSCEN = 1) overrides the RB6 I/O port and P1C functions.
D Q P
WR PORTB CK Q
Data Latch
D Q
WR TRISB CK Q N
RD TRISB
T10SCEN
TTL
RD PORTB Input
Buffer
IOCB Reg
D Q
WR
IOCB
CK Q
Schmitt Trigger Q1
EN
Set RBIF
...
From Q D
RB<7:0> pins
RD Port
EN Q3
Note: The TMR1 oscillator enable (T1OSCEN = 1) overrides the RB7 I/O port and P1D functions.
Input Output
Name Function Description
Type Type
RB0 TTL CMOS Bi-directional I/O(1)
RB0/AN4/INT AN4 AN A/D input
INT ST Interrupt input
RB1 TTL CMOS Bi-directional I/O(1)
RB1/AN5/SS AN5 AN A/D input
SS ST SSP slave select input
RB2 TTL CMOS Bi-directional I/O(1)
RB2/SCK/SCL SCK ST CMOS Serial clock I/O for SPI
SCL ST OD Serial clock I/O for I2C
RB3 TTL CMOS Bi-directional I/O(1)
RB3/CCP1/P1A CCP1 ST CMOS Capture 1 input/Compare 1 output
P1A CMOS PWM P1A output
RB4 TTL CMOS Bi-directional I/O(1)
RB4/SDI/SDA SDI ST Serial data in for SPI
SDA ST OD Serial data I/O for I2C
RB5 TTL CMOS Bi-directional I/O(1)
RB5/SDO/P1B SDO CMOS Serial data out for SPI
P1B CMOS PWM P1B output
RB6 TTL CMOS Bi-directional I/O(1)
T1OSO XTAL Crystal/Resonator
RB6/T1OSO/T1CKI/P1C
T1CKI CMOS TMR1 clock input
P1C CMOS PWM P1C output
RB7 TTL CMOS Bi-directional I/O(1)
RB7/T1OSI/P1D T1OSI XTAL TMR1 crystal/resonator
P1D CMOS PWM P1D output
Note 1: Bit programmable pull-ups.
06h, 106h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 xxxx xx11 uuuu uu11
86h, 186h TRISB PORTB Data Direction Register 1111 1111 1111 1111
81h, 181h OPTION_REG RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
95h WPUB PORTB Weak Pull-up Control 1111 1111 1111 1111
96h IOCB PORTB Interrupt on Change Control 1111 0000 1111 0000
9Dh ANSEL — — ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 --11 1111 --11 1111
Legend: x = unknown, u = unchanged. Shaded cells are not used by PORTB.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
bit 7-0 PMD<7:0>: The value of the program memory word pointed to by PMADRH and PMADRL after
a Program Memory Read command.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
Program
Memory PC PC+1 PMADRH,PMADRL PC+3 PC+4 PC+5
ADDR
RD bit
PMDATH
PMDATL
register
10Eh PMDATH — — PMD13 PMD12 PMD11 PMD10 PMD9 PMD8 --xx xxxx --uu uuuu
10Ch PMDATL PMD7 PMD6 PMD5 PMD4 PMD3 PMD2 PMD1 PMD0 xxxx xxxx uuuu uuuu
10Fh PMADRH — — — — PMA11 PMA10 PMA9 PMA8 ---- xxxx ---- uuuu
10Dh PMADRL PMA7 PMA6 PMA5 PMA4 PMA3 PMA2 PMA1 PMA0 xxxx xxxx uuuu uuuu
Legend: x = unknown, u = unchanged, - = unimplemented locations read as '0'. Shaded cells are not used by Program Memory Read.
Data Bus
Fosc/4 0
PSout 8
1
Sync with
1 Internal TMR0
clocks
RA4/T0CKI Programmable 0 PSout
pin Prescaler
T0SE (2 Tcy delay)
3
Set interrupt
PS2, PS1, PS0 PSA flag bit T0IF
T0CS on overflow
Note 1: T0CS, T0SE, PSA, PS<2:0> (OPTION_REG<5:0>).
2: The prescaler is shared with Watchdog Timer (refer to Figure 5-2 for detailed block diagram).
8
M 1
0
RA4/T0CKI U M
X SYNC
Pin U 2 TMR0 reg
1 0
X Cycles
T0SE
T0CS
PSA Set flag bit T0IF
on Overflow
0
M 8-bit Prescaler
U
Watchdog 1 X 8
Timer
8 - to - 1MUX PS<2:0>
PSA
0 1
WDT Enable Bit
MUX PSA
WDT
Time-out
85h TRISA PORTA Data Direction Register 1111 1111 1111 1111
Legend: x = unknown, u = unchanged, - = unimplemented locations read as ’0’. Shaded cells are not used by Timer0.
Note 1: The oscillator inverter and feedback resistor are turned off to eliminate power drain.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
T1CKI
(Initially high)
T1CKI
(Initially low)
First falling edge
of the T1ON enabled
Note 1: When the T1OSCEN bit is cleared, the inverter and feedback resistor are turned off. This eliminates power drain.
Osc Type Freq C1 C2 Note: The special event triggers from the CCP1
module will not set interrupt flag bit
LP 32 kHz 33 pF 33 pF TMR1IF (PIR1<0>).
100 kHz 15 pF 15 pF
Timer1 must be configured for either timer or Synchro-
200 kHz 15 pF 15 pF nized Counter mode to take advantage of this feature.
These values are for design guidance only. If Timer1 is running in Asynchronous Counter mode,
Note 1: Higher capacitance increases the stability this RESET operation may not work.
of oscillator but also increases the start-up In the event that a write to Timer1 coincides with a spe-
time. cial event trigger from ECCP, the write will take prece-
2: Since each resonator/crystal has its own dence.
characteristics, the user should consult the
resonator/crystal manufacturer for appro- In this mode of operation, the CCPR1H:CCPR1L regis-
priate values of external components. ters pair effectively becomes the period register for
Timer1.
0Bh,8Bh, INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh,18Bh
0Ch PIR1 — ADIF — — SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000
8Ch PIE1 — ADIE — — SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000
0Eh TMR1L Holding register for the Least Significant Byte of the 16-bit TMR1 register xxxx xxxx uuuu uuuu
0Fh TMR1H Holding register for the Most Significant Byte of the 16-bit TMR1 register xxxx xxxx uuuu uuuu
10h T1CON — — T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 --uu uuuu
Legend: x = unknown, u = unchanged, - = unimplemented read as ’0’. Shaded cells are not used by the Timer1 module.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
The output of TMR2 (before the postscaler) is fed to the 4 PR2 reg
Synchronous Serial Port module which optionally uses
it to generate shift clock.
Note: TMR2 register output can be software
selected by the SSP Module as a baud
clock.
0Bh,8Bh, INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh,18Bh
0Ch PIR1 — ADIF — — SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000
8Ch PIE1 — ADIE — — SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000
12h T2CON — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000
92h PR2 Timer2 Period Register 1111 1111 1111 1111
Legend: x = unknown, u = unchanged, - = unimplemented read as ’0’. Shaded cells are not used by the Timer2 module.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
8.1.4 ECCP PRESCALER The user must configure the CCP1 pin as an output by
clearing the appropriate TRISB bit.
There are three prescaler settings, specified by bits
CCP1M<3:0>. Whenever the ECCP module is turned Note: Clearing the CCP1CON register will force
off or the ECCP module is not in Capture mode, the the CCP1 compare output latch to the
prescaler counter is cleared. This means that any default low level. This is not the port data
RESET will clear the prescaler counter. latch.
Switching from one capture prescaler to another may 8.2.2 TIMER1 MODE SELECTION
generate an interrupt. Also, the prescaler counter will
not be cleared, therefore the first capture may be from Timer1 must be running in Timer mode or Synchro-
a non-zero prescaler. Example 8-1 shows the recom- nized Counter mode if the ECCP module is using the
mended method for switching between capture pres- compare feature. In Asynchronous Counter mode, the
calers. This example also clears the prescaler counter compare operation may not work.
and will not generate the “false” interrupt.
Value on Value on
Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR, all other
BOR RESETS
INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
PIR1 PSPIF(1) ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF 0000 0000 0000 0000
PIE1 PSPIE(1) ADIE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE 0000 0000 0000 0000
TRISB PORTB Data Direction Register 1111 1111 1111 1111
TMR1L Holding register for the Least Significant Byte of the 16-bit TMR1 register xxxx xxxx uuuu uuuu
TMR1H Holding register for the Most Significant Byte of the 16-bit TMR1register xxxx xxxx uuuu uuuu
T1CON — — T1CKPS T1CKP T1OSCEN T1SYNC TMR1CS TMR1O --00 0000 --uu uuuu
1 S0 N
CCPR1L Capture/Compare/PWM register1 (LSB) xxxx xxxx uuuu uuuu
CCPR1H Capture/Compare/PWM register1 (MSB) xxxx xxxx uuuu uuuu
CCP1CON PWM1M1 PWM1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000 0000 0000
Legend: x = unknown, u = unchanged, - = unimplemented read as ’0’. Shaded cells are not used by Capture and Timer1.
CCP1/P1A RB3/CCP1/P1A
TRISB<3>
CCPR1H (Slave)
P1B RB5/SDO/P1B
OUTPUT TRISB<5>
Comparator R Q
CONTROLLER
RB6/T1OSO/T1CKI/
P1C
P1C
TMR2 (Note 1)
S TRISB<6>
P1D RB7/T1OSI/P1D
Comparator
Clear Timer, TRISB<7>
CCP1 pin and
latch D.C.
PR2 P1DEL
Note: 8-bit timer TMR2 is concatenated with 2-bit internal Q clock or 2 bits of the prescaler to create 10-bit time-base.
log ---------------
F OSC
F PWM
= -----------------------------bits Using PWM to
log ( 2 ) V+
Drive a Power
PIC16C717/770/771 Load
L
O
A
D
Note: If the PWM duty cycle value is longer than
the PWM period, the CCP1 pin will not be CCP1
cleared.
Duty Cycle
P1A(2)
td
td
P1B(2)
(1) (1)
(1)
td = Deadband Delay
Note 1: At this time, the TMR2 register is equal to the PR2 register.
2: Output signals are shown as asserted high.
PIC16C717/770/771
FET
DRIVER
+
P1A V
-
+ -
LOAD
FET
DRIVER
+
P1B V
-
V-
V+
+ -
LOAD
FET FET
DRIVER DRIVER
P1B
V-
FORWARD MODE
Period
P1A(2) 1
0
Duty Cycle
1
P1B(2) 0
1
P1C(2) 0
1
P1D(2) 0
(1) (1)
REVERSE MODE
Period
Duty Cycle
(2) 1
P1A 0
1
P1B(2) 0
1
P1C(2) 0
P1D(2) 1
0
(1)
(1)
Note 1: At this time, the TMR2 register is equal to the PR2 register.
2: Output signal is shown as asserted high.
V+
PIC16C717/770/771
FET FET
DRIVER DRIVER
P1D
+ -
LOAD
P1C
FET FET
DRIVER DRIVER
P1A
V-
P1B
bit 7-0 P1DEL<7:0>: PWM Delay Count for Half-Bridge Output Mode: Number of FOSC/4 (Tosc•4)
cycles between the P1A transition and the P1B transition.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
8.3.6 DIRECTION CHANGE IN FULL- modulated outputs, P1A and P1C signals, will transition
BRIDGE OUTPUT MODE to the new direction TOSC, 4•TOSC or 16•TOSC (for
Timer2 prescale T2CKRS<1:0> = 00, 01 and 1x
In the Full-Bridge Output mode, the PWM1M1 bit in the respectively) earlier, before the end of the period. Dur-
CCP1CON register allows user to control the Forward/ ing this transition cycle, the modulated outputs, P1B
Reverse direction. When the application firmware and P1D, will go to the inactive state. See Figure 8-10
changes this direction control bit, the ECCP module will for illustration.
assume the new direction on the next PWM cycle. The
current PWM cycle still continues, however, the non-
Note 1: The Direction bit in the ECCP Control Register (CCP1CON<PWM1M1>) is written anytime during the PWM cycle.
2: The P1A and P1C signals switch TOSC, 4*Tosc or 16*TOSC, depending on the Timer2 prescaler value, earlier when
changing direction. The modulated P1B and P1D signals are inactive at this time.
P1A 1
0
1
P1B 0 (PWM)
1
P1C 0
P1D 1
0 (PWM)
ton
1
External Switch C 0
toff
1
External Switch D 0
0Bh, 8Bh,
INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh, 18Bh
0Ch PIR1 — ADIF — — SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000
8Ch PIE1 — ADIE — — SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000
86h, 186h TRISB PORTB Data Direction Register 1111 1111 1111 1111
11h TMR2 Timer2 register 0000 0000 0000 0000
92h PR2 Timer2 period register 1111 1111 1111 1111
12h T2CON — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000
15h CCPR1L Capture/Compare/PWM register1 (LSB) xxxx xxxx uuuu uuuu
17h CCP1CON PWM1M1 PWM1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000 0000 0000
97h P1DEL PWM1 Delay value 0000 0000 0000 0000
Legend: x = unknown, u = unchanged, - = unimplemented read as '0'. Shaded cells are not used by ECCP module in PWM mode.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
bit 7 GCEN: General Call Enable bit (In I2C Slave mode only)
1 = Enable interrupt when a general call address (0000h) is received in the SSPSR.
0 = General call address disabled.
bit 6 ACKSTAT: Acknowledge Status bit (In I2C Master mode only)
In Master Transmit mode:
1 = Acknowledge was not received from slave
0 = Acknowledge was received from slave
bit 5 ACKDT: Acknowledge Data bit (In I2C Master mode only)
In Master Receive mode:
Value that will be transmitted when the user initiates an Acknowledge sequence at the end of
a receive.
1 = Not Acknowledge (NACK)
0 = Acknowledge (ACK)
bit 4 ACKEN: Acknowledge Sequence Enable bit (In I2C Master mode only).
In Master Receive mode:
1 = Initiate Acknowledge sequence on SDA and SCL pins, and transmit ACKDT data bit.
Automatically cleared by hardware.
0 = Acknowledge sequence IDLE
bit 3 RCEN: Receive Enable bit (In I2C Master mode only).
1 = Enables Receive mode for I2C
0 = Receive IDLE
bit 2 PEN: STOP Condition Enable bit (In I2C Master mode only).
SCK Release Control
1 = Initiate STOP condition on SDA and SCL pins. Automatically cleared by hardware.
0 = STOP condition IDLE
bit 1 RSEN: Repeated START Condition Enabled bit (In I2C Master mode only)
1 = Initiate Repeated START condition on SDA and SCL pins. Automatically cleared by
hardware.
0 = Repeated START condition IDLE
bit 0 SEN: START Condition Enabled bit (In I2C Master mode only)
1 = Initiate START condition on SDA and SCL pins. Automatically cleared by hardware.
0 = START condition IDLE
Note: For bits ACKEN, RCEN, PEN, RSEN, SEN: If the I2C module is not in the IDLE
mode, this bit may not be set (no spooling) and the SSPBUF may not be written (or
writes to the SSPBUF are disabled).
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
SDO SDI
SCK
(CKP = 0
CKE = 0)
SCK
(CKP = 1
CKE = 0)
4 Clock
SCK modes
(CKP = 0
CKE = 1)
SCK
(CKP = 1
CKE = 1)
Input
Sample
(SMP = 1)
SSPIF
Next Q4 cycle
SSPSR to after Q2↓
SSPBUF
The SS pin allows a Synchronous Slave mode. The To emulate two-wire communication, the SDO pin can
SPI must be in Slave mode with SS pin control be connected to the SDI pin. When the SPI needs to
enabled (SSPCON<3:0> = 0100). The pin must not operate as a receiver, the SDO pin can be configured
be driven low for the SS pin to function as an input. as an input. This disables transmissions from the SDO.
TRISB<1> must be set. When the SS pin is low, The SDI can always be left as an input (SDI function)
transmission and reception are enabled and the since it cannot create a bus conflict.
SS
SCK
(CKP = 0
CKE = 0)
SCK
(CKP = 1
CKE = 0)
Write to
SSPBUF
SDI bit0
(SMP = 0) bit7 bit7
Input
Sample
(SMP = 0)
SSPIF
Interrupt
Flag
Next Q4 cycle
SSPSR to after Q2↓
SSPBUF
SS
optional
SCK
(CKP = 0
CKE = 0)
SCK
(CKP = 1
CKE = 0)
Write to
SSPBUF
SDI
(SMP = 0) bit7 bit0
Input
Sample
(SMP = 0)
SSPIF
Interrupt
Flag
Next Q4 cycle
after Q2↓
SSPSR to
SSPBUF
SCK
(CKP = 1
CKE = 1)
Write to
SSPBUF
SDI
(SMP = 0) bit7 bit0
Input
Sample
(SMP = 0)
SSPIF
Interrupt
Flag
Next Q4 cycle
after Q2↓
SSPSR to
SSPBUF
0Bh, 8Bh,
INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh,18Bh
0Ch PIR1 — ADIF — — SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000
8Ch PIE1 — ADIE — — SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000
13h SSPBUF Synchronous Serial Port Receive Buffer/Transmit Register xxxx xxxx uuuu uuuu
14h SSPCON WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0 0000 0000 0000 0000
94h SSPSTAT SMP CKE D/A P S R/W UA BF 0000 0000 0000 0000
9Dh ANSEL --11 1111 --11 1111
86h TRISB 1111 1111 1111 1111
Legend: x = unknown, u = unchanged, - = unimplemented read as ’0’. Shaded cells are not used by the MSSP in SPI mode.
When an address is matched or the data transfer after Two address bytes need to be received by the slave.
an address match is received, the hardware automati- The five Most Significant bits (MSbs) of the first
cally will generate the Acknowledge (ACK) pulse. address byte specify that this is a 10-bit address. The
Then, it loads the SSPBUF register with the received LSb of the first received address byte is the R/W bit,
value currently in the SSPSR register. which must be zero, specifying a write so the slave
device will receive the second address byte. For a 10-
Any combination of the following conditions will cause bit address, the first byte equals ‘11110 A9 A8 0’,
the MSSP module to generate a NACK pulse in lieu of where A9 and A8 are the two MSbs of the address. The
the ACK pulse: sequence of events for a 10-bit address is as follows,
a) The buffer full bit BF (SSPSTAT<0>) is set with steps 7 through 9 applicable only to the slave-
before the transfer is received. transmitter:
b) The overflow bit SSPOV (SSPCON<6>) is set 1. Receive first (high) byte of Address (bits SSPIF,
before the transfer is received. BF, and bit UA (SSPSTAT<1>) are set).
If the BF bit is set, the SSPSR register value is not 2. Update the SSPADD register with second (low)
loaded into the SSPBUF. However, both the SSPIF and byte of Address (clears bit UA and releases the
SSPOV bits are set. Table 9-2 shows what happens SCL line).
when a data transfer byte is received, given the status 3. Read the SSPBUF register (clears bit BF) and
of bits BF and SSPOV. The shaded cells show the con- clear flag bit SSPIF.
dition where user software did not properly clear the 4. Receive second (low) byte of Address (bits
overflow condition. The BF flag bit is cleared by reading SSPIF, BF, and UA are set).
the SSPBUF register. The SSPOV flag bit is cleared
5. Update the SSPADD register with the first (high)
through software.
byte of Address. This will clear bit UA and
The SCL clock input must have a minimum high and release the SCL line.
low time for proper operation. The high and low times 6. Read the SSPBUF register (clears bit BF) and
of the I2C specification as well as the requirements of clear flag bit SSPIF.
the MSSP module are shown in timing parameters
7. Receive Repeated START condition.
#100 and #101 of the Electrical Specifications.
8. Receive first (high) byte of Address with R/W bit
9.2.2.1 7-BIT ADDRESSING set to 1 (bits SSPIF and BF are set). This also
puts the MSSP module in the Slave-transmit
Once the MSSP module has been enabled mode.
(SSPEN=1), the slave module waits for a START con- 9. Read the SSPBUF register (clears bit BF) and
dition to occur. Following the START condition, eight clear flag bit SSPIF.
bits are shifted into the SSPSR register. All incoming
bits are sampled on the rising edge of the clock (SCL) Note: Following the Repeated START condition
line. The received address (register SSPSR<7:1>) is (step 7) in 10-bit mode, the user only
compared to the stored address (register needs to match the first 7-bit address. The
SSPADD<7:1>). SSPSR<0> is the R/W bit and is not user does not update the SSPADD for the
considered in the comparison. Comparison is made on second half of the address.
the falling edge of the eighth clock (SCL) pulse. If the
addresses match, and the BF and SSPOV bits are
clear, the following events occur:
a) The SSPSR register value is transferred to the
SSPBUF register on the falling edge of the
eighth SCL pulse.
b) The buffer full bit; BF is set on the falling edge of
the eighth SCL pulse.
c) An ACK pulse is generated during the ninth
clock cycle.
d) SSP interrupt flag bit; SSPIF (PIR1<3>) is set
(interrupt is generated if enabled) - on the falling
edge of the ninth SCL pulse.
SCL S 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 P
Bus Master
Clock is held low until terminates
update of SSPADD has transfer
SCL 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
S P
SSPIF
(PIR1<3>)
Cleared in software Cleared in software
BF (SSPSTAT<0>)
SSPBUF is written with Dummy read of SSPBUF Dummy read of SSPBUF
contents of SSPSR to clear BF flag to clear BF flag Read of SSPBUF
clears BF flag
Advance Information
UA (SSPSTAT<1>)
SSPADD needs to be
updated
DS41120B-page 79
PIC16C717/770/771
PIC16C717/770/771
9.2.2.4 SLAVE TRANSMISSION sending a NACK. If the SDA line is high (NACK), then
the data transfer is complete. When the NACK is
When the R/W bit of the incoming address byte is set latched by the slave, the slave logic is RESET which
and an address match occurs, the R/W bit of the SSP- also resets the R/W bit to ’0’. The slave module then
STAT register is set. The received address is loaded monitors for another occurrence of the START bit. The
into the SSPBUF register on the falling edge of the slave firmware knows not to load another byte into the
eighth SCL pulse. The ACK pulse will be sent on the SSPBUF register by sensing that the buffer is empty
ninth bit, and the SCL pin is held low. The slave module (BF = 0) and the R/W bit has gone low. If the SDA line
automatically stretches the clock by holding the SCL is low (ACK), the R/W bit remains high indicating that
line low so that the master will be unable to assert the next transmit data must be loaded into the SSPBUF
another clock pulse until the slave is finished preparing register.
the transmit data. The transmit data must be loaded
into the SSPBUF register, which also loads the SSPSR An MSSP interrupt (SSPIF flag) is generated for each
register. The CKP bit (SSPCON<4>) must then be set data transfer byte on the falling edge of the ninth clock
to release the SCL pin from the forced low condition. pulse. The SSPIF flag bit must be cleared in software.
The eight data bits are shifted out on the falling edges The SSPSTAT register is used to determine the status
of the SCL input. This ensures that the SDA signal is of the byte transfer.
valid during the SCL high time (Figure 9-10). For more information about the I2C Slave mode, refer
The ACK or NACK signal from the master-receiver is to Application Note AN734, “Using the PICmicro® SSP
latched on the rising edge of the ninth SCL input pulse. for Slave I2C™ Communication”.
The master-receiver terminates slave transmission by
SCL 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
S P
Data in SCL held low
sampled until SSPBUF Master terminates transmission
is written by responding with NACK
SSPIF
BF (SSPSTAT<0>)
cleared in software From SSP interrupt
SSPBUF is written in software service routine
CKP (SSPCON<4>)
Set bit after writing to SSPBUF
(the SSPBUF must be written-to
before the CKP bit can be set)
R/W←0
Receive First Byte of Address R/W=0 Receive Second Byte of Address Receive First Byte of Address R/W=1 Transmitting Data Byte NACK
SDA 1 1 1 1 0 A9 A8 ACK A7 A6 A5 A4 A3 A2 A1 A0 ACK 1 1 1 1 0 A9 A8 ACK D7 D6 D5 D4 D3 D2 D1 D0
SCL 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
S Sr P
CKP has to be set for clock to be released
SSPIF
(PIR1<3>)
Cleared in software Cleared in software Cleared in software Master releases
bus with STOP
condition
BF (SSPSTAT<0>)
SSPBUF is written with Dummy read of SSPBUF Dummy read of SSPBUF
contents of SSPSR to clear BF flag Write of SSPBUF
to clear BF flag initiates transmit
Advance Information
UA (SSPSTAT<1>)
DS41120B-page 81
PIC16C717/770/771
PIC16C717/770/771
9.2.3 GENERAL CALL ADDRESS into the SSPSR, and the address is compared against
SUPPORT SSPADD. It is also compared to the general call
address, fixed in hardware.
The addressing procedure for the I2C bus is such that
the first byte after the START condition usually deter- If the general call address matches, the SSPSR is
mines which device will be the slave addressed by the transferred to the SSPBUF, the BF flag is set (eighth
master. The exception is the general call address, bit), and on the falling edge of the ninth bit (ACK bit),
which can address all devices. When this address is the SSPIF flag is set.
used, all devices should, in theory, respond with an When the interrupt is serviced, the source for the inter-
Acknowledge. rupt can be checked by reading the contents of the
The general call address is one of eight addresses SSPBUF to determine if the address was device spe-
reserved for specific purposes by the I2C protocol. It cific or a general call address.
consists of all 0’s with R/W = 0 If the general call address is sampled with GCEN set
The general call address is recognized when the Gen- and the slave configured in 10-bit Address mode, the
eral Call Enable bit (GCEN) is set (SSPCON2<7> is second half of the address is not necessary. The UA bit
set). Following a START bit detect, eight bits are shifted will not be set and the slave will begin receiving data
after the Acknowledge (Figure 9-12).
FIGURE 9-12: SLAVE MODE GENERAL CALL ADDRESS SEQUENCE (7- OR 10-BIT MODE)
Receiving data
R/W = 0
SDA General Call Address ACK D7 ACK
D6 D5 D4 D3 D2 D1 D0
SCL
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
S
SSPIF
BF
(SSPSTAT<0>)
Cleared in software
SSPBUF is read
SSPOV ’0’
(SSPCON<6>)
GCEN ’1’
(SSPCON2<7>)
Internal SSPM<3:0>,
Data Bus SSPADD<6:0>
Read Write
SSPBUF Baud
Rate
Generator
SDA Shift
Acknowledge
Generate
SCL
SDA DX DX-1
BRG decrements
(on Q2 and Q4 cycles)
BRG
03h 02h 01h 00h (hold off) 03h 02h
value
SCL
TBRG
S
1st Bit
SDA
Falling edge of ninth clock Write to SSPBUF occurs here.
End of Xmit
TBRG
SCL TBRG
Sr = Repeated START
DS41120B-page 88
Write SSPCON2<0> SEN = 1 ACK from slave clears ACKSTAT bit (SSPCON2<6>)
START condition begins NACK from slave sets ACKSTAT bit (SSPCON2<6>)
SEN = 0
Transmitting Data or Second Half
Transmit Address to Slave R/W = 0 of 10-bit Address NACK
SDA A7 A6 A5 A4 A3 A2 A1 ACK D7 D6 D5 D4 D3 D2 D1 D0
BF (SSPSTAT<0>)
Advance Information
SEN
PEN
DS41120B-page 90
Set ACKDT (SSPCON2<5>) = 0 Set ACKDT (SSPCON2<5>) = 1
and set ACKEN (SSPCON2<4>) = 1 and set ACKEN (SSPCON2<4>) = 1
to start ACK Acknowledge sequence to start NACK Acknowledge sequence
Write to SSPCON2<0>, (SEN = 1)
Begin START Condition ACK from Master
Master configured as a receiver SDA = ACKDT = 0
SEN = 0 by programming SSPCON2<3>, (RCEN = 1)
PEN bit = 1
Write to SSPBUF ACK from Slave RCEN cleared RCEN = 1 to start RCEN cleared
automatically next receive automatically written here
starts transmit
Transmit Address to Slave R/W = 1 Receiving Data from Slave Receiving Data from Slave NACK
SDA A7 A6 A5 A4 A3 A2 A1 ACK D7 D6 D5 D4 D3 D2 D1 D0 ACK D7 D6 D5 D4 D3 D2 D1 D0
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
SCL S P
Data shifted in on falling edge of CLK SSPIF occurs at
end of receive SSPIF occurs
SSPIF occurs SSPIF occurs at end of Acknow-
at end of receive at end of Acknowledge ledge sequence
SSPIF sequence
Advance Information
BF
(SSPSTAT<0>)
Last bit is shifted into SSPSR and
Writing SSPBUF causes BF clears automatically contents are unloaded into SSPBUF
BF to go high when the last bit is shifted out.
ACKEN
ACKEN bit is set to initiate ACKEN is cleared by hardware
Acknowledge sequence
I 2C MASTER WAVEFORMS FOR RECEPTION (7-BIT ADDRESS)
TBRG TBRG
SDA D0 ACK
SCL 8 9
SSPIF
Write to SSPCON2
P bit (SSPSTAT<4>) is set
Set PEN
SDA NACK
P
TBRG TBRG TBRG
SCL brought high after TBRG
SCL
SDA
SDA
SCL
Set bus collision
interrupt.
BCLIF
SDA
SCL
Set SEN, enable START SEN cleared automatically because of bus collision.
condition if SDA = 1, SCL=1 SSP module reset into IDLE state.
SEN
SDA sampled low before
START condition. Set BCLIF.
S bit and SSPIF set because
BCLIF SDA = 0, SCL = 1
SSPIF and BCLIF are
cleared in software.
SSPIF
SDA = 0, SCL = 1
TBRG TBRG
SDA
FIGURE 9-26: BRG RESET DUE TO SDA COLLISION DURING START CONDITION
SDA = 0, SCL = 1
Set S Set SSPIF
Less than TBRG
TBRG
SDA SDA pulled low by other master.
Reset BRG and assert SDA
SCL s
SCL pulled low after BRG
Time-out
SEN
Set SEN, enable START
sequence if SDA = 1, SCL = 1
BCLIF ’0’
SSPIF
SDA = 0, SCL = 1 Interrupts cleared
Set SSPIF in software.
SDA
SCL
RSEN
BCLIF
Cleared in software
S ’0’ ’0’
TBRG TBRG
SDA
SCL
S ’0’ ’0’
PEN
BCLIF
P ’0’ ’0’
SDA
PEN
BCLIF
P ’0’
SSPIF ’0’
DEVICE
Rp Rp
Rs Rs
SDA
SCL
Cb=10 pF to 400 pF
Note: I2C devices with input levels related to VDD must have one common supply line to which the pull-up resistor is also
connected.
0Bh, 8Bh,
INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh,18Bh
0Ch PIR1 — ADIF — — SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000
8Ch PIE1 — ADIE — — SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000
0Dh PIR2 LVDIF — — — BCLIF — — CCP2IF 0--- 0--0 0--- 0--0
8Dh PIE2 LVDIE — — — BCLIE — — CCP2IE 0--- 0--0 0--- 0--0
13h SSPBUF Synchronous Serial Port Receive Buffer/Transmit Register xxxx xxxx uuuu uuuu
14h SSPCON WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0 0000 0000 0000 0000
91h SSPCON2 GCEN ACKSTAT ACKDT ACKEN RCEN PEN RSEN SEN 0000 0000 0000 0000
94h SSPSTAT SMP CKE D/A P S R/W UA BF 0000 0000 0000 0000
93h SSPADD Synchronous Serial Port (I2C Mode) Address Register 0000 0000 0000 0000
Legend: x = unknown, u = unchanged, - = unimplemented read as '0'. Shaded cells are not used by the MSSP in I2C mode.
Note: These are the minimum trip points for the LVD. See Table 15-8 for the trip point tol-
erances. Selection of reserved setting may result in an inadvertent interrupt.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
bit 7 VRHEN: Voltage Reference High Enable bit (VRH = 4.096V nominal)
1 = Enabled, powers up reference generator
0 = Disabled, powers down reference generator if unused by LVD, BOR, or VRL
bit 6 VRLEN: Voltage Reference Low Enable bit (VRL = 2.048V nominal)
1 = Enabled, powers up reference generator
0 = Disabled, powers down reference generator if unused by LVD, BOR, or VRH
bit 5 VRHOEN: High Voltage Reference Output Enable bit(1)
1 = Enabled, VRH analog reference is output on RA3 if enabled (VRHEN = 1)
0 = Disabled, analog reference is used internally only(1)
bit 4 VRLOEN: Low Voltage Reference Output Enable bit
1 = Enabled, VRL analog reference is output on RA2 if enabled (VRLEN = 1)
0 = Disabled, analog reference is used internally only
bit 3-0 Unimplemented: Read as '0’
Note 1: RA2 and RA3 must be configured as analog inputs when the VREF output functions
are enabled (See ANSEL on page 25).
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
LVDCON REFCON
VDD
LVDEN
VRHEN + VRLEN
generates
16 to 1 MUX
RA1/AN1/LVDIN LVDIF
VRH
BODEN
BGAP VRL
LVDEN
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
- n = Value at POR ’1’ = Bit is set ’0’ = Bit is cleared x = Bit is unknown
The value that is in the ADRESH and ADRESL regis- The A/D conversion results can be left justified (ADFM
ters are not modified for a Power-on Reset. The bit cleared), or right justified (ADFM bit set).
ADRESH and ADRESL registers will contain unknown Figure 11-1 through Figure 11-2 show the A/D result
data after a Power-on Reset. data format of the PIC16C717/770/771.
Right Justified
MSB LSB
(ADFM = 1)
bit7 bit7
After the A/D module has been configured as desired, 11.2.2 CONFIGURING THE REFERENCE
the selected channel must be acquired before the con- VOLTAGES
version is started. The analog input channels must
have their corresponding TRIS and ANSEL bits The VCFG bits in the ADCON1 register configure the
selected as an input. To determine acquisition time, see A/D module reference inputs. The reference high input
Section 11.6. After this acquisition time has elapsed, can come from an internal reference (VRH) or (VRL),
the A/D conversion can be started. The following steps an external reference (VREF+), or AVDD. The low refer-
should be followed for doing an A/D conversion: ence input can come from an internal reference (VRL),
an external reference (VREF-), or AVSS. If an external
11.2 Configuring the A/D Module reference is chosen for the reference high or reference
low inputs, the port pin that multiplexes the incoming
11.2.1 CONFIGURING ANALOG PORT external references is configured as an analog input,
PINS regardless of the values contained in the A/D port con-
figuration bits (PCFG<3:0>).
The ANSEL and TRIS registers control the operation
of the A/D port pins. The port pins that are desired as
analog inputs must have their corresponding TRIS bit
set (input). If the TRIS bit is cleared (output), the digital
output level (VOH or VOL) will be converted. The proper
ANSEL bits must be set (analog input) to disable the
digital input buffer.
The A/D operation is independent of the state of the
TRIS bits and the ANSEL bits.
Note 1: When reading the PORTA register, all pins
configured as analog input channels will
read as ’0’.
2: When reading the PORTB register, all
pins configured as analog pins on
PORTB will be read as ’1’.
3: Analog levels on any pin that is defined as
a digital input, including the ANx pins, may
cause the input buffer to consume current
that is out of the devices specification.
CHS<3:0>
VAIN RB1/AN5/SS
(INPUT VOLTAGE) RB0/AN4/INT
RA3/AN3/VREF+/VRH
RA2/AN2/VREF-/VRL
RA1/AN1
AVDD
RA0/AN0
VREF+ VRH
(REFERENCE VRL
VOLTAGE +)
A/D VCFG<2:0>
CONVERTER
VREF-
VRL
(REFERENCE
VOLTAGE -)
AVSS
VCFG<2:0>
A/D Reference
A/D Clock Source (TAD) Device Frequency
Source
Operation ADCS<1:0> 20 MHz 5 MHz 4 MHz 1.25 MHz
2 TOSC 00 100 ns(2) 400 ns(2) 500 ns(2) 1.6 µs
External VREF or
8 TOSC 01 400 ns(2) 1.6 µs 2.0 µs 6.4 µs
Analog Supply
32 TOSC 10 1.6 µs 6.4 µs(3) 8.0 µs(3) 25.6 µs(3)
A/D RC 11 2 - 6 µs(1,4) 2 - 6 µs(1,4) 2 - 6 µs(1,4) 2 - 6 µs(1,4)
Internal VRH or 16 TOSC 00 800 ns(2) 3.2 µs(2) 4 µs(2) 12.8 µs
VRL 64 TOSC 01 3.2 µs(2) 12.8 µs 16 µs 51.2 µs(3)
256 TOSC 10 12.8 µs 51.2 µs(3) 64 µs(3) 204.8 µs(3)
A/D RC 11 16 - 48 µs(4,5) 16 - 48 µs(4,5) 16 - 48 µs(4,5) 16 - 48 µs(4,5)
Legend: Shaded cells are outside of recommended range.
Note 1: The A/D RC source has a typical TAD time of 4 µs for VDD > 3.0V.
2: These values violate the minimum required TAD time.
3: For faster conversion times, the selection of another clock source is recommended.
4: When the device frequency is greater than 1 MHz, the A/D RC clock source is only recommended if the conversion will be
performed during SLEEP.
5: A/D RC clock source has a typical TAD time of 32 µs for VDD > 3.0V.
Yes
ADON = 0?
No
Sample
Selected Channel
Yes
GO = 0?
No
A/D Clock
Yes Start of A/D SLEEP Yes Finish Conversion
Conversion Delayed Instruction? GO = 0
= RC? 1 Instruction Cycle ADIF = 1
No No
------------------------------------------------------------------
–T C
-
The maximum recommended impedance for ana- V R EF C H O LD ( R I C + R S S + R S )
log sources is 2.5 kΩ. This value is calculated based V R EF – ---------------- = ( V R E F ) 1 – e
16384
on the maximum leakage current of the input pin. The
leakage current is 100 nA max., and the analog input
------------------------------------------------------------------
–T C
-
voltage cannot be varied by more than 1/4 LSb or C H O LD ( R I C + R SS + R S )
1
V R EF 1 – ---------------- = ( V R E F ) 1 – e
250 µV due to leakage. This places a requirement on 16384
the input impedance of 250 µV/100 nA = 2.5 kΩ.
TACQ = 5 µs
+ 3.3 µs
+ [(50°C - 25°C)(0.05 µs / °C)]
VSS
8Ch PIE1 — ADIE — — SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000
1Eh ADRESH A/D High Byte Result Register xxxx xxxx uuuu uuuu
9Eh ADRESL A/D Low Byte Result Register xxxx xxxx uuuu uuuu
9Bh REFCON VRHEN VRLEN VRHOEN VRLOEN — — — — 0000 ---- 0000 ----
1Fh ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE CHS3 ADON 0000 0000 0000 0000
9Fh ADCON1 ADFM VCFG2 VCFG1 VCFG0 — — — — 0000 ---- 0000 ----
05h PORTA PORTA Data Latch when written: PORTA pins when read 000x 0000 000u 0000
06h PORTB PORTB Data Latch when written: PORTB pins when read xxxx xx11 uuuu uu11
85h TRISA PORTA Data Direction Register 1111 1111 1111 1111
86h TRISB PORTB Data Direction Register 1111 1111 1111 1111
9Dh ANSEL — — ANS5 ANS4 ANS3 ANS2 ANS1 ANS0 1111 1111 1111 1111
17h CCP1CON — — — — 0000 0000 0000 0000
Legend: x = unknown, u = unchanged, - = unimplemented read as ’0’. Shaded cells are not used for A/D conversion.
Note 1: Enabling Brown-out Reset automatically enables the Power-up Timer (PWRT), regardless of the value of bit PWRTE.
Ensure the Power-up Timer is enabled anytime Brown-out Reset is enabled.
2: All of the CP bits must be given the same value to enable code protection.
Legend
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR 1 = bit is set 0 = bit is cleared x = bit is unknown
The PIC16C717/770/771 can be operated in eight dif- Mode Freq OSC1 OSC2
ferent Oscillator modes. The user can program three XT 455 kHz 68 - 100 pF 68 - 100 pF
configuration bits (FOSC<2:0>) to select one of these 2.0 MHz 15 - 68 pF 15 - 68 pF
eight modes: 4.0 MHz 15 - 68 pF 15 - 68 pF
• LP Low Power Crystal HS 8.0 MHz 10 - 68 pF 10 - 68 pF
• XT Crystal/Resonator 16.0 MHz 10 - 22 pF 10 - 22 pF
• HS High Speed Crystal/Resonator These values are for design guidance only. See
notes at bottom of page.
• ER External Resistor (with and without
CLKOUT) All resonators used did not have built-in capacitors.
Note1: See Table 12-1 and Table 12-2 for recom- 12.2.3 EC MODE
mended values of C1 and C2.
In applications where the clock source is external, the
2: A series resistor (RS) may be required for
PIC16C717/770/771 should be programmed to select
AT strip cut crystals.
the EC (External Clock) mode. In this mode, the RA6/
3: RF varies with the Crystal mode chosen.
OSC2/CLKOUT pin is available as an I/O pin. See
Figure 12-2 for illustration.
For timing insensitive applications, the ER (External In the INTRC and ER modes, the PIC16C717/770/771
Resistor) Clock mode offers additional cost savings. can be configured to provide a clock out signal by pro-
Only one external component, a resistor connected to gramming the configuration word. The oscillator fre-
the OSC1 pin and VSS, is needed to set the operating quency, divided by 4, can be used for test purposes or
frequency of the internal oscillator. The resistor draws to synchronize other logic.
a DC bias current which controls the oscillation fre-
In the INTRC and ER modes, if the CLKOUT output is
quency. In addition to the resistance value, the oscilla-
enabled, CLKOUT is held low during RESET.
tor frequency will vary from unit to unit, and as a
function of supply voltage and temperature. Since the 12.2.7 DUAL SPEED OPERATION FOR ER
controlling parameter is a DC current and not a capac-
AND INTRC MODES
itance, the particular package type and lead frame will
not have a significant effect on the resultant frequency. A software programmable dual speed oscillator is avail-
Figure 12-3 shows how the controlling resistor is con- able in either ER or INTRC Oscillator modes. This fea-
nected to the PIC16C717/770/771. For REXT values ture allows the applications to dynamically toggle the
below 38 kΩ, the oscillator operation may become oscillator speed between normal and slow frequencies.
unstable, or stop completely. For very high REXT values The nominal slow frequency is 37 kHz. In ER mode, the
(e.g. 1M), the oscillator becomes sensitive to noise, slow speed operation is fixed and does not vary with
humidity and leakage. Thus, we recommend keeping resistor size. Applications that require low current
REXT between 38 kΩ and 1 MΩ. power savings, but cannot tolerate putting the part into
SLEEP, may use this mode.
FIGURE 12-3: EXTERNAL RESISTOR The OSCF bit in the PCON register is used to control
Dual Speed mode. See the PCON Register,
Register 2-8, for details.
PIC16C717/770/771
When changing the INTRC or ER internal oscillator
RA6/OSC2/CLKOUT speed, there is a period of time when the processor is
inactive. When the speed changes from fast to slow,
the processor inactive period is in the range of 100 µS
RA7/OSC1/CLKIN to 300 µS. For speed change from slow to fast, the pro-
cessor is in active for 1.25 µS to 3.25 µS.
REXT
External
RESET
MCLR
SLEEP
WDT Time-out
Module
OST/PWRT
OST
Chip_Reset
10-bit Ripple counter R Q
OSC1
PWRT
Dedicated
Oscillator 10-bit Ripple counter
Enable PWRT
Enable OST
VDD
MCLR
INTERNAL POR
TPWRT
OST TIME-OUT
INTERNAL RESET
VDD
MCLR
INTERNAL POR
TPWRT
OST TIME-OUT
INTERNAL RESET
FIGURE 12-8: TIME-OUT SEQUENCE ON POWER-UP (MCLR NOT TIED TO VDD): CASE 2
VDD
MCLR
INTERNAL POR
TPWRT
OST TIME-OUT
INTERNAL RESET
MCLR
INTERNAL POR
TPWRT (1)
PWRT TIME-OUT
TOST
OST TIME-OUT
INTERNAL RESET
LVDIF
LVDIE
BCLIF
BCLIE
0
M Postscaler
1 U
WDT Timer X
8
8 - to - 1 MUX PS<2:0>(1)
PSA
WDT
Enable Bit(2)
To TMR0 (Figure 5-2)
0 1
MUX PSA(1)
WDT
Note 1: PSA and PS<2:0> are bits in the OPTION_REG register. Time-out
2: WDTE bit in the configuration word.
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
2007h Config. bits(1) — BODEN MCLRE PWRTE WDTE FOSC2 FOSC1 FOSC0
81h,181h OPTION_REG RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
Legend: Shaded cells are not used by the Watchdog Timer.
Note 1: See Register 12-1 for the full description of the configuration word bits.
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
CLKOUT(3) TOST(1)
INT pin
INTF flag
(INTCON<1>)
Note 1: TOST = 1024TOSC (drawing not to scale) This delay applies to LP, XT and HS modes only.
2: GIE = ’1’ assumed. In this case after wake- up, the processor jumps to the interrupt routine. If GIE = ’0’, execution will continue in-line.
3: CLKOUT is not available in these osc modes, but shown here for timing reference.
The instruction set is highly orthogonal and is grouped A description of each instruction is available in the
into three basic categories: PICmicro™ Mid-Range MCU Family Reference Man-
• Byte-oriented operations ual, (DS33023).
• Bit-oriented operations
• Literal and control operations
All instructions are executed within one single instruc-
tion cycle, unless a conditional test is true or the pro-
gram counter is changed as a result of an instruction.
In this case, the execution takes two instruction cycles
with the second cycle executed as a NOP. One instruc-
tion cycle consists of four oscillator periods. Thus, for
an oscillator frequency of 4 MHz, the normal instruction
execution time is 1 µs. If a conditional test is true or the
program counter is changed as a result of an instruc-
tion, the instruction execution time is 2 µs.
The PRO MATE II device programmer has program- 14.12 PICDEM 2 Low Cost PIC16CXX
mable VDD and VPP supplies, which allow it to verify Demonstration Board
programmed memory at VDD min and VDD max for max-
imum reliability. It has an LCD display for instructions The PICDEM 2 demonstration board is a simple dem-
and error messages, keys to enter commands and a onstration board that supports the PIC16C62,
modular detachable socket assembly to support various PIC16C64, PIC16C65, PIC16C73 and PIC16C74
package types. In Stand-alone mode, the PRO MATE II microcontrollers. All the necessary hardware and soft-
device programmer can read, verify, or program ware is included to run the basic demonstration pro-
PICmicro devices. It can also set code protection in this grams. The user can program the sample
mode. microcontrollers provided with the PICDEM 2 demon-
stration board on a PRO MATE II device programmer,
14.10 PICSTART Plus Entry Level or a PICSTART Plus development programmer, and
Development Programmer easily test firmware. The MPLAB ICE in-circuit emula-
tor may also be used with the PICDEM 2 demonstration
The PICSTART Plus development programmer is an board to test firmware. A prototype area has been pro-
easy-to-use, low cost, prototype programmer. It con- vided to the user for adding additional hardware and
nects to the PC via a COM (RS-232) port. MPLAB connecting it to the microcontroller socket(s). Some of
Integrated Development Environment software makes the features include a RS-232 interface, push button
using the programmer simple and efficient. switches, a potentiometer for simulated analog input, a
The PICSTART Plus development programmer sup- serial EEPROM to demonstrate usage of the I2CTM bus
ports all PICmicro devices with up to 40 pins. Larger pin and separate headers for connection to an LCD
count devices, such as the PIC16C92X and module and a keypad.
PIC17C76X, may be supported with an adapter socket.
The PICSTART Plus development programmer is CE
compliant.
24CXX/
25CXX/
HCSXXX
PIC14000
MCP2510
PIC16C5X
PIC16C6X
PIC16C7X
PIC16C8X
PIC17C4X
MCRFXXX
PIC16F62X
PIC16F8XX
PIC16C7XX
PIC16C9XX
PIC17C7XX
PIC18CXX2
PIC18FXXX
PIC12CXXX
PIC16CXXX
MPLAB® Integrated
TABLE 14-1:
Development Environment
9
9
9
9
9
9
9
9
9
9
9
9
9
MPLAB® C17 C Compiler
9 9
9 9
MPLAB® C18 C Compiler
MPASMTM Assembler/
Software Tools
MPLINKTM Object Linker
9
9
9 9
9 9
9 9
9 9
9 9
9 9
9 9
9 9
9 9
9 9
9 9
9 9
9 9
9 9 9
9 9 9
ICEPICTM In-Circuit Emulator
9
9
9
9
9
9
9
9
MPLAB® ICD In-Circuit
* *
Debugger
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
PRO MATE® II
Universal Device Programmer **
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
PICDEMTM 2 Demonstration † †
Board
9
9
9
9
DEVELOPMENT TOOLS FROM MICROCHIP
PICDEMTM 3 Demonstration
Board
9
9
PICDEMTM 17 Demonstration
Board
9
* Contact the Microchip Technology Inc. web site at www.microchip.com for information on how to use the MPLAB® ICD In-Circuit Debugger (DV164001) with PIC16C62, 63, 64, 65, 72, 73, 74, 76, 77.
** Contact Microchip Technology Inc. for availability date.
DS41120B-page 145
PIC16C717/770/771
6.0
5.5
5.0
4.5
VDD
(Volts)
4.0
3.5
3.0
2.5
0 4 10 20 25
Frequency (MHz)
Note 1: The shaded region indicates the permissible combinations of voltage and frequency.
6.0
5.5
5.0
4.5
VDD
(Volts)
4.0
3.5
3.0
2.5
0 4 10 20 25
Frequency (MHz)
Note 1: The shaded region indicates the permissible combinations of voltage and frequency.
6.0
5.5
5.0
4.5
VDD
(Volts)
4.0
3.5
3.0
2.5
0 4 10 20 25
Frequency (MHz)
Note 1: The shaded region indicates the permissible combinations of voltage and frequency.
VDD/2
RL
CL CL
Pin Pin
VSS VSS
RL = 464Ω
CL = 50 pF for all pins except OSC2
15 pF for OSC2 output
Q4 Q1 Q2 Q3
OSC1
CLKOUT(1)
13 12
19 18
14 16
I/O Pin
(input)
17 15
20, 21
OSC1
1 3 3 4 4
2
Parameter
No.
Sym Characteristic Min Typ(1)* Max Units Conditions
FIGURE 15-7: RESET, WATCHDOG TIMER, OSCILLATOR START-UP TIMER AND POWER-UP
TIMER TIMING
VDD
MCLR
30
Internal
POR
33
PWRT
Time-out
32
OSC
Time-out
Internal
RESET
Watchdog
Timer
RESET
31
34
34
I/O Pins
VDD VBOR
35
VDD
RA4/T0CKI
40 41
42
RB6/T1OSO/T1CKI/PIC
45 46
47 48
TMR0 or
TMR1
RB3/CCP1/P1A
(Capture Mode)
50 51
52
RB3/CCP1/P1A
(Compare or PWM Mode)
53 54
Enable Bandgap
TBGAP
Bandgap stable
VDD
VLVD
BSF ADCON0, GO
1/2 TCY
134
131
Q4
130
A/D CLK
A/D DATA 11 10 9 8 3 2 1 0
ADIF
GO DONE
SAMPLING STOPPED
SAMPLE 132
Note 1: If the A/D RC clock source is selected, a time of TCY is added before the A/D clock starts. This allows the SLEEP
instruction to be executed.
130*(3) TAD A/D clock period 1.6 — — µs Tosc based, VREF ≥ 2.5V
BSF ADCON0, GO
134
131
Q4
130
A/D CLK
A/D DATA 11 10 9 8 3 2 1 0
ADIF
GO DONE
SAMPLING STOPPED
SAMPLE 132
Note 1: If the A/D RC clock source is selected, a time of TCY is added before the A/D clock starts. This allows the SLEEP
instruction to be executed.
BSF ADCON0, GO
1/2 TCY
134
131
Q4
130
A/D CLK
A/D DATA 9 8 7 6 3 2 1 0
ADIF
GO DONE
SAMPLING STOPPED
SAMPLE 132
Note 1: If the A/D RC clock source is selected, a time of TCY is added before the A/D clock starts. This allows the SLEEP
instruction to be executed.
TABLE 15-15: PIC16C717 AND PIC16LC717 A/D CONVERSION REQUIREMENT (NORMAL MODE)
Parameter Sym Characteristic Min Typ† Max Units Conditions
No.
130*(3) TAD A/D clock period 1.6 — — µs Tosc based, VREF ≥ 2.5V
BSF ADCON0, GO
134
131
Q4
130
A/D CLK
A/D DATA 9 8 7 6 3 2 1 0
ADIF
GO DONE
SAMPLING STOPPED
SAMPLE 132
Note 1: If the A/D RC clock source is selected, a time of TCY is added before the A/D clock starts. This allows the SLEEP
instruction to be executed.
TABLE 15-16: PIC16C717 AND PIC16LC717 A/D CONVERSION REQUIREMENT (SLEEP MODE)
Parameter Sym Characteristic Min Typ† Max Units Conditions
No.
130*(3) TAD A/D clock period 3.0 6.0 9.0 µs ADCS<1:0> = 11 (A/D RC mode)
At VDD = 3.0V
2.0 4.0 6.0 µs At VDD = 5.0V
131* TCNV Conversion time (not — 11TAD — —
including acquisition
time) (Note 1)
132* TACQ Acquisition Time (Note 2) 11.5 — µs
SS
70
SCK
(CKP = 0)
71 72
78 79
SCK
(CKP = 1)
79 78
80
75, 76
Param.
Symbol Characteristic Min Typ† Max Units Conditions
No.
70* TssL2scH,
SS↓ to SCK↓ or SCK↑ input TCY — — ns
TssL2scL
71* TscH SCK input high time Continuous 1.25TCY + 30 — — ns
71A* (Slave mode) Single Byte 40 — — ns Note 1
72* TscL SCK input low time Continuous 1.25TCY + 30 — — ns
72A* (Slave mode) Single Byte 40 — — ns Note 1
73* TdiV2scH,
Setup time of SDI data input to SCK edge 100 — — ns
TdiV2scL
73A* TB2B Last clock edge of Byte1 to the 1st clock 1.5TCY + 40 — — ns Note 1
edge of Byte2
74* TscH2diL,
Hold time of SDI data input to SCK edge 100 — — ns
TscL2diL
75* TdoR SDO data output rise time PIC16CXXX — 10 25 ns
PIC16LCXXX — 20 45 ns
76* TdoF SDO data output fall time — 10 25 ns
78* TscR SCK output rise time PIC16CXXX — 10 25 ns
(Master mode) PIC16LCXXX — 20 45 ns
79* TscF SCK output fall time (Master mode) — 10 25 ns
80* TscH2doV, SDO data output valid PIC16CXXX — — 50 ns
TscL2doV after SCK edge PIC16LCXXX — — 100 ns
* These parameters are characterized but not tested.
† Data in “Typ” column is at 5V, 25°C unless otherwise stated. These parameters are for design guidance only
and are not tested.
Note 1: Specification 73A is only required if specifications 71A and 72A are used.
SS
81
SCK
(CKP = 0)
71 72
79
73
SCK
(CKP = 1)
80
78
75, 76
74
SS
70
SCK
(CKP = 0) 83
71 72
78 79
SCK
(CKP = 1)
79 78
80
75, 76 77
74
73
Note: Refer to Figure 15-4 for load conditions.
70
SCK
83
(CKP = 0)
71 72
SCK
(CKP = 1)
80
75, 76 77
SDI
MSb IN BIT6 - - - -1 LSb IN
74
Note: Refer to Figure 15-4 for load conditions.
FIGURE 15-22: MASTER SSP I2C BUS START/STOP BITS TIMING WAVEFORMS
SCL
91 93
90 92
SDA
START STOP
Condition Condition
* These parameters are characterized but not tested. For the value required by the I2C specification, please refer to the PICmi-
croTM Mid-Range MCU Family Reference Manual (DS33023).
Maximum pin capacitance = 10 pF for all I2C pins.
SDA
Out
Note: Refer to Figure 15-4 for load conditions.
“Typical” represents the mean of the distribution at 25°C. “Maximum” or “minimum” represents (mean + 3σ ) or
(mean - 3σ) respectively, where σ is a standard deviation, over the whole temperature range.
The FOSC IDD was determined using an external sinusoidal clock source with a peak amplitude ranging from VSS to VDD.
FIGURE 16-1: MAXIMUM IDD VS. FOSC OVER VDD (HS MODE)
6.0
5.0
4.0
5.5V
5.0V
IDD (mA)
3.0
4.5V
4.0V
2.0 3.5V
3.0V
2.5V
1.0
0.0
4.00 6.00 8.00 10.00 12.00 14.00 16.00 18.00 20.00
FOSC (MHz)
5.0
4.0
5.5V
IDD (mA)
5.0V
3.0
4.5V
4.0V
2.0 3.5V
3.0V
2.5V
1.0
0.0
4.00 6.00 8.00 10.00 12.00 14.00 16.00 18.00 20.00
FOSC (MHz)
FIGURE 16-3: MAXIMUM IDD VS. FOSC OVER VDD (XT MODE)
1.6
1.4
1.2
1.0
5.5V
IDD (mA)
5.0V
0.8
4.5V
0.6
4.0V
3.5V
0.4
3.0V
2.5V
0.2
0.0
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00
FOSC (MHz)
1.2
1.0
5.5V
0.8
IDD (mA)
5.0V
4.5V
0.6
4.0V
0.4 3.5V
3.0V
2.5V
0.2
0.0
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00
FOSC (MHz)
FIGURE 16-5: MAXIMUM IDD VS. FOSC OVER VDD (LP MODE)
0.140
0.120
5.5V
0.100
5.0V
0.080 4.5V
IDD (mA)
4.0V
0.060
3.5V
0.040
3.0V
2.5V
0.020
0.000
0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10
FOSC (MHz)
5.5V
0.100
5.0V
0.080
4.5V
IDD (mA)
0.060 4.0V
3.5V
0.040 3.0V
2.5V
0.020
0.000
0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10
FOSC (MHz)
FIGURE 16-7: MAXIMUM IDD VS. FOSC OVER VDD (EC MODE)
5.0
4.5
4.0
3.5
3.0
5.5V
IDD (mA)
2.5 5.0V
4.5V
2.0
4.0V
1.5 3.5V
3.0V
1.0 2.5V
0.5
0.0
0.00 2.00 4.00 6.00 8.00 10.00 12.00 14.00 16.00 18.00 20.00
FOSC (MHz)
4.0
3.5
3.0
2.5 5.5V
IDD (mA)
5.0V
2.0
4.5V
4.0V
1.5
3.5V
3.0V
1.0
2.5V
0.5
0.0
0.00 2.00 4.00 6.00 8.00 10.00 12.00 14.00 16.00 18.00 20.00
FOSC (MHz)
FIGURE 16-9: MAXIMUM IDD VS. FOSC OVER VDD (ER MODE)
1.6
1.4
1.2
R = 38.3 kΩ
R = 38.3 KΩ
1.0
IDD (mA)
0.8
0.6 R == 100
R kΩ
100KΩ
0.4 R == 200
R kΩ
200KΩ
R == 499 kΩ
499KΩ
R = 1 MΩ
0.2
0.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
1.4
1.2
1.0
R
R == 38.3 kΩ
38.3KΩ
0.8
IDD (mA)
0.6
RR==100 kΩ
100KΩ
0.4
R
R==200
200KΩ
kΩ
R = 499 kΩ
499KΩ
0.2
R = 1 MΩ
0.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
R = 38.3 kΩ
38.3KΩ
R = 100 kΩ
100 KΩ
Frequency (MHz)
1.0
R = 200 kΩ
200 KΩ
R = 499 kΩ
499 KΩ
R = 1 MΩ
0.1
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VVdd (V)
DD (V)
0.90
0.80
0.70
0.60
IDD (mA)
0.50
0.40
0.30
0.10
Typ (25 °C)
0.00
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (Volts)
0.12
-40 °C
0.10
0.08
IDD (mA)
25 °C
0.06 85 °C
125 °C
0.04
0.02
0.00
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
0.060
0.055
0.050
0.045
FOSC (MHz)
0.030
0.025 Min(-40° C)
0.020
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
FIGURE 16-15: MAXIMUM AND TYPICAL IDD VS. VDD (INTRC 4 MHz MODE)
1.6
1.4
1.2
1.0
0.8
0.6
0.4
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (Volts)
1.3
1.2
1.1
125 °C
1.0
25 °C
85 °C
IDD (mA)
0.9
0.8
0.7
-40 °C
0.6
0.5
0.4
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (Volts)
4.15
4.10
4.00
FOSC (MHz)
3.95
3.90
3.85
3.80
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
10
+125°C
1
IPD ( A)
P
+85°C
+25°C -40°C
0.1
0.01
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
16.0
14.0
12.0
P Typ (25°C)
8.0
'
6.0
4.0
2.0
0.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
150.0
130.0
110.0
Max (-40°C)
90.0
ITMR1 ( A)
P
Typ (25°C)
' 70.0
50.0
30.0
10.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
FIGURE 16-21: TYPICAL AND MAXIMUM ∆IVRL VS. VDD (-40°C TO +125°C)
350.0
330.0
Max (125°C)
310.0
270.0
IVRL ( A)
P
250.0
'
230.0
210.0
Typ (25°C)
190.0
170.0
150.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
380.0
360.0
Max (125°C)
340.0
320.0
Max (85°C)
IVRH ( A)
300.0
P
' 280.0
260.0
240.0
220.0
Typ (25°C)
200.0
4.5 5.0 5.5
VDD (V)
FIGURE 16-23: TYPICAL AND MAXIMUM ∆ILVD VS. VDD (-40°C TO +125°C) (LVD TRIP = 3.0V)
75.0
70.0
60.0
Max (85°C)
ILVD ( A)
55.0
P
'50.0
40.0
35.0
30.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
75.0
70.0
60.0
Max (85°C)
55.0
ILVD ( A)
' 50.0
40.0
35.0
30.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
FIGURE 16-25: TYPICAL AND MAXIMUM ∆IBOR VS. VDD (-40°C TO +125°C) (VBOR = 2.5V)
90.0
Max (125°C)
80.0
70.0
Typ (25°C)
IBOR ( A)
P Max (125°C)
60.0
'
40.0
Device in RESET
Reset Indeterminate Device in SLEEP
Sleep
30.0
2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
170.0
150.0
130.0
Device in RESET
Reset Device in SLEEP
Sleep
Indeterminate
30.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
1.8
1.6
1.4
1.2
1.0
VOL (V)
Max (125°C)
0.8
0.6
Typ (25°C)
0.4
Min (-40°C)
0.2
0.0
0.0 5.0 10.0 15.0 20.0 25.0
IOL (mA)
1.0
0.9
0.8
0.7
Max (125°C)
0.6
VOL (V)
0.5
0.2
0.1
0.0
0.0 5.0 10.0 15.0 20.0 25.0
IOL (mA)
3.0
2.5
2.0
VOH (V)
Max (-40°C)
Min (125°C) Typ (25°C)
1.5
1.0
0.5
0.0 -2.0 -4.0 -6.0 -8.0 -10.0 -12.0 -14.0 -16.0
IOH (mA)
5.0
4.5
Max (-40°C)
Typ (25°C)
4.0
VOH (V)
3.0
2.5
2.0
0.0 -5.0 -10.0 -15.0 -20.0 -25.0
IOH (mA)
FIGURE 16-31: MINIMUM AND MAXIMUM VIH/VIL VS. VDD (TTL INPUT,-40°C TO +125°C)
1.8
1.7
1.6
1.4
VIL / VIH (V)
1.3
1.2
Min (125°C)
1.1
1.0
0.9
0.8
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
4.0
3.5
3.0
2.5
Max High (125°C)
VIL / VIH (V)
1.5
Max Low (-40°C)
0.5
0.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
FIGURE 16-33: TYPICAL, MINIMUM AND MAXIMUM WDT PERIOD VS. VDD (-40°C TO +125°C)
35.0
30.0
Max (125°C)
25.0
WDT Period (mS)
Max (85°C)
20.0
Typ (25°C)
15.0
Min (-40°C)
10.0
2.5 3.0 3.5 4.0 4.5 5.0 5.5
VDD (V)
XXXXXXXX PIC16C717/JW
XXXXXXXX
YYWWNNN 9905017
Note: In the event the full Microchip part number cannot be marked on one line, it will
be carried over to the next line thus limiting the number of available characters
for customer specific information.
* Standard PICmicro device marking consists of Microchip part number, year code, week code, and
traceability code. For PICmicro device marking beyond this, certain price adders apply. Please check
with your Microchip Sales Office. For QTP devices, any special marking adders are included in QTP
price.
XXXXXXXXXXX PIC16C770
XXXXXXXXXXX 20I/SS
YYWWNNN 9917017
XXXXXXXX PIC16C770/JW
XXXXXXXX
YYWWNNN 9905017
E1
n 1 α
E A2
c L
A1
B1
β
B p
eB
E1
W2 D
n 1
W1
A A2
c L
A1
eB B1
B p
E
p
E1
2
B n 1
h
α
45 °
c
A A2
φ
β L A1
E1
n 1 α
A A2
c L
A1
β B1
eB B p
E1
p
2
B n 1
h
α
45 °
c
A A2
φ
β L A1
E1
p
B 2
n 1
c
A A2
L A1
β
Program Memory 2K 2K 4K
Packages 18-pin PDIP, 18-pin windowed 20-pin PDIP, 20-pin 20-pin PDIP, 20-pin windowed
CERDIP, 18-pin SOIC, windowed CERDIP, 20-pin CERDIP, 20-pin SOIC,
20-pin SSOP SOIC, 20-pin SSOP 20-pin SSOP
From: Name
Company
Address
City / State / ZIP / Country
Telephone: (_______) _________ - _________ FAX: (______) _________ - _________
Application (optional):
Would you like a reply? Y N
Questions:
2. How does this document meet your hardware and software development needs?
3. Do you find the organization of this data sheet easy to follow? If not, why?
4. What additions to the data sheet do you think would enhance the structure and subject?
5. What deletions from the data sheet could be made without affecting the overall usefulness?
8. How would you improve our software, systems, and silicon products?
* JW Devices are UV erasable and can be programmed to any device configuration. JW Devices meet the electrical requirement of
each oscillator type.
Please specify which device, revision of silicon and Data Sheet (include Literature #) you are using.
01/18/02