Course Details:
This course mainly introduces the system design of the STM32 microcontroller through typical examples, combining software and hardware. It explains the process, methods, techniques, and design concepts of STM32 microcontroller application system development in a simple and easy-to-understand manner. This course comprehensively explains various technologies in microcontroller development through 26 module examples, including microcontroller interface expansion, memory expansion, input/output and display technology, practical electronics production, sensor control technology, electrical drive and control technology, microcontroller communication technology, typical devices and application technology, peripheral circuit design, software programming, and more. This set of courses is based on the Changxue STM32 development board. It includes: Introduction to STM32 microcontroller, register settings and usage, hardware testing, principles and usage of various application module devices, peripheral circuit design, and C language programming for STM32 microcontroller.
This course is aimed at microcontroller design users in various fields, especially for readers who have mastered the theoretical aspects of microcontroller development but lack practical development experience. It can also serve as a textbook for related majors in various universities and social training classes.
The CEPARK Changxue series multifunctional development learning board experimental box is designed by the Electronic Garden technology team based on years of development practice experience, combined with dozens of development boards of various MCUs such as 51, AVR, PIC, MSP430, ARM, STM32, CAN, USB, and dozens of peripheral application modules developed in recent years. The Changxue series adopts an innovative plug-and-play structure, allowing functional baseboards and core boards to be used separately or combined. This open plug-and-play mode greatly shares basic resource functional modules and peripheral common accessories, supports various chips, and allows for endless expansion.
Catalog Introduction:
Lesson 1: Introduction to Changxue STM32 Microcontroller Development Learning Board
1. Introduction to Changxue STM32 microcontroller development board
2. Introduction to Changxue STM32 microcontroller development board modules
3. Overview of peripheral accessories for the development learning board
Lesson 2: How to Use the Changxue STM32 Development Learning Board
1. Hardware connection
2. Driver installation
3. Downloading and burning program process
4. Download operation interface
5. Common problems and solutions during download
6. Hardware testing
Lesson 3: Monochrome and Color Flowing Lights
1. Introduction to LED lights and principles
2. Introduction to STM32 IO ports
3. Analysis of the flowing light circuit
4. Flow chart
5. Project files
6. Code analysis
7. Software simulation
8. Hardware simulation
9. Color flowing light hardware circuit
10. Color flowing light software design
Lesson 4: 1-Digit Seven-Segment Display Module
1. Introduction to seven-segment displays
2. Structure of a 1-digit seven-segment display
3. Explanation of the hardware circuit
4. Seven-segment display encoding
5. Dynamic display of the seven-segment display
Lesson 5: 8-Digit Seven-Segment Display Module
1. Introduction to a 4-in-1 seven-segment display
2. Principles of the 4-in-1 seven-segment display
3. Introduction to the 74HC595 chip
4. 74HC595 pins
5. Circuit analysis
6. Working principle of 74HC595
7. Cascading of 74HC595
8. Encoding
9. Displaying data
Lesson 6: Independent Key Module
1. Introduction to independent keys
2. Classification of independent keys
3. Key debouncing
4. Experimental design of independent keys
5. Scanning of independent keys
6. Displaying key values on the seven-segment display
7. Explanation of the main function
Lesson 7: 4×4 Matrix Keyboard
1. Introduction to matrix keyboards
2. Detection of matrix keyboards
3. Jitter and debouncing
4. Experimental design of matrix keyboards
5. Row-column scanning
6. Displaying on the seven-segment display
7. Explanation of the main function
Lesson 8: Explanation of STM32 Interrupts
1. Overview of interrupts
2. STM32 interrupt system
3. External interrupts/events
4. Example design
5. Example code analysis
Lesson 9: SysTick Timer Experiment
1. Introduction to SysTick timers
2. Introduction to SysTick timer registers
3. Calculation of SysTick timing
4. Methods for initializing SysTick
5. Example analysis
6. Code analysis
Lesson 10: Timer Experiment
1. Structure of STM32 timers
2. Structure of general-purpose timers
3. Selection of clock sources for general-purpose timers
4. Time base unit
5. Capture channels
6. Input capture related registers
7. Counting modes
8. Steps for timer initialization
9. Example analysis
Lesson 11: PWM Wave Output
1. Introduction to PWM
2. Working principle of STM32 PWM
3. PWM working modes
4. PWM configuration methods
5. Design analysis
6. Example code
7. Software simulation
Lesson 12: Asynchronous Serial Communication Experiment
1. Basic knowledge of serial ports
2. RS-232 standard
3. RS-232 interface
4. STM32 USART
5. Serial control registers
6. Example design and code analysis
Lesson 13: DMA Controller
1. Introduction to DMA
2. DMA structure
3. DMA registers
4. Steps for DMA initialization
5. Hardware circuit
6. Software design flowchart
7. Example analysis
Lesson 14: CAN Communication
1. Introduction to CAN bus
2. Features of CAN
3. CAN protocol – Frame structure
4. CAN protocol – Priority
5. CAN protocol – Others
6. Introduction to STM32-CAN controller
7. CAN controller transmission and reception management
8. CAN controller – Filters
9. CAN controller – Initialization
10. Example analysis
11. Code analysis
Lesson 15: Independent Watchdog
1. Introduction to watchdogs
2. Structure of STM32 independent watchdog
3. How to use the watchdog
Lesson 16: IIC Communication
1. Introduction to EEPROM
2. Introduction to IIC bus
3. Start and stop signals and acknowledgment signals
4. Write operation
5. Read operation
6. Example analysis
Lesson 17: Buzzer
1. Introduction to buzzers
2. Classification of buzzers
3. Control of buzzers
4. Hardware design and flowchart for buzzers
5. Establishing a project
6. Delay functions
7. Buzzer IO port initialization
8. Main function design
9. Calculation of delay time
10. Hardware simulation
Lesson 18: Relay
1. Introduction to relays
2. Classification of relays
3. Main technical parameters of relays
4. Introduction to ULN2003
5. Experimental design
6. Relay switching
Lesson 19: DC Motor Control
1. Introduction to DC motors
2. Working principle of DC motors
3. Introduction to ULN2003
4. Characteristics of DC motors
5. Unidirectional rotation of DC motors
Lesson 20: Stepper Motor Control
1. Introduction to stepper motors
2. Technical parameters of stepper motors
3. Reactive stepper motors
4. Permanent magnet stepper motors
5. 28BYJ-48 stepper motor
6. ULN2003
7. Unidirectional uniform rotation experiment of stepper motors
Lesson 21: LCD1602 Liquid Crystal Display
1. Introduction to LCDs
2. Introduction to LCD1602
3. Technical parameters of LCD1602
4. Character display principles
5. LCD1602 controller instructions
6. LCD1602 timing control
7. Notes on LCD1602
8. Character display program for LCD1602
Lesson 22: LCD12864 Liquid Crystal Display
1. Introduction to LCDs
2. Introduction to LCD12864
3. Explanation of the internal registers of LCD12864
4. Explanation of system instructions for LCD12864
5. Timing for the LCD12864 interface
6. Principles of character and image display
7. Notes on using LCD12864
8. How to extract font patterns
9. Parallel display program for LCD12864
10. Serial display program for LCD12864
Lesson 23: DS18B20 Temperature Detection
1. Introduction to DS18B20
2. Introduction to DS18B20 pins
3. Internal structure of DS18B20
4. Timing for DS18B20
5. Working principle
6. Experimental design
7. Displaying DS28B20 temperature values
Lesson 24: AT24C02 Storage Module Experiment
1. Introduction to EEPROM
2. AT24C02XX series
3. Introduction to AT24C02 chip
4. Introduction to IIC bus
5. Read and write timing
6. AT24C02-IIC
7. Start and stop signals and acknowledgment signals
8. Write operation
9. Read operation
10. AT24C02-OLED display
Lesson 25: DS1302 Clock Module
1. Introduction to real-time clocks
2. Introduction to DS1302 chip
3. DS1302 registers
4. Timing control for DS1302
5. DS1302-OLED display time program
Lesson 26: Infrared Reception
1. Introduction to infrared rays
2. Infrared remote control system
3. Integrated infrared reception
4. Infrared transmission protocol
5. Encoding
6. Infrared encoding and decoding
7. Infrared transmission and reception
8. Example analysis
Lesson 27: ADDA Conversion
1. A/D conversion
2. D/A conversion
3. Introduction to PCF8591
4. Read operation for PCF8591
5. Write operation for PCF8591
6. Hardware connection
7. Example analysis
Lesson 28: TFT Color Screen
1. Basic knowledge of TFT color screens
2. Pixels and resolution
3. Color positions
4. Changxue TFT color screen
5. TFT initialization function
6. TFT color block display and text display
Appendix 1: Introduction to ARM-STM32 Microcontrollers
1. Introduction to microcontrollers
2. Introduction to STM32 microcontrollers
3. Selection of STM32 series
4. Minimum system for STM32 microcontrollers
5. STM32 development environment and compilation environment
Appendix 2: Introduction to STM32 Library
1. What are STM32 library functions
2. CMSIS standard
3. Library directory and file introduction
4. Help for using the library
Appendix 3: STM32 Clock System
1. STM32 high-speed external clock HSE
2. STM32 high-speed internal clock HSI
3. Low-speed external clock LSE
4. Low-speed internal clock LSI
5. PLL phase-locked loop frequency output
6. System clock
7. Other clocks for STM32
8. STM32-RCC configuration steps
Appendix 4: STM32 Minimum System
1. Power circuit for the development board
2. Clocks for STM32
3. Reset for STM32
4. Download circuit for the development board