STM32單片機開發實例——基於Proteus虛擬模擬與HAL/LL庫

徐亮

  • 出版商: 電子工業
  • 出版日期: 2021-01-01
  • 定價: $270
  • 售價: 8.5$229
  • 語言: 簡體中文
  • 頁數: 224
  • ISBN: 7121404826
  • ISBN-13: 9787121404825
  • 相關分類: STM32
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

這是一本介紹STM32單片機的入門書籍,單片機具體型號為STM32F103R6。全書以項目教學模式編寫,引導讀者完成項目的過程學習並掌握單片機相關知識。本書所述的單片機開發方式沒有採用早期的STD庫,而是採用了意法半導體公司目前主推的HAL/LL庫,IDE採用了意法半導體公司目前主推的STM32CubeIDE,並且幾乎所有項目都支持Proteus模擬。本書可作為高職高專院校電子類專業的教材,也可供STM32單片機愛好者入門學習使用。

目錄大綱

目錄

第1篇 入門篇 1
1.1 單片機與STM32單片機 1
1.1.1 什麽是單片機 2
1.1.2 單片機發展史 2
1.1.3 STM32單片機的誕生與發展 2
1.1.4 STM32單片機豐富的產品線 3
1.2 STM32單片機的引腳構成 4
1.2.1 引腳結構 4
1.2.2 單片機最小系統 5
1.3 STM32單片機的內部構造 8
1.3.1 Cortex-M3的存儲器結構 8
1.3.2 STM32單片機的啟動(BOOT)模式 9
1.3.3 時鐘樹 9
1.4 STM32單片機的程序開發方式 10
1.4.1 STM32單片機程序開發流程概述 11
1.4.2 STM32CubeIDE簡介 11
1.4.3 硬件實物調試簡介 12
1.4.4 軟件電路模擬簡介 12
第2篇 語言篇 14
2.1 C語言入門與順序結構 14
2.1.1 電腦語言與C語言 14
2.1.2 使用Dev-C++編寫電腦C程序 17
2.1.3 C語言的基本數據類型 18
2.1.4 格式輸入/輸出函數 20
2.1.5 C語言的運算符(一) 23
2.1.6 任務程序的編寫 26
2.2 分支結構 27
2.2.1 C語言的運算符(二) 27
2.2.2 分支語句 31
2.2.3 任務程序的編寫 34
2.3 循環結構程序 36
2.3.1 數組 36
2.3.2 循環語句 38
2.3.3 任務程序的編寫 42
2.4 模塊化程序的設計 44
2.4.1 結構體認知 44
2.4.2 指針認知 45
2.4.3 函數與模塊化程序設計 47
2.4.4 任務程序的編寫 50
第3篇 基礎篇 52
3.1 LED單燈閃爍之軟件延時 52
3.1.1 STM32單片機的GPIO引腳及其輸出類型 53
3.1.2 使用STM32CubeIDE編寫STM32單片機C程序 55
3.1.3 使用ISP方式下載程序 59
3.1.4 任務程序的編寫 61
3.2 按鍵輸入 63
3.2.1 STM32單片機的GPIO引腳及其輸入類型 63
3.2.2 Proteus的電路模擬 64
3.2.3 任務程序的編寫 71
3.3 流水燈之軟件延時 73
3.3.1 程序算法 74
3.3.2 任務程序的編寫 75
3.4 數碼管動態顯示 79
3.4.1 數碼管的結構 80
3.4.2 數碼管的靜態顯示與動態顯示 81
3.4.3 任務程序的編寫 83
3.5 矩陣式鍵盤 85
3.5.1 矩陣式鍵盤的電路組成 86
3.5.2 矩陣式鍵盤的行掃描法 86
3.5.3 任務程序的編寫 87
第4篇 提高篇 94
4.1 外部(EXTI)中斷 94
4.1.1 中斷技術 95
4.1.2 STM32單片機的中斷系統概述 95
4.1.3 STM32單片機的外部中斷(EXTI) 97
4.1.4 任務程序的編寫 98
4.2 LED單燈閃爍之定時器延時(阻塞方式) 103
4.2.1 STM32單片機的定時器 104
4.2.2 任務程序的編寫 106
4.3 流水燈之定時器延時(中斷方式) 109
4.3.1 定時器中斷 110
4.3.2 任務程序的編寫 110
4.4 長短按鍵 113
4.4.1 長短按鍵的用途和設計思路 114
4.4.2 任務程序的編寫 114
4.5 呼吸燈 118
4.5.1 STM32單片機的PWM技術 119
4.5.2 任務程序的編寫 119
4.6 串口通信之單字節通信 123
4.6.1 串口通信 124
4.6.2 單片機與電腦的串口通信 126
4.6.3 任務程序的編寫 127
4.7 串口通信之總線通信* 131
4.7.1 CRC 131
4.7.2 Modbus_RTU協議概述 132
4.7.3 任務程序的編寫 133
4.8 熱敏電阻+ADC的溫度採集 137
4.8.1 熱敏電阻 138
4.8.2 ADC 139
4.8.3 任務程序的編寫 140
4.9 Flash ROM的讀寫 146
4.9.1 Flash ROM 147
4.9.2 任務程序的編寫 149
4.10 RTC的時鐘設計 153
4.10.1 STM32單片機的RTC 154
4.10.2 任務程序的編寫 154
第5篇 拓展篇 161
5.1 LCD1602的使用 161
5.1.1 液晶顯示屏與LCD1602 162
5.1.2 任務程序的編寫 164
5.2 串行E2PROM AT24C02的使用 169
5.2.1 I2C總線簡介 170
5.2.2 AT24C02簡介 172
5.2.3 任務程序的編寫 174
5.3 串行溫度傳感器TC72的使用 180
5.3.1 SPI總線簡介 181
5.3.2 TC72簡介 183
5.3.3 任務程序的編寫 184
5.4 串行DAC芯片MCP4921的使用 189
5.4.1 MCP4921簡介 190
5.4.2 任務程序的編制 192
5.5 直流電動機的控制 196
5.5.1 直流電動機與H橋電路 197
5.5.2 雙H橋芯片L298 197
5.5.3 任務程序的編寫 199
5.6 步進電動機的控制 203
5.6.1 達林頓晶體管陣列ULN2803 204
5.6.2 步進電動機的驅動 205
5.6.3 任務程序的編寫 206
附錄 211
參考文獻