TABLE OF CONTENTS
1 PICmicro Serial Communications and This Book
1.1 Introduction to Serial Communications2 Asynchronous Serial Communications
1.2 About This Book
2.1 Asynchronous Serial Overview3 The RS-232 Standard
2.2 Asynchronous Serial Protocol
2.3 The Communications Channel and Flow Control
3.1 RS-232 Overview4 The ASCII Character Code
3.2 Mechanical Interface
3.3 Functional Interface
3.4 Non-Standard RS-232 Applications
3.5 Electrical Interface
3.6 PIC to RS-232 Interface
4.1 Graphic Characters5 Bit-Bang Asynchronous Communications
4.2 Control Character Functions
5.1 Bit-Bang Half-Duplex6 On-Chip UART
5.1.1 Half-Duplex Receive and Transmit Services
Bit-Bang Application
12 Bit PICmicro Applications
Bit-Bang 16C54 Application
5.1.2 Receive Timeouts
5.1.3 Interrupt Driven Receive
Bit-Bang Interupt Driven Application
5.1.4 Automatic Bit Rate Detection
Automatic Bit-Rate Application
5.1.5 Using the Section 5.1 Routines in Your Applications
5.2 Bit-Bang Full Duplex
5.2.1 Full-Duplex Receive and Transmit Tasks
Bit-Bang Full-Duplex Application
5.2.2 Full-Duplex Receive and Transmit Tasks with In-Band Flow Control
In-Band Flow Control Application
5.2.3 Using the Section 5.2 Routines in Your Applications
5.3 Interrupt Driven Bit-Bang Full Duplex
5.3.1 Bit-Bang Full-Duplex Application
5.3.2 Using the Section 5.3 Routines in Your Applications
6.1 Using The On-Chip USART7 Synchronous Serial Communications
6.2 UART Full-Duplex Receive and Transmit Services
6.2.1 UART Transmit
6.2.2 UART Receive
6.2.3 A simple Full-Duplex Application
6.2.4 Using the Section 6.2 Routines in Your Applications
6.3 UART Applications
6.3.1 Half-Duplex Block Data Transfer
Block Transfer Application
6.3.2 Packet Data Transfer
Packet Data Transfer Application
6.3.3 Using the Section 6.3 Routines in Your Applications
7.1 Synchronous Serial Overview8 The I2C Serial Bus
7.2 Embedded Systems and Synchronous Serial Communications
7.3 Synchronous Serial Protocol
7.4 Synchronous Serial Peripheral Devices
7.5 Three Synchronous Serial Communications Standards
I2C Bus
SPI Bus
Microwire Interface
8.1 I2C Bus Specifications9 The SPI Serial Bus
8.2 The PIC as a Bit-Bang I2C Master
8.2.1 I2C Bit-Bang Master Bus Services
8.2.2 I2C Bit-Bang Master Bus Services Using FET Drivers
8.2.3 Bit-Banging the I2C Bus with the 12 Bit PICmicro Family
8.2.4 Using the Section 8.2 Routines in Your Applications
8.3 The PICmicro as a Bit-Bang I2C Slave
8.3.1 I2C Bit-Bang Slave Bus Services
8.3.2 Using the Section 8.3 Routines in Your Applications
8.4 Communicating With an I2C Serial EEPROM
8.4.1 Bit-Banging the 24C32 EEPROM
8.4.2 Bit-Banging the 24C32 EEPROM with the 12 Bit PICmicro Family
8.4.3 I2C Bit-Bang EEPROM Application
8.4.4 Using the Section 8.4 Routines in Your Applications
8.5 The I2C Bus and Serial Analog to Digital Converters
8.5.1 Using an SPI/Microwire A/D on the I2C Bit-Bang Bus
8.5.2 I2C Bit-Bang A/D Application
8.5.3 I2C Bit-Bang A/D and EEPROM Application
8.5.4 Using the Section 8.5 Routines in Your Application
8.6 I2C Bit-Bang Slave Applications
8.6.1 I2C Bit-Bang Slave Application
I2C Master Application
8.6.2 I2C Bit-Bang Slave Application with ACK Polling
I2C Bit-Bang Master Application
9.1 SPI Bus Specifications10 The Microwire Serial Interface
9.2 The PICmicro as a Bit-Bang SPI Master and Slave
9.2.1 SPI Bit-Bang Master Bus Services
9.2.2 SPI Bit-Bang Slave Bus Services
9.2.3 Using the Section 9.2 Routines in Your Applications
9.3 SPI Analog to Digital Converter
9.4 SPI Display Driver
9.4.1 SPI Bit-Bang A/D and Display Application
9.5 Communicating with SPI Serial EEPROMS
9.5.1 SPI EEPROM Bit-Bang Communications Services
9.5.2 Using the Section 9.5 Routines in Your Applications
9.6 Putting It All Together: A Data Logger Application Using the Bit-Bang SPI Master and Slave services, the A/D services and the EEPROM Services
9.6.1 Bit-Bang SPI Data Logger Master Application
9.6.2 Bit-Bang SPI Slave LCD Display
9.7 Using a Microwire EEPROM on the SPI Bit-Bang Bus
9.8 An SPI Bit-Bang Slave Port Expander Application
9.8.1 SPI Bit-Bang Slave Port Expander
9.8.2 Using the Port Expander in Your Applications
9.9 On-Chip SPI Hardware
9.9.1 Using the On-Chip SSP Based SPI Hardware
9.9.2 SSP Hardware SPI Serial EEPROM Communications
9.9.3 SSP Hardware SPI A/D and Display Application
9.9.4 SSP Hardware SPI Slave Application
9.9.5 Using the Section 9.8 Routines in Your Applications SSP and BSSP
9.10 Daisy Chaining SPI devices
10.1 The Microwire Interface Specification (As a PICmicro Bit-Bang Master)11 The Dallas 1-Wire Bus
10.2 Microwire Bit-Bang Master and Slave Interface Services
10.2.1 Microwire Bit-Bang Master Interface Services
10.2.2 Microwire Bit-Bang Slave Interface Services
10.2.3 Using the Section 10.2 Routines in Your Applications
10.3 Communicating with Microwire Serial EEPROMS
10.3.1 Microwire EEPROM Bit-Bang Communications Services
10.3.2 Using the Section 10.3 Routines in your Application
10.4 Microwire Analog to Digital Converters
10.4.1 Communicating with a Microwire A/D Converter
10.4.2 A Microwire A/D, Microwire EEPROM and Microwire to SPI Display Application
10.4.3 Using the Section 10.4 Routines in Your Applications
10.5 Microwire Bit-Bang Slave Applications
10.5.1 A Microwire Slave Parallel Port Application
11.1 The Dallas 1-Wire Bus Specification[an error occurred while processing this directive]
11.1.1 Time-Slot Specifications
11.1.2 Communications Protocol
11.1.3 Hardware Specifications
11.2 The PICmicro as a 1-Wire Bit-Bang Master and Slave
11.2.1 1-Wire Bit-Bang Master Bus Services
11.2.2 1-Wire Bit-Bang Slave Bus Services
11.2.3 Using the Section 11.2 Routines in Your Applications
11.3 Communicating with a 1-Wire Digital Thermometer
11.3.1 Parasite Power
11.3.2 A 1-Wire Bit-Bang DS1820 Thermometer Application
11.4 A 1-Wire Bit-Bang Slave Application
11.4.1 A 1-Wire Slave Parallel Port