Vi Điều Khiển STM32F103 và Hệ Thống Nhúng Sử Dụng Assembly và C

Trường đại học

BIHE University

Người đăng

Ẩn danh

Thể loại

sách

2021

543
0
0

Phí lưu trữ

100.000 VNĐ

Mục lục chi tiết

Preface

1. Chapter 1: The History of Arm and Microcontrollers

1.1. Section 1.1: Introduction to Microcontrollers

1.2. Section 1.2: The Arm Family History

1.3. Section 1.3: STM32 Family

1.4. Problems

1.5. Answers to Review Questions

2. Chapter 2: Arm Architecture and Assembly Language Programming

2.1. Section 2.1: The General Purpose Registers in the Arm

2.2. Section 2.2: The Arm Memory Map

2.3. Section 2.3: Load and Store Instructions in Arm

2.4. Section 2.4: Arm CPSR (Current Program Status Register)

2.5. Section 2.5: Arm Data Formats and Assembler Directives

2.6. Section 2-6: Assembler data allocation directives

2.7. Section 2.7: Introduction to Arm Assembly Programming

2.8. Section 2.8: Creating an Arm Assembly Program

2.9. Section 2.9: The Program Counter and Program Memory Space in the Arm

2.10. Section 2.10: Some Arm Addressing Modes

2.11. Section 2.11: Pipelining and Harvard Architecture in Arm

2.12. Section 2.12: RISC Architecture in Arm

2.13. Problems

2.14. Answers to Review Questions

3. Chapter 3: Arithmetic and Logic Instructions and Programs

3.1. Section 3.1: Arithmetic Instructions

3.2. Section 3.2: Logic Instructions

3.3. Section 3.3: Shift and Rotate Instructions

3.4. Section 3.4: Rotate and Shift in Data Processing Instructions (Case Study)

3.5. Section 3.5: BCD and ASCII Conversion

3.6. Problems

3.7. Answers to Review Questions

4. Chapter 4: Branch, Call, and Looping in Arm

4.1. Section 4.1: Looping and Branch Instructions

4.2. Section 4.2: Calling Subroutine with BL

4.3. Section 4.3: Time Delay

4.4. Section 4-5: Exploring the Startup File

4.5. Problems

4.6. Answers to Review Questions

5. Chapter 5: Signed Integer Numbers Arithmetic

5.1. Section 5.1: Signed Numbers Concept

5.2. Section 5.2: Signed Number Instructions and Operations

5.3. Section 5.3: Signed Number Comparison

5-4. Section 5-4: Sign Extension

5.5. Problems

5.6. Answers to Review Questions

6. Chapter 6: Arm Addressing Modes

6.1. Section 6.1: Arm Memory Access

6.2. Section 6.2: Advanced Indexed Addressing Modes

6.3. Section 6.3: ADR, LDR, and PC Relative Addressing

6.4. Section 6.4: Arm Bit-Addressable Memory Region

6.5. Problems

6.6. Answers to Review Questions

7. Chapter 7: C for Embedded Systems

7.1. Section 7.1: C Data types for Embedded systems

7.2. Section 7.2: Bit-wise Operations in C

7.3. Problems

7.4. Answer to Review Questions

8. Chapter 8: STM32F103 I/O Programming

8.1. Section 8.1: I/O Port Programming in STM32F1xx

8.2. Section 8.2: Seven-segment LED interfacing and programming

8.3. Section 8.3: Clock sources, Reset, and Power Supply Pins in STM32F10x

8.4. Section 8.4: GPIO Programming in Assembly Language

8.5. Problems

8.6. Answer to Review Questions

9. Chapter 9: LCD and Keyboard Interfacing

9.1. Section 9.1: Interfacing to an LCD

9.2. Section 9.2: Interfacing the Keyboard to the CPU

9.3. Problems

9.4. Answers to Review Questions

10. Chapter 10: UART Serial Port Programming

10.1. Section 10.1: Basics of Serial Communication

10.2. Section 10.2: Programming UART Ports

10.3. Problems

10.4. Answer to Review Questions

11. Chapter 11: STM32 ARM Timer Programming

11.1. Section 11.0: Introduction to counters and timers

11.2. Section 11.1: System Tick Timer

11.3. Section 11.2: Delay Generation with STM32 Timers

11.4. Section 11.3: Output Compare and TIM Channels

11.5. Section 11.4: Using Timer for Input Capturing

11.6. Section 11.5: Using Timer as a Counter

11.7. Problems

11.8. Answers to Review Questions

12. Chapter 12: Interrupt and Exception Programming

12.1. Section 12.1: Interrupts and Exceptions in ARM Cortex-M

12.2. Section 12.2: SysTick Programming and Interrupt

12.3. Section 12.3: STM32 I/O Port Interrupt Programming

12.4. Section 12.4: USART Serial Port Interrupt Programming

12.5. Section 12.5: Timer Interrupt Programming

12.6. Section 12.6: Interrupt Priority, nested interrupts, and latency

12.7. Section 12.7: ARM Cortex-M Processor Modes

12.8. Problems

12.9. Answer to Review Questions

13. Chapter 13: ADC, DAC, and Sensor Interfacing

13.1. Section 13.1: ADC Characteristics

13.2. Section 13.2: ADC Programming with STM32F1xx

13.3. Section 13.3: Sensor Interfacing and Signal Conditioning

13.4. Section 13.4: DAC Programming

13.5. Problems

13.6. Answers to Review Questions

14. Chapter 14: Relay, Optoisolator, and Stepper Motor Interfacing

14.1. Section 14.1: Relays and Optoisolators

14.2. Section 14.2: Stepper Motor Interfacing

14.3. Problems

14.4. Answers to Review Questions

15. Chapter 15: PWM and DC Motor Control

15.1. Section 15.1: DC Motor Interfacing and PWM

15.2. Section 15.2: Programming PWM in STM32

15.3. Section 15.3: DC Motor Control Using PWM

15.4. Problems

15.5. Answers to Review Questions

16. Chapter 16: I2C Protocol and RTC Interfacing

16.1. Section 16.1: I2C Bus Protocol

16.2. Section 16.2: I2C Programming in STM32F10x

16.3. Section 16.3: DS3231 RTC Interfacing and Programming

16.4. Problems

16.5. Answers to Review Questions

17. Chapter 17: SPI Protocol and Devices

17.1. Section 17.1: SPI Bus Protocol

17.2. Section 17.2: SPI programming in STM32

17.3. Section 17.3: MAX7219/MAX7221 SPI 7-Segment Driver

17.4. Problems

17.5. Answers to Review Questions

18. Chapter 18: Programming Graphic LCD

18.1. Section 18.1: Graphic LCDs

18.2. Section 18.2: Displaying Texts on Graphic LCDs

18.3. Problems

18.4. Answers to Review Questions

19. Chapter 19: Direct Memory Access (DMA)

19.1. Section 19.1: Introduction to DMA

19-2. Section 19-2: DMA in STM32F10x

19.3. Problems

19.4. Answers to Review Questions

Appendix A: ARM Cortex-M3 Instruction Description

A.1. Section A.1: List of ARM Cortex-M3 Instructions

A.2. Section A.2: ARM Instruction Description

Appendix B: ARM Assembler Directives

B.1. Section B.1: List of ARM Assembler Directives

B.2. Section B.2: Description of ARM Assembler Directives

Appendix C: Macros

C.1. What is a macro and how is it used?

C.2. Macros vs. subroutines

Appendix D: Passing Arguments into Functions

D.1. D.1: Passing arguments through registers

D.2. D.2: Passing through memory using references

D.3. D.3: Passing arguments through stack

D.4. D.4: AAPCS (ARM Application Procedure Call Standard)

Appendix E: ASCII Codes

Appendix F: Advanced C Programming

F.1. Section F.1: Preprocessor Directives

F.2. Section F.2: Manipulating Registers Using Defined Bit Names

Appendix G: Flowcharts and Pseudo-code (Web)

Appendix H: IC Interfacing and System Design Issues (Web)