00Author Introduction
Huang Keya, Associate Professor at Suzhou University, Master’s Supervisor, Software Designer, mainly engaged in teaching and scientific research in intelligent control and embedded system development. He has taught courses such as “Electrical and Electronic Technology”, “Microcontroller Principles and Control Technology”, “Microcomputer Principles and Applications”, “Embedded System Development”, “Programmable Controllers”, and “Sensor Application Technology”. In recent years, he has hosted 2 provincial-level projects, been granted 1 invention patent, registered 4 software copyrights, published 6 papers in EI-indexed or Chinese core journals, and guided students to win 1 first prize in the China Intelligent Robot Competition, 1 third prize in Jiangsu Province’s excellent graduation design (thesis), and 2 second prizes in the National Electronic Design Competition Jiangsu Division.
01Content Introduction
This book aims to inherit the classics of 51, promote the strengths of ARM, and assist MCU upgrades; it organizes textbook content oriented towards the student cognitive process, adopts project-led and full-case explanation methods, focusing on cultivating students’ practical application abilities. This book elaborates on the embedded system hardware design methods and software development technologies based on the ARM Cortex-M3 core and the STM32F103 microcontroller. The book consists of 15 chapters, divided into 3 parts: Part 1 (Chapters 1-3) for system platform modules, discussing the definition of embedded systems, hardware platforms of development boards, and project template creation; Part 2 (Chapters 4-9) for basic peripheral modules, introducing the most commonly used peripheral modules in STM32 embedded systems, including GPIO, interrupts, timers, PWM, and embedded system interface technologies; Part 3 (Chapters 10-15) for extended peripheral modules, introducing advanced peripheral modules in STM32 embedded systems, including USART, SPI, OLED, ADC, IIC, EEPROM, and RTC. This book is suitable as a textbook for senior undergraduate or graduate courses related to embedded systems in majors such as Computer Science, Automation, Electronic Information, Mechatronics, and the Internet of Things in higher education institutions, and can also serve as a reference for technical and research personnel engaged in embedded development.
02Book Directory
Chapter 1 Embedded System of ARM Cortex-M3
1.1Overview of Embedded Systems
1.1.1What is an Embedded System
1.1.2Comparison of Embedded Systems and General-Purpose Computer Systems
1.1.3Characteristics of Embedded Systems
1.1.4Application Areas of Embedded Systems
1.1.5Examples of Embedded Systems
1.2 ARM Cortex-M3 Processor
1.2.1 ARM Company
1.2.2 ARM Processors
1.3 STM32 Microcontrollers
1.3.1 From Cortex-M3 Core to Cortex-M3 Based MCU
1.3.2 STM32 Microcontroller Product Line
1.3.3 Naming Rules of STM32 Microcontrollers
1.4 Embedded System Software
1.4.1 Embedded Software without Operating System
1.4.2 Embedded Software with Operating System
1.4.3 Typical Embedded Operating Systems
1.4.4 Software Architecture Selection Recommendations
Chapter Summary
Thoughts and Extensions
Chapter 2 Hardware System of STM32 Development Board
2.1 Overview of the Development Board
2.1.1 Background of Development Board Design
2.1.2 Overall Introduction of Development Board
2.2 Power Module
2.2.1 Schematic of Power Module
2.2.2 Working Principle of Power Module
2.3 Core Board Circuit
2.3.1 CPU Module
2.3.2 Serial Communication Module
2.3.3 External Crystal Oscillator Module
2.3.4 Backup Power Module
2.3.5 ADC Module Power Supply
2.3.6 CPU Filtering Circuit
2.3.7 Reset Circuit
2.3.8 Startup Setting Circuit
2.4 I/O Module Circuit
2.4.1 LED Indicator Module
2.4.2 Key Module
2.4.3 Digital Tube Module
2.4.4 Buzzer Module
2.4.5 OLED Display Circuit
2.5 Expansion Module Circuit
2.5.1 Temperature Sensor
2.5.2 Infrared Sensor
2.5.3 AD Sampling Module
2.5.4 EEPROM Memory
2.5.5 I/O Pin External Module
Chapter Summary
Thoughts and Extensions
Chapter 3 MDK Software and Project Template Creation
3.1 Understanding STM32 Firmware Library
3.1.1 Overview of STM32 Firmware Library
3.1.2 Downloading STM32 Firmware Library
3.1.3 Directory Structure of STM32 Firmware Library
3.2 Creating Project Templates
3.2.1 Introduction to Keil MDK-ARM Software
3.2.2 Creating Project Templates
3.3 Software Simulation and Emulation
Chapter Summary
Thoughts and Extensions
Chapter 4 General Purpose Input and Output Ports
4.1 Overview and Pin Naming of GPIO
4.2 Internal Structure of GPIO
4.2.1 Input Driver
4.2.2 Output Driver
4.3 GPIO Working Modes
4.4 GPIO Output Speed
4.5 Multiplexing Function Remapping
4.6 GPIO Control Registers
4.7 GPIO Register Configuration Examples
4.8 Register-based LED Blinking Project
4.8.1 Creating Register-based Project Template
4.8.2 LED Blinking Program Design
4.8.3 Characteristics of Register-based Development Method
Chapter Summary
Thoughts and Extensions
Chapter 5 LED Flow Light and SysTick Timer
5.1 Library Function Development Method
5.2 GPIO Output Library Function
5.3 LED Flow Light Control
5.4 SysTick Timer
5.4.1 Overview of SysTick Timer
5.4.2 SysTick Timer Registers
5.4.3 Applications of SysTick Timer
Chapter Summary
Thoughts and Extensions
Chapter 6 Key Input and Buzzer
6.1 GPIO Input Library Function
6.2 Project Analysis
6.3 Project Implementation
Chapter Summary
Thoughts and Extensions
Chapter 7 Dynamic Display of Digital Tube
7.1 Digital Tube Display Interface
7.1.1 Working Principle of Digital Tube
7.1.2 Digital Tube Encoding Method
7.1.3 Digital Tube Display Method
7.2 Project Analysis
7.3 Project Implementation
7.4 Project Expansion
Chapter Summary
Thoughts and Extensions
Chapter 8 Interrupt System and Basic Applications
8.1 Basic Concepts of Interrupts
8.1.1 Definition of Interrupts
8.1.2 Applications of Interrupts
8.1.3 Interrupt Sources and Interrupt Masking
8.1.4 Interrupt Handling Process
8.1.5 Interrupt Priority and Interrupt Nesting
8.2 STM32F103 Interrupt System
8.2.1 Nested Vector Interrupt Controller NVIC
8.2.2 STM32F103 Interrupt Priority
8.2.3 STM32F103 Interrupt Vector Table
8.2.4 STM32F103 Interrupt Service Functions
8.3 STM32F103 External Interrupt/Event Controller EXTI
8.3.1 Internal Structure of EXTI
8.3.2 Working Principle of EXTI
8.3.3 Main Features of EXTI
8.4 STM32 Interrupt Related Library Functions
8.4.1 NVIC Related Library Functions of STM32F10x
8.4.2 EXTI Related Library Functions of STM32F10x
8.4.3 EXTI Interrupt Line GPIO Pin Mapping Library Functions
8.5 EXTI Project Examples
8.5.1 Project Analysis
8.5.2 Project Implementation
Chapter Summary
Thoughts and Extensions
Chapter 9 Timer and Pulse Width Modulation
9.1 Overview of STM32F103 Timer
9.2 Basic Timer
9.2.1 Introduction to Basic Timer
9.2.2 Main Features of Basic Timer
9.2.3 Functions of Basic Timer
9.2.4 Basic Timer Registers
9.3 General Timer
9.3.1 Introduction to General Timer
9.3.2 Main Functions of General Timer
9.3.3 Function Description of General Timer
9.3.4 Working Modes of General Timer
9.3.5 General Timer Registers
9.4 Advanced Timer
9.4.1 Introduction to Advanced Timer
9.4.2 Features of Advanced Timer
9.4.3 Structure of Advanced Timer
9.5 Timer Related Library Functions
9.6 Project Examples
9.6.1 Timer Project
9.6.2 PWM Project
Chapter Summary
Thoughts and Extensions
Chapter 10 Serial Communication Interface USART
10.1 Basic Concepts of Data Communication
10.1.1 Parallel Communication and Serial Communication
10.1.2 Asynchronous Communication and Synchronous Communication
10.1.3 Standards of Serial Communication
10.1.4 Checks of Serial Communication
10.1.5 Baud Rate of Serial Communication
10.2 Working Principle of USART in STM32F103
10.2.1 Introduction to USART
10.2.2 Main Features of USART
10.2.3 Overview of USART Functions
10.2.4 USART Communication Timing
10.2.5 USART Interrupts
10.2.6 Related Registers of USART
10.3 USART Related Library Functions
10.4 Project Examples
10.4.1 Project Analysis
10.4.2 Project Implementation
Chapter Summary
Thoughts and Extensions
Chapter 11 SPI and OLED Display
11.1 Communication Principles of SPI
11.1.1 Introduction to SPI
11.1.2 SPI Interconnection
11.2 Working Principle of SPI in STM32F103
11.2.1 Main Features of SPI
11.2.2 Internal Structure of SPI
11.2.3 Phase and Polarity of Clock Signal
11.2.4 Data Frame Format
11.2.5 Configuring SPI as Master Mode
11.2.6 Configuring SPI as Slave Mode
11.3 OLED Display
11.3.1 Introduction to OLED
11.3.2 OLED Display on Development Board
11.3.3 OLED Display Interface
11.4 SPI Library Functions
11.5 Project Examples
11.5.1 Project Analysis
11.5.2 Project Implementation
Chapter Summary
Thoughts and Extensions
Chapter 12 Analog to Digital Converter
12.1 Overview of ADC
12.1.1 Basic Principles of ADC
12.1.2 Performance Parameters of ADC
12.1.3 Main Types of ADC
12.2 Working Principle of ADC in STM32F103
12.3 ADC Related Library Functions
12.4 Project Examples
12.4.1 Project Analysis
12.4.2 Project Implementation
Chapter Summary
Thoughts and Extensions
Chapter 13 Direct Memory Access
13.1 Basic Concepts of DMA
13.1.1 Origin of DMA
13.1.2 Definition of DMA
13.1.3 DMA Transfer Process
13.1.4 Advantages of DMA
13.2 Working Principle of DMA in STM32F103
13.3 DMA Related Library Functions
13.4 Project Examples
13.4.1 Project Analysis
13.4.2 Project Implementation
Chapter Summary
Thoughts and Extensions
Chapter 14 I2C Interface and EEPROM Memory
14.1 Communication Principles of I2C
14.1.1 Overview of I2C Serial Bus
14.1.2 Data Transmission on I2C Bus
14.2 I2C Interface in STM32F103
14.2.1 Main Features of I2C in STM32F103
14.2.2 Internal Structure of I2C in STM32F103
14.2.3 Mode Selection of STM32F103’s I2C
14.3 I2C Related Library Functions of STM32F103
14.4 Project Examples
14.4.1 Simulating I2C Timing Requirements
14.4.2 Simulating I2C Functions
14.4.3 EEPROM Chip 24C02
14.4.4 Simulating I2C Access to 24C02 Project Analysis
14.4.5 Simulating I2C Access to 24C02 Project Implementation
Chapter Summary
Thoughts and Extensions
Chapter 15 RTC Clock and BKP Register
15.1 RTC Clock
15.1.1 Introduction to RTC
15.1.2 Main Features of RTC
15.1.3 Internal Structure of RTC
15.1.4 Reset Process of RTC
15.2 Backup Register (BKP)
15.2.1 Introduction to BKP
15.2.2 Features of BKP
15.2.3 Intrusion Detection of BKP
15.3 Operations of RTC Clock
15.3.1 Initialization of RTC
15.3.2 Writing Time Initialization to RTC
15.4 RTC and BKP Related Library Functions
15.5 Project Examples
15.5.1 Project Analysis
15.5.2 Project Implementation
15.5.3 Project Debugging
Chapter Summary
Thoughts and Extensions
Appendix A ASCII Code Table
Appendix B Pin Definition Table for Small Capacity STM32F103 Microcontroller Product Series
Appendix C Pin Definition Table for Medium Capacity STM32F103 Microcontroller Product Series
Appendix D Pin Definition Table for Large Capacity STM32F103 Microcontroller Product Series
References
03Editor Recommendation
The mountains cannot hide the flow of the East! The popularity of ARM processors globally, with 32-bit RISC embedded processors, has become the mainstream in embedded applications and design. Currently, the automation field is showing a trend of 32-bit embedded systems accelerating the replacement of traditional 8-bit microcontroller application systems.
Based on years of teaching and development experience in embedded systems, the author has written this book by combining theoretical knowledge of embedded systems with practical development based on the ARM Cortex-M3 core and STM32F103 microcontroller, in a step-by-step manner, balancing theory and practice, and addressing both common and unique aspects.
Key features of this book: 1. Inherit the classics of 51, promote the strengths of ARM, and assist MCU upgrades. 2. Design textbook logic and organize chapter content oriented towards the reader’s cognitive process. 3. Project-led, task-driven, integrating teaching, learning, and doing, focusing on cultivating readers’ engineering practical abilities. 4. Build a comprehensive, three-dimensional teaching resource network to support embedded system teaching and project development.
04Teaching Resources
This book provides supporting teaching materials and resources. You can follow the public account “Artificial Intelligence Science and Technology” and enter “Teaching Outline”, “Teaching Materials”, “Program Code”, “Learning Materials” in the dialogue box to obtain corresponding resources for free; “Teaching Videos” can only be viewed after purchasing the book.
05Book Giveaway
Click the small program button on the right side of the cover below, to fill out the “Sample Book Application Form”, and get a free sample book (deadline May 22).
Note: (1) Applicants must be teachers at regular higher education institutions teaching the course“Embedded Systems” or“Microcontrollers”. When filling out the sample book application form, they need to provide their teaching outline for“Embedded Systems” or“Microcontrollers”, send it to the“Artificial Intelligence Teaching Exchange Group of Higher Education Institutions”, and authorize this public account to forward and share. (2) Applicants for sample booksmust follow this public account and share this article in their circle of friends, then take a screenshot and send it to the“Artificial Intelligence Teaching Exchange Group of Higher Education Institutions”, the application will be valid.
05JD Details
Scan the code to view the JD details page of this book.
AILearning accompanies you, are you“watching”↓