Book description
This book prepares the students for system development using the 8051 as well as 68HC11, 80x96, ARM and PIC family microcontrollers. It provides a perfect blend of both hardware and software aspects of the subject.
Table of contents
- Cover
- Title page
- Contents
- Dedication
- Preface to the second edition
- Preface to the first edition
-
Chapter 1. Types, Selection and Applications of Microcontrollers
- 1.1 Microcontrollers
- 1.1.1 Numbering and Coding Systems
- 1.1.2 Central Processing Unit (CPU)
- 1.1.3 Microprocessor
- 1.1.4 Microcomputer
- 1.1.5 Computer System
- 1.1.6 Microcontroller
- 1.1.7 Embedded Processors
- 1.2 Types of Microcontrollers
- 1.2.1 The 8, 16 and 32-Bit Microcontrollers
- 1.2.2 Embedded and External Memory Microcontrollers
- 1.2.3 CISC and RISC Architecture Microcontrollers
- 1.2.4 Harvard and Princeton Memory Architecture Microcontrollers
- 1.3 Examples of the Popular Microcontrollers
- 1.3.1 8051, Extended 8051XA and 8051MXFamilies
- 1.3.2 MC68HC11/68HC12 Families
- 1.3.3 8051 Based MCU of Atmel C51 Family
- 1.3.4 Turbo μPSD
- 1.3.5 High-density Flash 8051 Based Turbo fiPSD 3300 Family
- 1.3.6 PIC
- 1.3.7 ARM
- 1.4 Selection of a Microcontroller
- 1.4.1 Checklist of the Needed Features and Factors Taken into Consideration
- 1.4.2 Selection of Processor and Processor Family
- 1.4.3 Selection of On-Chip Resources-Base
- 1.4.4 Selection of Software Building Blocks
- 1.4.5 Selection of Development Tool-Base
- 1.5 Applications (Examples)
- 1.5.1 Automatic Process Control
- 1.5.2 Instrumentation Applications
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
-
Chapter 2. Overview of Architecture and Microcontroller Resources
- 2.1 Architecture of a Microcontroller
- 2.1.1 Functional Overview of8048 and 8049 Microcontroller Architecture
- 2.1.2 Basic Processing Unit in the 8048 Microcomputer
- 2.2 Family Members of 8051 and 68HC11/12 Families
- 2.3 Microcontroller On-Chip Resources
- 2.3.1 Basic Processing Unit, Internal Buses and Interrupt Handling
- 2.3.2 Program and Data Memory
- 2.3.3 Parallel Ports
- 2.3.4 On-chip Registers
- 2.3.5 Special Function Registers
- 2.3.6 UART
- 2.3.7 Synchronous Serial Communication
- 2.3.8 Timers/Counters
- 2.3.9 PWM
- 2.3.10 On-chip A/D Converters (ADC)
- 2.3.11 Watchdog Timer (WDT)
- 2.3.12 Bit-wise Manipulation Capability
- 2.3.13 Power-Down Mode
- 2.3.14 Real-Time Clock
- 2.3.15 Reset Circuit
- 2.3.16 Oscillator Circuit
- 2.4 Resources in Advanced and Next-Generation Microcontrollers
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
-
Chapter 3. Intel 8051/8031 Family Architecture
- 3.1 8051 Microcontroller Architecture
- 3.1.1 Architecture
- 3.1.2 Special Function Registers
- 3.1.3 PSW Register Bits And Flags
- 3.1.4 The 8052/8032 Family
- 3.1.5 ATMEL 89C51
- 3.2 Microcontroller 8051 Pins
- 3.3 8051 PORTS
- 3.4 Internal and External Memory
- 3.5 Counters and Timers
- 3.5.1 Programmable Timers in the Intel 8051 Family
- 3.5.2 8052 Additional Timer T2
- 3.5.3 Watchdog Timer
- 3.6 Serial Communication in 8051
- 3.6.1 Mode 0 in Serial Communication
- 3.6.2 UART Modes 1,2 and 3 for Serial Asynchronous Communication
- 3.6.3 Multiprocessor UART Mode Communication
- 3.6.4 Serial Buffer
- 3.6.5 Interconnections RS232
- 3.7 Interrupts
- 3.8 Interrupts in 8051
- 3.9 External Interrupts
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 4. 8051 Family Microcontrollers Instruction Set
- 4.1 Programming Basics
- 4.1.1 Machine Codes
- 4.1.2 Program as a Set of Instructions and Routines
- 4.2 Introduction to Machine Instrucions and Assembly
- 4.2.1 Opcode
- 4.2.2 Operand
- 4.2.3 Register
- 4.2.4 Accumulator
- 4.2.5 Program Counter
- 4.2.6 Stack Pointer
- 4.2.7 Program Status Word
- 4.2.8 Assembly and Machine, Assembly and C Instruction Formats
- 4.3 Instruction Cycle
- 4.4 Execution Time of an Instruction
- 4.5 Addressing Modes
- 4.6 Classification of the Instructions at the Instruction Set
- 4.7 Data Transfer Instructions
- 4.7.1 MOV Instructions
- 4.7.2 MOVC-type Instructions
- 4.7.3 MO VX-type Instructions
- 4.7.4 PUSH and POP Instructions for Using the Stack Area Employing the SP
- 4.7.5 XCH-type Instructions
- 4.8 Data and Bit-Manipulation Instructions
- 4.8.1 Data Byte Manipulate (Clear, Complement, Rotate and Swap) Instructions
- 4.8.2 Boolean Variable (Bit) Manipulate and Boolean Processing Instructions
- 4.9 Arithmetic Instructions
- 4.10 Instructions for Logical Operations on Bytes at the Registers, Internal RAM and SFRs
- 4.11 Program-Flow Control Instructions
- 4.11.1 Delay-cycle (NOP) Instructions
- 4.11.2 Long, Absolute and Short Jumps
- 4.11.3 Conditional Short Relative Jumps
- 4.11.4 Decrement and Conditional Jump on Zero
- 4.11.5 Jump After Comparison
- 4.11.6 Call to a Routine and Return from Routine
- 4.12 Interrupt Control Flow (RETI Instruction)
- 4.13 ASCII-Related Application Program
- 4.14 BCD-Related Application Program
- 4.15 Serial Port-Related Application Programs
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 5. Real Time Control: Interrupts
- 5.1 Interrupt Application Examples
- 5.2 Routine, Interrupt and Interrupt Service Routine
- 5.2.1 Call To a Routine
- 5.3 Interrupt-Handling Structure of an MCU
- 5.3.1 Identification of an Interrupt Source
- 5.3.2 Resetting of Interrupt Identification Flags
- 5.3.3 Address of Interrupt Service Routine
- 5.4 Interrupt Latency and Interrupt Deadline
- 5.5 Multiple Sources of the Interrupts
- 5.6 Hardware Interrupts Related To Internal Devices:
- 5.7 Enabling (Unmasking) or Disabling of the Sources
- 5.8 Polling to Determine the Interrupt Sources and Assignment of the Priorities Among Them
- 5.8.1 Advantage of Finding Pending Higher Priority Interrupt Sources at the End of Each Instruction 205
- 5.8.2 Advantage of Finding by Interrupt Hardware for Pending Higher Priority Interrupt Sources at the End of an ISR
- 5.8.3 Default MCU-assigned Priorities
- 5.8.4 User-assigned Priorities
- 5.9 Interrupt Structure in Intel 8051
- 5.9.1 The 8051 Family MCU Sources of Interrupt
- 5.9.2 The 8051 Family MCU Interrupt Source Groups and Default Priorities for Vectored Priority Interrupts
- 5.9.3 Unmasking and Masking of an Interrupt Source
- 5.9.4 Default Priority Assignments for Service
- 5.9.5 User Priority Assignments for Service
- 5.9.6 Vector Address for the Interrupt Service Routine
- 5.9.7 Servicing of Interrupts in 8051
- 5.10 Programming Approach for Interrupt-Related Programs
- 5.11 Programming Examples in Assembly and C
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 6. Real-Time Control: Timers 2
- 6.1 Programmable Timers in the MCUs
- 6.1.1 Programming Features in 8051/8052
- 6.1.2 Programming for Finding the Time Interval Between Two Events
- 6.1.3 Timer Overflow in MCUs
- 6.1.4 Precession Effects in the Timers
- 6.1.5 Effects on Interrupt Latencies
- 6.1.6 Timer Features in 68HC11/12 and Other MCUs for Greater Precession in Timings
- 6.2 Free-Running Counter and Real-Time Control
- 6.2.1 Overflows of Free-Running Counter
- 6.2.2 Using an Output-Compare Register Along with a Timer Running as a Free-Running Counter
- 6.2.3 Using an Input-Capture Register on an External Input Capturing of Counts at a Timer Running as a Free-Running Counter
- 6.2.4 Programming for a Delay Using Out-Compare after an External Input-Capture
- 6.3 Real-Time Clock Interrupts
- 6.4 Software Timers
- 6.5 Interrupt Interval and Density Constraints
- 6.5.1 Interrupt Service Latency
- 6.5.2 Examples of Interrupt Service Latency Calculation
- 6.5.3 Interrupt Service Intervals
- 6.5.4 Fraction of Time Spent by the CPU in the RTC Interrupt-Service
- 6.5.5 Interrupt Density
- 6.5.6 Interrupt Constraints
- 6.5.7 Advantage of Combined Instructions for Reducing Interrupt Density
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 7. System Design: Peripherals and Interfacing
- 7.1 Serial UART and USART Communication Interfaces
- 7.1.1 Serial Interface in 8051
- 7.1.2 Serial UART Chip 8250
- 7.1.3 Serial USART Chip 8251
- 7.1.4 Programming 8251
- 7.1.5 Interfacing to Processor and DCE
- 7.2 Parallel IO Ports Interface 8255
- 7.2.1 Programming 8255
- 7.2.2 Interfacing 8255 to Processor
- 7.3 DMA Controller 8257
- 7.3.1 Methods for IO Transactions
- 7.3.2 Programming 825 7
- 7.3.3 Interfacing to 8086, 8051, 8096 and 68HC11/12
- 7.4 Programmable Interrupt Controller 8259
- 7.4.1 Interfacing 8259 to Processors
- 7.5 ADC Circuit Interfacing
- 7.6 DAC Circuit Interfacing
- 7.7 Inter-Integrated Circuits Interfacing (I2C Bus Standard)
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 8. Systems Design: Digital and Analog Interfacing Methods
- 8.1 Interfacing of the Key (Switch), Keypad and Keyboard
- 8.1.1 A Single Key (switch) and Its Interface
- 8.1.2 Bounces in a Key (switch)
- 8.1.3 Removing Bounce Effects on Input State from Key Using Hardware
- 8.1.4 Array (Row) of Keys and Its Interface
- 8.1.5 Keypad (Matrix of Keys) and Its Interfacing
- 8.1.6 Keyboard and Its Interfacing
- 8.1.7 Keyboard Controller
- 8.2 Debouncing Program Examples for Key/Switches
- 8.3 LED and Array of LEDS
- 8.3.1 LED
- 8.3.2 Array of LEDs or Annunciators
- 8.3.3 Array of LEDs in a 7-Segment Hex-Digit
- 8.3.4 Four-digit Display
- 8.4 Alphanumeric Devices—Display Systems and Their Interfaces
- 8.4.1 Alphanumeric Display by Sixteen-segment Display Systems
- 8.4.2 Dot-matrix Display Systems for Multilingual, Multi-fonts and Graphic Displays
- 8.5 LCD and LCD Controller
- 8.5.1 LCD
- 8.5.2 LCD Controller Circuit
- 8.5.3 LCD Controller
- 8.5.4 Interfacing with LCD Controller
- 8.5.5 Programming Aspects of Hitachi 44780, Optrex DMC 16xx, DMC 16xxx, DMC 20xxx and DMC 24xxx Series Compatible LCD Controller
- 8.6 Touch Screen and Touch -Screen Controller
- 8.6.1 Touch Screen
- 8.6.2 Touch-screen Controller
- 8.6.3 Touch-screen Software Driver
- 8.6.4 Software Functions Library to Enable Developing of the Applications
- 8.6.5 Multi-touch and Multi-touch Controller
- 8.6.6 Virtual Keypad
- 8.7 Keyboard-Cum-Display Controller (8279)
- 8.7.1 Keyboard-cum-Display Controller 8279
- 8.7.2 Interfacing of8279
- 8.7.3 Programming Aspects of8279
- 8.8 Interface with Printer
- 8.8.1 Parallel Centronics Interface — A Printer Interface
- 8.8.2 Serial RS232C Interface for a Print Controller in a Printer
- 8.9 Programmable Interface for Instruments using IEEE488 (GPIB) Bus
- 8.10 Interfacing of 8051 MCU with External Memory
- 8.11 Interfacing with Flash Memory
- 8.11.1 Programming the Flash Memory Chip
- 8.12 Interfacing with MCU IO Port using Optoisolator
- 8.13 Interfacing with Inductive Circuit
- 8.14 Interface for a Loudspeaker
- 8.15 Interfacing the Keypad and Speaker in a Music Playing system
- 8.16 Interface for Stepper Motor(s) in a Robot or Printer or Industrial Drive
- 8.17 Analog Inputs Interface with the MCU
- 8.17.1 Interfacing Thermocouple
- 8.17.2 Interfacing Load Cell— Electronic Weighing Machine
- 8.17.3 Interfacing - Precision Weighing Machine
- 8.18 Analog Output Generating Interface with MCU
- 8.19 Using PWM for DC Motor Control
- 8.20 Servomotor Control
- 8.21 Interfacing to High Power Devices
- 8.21.1 Interfacing for the Input and Output Modules
- 8.21.2 Interfacing with AC and DC High Power Motors
- 8.21.3 Interfacing with the Heater (Furnace)
- 8.21.4 Interfacings Power Devices Using Advanced Microcontrollers
- 8.22 Optical Motor Shaft Encoder
- 8.22.1 Incremental Rotation Encoder
- 8.22.2 Rotatory Absolute Angle Encoder
- 8.22.3 MCU-based Scale for Measuring Linear Position
- 8.23 Industrial Control Interface
- 8.23.1 Automatic Control Applications
- 8.24 Industrial Process Control System
- 8.25 Measurement Applications and Prototype MCU-based Measuring Instruments
- 8.26 Robotics and Embedded Control
- 8.27 Digital Signal Processing and Digital Filters
- 8.27.1 Digital Signal Processing (DSP)
- 8.27.2 Digital Filters
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 9. Programming in Assembly
- 9.1 Programming Basics for Assembly Language Programming
- 9.1.1 Benefits of Assembly Language Program (ALP)
- 9.1.2 Assembler
- 9.1.3 Types of Assemblers
- 9.1.4 Using an Assembler
- 9.1.5 Assembly Language Program
- 9.1.6 Program Steps for Basic Instructions
- 9.1.7 Default Settings for the Ports, Timer and Interrupts on Reset in 8051
- 9.1.8 Programming Approach for the Foreground (Main) Program
- 9.1.9 Program Approach for Programming ISR Instructions
- 9.1.10 Default Settings for the A, B, PSW, DPTR and SP on Reset in 8051
- 9.2 Programming Examples for Ports
- 9.2.1 Programming All 8-bits of a Port Simultaneously
- 9.2.2 Programming Individual Port Bits
- 9.3 Programming Examples for Timers
- 9.3.1 Programming the Mode 0, 1, 2 and 3 of the Timer
- 9.3.2 Programming a Delay by Using Loop Instructions
- 9.4 Program for Blinking of LEDs
- 9.5 Program for Real-Time Clock Interrupts
- 9.6 Program for Pulse Width Modulated (PWM) Outputs
- 9.7 Program for LED Brightness Control Using Pulse Width Modulated (PWM) Output
- 9.8 Program for a DC Motor Speed and Direction Control Using PWM
- 9.9 Programming Examples for Serial Port
- 9.9.1 Serial Synchronous (USRT) Communication Mode 0
- 9.9.2 Serial Asynchronous (UART) Communication Mode 1
- 9.9.3 Serial Asynchronous (UART) Communication Mode 2
- 9.9.4 Serial Asynchronous (UART) Communication Mode 3
- 9.10 Programming Examples for INT0 and INT1 Interrupts
- 9.11 Programming Examples for Read and Write at External Data Memory
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 10. Programming in C
- 10.1 Programming in C
- 10.1.1 Use of High-level Language Like ‘C’
- 10.1.2 ANSI C
- 10.2 Memory Constitution, Constants, Variables and Data Types In 8051
- 10.2.1 Memory Constitution in 8051
- 10.2.2 Constant
- 10.2.3 Variable
- 10.2.4 Data Types
- 10.2.5 Static, Extern, Register and Auto Storage Classes
- 10.2.6 Memory Models in 8051
- 10.2.7 Stack
- 10.3 Arrays, Structures and Unions
- 10.3.1 Arrays
- 10.3.2 Struct
- 10.3.3 Union
- 10.4 Pointers
- 10.5 Loops and Decisions—Control Structure Constructs
- 10.5.1 Loops
- 10.5.2 Decision Blocks
- 10.6 Functions and Library Functions
- 10.6.1 Function
- 10.6.2 Passing the Parameter
- 10.6.3 Library Functions
- 10.7 In-line Assembly
- 10.8 Modules and Programs
- 10.9 Program Build Process and Development Tools
- 10.10 C Compilers—GNU, SDCC and Keil
- 10.10.1 GNU Tools
- 10.10.2 SDCC Compiler
- 10.10.3 Keil C Compiler Cx51
- 10.11 Comments, Signs and Names in C Programs
- 10.12 Programming Examples for Ports
- 10.12.1 Using All 8-bits of Port Simultaneously
- 10.12.2 Using Individuall Port Bit
- 10.13 Programming Examples for Timers
- 10.14 Programming Examples for Serial Port
- 10.15 Programming Examples for Interrupts
- 10.16 Programming Examples for External Data
- 10.17 Programming Examples for Real-Time Clock
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 11. Real-time Operating System for System Design
- 11.1 Real-Time Operating System
- 11.1.1 Multi-tasking System
- 11.1.2 Tasks in a Multi-tasking System and Real-time Operating System (RTOS)
- 11.1.3 Inter-Process Communication (Inter-Task Message) Functions
- 11.1.4 Real-time Operating System
- 11.1.5 Task Characteristics in a Multi-tasking System
- 11.1.6 Semaphores and Mailboxes
- 11.2 RTOS of Keil (RTX51)
- 11.2.1 RTX51 Functions
- 11.2.2 Using RTOS Functions for Preemptive Scheduling in RTX51
- 11.2.3 RTX51 Versions
- 11.2.4 C Functions in RTX51 Tiny
- 11.2.5 C Functions in RTX51 Full
- 11.3 Use of RTOS in System Design
- 11.3.1 Simple Program Examples for Use of RTX51 in Design
- 11.3.2 Case Study of Traffic Light and Use of RTOS in Design
- 11.3.3 RTOS Functions for Design of Baby Weighing Machine
- 11.3.4 Case Study of Toffee Vending Machine and Use of RTOS in Design
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 12. Development Tools for Microcontroller Applications
- 12.1 Development Phases of a Microcontroller Based System
- 12.2 Software Development Cycle and Applications
- 12.3 Software Development Tools
- 12.3.1 Integrated Development Environment (IDE)
- 12.3.2 Open Source IDE and Tools
- 12.3.3 RTOS
- 12.3.4 Compiler
- 12.3.5 Macro Assembler and Dissembler
- 12.3.6 Library and Library Manager
- 12.3.7 Linker/Locator and Hex File Generation
- 12.3.8 Debugger
- 12.3.9 Simulator
- 12.4 Example of an IDE—μVision and Tools from KEIL
- 12.4.1 IDE μVision2
- 12.4.2 C51 Compiler
- 12.4.3 A51 Assembler
- 12.4.4 LIB51 Library Manager
- 12.4.5 BL51 Linker/Locator
- 12.4.6 OC51 and OH51 Banked Object File Converter and Object to Hex Converter
- 12.5 Emulator and in-Circuit Emulator (ICE)
- 12.5.1 In-circuit Emulator (ICE)
- 12.5.2 Joint Test Action Group (JTAG)
- 12.5.3 Logic Analyser Circuit
- 12.6 Target Board
- 12.7 Device Programmer
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 13. PIC Family Microcontrollers
- 13.1 PIC Family
- 13.1.1 MCU Families
- 13.2 Hardware of PIC 16F877
- 13.2.1 Overview of the Internal Hardware in PIC MCU
- 13.2.2 Architecture of PIC Microcontroller
- 13.2.3 Features of the CPU of PIC 16F877
- 13.3 Memory and Memory Map in Microchip PIC Family MCU System
- 13.3.1 On-Chip SFRs/GPRs/Internal RAM, Program Memory and Data EEPROM
- 13.3.2 On-Chip Data Memory RAM
- 13.3.3 Program Memory Map
- 13.3.4 SFR Addresses in Data Memory
- 13.4 IO Ports
- 13.4.1 Serial Ports— MSSP and USART
- 13.5 Timers and CCP Devices
- 13.5.1 Timers 0, 1 and 2
- 13.5.2 Compare Outputs and Interrupts Using CCP1 and CCP2
- 13.5.3 Software Timer Interrupts Using CCP1 and CCP2
- 13.5.4 Input Captures Using CCP1 and CCP2
- 13.5.5 Pulse Width Modulated Output
- 13.6 ADC
- 13.7 Interrupts
- 13.7.1 Maskable Sources of Interrupts
- 13.7.2 Servicing of Interrupts
- 13.8 Instructions and Instruction Set
- 13.8.1 Instruction Formats
- 13.8.2 Addressing Modes
- 13.8.3 PIC 16F877Instruction Set
- 13.8.4 PIC16F877Instructions
- 13.9 Development Tools
- 13.9.1 MPLAB IDE
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 14. 16-BIT Microcontrollers: 8096/80196 Family
- 14.1 Hardware
- 14.1.1 Overview of the 80196 CPU and Internal Address and Data Buses
- 14.1.2 Architecture of 80196
- 14.2 Memory Map in Intel 80196 Family MCU System
- 14.2.1 On-Chip RAM
- 14.2.2 On-Chip ROM/EPROM
- 14.2.3 External Program/Data Memory (PROM/RAM) Space
- 14.3 IO Ports
- 14.4 Timers
- 14.5 High-Speed Outputs
- 14.5.1 HSOs
- 14.5.2 Software Timers
- 14.5.3 Start ofADC Using T1 or T2
- 14.6 High-Speed Inputs and Input Captures
- 14.7 Pulse Width Modulated Output
- 14.8 Interrupts
- 14.8.1 Non-maskable and Maskable Sources of Interrupts
- 14.8.2 Servicing of Interrupts
- 14.9 Instructions and Instruction Set
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 15. 32-Bit ARM7, ARM9 AND ARM MCUs: Architecture, Programming and Development Tools
- 15.1 Introduction To 16/32 BIT Processors
- 15.2 ARM Architecture
- 15.3 ARM7
- 15.4 ARM9
- 15.5 ARM-based MCUs
- 15.6 ARM Cortex-M3
- 15.7 ARM Instruction Set
- 15.7.1 32/16-bit ARM Instruction Set
- 15.7.2 Data Transfer, Bit Clearing and Masking Instructions
- 15.7.3 Arithmetic Operation Instructions
- 15.7.4 Logic Operation Instructions
- 15.7.5 Data and Bit Manipulations During Move, Arithmetic, Data Swap, Branch and Exchange Instructions
- 15.7.6 Program Flow Control Instructions
- 15.7.7 SWI Interrupt Control Instruction
- 15.7.8 Formats of 32-bit Instruction
- 15.8 Thumb® Instruction-Set Extension
- 15.8.1 Thumb Instruction Set
- 15.8.2 Thumb Instruction Format
- 15.8.3 ARM/Thumb Inter-working
- 15.8.4 Thumb 2
- 15.9 Exception Handling in ARM
- 15.10 Development Tools
- 15.11 Porting Developed Codes in ARM Based System
- 15.12 Porting Linux in ARM
- 15.13 Assembly and C Programming (GNU Tools)
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
-
Chapter 16. Motorola MC68HC11/12 Family
- 16.1 Architecture
- 16.1.1 CPU Registers and Internal Buses
- 16.1.2 Ports
- 16.1.3 Internal Devices
- 16.1.4 Memory Addresses
- 16.1.5 On-Chip Registers (RAM) at 256-byte Address Space 256 Bytes
- 16.1.6 On-Chip Program and EEPROM
- 16.1.7 64 Byte Space for Internal-device Function Registers
- 16.1.8 Addressable Register Space of 192 B Internal RAM
- 16.1.9 Internal RAM
- 16.1.10 Memory Map
- 16.2 Addressing Modes and Instructions
- 16.2.1 Addressing Modes in the Instruction Set
- 16.2.2 Instructions
- 16.3 Interfacing Methods
- 16.3.1 General-purpose Parallel Port IO Interface
- 16.3.2 Memory Interfacing, IO Additional Ports andIO Interfacing
- 16.3.3 Serial IO Devices
- 16.3.4 RS232 and RS485
- 16.4 Interrupts
- 16.4.1 Non-maskable, Maskable Sources of Interrupts and Reset
- 16.4.2 Servicing of Interrupts
- 16.5 Programmable Timer
- 16.5.1 Timing Signal Generation—TCNT Overflow and Real Time Clock Interrupts
- 16.5.2 Input Capture
- 16.5.3 Timing Measurements of External Event
- 16.5.4 Out Compare
- 16.5.5 P WM Outputs
- 16.5.6 Frequency Measurement
- 16.5.7 Pulse Accumulator Counter
- 16.6 Applications of Analog Interfacing
- Summary
- Key Terms
- Review Questions
- Practice Exercises
- Multiple Choice Questions
- Fill in the Blanks Type Questions
- Appendices
- References
- Notes
- Solutions to Multiple Choice Questions
- Solutions to Fill in the blanks Questions
- Acknowledgements
- Copyright
Product information
- Title: Microcontrollers: Architecture, Programming, Interfacing and System Design, 2nd Edition
- Author(s):
- Release date: July 2011
- Publisher(s): Pearson India
- ISBN: 9788131759905
You might also like
book
The 8085 Microprocessor: Architecture, Programming and Interfacing
Designed for an undergraduate course on the 8085 microprocessor, this text provides comprehensive coverage of the …
book
Microcontroller Programming
Written to help readers better understand the essentials of microcontroller programming, this textbook combines theory and …
book
Building Embedded Systems: Programmable Hardware
Develop the software and hardware you never think about. We're talking about the nitty-gritty behind the …
book
Embedded Systems: Hardware, Design and Implementation
Covers the significant embedded computing technologies—highlighting their applications in wireless communication and computing power An embedded …