PIC16C765-I/P Microchip Technology, PIC16C765-I/P Datasheet - Page 72

IC MCU OTP 8KX14 USB 40DIP

PIC16C765-I/P

Manufacturer Part Number
PIC16C765-I/P
Description
IC MCU OTP 8KX14 USB 40DIP
Manufacturer
Microchip Technology
Series
PIC® 16Cr

Specifications of PIC16C765-I/P

Core Size
8-Bit
Program Memory Size
14KB (8K x 14)
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Core Processor
PIC
Speed
24MHz
Connectivity
SCI, UART/USART, USB
Number Of I /o
33
Program Memory Type
OTP
Ram Size
256 x 8
Voltage - Supply (vcc/vdd)
4.35 V ~ 5.25 V
Data Converters
A/D 8x8b
Oscillator Type
External
Operating Temperature
-40°C ~ 85°C
Package / Case
40-DIP (0.600", 15.24mm)
Controller Family/series
PIC16C
No. Of I/o's
33
Ram Memory Size
256Byte
Cpu Speed
24MHz
No. Of Timers
3
Processor Series
PIC16C
Core
PIC
Data Bus Width
8 bit
Data Ram Size
256 B
Maximum Clock Frequency
24 MHz
Number Of Programmable I/os
33
Number Of Timers
3
Operating Supply Voltage
4.35 V to 5.25 V
Maximum Operating Temperature
+ 85 C
Mounting Style
Through Hole
3rd Party Development Tools
52715-96, 52716-328, 52717-734
Development Tools By Supplier
ICE2000, DM163022
Minimum Operating Temperature
- 40 C
On-chip Adc
5 bit
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
ISPICR1 - ADAPTER IN-CIRCUIT PROGRAMMING444-1001 - DEMO BOARD FOR PICMICRO MCU
Eeprom Size
-
Lead Free Status / Rohs Status
 Details
Other names
Q975613

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC16C765-I/P
Manufacturer:
MICROCHIP
Quantity:
12 000
Part Number:
PIC16C765-I/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
PIC16C745/765
10.9
10.9.1
Microchip provides a layer of software that handles the
lowest level interface so your application won’t have
to. This provides a simple Put/Get interface for com-
munication. Most of the USB processing takes place in
the background through the Interrupt Service Routine.
From the application viewpoint, the enumeration pro-
cess and data communication takes place without fur-
ther interaction. However, substantial setup is required
in the form of generating appropriate descriptors.
FIGURE 10-3: USB SOFTWARE INTERFACE
10.9.2
The latest version of the USB interface software
is
http://www.microchip.com/).
The interface to the application is packaged in 3 func-
tions: InitUSB, PutUSB and GetUSB. InitUSB initial-
izes the USB peripheral, allowing the host to
enumerate the device. Then, for normal data commu-
nications, function PutUSB sends data to the host and
GetUSB receives data from the host.
However, there's a fair amount of setup work that must
be completed. USB depends heavily on the descrip-
tors. These are the software parameters that are com-
municated to the host to let it know what the device is,
and how to communicate with it. See USB V1.1 spec
section 9.5 for more details.
Also, code must be added to give meaning to the
SetConfiguration command. The Chapter 9 com-
mands call SetConfiguration when it receives the
command. Both the descriptors and SetConfigura-
tion are in DESCRIPT.ASM.
InitUSB enables the USB interrupt so enumeration
can begin. The actual enumeration process occurs in
the background, driven by the host and the Interrupt
Service Routine. Macro ConfiguredUSB waits until
the device is in the CONFIGURED state. The time
required to enumerate is completely dependent on the
host and bus loading.
DS41124C-page 72
available
USB Firmware Users Guide
INTRODUCING THE USB SOFTWARE
INTERFACE
INTEGRATING USB INTO YOUR
APPLICATION
USB
Put
Main Application
USB Peripheral
on
USB
Get
Microchip's
USB
Init
website
USB
(see
Preliminary
10.9.3
10.9.3.1
Most of the USB processing occurs via the interrupt and
thus is invisible to application. However, it still con-
sumes processor resources. These include ROM, RAM,
Common RAM and Stack Levels. This section attempts
to quantify the impact on each of these resources, and
shows ways to avoid conflicts.
If you write your own Interrupt Service Routine: W,
Status, FSR and PCLATH may be corrupted by servic-
ing the USB interrupt and must be saved.
USB_MAIN.ASM provides a skeleton ISR which does
this for you, and includes tests for each of the possible
interrupt bits. This provides a good starting point if you
haven't already written your own.
10.9.3.2
The hardware stack on the PICmicro
levels deep. So the worst case call between the applica-
tion and ISR can only be 8 levels. The enumeration pro-
cess requires 4 levels, so it’s best if the main application
holds off on any processing until enumeration is com-
plete. ConfiguredUSB is a macro that waits until the
enumeration process is complete for exactly this pur-
pose, by testing the lower two bits of USWSTAT
(0x197).
10.9.3.3
The code required to support the USB interrupt,
including the chapter 9 interface calls, but not includ-
ing the descriptor tables, is about 1kW. The descriptor
and string descriptor tables can each take up to an
additional 256W. The location of these parts is not
restricted.
10.9.3.4
With the exception of Common RAM discussed below,
servicing the USB interrupt requires ~40 bytes of
RAM in Bank 2. That leaves all the General Purpose
RAM in banks zero and one, plus half of bank two,
available for your application to use.
10.9.3.5
The PIC16C745/765 has 16 bytes of common RAM.
These are the last 16 addresses in each bank and all
refer to the same 16 bytes of memory, without regard
to which register bank is currently addressed by the
RP0, RP1 and IRP bits.
These are particularly useful when responding to inter-
rupts. When an interrupt occurs, the ISR doesn’t imme-
diately know which bank is addressed. With devices
that don’t support common RAM, the W register must
be provided for in each bank. The 16C745/765 can
save the appropriate registers in Common RAM and not
have to waste a byte in each bank for W register.
INTERRUPT STRUCTURE CONCERNS
Processor Resources
Stack Levels
ROM
RAM
Common RAM Usage
2000 Microchip Technology Inc.
®
MCU is only 8

Related parts for PIC16C765-I/P