`
`User’s Guide
`
` 2006
`
`Mixed Signal Products
`SLAU049F
`
`Square Exhibit 1031
`Square, Inc. v. 4361423 Canada Inc.
`IPR2019-01627
`Page 00001
`
`
`
`Manual Update Sheet
`SLAZ671A–April 2015–Revised December 2016
`
`Corrections to MSP430x1xx Family User's Guide
`(SLAU049)
`
`Document Being Updated: MSP430x1xx Family User's Guide
`Literature Number Being Updated: SLAU049F
`
`Page
`146 (5-20)
`
`Change or Add
`In FCTL3, Flash Memory Control Register FCTL3, the BUSY bit is shown as "r(w)−0". The
`correct value is "r−0".
`562 (19-12) The following note should be added at the end of the IrDA Decoding section:
`
`NOTE: Reliable reception of IrDA signals
`To receive incoming IrDA signals reliably, make sure that at least one of the
`following procedures are implemented:
`•
`Enable the digital filter stage with UCIRRXFE = 1.
`•
`Use a parity bit to detect corrupted bytes.
`•
`Check the correctness of received data frames using a checksum or
`CRC.
`• With parity or CRC checks, use a protocol that acknowledges received
`data frame and resends data if the sender does not receive an
`acknowledgment.
`
`SLAZ671A–April 2015–Revised December 2016
`Submit Documentation Feedback
`
`Copyright © 2015–2016, Texas Instruments Incorporated
`
`Corrections to MSP430x1xx Family User's Guide (SLAU049)
`
`1
`
`IPR2019-01627 Page 00002
`
`
`
` Related Documentation From Texas Instruments
`
`Preface
`
`Read This First
`
`About This Manual
`
`This manual discusses modules and peripherals of the MSP430x1xx family of
`devices. Each discussion presents the module or peripheral in a general
`sense. Not all features and functions of all modules or peripherals are present
`on all devices. In addition, modules or peripherals may differ in their exact
`implementation between device families, or may not be fully implemented on
`an individual device or device family.
`
`Pin functions, internal signal connections and operational paramenters differ
`from device-to-device. The user should consult the device-specific datasheet
`for these details.
`
`Related Documentation From Texas Instruments
`
`For related documentation see the web site http://www.ti.com/msp430.
`
`FCC Warning
`
`This equipment is intended for use in a laboratory test environment only. It gen-
`erates, uses, and can radiate radio frequency energy and has not been tested
`for compliance with the limits of computing devices pursuant to subpart J of
`part 15 of FCC rules, which are designed to provide reasonable protection
`against radio frequency interference. Operation of this equipment in other en-
`vironments may cause interference with radio communications, in which case
`the user at his own expense will be required to take whatever measures may
`be required to correct this interference.
`
`Notational Conventions
`
`Program examples, are shown in a special typeface.
`
`
`
`iii
`
`IPR2019-01627 Page 00003
`
`
`
`See Basic Clock Module
`
`See System Resets, Interrupts, and Operating Modes
`See www.ti.com/msp430 for application reports
`See RISC 16-Bit CPU
`
`See Digital I/O
`
`Auxiliary Clock
`Analog-to-Digital Converter
`Brown-Out Reset
`Bootstrap Loader
`Central Processing Unit
`Digital-to-Analog Converter
`Digitally Controlled Oscillator See Basic Clock Module
`Destination
`See RISC 16-Bit CPU
`Frequency Locked Loop
`See FLL+ in MSP430x4xx Family User’s Guide
`General Interrupt Enable
`See System Resets Interrupts and Operating Modes
`Integer portion of N/2
`Input/Output
`Interrupt Service Routine
`Least-Significant Bit
`Least-Significant Digit
`Low-Power Mode
`Memory Address Bus
`Master Clock
`Memory Data Bus
`Most-Significant Bit
`Most-Significant Digit
`(Non)-Maskable Interrupt
`Program Counter
`Power-On Reset
`Power-Up Clear
`Random Access Memory
`System Clock Generator
`Special Function Register
`Sub-System Master Clock
`Stack Pointer
`Status Register
`Source
`Top-of-Stack
`Watchdog Timer
`
`See System Resets Interrupts and Operating Modes
`
`See Basic Clock Module
`
`See System Resets Interrupts and Operating Modes
`See RISC 16-Bit CPU
`See System Resets Interrupts and Operating Modes
`See System Resets Interrupts and Operating Modes
`
`See System Resets Interrupts and Operating Modes
`
`See Basic Clock Module
`See RISC 16-Bit CPU
`See RISC 16-Bit CPU
`See RISC 16-Bit CPU
`See RISC 16-Bit CPU
`See Watchdog Timer
`
`Glossary
`
`Glossary
`
`ACLK
`ADC
`BOR
`BSL
`CPU
`DAC
`DCO
`dst
`FLL
`GIE
`INT(N/2)
`I/O
`ISR
`LSB
`LSD
`LPM
`MAB
`MCLK
`MDB
`MSB
`MSD
`NMI
`PC
`POR
`PUC
`RAM
`SCG
`SFR
`SMCLK
`SP
`SR
`src
`TOS
`WDT
`
`iv
`
`IPR2019-01627 Page 00004
`
`
`
`Register Bit Conventions
`
`Each register is shown with a key indicating the accessibility of the each
`individual bit, and the initial condition:
`
`Register Bit Accessibility and Initial Condition
`
` Register Bit Conventions
`
`Key
`rw
`r
`r0
`r1
`w
`w0
`w1
`(w)
`
`Bit Accessibility
`Read/write
`Read only
`Read as 0
`Read as 1
`Write only
`Write as 0
`Write as 1
`No register bit implemented; writing a 1 results in a pulse.
`The register bit is always read as 0.
`
`Cleared by hardware
`h0
`Set by hardware
`h1
`Condition after PUC
`−0,−1
`−(0),−(1) Condition after POR
`
`
`
`v
`
`IPR2019-01627 Page 00005
`
`
`
`vivi
`
`IPR2019-01627 Page 00006
`
`IPR2019-01627 Page 00006
`
`
`
` Contents
`
`Contents
`
`1
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Introduction
`1.1
`Architecture
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.2
`Flexible Clock System
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.3
`Embedded Emulation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.4
`Address Space
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.4.1
`Flash/ROM
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.4.2 RAM
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.4.3
`Peripheral Modules
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.4.4
`Special Function Registers (SFRs)
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.4.5 Memory Organization
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`1-1
`1-2
`1-2
`1-3
`1-4
`1-4
`1-4
`1-5
`1-5
`1-5
`
`2.2
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2 System Resets, Interrupts, and Operating Modes
`2-1
`2.1
`System Reset and Initialization
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-2
`2.1.1
`Power-On Reset (POR)
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-3
`2.1.2
`Brownout Reset (BOR)
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-4
`2.1.3 Device Initial Conditions After System Reset
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-5
`Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-6
`2.2.1
`(Non)-Maskable Interrupts (NMI)
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-7
`2.2.2 Maskable Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-10
`2.2.3
`Interrupt Processing
`2-11
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.2.4
`Interrupt Vectors
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-13
`Operating Modes
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-14
`2.3.1
`Entering and Exiting Low-Power Modes
`2-16
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Principles for Low-Power Applications
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-17
`Connection of Unused Pins
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2-17
`
`2.3
`
`2.4
`2.5
`
`
`
`vii
`
`IPR2019-01627 Page 00007
`
`
`
`Contents
`
`3.3
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3 RISC 16-Bit CPU
`3-1
`3.1
`CPU Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-2
`3.2
`CPU Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-4
`3.2.1
`Program Counter (PC)
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-4
`3.2.2
`Stack Pointer (SP)
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-5
`3.2.3
`Status Register (SR)
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-6
`3.2.4 Constant Generator Registers CG1 and CG2
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-7
`3.2.5 General−Purpose Registers R4 - R15
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-8
`Addressing Modes
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-9
`3.3.1 Register Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-10
`3.3.2
`Indexed Mode
`3-11
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.3.3
`Symbolic Mode
`3-12
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.3.4
`Absolute Mode
`3-13
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.3.5
`Indirect Register Mode
`3-14
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.3.6
`Indirect Autoincrement Mode
`3-15
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.3.7
`Immediate Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-16
`Instruction Set
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-17
`3.4.1 Double-Operand (Format I) Instructions
`3-18
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.4.2
`Single-Operand (Format II) Instructions
`3-19
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.4.3
`Jumps
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-20
`3.4.4
`Instruction Cycles and Lengths
`3-72
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.4.5
`Instruction Set Description
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`3-74
`
`3.4
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4 Basic Clock Module
`4-1
`4.1
`Basic Clock Module Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-2
`4.2
`Basic Clock Module Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-4
`4.2.1
`Basic Clock Module Features for Low-Power Applications
`. . . . . . . . . . . . . . . .
`4-4
`4.2.2
`LFXT1 Oscillator
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-5
`4.2.3
`XT2 Oscillator
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-6
`4.2.4 Digitally-Controlled Oscillator (DCO)
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-6
`4.2.5 DCO Modulator
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-9
`4.2.6
`Basic Clock Module Fail-Safe Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-10
`4.2.7
`Synchronization of Clock Signals
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-13
`Basic Clock Module Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`4-14
`
`4.3
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
` Flash Memory Controller
`5-1
`5.1
`Flash Memory Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-2
`5.2
`Flash Memory Segmentation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-3
`5.3
`Flash Memory Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-4
`5.3.1
`Flash Memory Timing Generator
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-4
`5.3.2
`Erasing Flash Memory
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-5
`5.3.3 Writing Flash Memory
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-8
`5.3.4
`Flash Memory Access During Write or Erase
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-14
`5.3.5
`Stopping a Write or Erase Cycle
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-15
`5.3.6 Configuring and Accessing the Flash Memory Controller
`5-15
`. . . . . . . . . . . . . . . . .
`5.3.7
`Flash Memory Controller Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-15
`5.3.8
`Programming Flash Memory Devices
`5-15
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Flash Memory Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`5-17
`
`5.4
`
`5
`
`viii
`
`IPR2019-01627 Page 00008
`
`
`
` Contents
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`6 Supply Voltage Supervisor
`6.1
`SVS Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`6.2
`SVS Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`6.2.1 Configuring the SVS
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`6.2.2
`SVS Comparator Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`6.2.3 Changing the VLDx Bits
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`6.2.4
`SVS Operating Range
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`SVS Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`6.3
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`7 Hardware Multiplier
`7.1
`Hardware Multiplier Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`7.2
`Hardware Multiplier Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`7.2.1 Operand Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`7.2.2 Result Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`7.2.3
`Software Examples
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`7.2.4
`Indirect Addressing of RESLO
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`7.2.5 Using Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Hardware Multiplier Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`7.3
`
`6-1
`6-2
`6-4
`6-4
`6-4
`6-5
`6-6
`6-7
`
`7-1
`7-2
`7-3
`7-3
`7-4
`7-5
`7-6
`7-6
`7-7
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8 DMA Controller
`8-1
`8.1
`DMA Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8-2
`8.2
`DMA Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8-4
`8.2.1 DMA Addressing Modes
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8-4
`8.2.2 DMA Transfer Modes
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8-5
`8.2.3
`Initiating DMA Transfers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8-12
`8.2.4
`Stopping DMA Transfers
`8-14
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8.2.5 DMA Channel Priorities
`8-14
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8.2.6 DMA Transfer Cycle Time
`8-15
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8.2.7 Using DMA with System Interrupts
`8-16
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8.2.8 DMA Controller Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8-16
`8.2.9 Using the I2C Module with the DMA Controller
`8-17
`. . . . . . . . . . . . . . . . . . . . . . . . .
`8.2.10 Using ADC12 with the DMA Controller
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8-17
`8.2.11 Using DAC12 With the DMA Controller
`8-17
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`DMA Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`8-18
`
`8.3
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`9 Digital I/O
`9.1
`Digital I/O Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`9.2
`Digital I/O Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`9.2.1
`Input Register PnIN
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`9.2.2 Output Registers PnOUT
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`9.2.3 Direction Registers PnDIR
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`9.2.4
`Function Select Registers PnSEL
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`9.2.5
`P1 and P2 Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`9.2.6 Configuring Unused Port Pins
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Digital I/O Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`9.3
`
`9-1
`9-2
`9-3
`9-3
`9-3
`9-3
`9-4
`9-5
`9-6
`9-7
`
`
`
`ix
`
`IPR2019-01627 Page 00009
`
`
`
`Contents
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10 Watchdog Timer
`10.1 Watchdog Timer Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10.2 Watchdog Timer Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10.2.1 Watchdog Timer Counter
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10.2.2 Watchdog Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10.2.3 Interval Timer Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10.2.4 Watchdog Timer Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10.2.5 Operation in Low-Power Modes
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10.2.6 Software Examples
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`10.3 Watchdog Timer Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`10-1
`10-2
`10-4
`10-4
`10-4
`10-4
`10-5
`10-6
`10-6
`10-7
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11 Timer_A
`11-1
`11.1 Timer_A Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11-2
`11.2 Timer_A Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11-4
`11.2.1 16-Bit Timer Counter
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11-4
`11.2.2 Starting the Timer
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11-5
`11.2.3 Timer Mode Control
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11-5
`11.2.4 Capture/Compare Blocks
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11-11
`11.2.5 Output Unit
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11-13
`11.2.6 Timer_A Interrupts
`11-17
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11.3 Timer_A Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11-19
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12 Timer_B
`12-1
`12.1 Timer_B Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-2
`12.1.1 Similarities and Differences From Timer_A
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-2
`12.2 Timer_B Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-4
`12.2.1 16-Bit Timer Counter
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-4
`12.2.2 Starting the Timer
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-5
`12.2.3 Timer Mode Control
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-5
`12.2.4 Capture/Compare Blocks
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-11
`12.2.5 Output Unit
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-14
`12.2.6 Timer_B Interrupts
`12-18
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12.3 Timer_B Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`12-20
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13 USART Peripheral Interface, UART Mode
`13-1
`13.1 USART Introduction: UART Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13-2
`13.2 USART Operation: UART Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13-4
`13.2.1 USART Initialization and Reset
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13-4
`13.2.2 Character Format
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13-4
`13.2.3 Asynchronous Communication Formats
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13-5
`13.2.4 USART Receive Enable
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13-9
`13.2.5 USART Transmit Enable
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13-10
`13.2.6 UART Baud Rate Generation
`13-11
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13.2.7 USART Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`13-17
`13.3 USART Registers: UART Mode
`13-21
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`x
`
`IPR2019-01627 Page 00010
`
`
`
` Contents
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14 USART Peripheral Interface, SPI Mode
`14-1
`14.1 USART Introduction: SPI Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14-2
`14.2 USART Operation: SPI Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14-4
`14.2.1 USART Initialization and Reset
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14-4
`14.2.2 Master Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14-5
`14.2.3 Slave Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14-6
`14.2.4 SPI Enable
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14-7
`14.2.5 Serial Clock Control
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14-9
`14.2.6 SPI Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`14-11
`14.3 USART Registers: SPI Mode
`14-13
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`15 USART Peripheral Interface, I2C Mode
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-1
`15.1 I2C Module Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-2
`15.2 I2C Module Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-4
`15.2.1 I2C Module Initialization
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-5
`15.2.2 I2C Serial Data
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-6
`15.2.3 I2C Addressing Modes
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-7
`15.2.4 I2C Module Operating Modes
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-8
`15.2.5 The I2C Data Register I2CDR
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-15
`15.2.6 I2C Clock Generation and Synchronization
`15-16
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`15.2.7 Using the I2C Module with Low Power Modes
`15-17
`. . . . . . . . . . . . . . . . . . . . . . . . .
`15.2.8 I2C Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15-18
`15.3 I2C Module Registers
`15-20
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`16 Comparator_A
`16.1 Comparator_A Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`16.2 Comparator_A Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`16.2.1 Comparator
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`16.2.2 Input Analog Switches
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`16.2.3 Output Filter
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`16.2.4 Voltage Reference Generator
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`16.2.5 Comparator_A, Port Disable Register CAPD
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`16.2.6 Comparator_A Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`16.2.7 Comparator_A Used to Measure Resistive Elements
`. . . . . . . . . . . . . . . . . . . .
`16.3 Comparator_A Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`16-1
`16-2
`16-4
`16-4
`16-4
`16-5
`16-5
`16-6
`16-6
`16-7
`16-9
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17 ADC12
`17-1
`17.1 ADC12 Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-2
`17.2 ADC12 Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-4
`17.2.1 12-Bit ADC Core
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-4
`17.2.2 ADC12 Inputs and Multiplexer
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-5
`17.2.3 Voltage Reference Generator
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-6
`17.2.4 Auto Power-Down
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-6
`17.2.5 Sample and Conversion Timing
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-7
`17.2.6 Conversion Memory
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-10
`17.2.7 ADC12 Conversion Modes
`17-10
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17.2.8 Using the Integrated Temperature Sensor
`17-16
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17.2.9 ADC12 Grounding and Noise Considerations
`17-17
`. . . . . . . . . . . . . . . . . . . . . . . . .
`17.2.10 ADC12 Interrupts
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-18
`17.3 ADC12 Registers
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`17-20
`
`
`
`xi
`
`IPR2019-01627 Page 00011
`
`
`
`Contents
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18 ADC10
`18-1
`18.1 ADC10 Introduction
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18-2
`18.2 ADC10 Operation
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18-4
`18.2.1 10-Bit ADC Core
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18-4
`18.2.2 ADC10 Inputs and Multiplexer
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18-5
`18.2.3 Voltage Reference Generator
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18-6
`18.2.4 Auto Power-Down
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18-6
`18.2.5 Sample and Conversion Timing
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18-7
`18.2.6 Conversion Modes
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`18-9
`18.2.7 ADC10 Data Transfer Controller
`. . . . . . . . . .