ARM-based microcontroller projects using MBED /
ARM-based Microcontroller Projects Using mbed gives readers a good understanding of the basic architecture and programming of ARM-based microcontrollers using ARM's mbed software. The book presents the technology through a project-based approach with clearly structured sections that enable read...
| Main Author: | |
|---|---|
| Corporate Author: | |
| Format: | eBook |
| Language: | English |
| Published: |
Oxford :
Newnes, an imprint of Elsevier,
2019.
|
| Edition: | First edition. |
| Subjects: | |
| Online Access: | Connect to the full text of this electronic book |
Table of Contents:
- Front Cover
- ARM-Based microcontroller projects using MBED
- Copyright
- Contents
- About the Author
- Preface
- Acknowledgments
- Chapter 1: Introduction
- 1.1. Overview
- 1.2. Example Microcontroller-Based Control System
- 1.3. Summary
- 1.4. Exercises
- Chapter 2: Microcontroller-Based Project Development Cycle
- 2.1. Overview
- 2.1.1. The Program Development Cycle (PDC)
- 2.1.2. The Hardware Development Cycle (HDC)
- 2.2. Program Development Tools
- 2.2.1. BEGIN-END
- 2.2.2. Sequencing
- 2.2.3. IF-THEN-ELSE-ENDIF
- 2.2.4. DO-FOREVER-ENDDO
- 2.2.5. DO-ENDDO
- 2.2.6. REPEAT-UNTIL
- 2.2.7. Subprograms
- 2.2.8. Calling a Subprogram
- 2.3. Examples
- 2.4. Summary
- 2.5. Exercises
- Chapter 3: The ARM Microcontrollers
- 3.1. Overview
- 3.2. Brief History of ARM Processors
- 3.3. The ARM Processor Architecture
- 3.3.1. CICS and RISC
- 3.3.2. Why ARM?
- Cortex-M
- Cortex-R
- Cortex-A
- 3.3.3. Cortex-M Processor Comparison
- 3.3.4. Processor Performance Measurement
- 3.3.5. Cortex-M Compatibility
- 3.3.6. The Cortex Core Architecture
- 3.4. ARM Processor-Based Microcontroller Development Boards
- 3.4.1. LPC11U24
- 3.4.2. LPC1768
- 3.4.3. EFM32 Zero Gecko Starter Kit
- 3.4.4. Arch Pro
- 3.4.5. LPC4088
- 3.4.6. LPC1769 LPCXpresso
- 3.4.7. LPC1347 LPCXpresso
- 3.4.8. u-blox C027
- 3.4.9. Teensy 3.1
- 3.4.10. DISCO-F334C8
- 3.4.11. STM32 Nucleo Board Family
- 3.5. Summary
- 3.6. Exercises
- Chapter 4: STM32 Nucleo Development Boards
- 4.1. Overview
- 4.2. STM32 Nucleo Development Boards
- 4.2.1. Nucleo-32 Development Boards
- 4.2.2. Nucleo-64 Development Boards
- 4.2.3. Nucleo-144 Development Boards
- 4.3. STM32 Nucleo Expansion Boards
- 4.4. Summary
- 4.5. Exercises
- Chapter 5: The Nucleo-F411RE Development Board
- 5.1. Overview
- 5.2. The Nucleo-F411RE Development Board.
- 5.2.1. The Board
- 5.2.2. The Power Supply
- Powering Through the Micro-USB Connector
- Powering Through External Inputs
- Power Output
- 5.2.3. The LEDs
- 5.2.4. Push-Button Switches
- 5.2.5. Current Measurement
- 5.2.6. The ST-LINK/V2-1
- 5.2.7. Input-Output Connectors
- 5.2.8. Jumpers at the Bottom of the Board
- 5.3. The Demo Software
- 5.4. Summary
- 5.5. Exercises
- Chapter 6: Architecture of the STM32F411RET6 Microcontroller
- 6.1. Overview
- 6.2. Key Features of the STM32F411RET6 Microcontroller
- 6.2.1. Power Modes
- Sleep Mode
- Stop Mode
- Standby Mode
- 6.2.2. Electrical Characteristics
- 6.2.3. The Interrupt Controller
- 6.2.4. The Analog-to-Digital Converter (ADC)
- 6.2.5. Digital-to-Analog Converter (DAC)
- 6.2.6. Temperature Sensor
- 6.2.7. Timers and Watchdogs
- 6.2.8. The Clock Circuit
- External Clock Sources
- Internal Clock Sources
- Microcontroller Clock Output (MCO)
- Low-Speed Clock Output (LSCO)
- Configuring the Clock
- 6.2.9. General Purpose Input and Output (GPIO)
- 6.2.10. I2C Interface
- 6.2.11. SPI Interface
- 6.2.12. I2S Interface
- 6.2.13. USART
- 6.3. Summary
- 6.4. Exercises
- Chapter 7: Using the Mbed With Simple Projects
- 7.1. Overview
- 7.2. Registering to Use Mbed
- 7.3. Nucleo-F411RE Development Board Pin Names
- 7.4. Project 1-Flashing LED
- 7.4.1. Description
- 7.4.2. Aim
- 7.4.3. Block Diagram
- 7.4.4. PDL of the Project
- 7.4.5. Program Listing
- 7.4.6. Other Useful Mbed Functions
- 7.4.7. Suggestions for Additional Work
- 7.5. Project 2-LED Flashing as Morse Code SOS
- 7.5.1. Description
- 7.5.2. Aim
- 7.5.3. Block Diagram
- 7.5.4. PDL of the Project
- 7.5.5. Program Listing
- 7.5.6. Suggestions for Additional Work
- 7.6. Project 3-Flashing an External LED
- 7.6.1. Description
- 7.6.2. Aim
- 7.6.3. Block Diagram
- 7.6.4. Circuit Diagram.
- 7.6.5. Project Construction
- 7.6.6. Program Listing
- 7.6.7. Suggestions for Additional Work
- 7.7. Project 4-Rotating LEDs
- 7.7.1. Description
- 7.7.2. Aim
- 7.7.3. Block Diagram
- 7.7.4. Circuit Diagram
- 7.7.5. The Construction
- 7.7.6. The PDL
- 7.7.7. Program Listing
- 7.7.8. Modified Program
- 7.7.9. Another Modified Program
- 7.8. Project 5-Binary Counting LEDs
- 7.8.1. Description
- 7.8.2. Aim
- 7.8.3. Block Diagram
- 7.8.4. Circuit Diagram
- 7.8.5. The PDL
- 7.8.6. Program Listing
- 7.9. Project 6-Random Flashing LEDs
- 7.9.1. Description
- 7.9.2. Aim
- 7.9.3. Block Diagram
- 7.9.4. Circuit Diagram
- 7.9.5. The PDL
- 7.9.6. Program Listing
- 7.9.7. Modified Program
- 7.10. Project 7-LED Control With Push-button
- 7.10.1. Description
- 7.10.2. Aim
- 7.10.3. Block Diagram
- 7.10.4. The PDL
- 7.10.5. Program Listing
- 7.11. Project 8-Changing LED Flashing Rate
- 7.11.1. Description
- 7.11.2. Aim
- 7.11.3. Block Diagram
- 7.11.4. The PDL
- 7.11.5. Program Listing
- 7.12. Project 9-Binary Event Counting With LEDs
- 7.12.1. Description
- 7.12.2. Aim
- 7.12.3. Block Diagram
- 7.12.4. Circuit Diagram
- 7.12.5. The PDL
- 7.12.6. Program Listing
- 7.13. Project 10-Using an External Button
- 7.13.1. Description
- 7.13.2. Aim
- 7.13.3. Block Diagram
- 7.13.4. Circuit Diagram
- 7.13.5. The Construction
- 7.13.6. The PDL
- 7.13.7. Program Listing
- 7.13.8. DigitalIn Modes
- 7.13.9. Suggestions for Additional Work
- 7.14. Project 11-RGB LED Control
- 7.14.1. Description
- 7.14.2. Aim
- 7.14.3. Block Diagram
- 7.14.4. Circuit Diagram
- 7.14.5. The Construction
- 7.14.6. The PDL
- 7.14.7. Program Listing
- 7.15. Project 12-Random Colored LED Display
- 7.15.1. Description
- 7.15.2. Aim
- 7.15.3. Block Diagram
- 7.15.4. Circuit Diagram
- 7.15.5. The Construction
- 7.15.6. The PDL.
- 7.15.7. Program Listing
- 7.15.8. Suggestions for Additional Work
- 7.16. Project 13-7-Segment LED Display
- 7.16.1. Description
- 7.16.2. Aim
- 7.16.3. Block Diagram
- 7.16.4. Circuit Diagram
- 7.16.5. The Construction
- 7.16.6. The PDL
- 7.16.7. Program Listing
- 7.16.8. Modified Program
- 7.16.9. Another Modified Program
- 7.16.10. Using Switch Statement
- 7.16.11. Suggestions for Additional Work
- 7.17. Project 14-Powering Large Loads-DC Motor Control
- 7.17.1. Description
- 7.17.2. Aim
- 7.17.3. Block Diagram
- Using a Bipolar Transistor
- Using a MOSFET
- Using a Relay
- 7.17.4. Circuit Diagram
- 7.17.5. The PDL
- 7.17.6. Program Listing
- 7.17.7. Suggestions for Additional Work
- 7.18. Summary
- 7.19. Exercises
- Chapter 8: Intermediate Level Projects
- 8.1. Overview
- 8.2. PROJECT 1-Two-Digit Multiplexed 7-Segment LED
- 8.2.1. Description
- 8.2.2. Aim
- 8.2.3. Block Diagram
- 8.2.4. Circuit Diagram
- 8.2.5. The Program Design Language
- 8.2.6. Program Listing
- 8.2.7. Modified Program
- 8.2.8. Suggestions for Additional Work
- 8.3. PROJECT 2-Four-Digit Multiplexed 7-Segment LED
- 8.3.1. Description
- 8.3.2. Aim
- 8.3.3. Block Diagram
- 8.3.4. Circuit Diagram
- 8.3.5. The PDL
- 8.3.6. Program Listing
- 8.3.7. Modified Program
- 8.3.8. Suggestions for Additional Work
- 8.4. Polling and Interrupts
- 8.4.1. Polling
- 8.4.2. Interrupts
- 8.5. PROJECT 3-Four-Digit 7-Segment LED Counter
- 8.5.1. Description
- 8.5.2. Aim
- 8.5.3. Block Diagram
- 8.5.4. Circuit Diagram
- 8.5.5. The PDL
- Using the Ticker
- 8.5.6. Program Listing
- 8.6. PROJECT 4-Four-Digit 7-Segment LED Event Counter
- 8.6.1. Description
- 8.6.2. Aim
- 8.6.3. Block Diagram
- 8.6.4. Circuit Diagram
- 8.6.5. The PDL
- 8.6.6. Program Listing
- 8.6.7. Suggestions for Additional Work
- 8.7. PROJECT 5-7-Segment LED Dice.
- 8.7.1. Description
- 8.7.2. Aim
- 8.7.3. Block Diagram
- 8.7.4. Circuit Diagram
- 8.7.5. The PDL
- 8.7.6. Program Listing
- 8.8. PC Serial Interface
- 8.8.1. Using the Putty
- Configuring the Putty Screen
- 8.8.2. Mbed Serial Port Functions and Display Control Characters
- 8.9. PROJECT 6-Volume of a Cylinder
- 8.9.1. Description
- 8.9.2. Aim
- 8.9.3. The PDL
- 8.9.4. Program Listing
- 8.9.5. Suggestions for Additional Work
- 8.10. PROJECT 7-Calculator
- 8.10.1. Description
- 8.10.2. Aim
- 8.10.3. The PDL
- 8.10.4. Program Listing
- 8.11. PROJECT 8-Learn Your Times Tables
- 8.11.1. Description
- 8.11.2. Aim
- 8.11.3. The PDL
- 8.11.4. Program Listing
- 8.12. PROJECT 9-Improving Your Multiplication Skills
- 8.12.1. Description
- 8.12.2. Aim
- 8.12.3. The PDL
- 8.12.4. Program Listing
- 8.13. PROJECT 10-Loop Execution Times
- 8.13.1. Description
- 8.13.2. Aim
- 8.13.3. The PDL
- Using a Timer
- 8.13.4. Program Listing
- 8.13.5. Suggestions for Additional Work
- 8.14. PROJECT 11-Reaction Timer
- 8.14.1. Description
- 8.14.2. Aim
- 8.14.3. The PDL
- 8.14.4. Program Listing
- 8.15. PROJECT 12-Event Counter
- 8.15.1. Description
- 8.15.2. Aim
- 8.15.3. The PDL
- 8.15.4. Program Listing
- 8.16. PROJECT 13-Hi-Lo Game
- 8.16.1. Description
- 8.16.2. Aim
- 8.16.3. The PDL
- 8.16.4. Program Listing
- 8.17. PROJECT 14-Serial Interrupt
- 8.17.1. Description
- 8.17.2. Aim
- 8.17.3. The PDL
- 8.17.4. Program Listing
- 8.18. PROJECT 15-Euro Millionaire Lottery Numbers
- 8.18.1. Description
- 8.18.2. Aim
- 8.18.3. The PDL
- 8.18.4. Program Listing
- 8.19. Using the Analog-to-Digital Converter
- 8.20. PROJECT 16-Digital Voltmeter
- 8.20.1. Description
- 8.20.2. Aim
- 8.20.3. Block Diagram
- 8.20.4. The PDL
- 8.20.5. Program Listing
- 8.21. PROJECT 17-Analog Temperature Sensor (Digital Thermometer).