STM32單片機開發(fā)實例——基于Proteus虛擬仿真與HAL/LL庫
定 價:45 元
- 作者:徐亮
- 出版時間:2021/1/1
- ISBN:9787121404825
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁碼:224
- 紙張:
- 版次:01
- 開本:16開
這是一本介紹STM32單片機的入門書籍,單片機具體型號為STM32F103R6。全書以項目教學模式編寫,引導讀者完成項目的過程學習并掌握單片機相關知識。本書所述的單片機開發(fā)方式?jīng)]有采用早期的STD庫,而是采用了意法半導體公司目前主推的HAL/LL庫,IDE采用了意法半導體公司目前主推的STM32CubeIDE,并且?guī)缀跛许椖慷贾С諴roteus仿真。本書可作為高職高專院校電子類專業(yè)的教材,也可供STM32單片機愛好者入門學習使用。
徐亮,男,江蘇信息職業(yè)技術學院智能工程學院電子電氣專業(yè)教學骨干,院機器人社團的負責人,2011年開始指導學生參加"中國機器人大賽暨RoboCup公開賽”、"中國工程機器人大賽”與"江蘇省大學生機器人大賽”多次獲獎,其中冠軍3項、亞軍3項、季軍4項,熟悉MCS-51、STM32、恩智浦等單片機;具備較強的項目研發(fā)能力,曾獨立或與學院精智模具研究院專家共同為企業(yè)提供技術研發(fā)服務。
目錄
第1篇 入門篇 1
1.1 單片機與STM32單片機 1
1.1.1 什么是單片機 2
1.1.2 單片機發(fā)展史 2
1.1.3 STM32單片機的誕生與發(fā)展 2
1.1.4 STM32單片機豐富的產(chǎn)品線 3
1.2 STM32單片機的引腳構(gòu)成 4
1.2.1 引腳結(jié)構(gòu) 4
1.2.2 單片機最小系統(tǒng) 5
1.3 STM32單片機的內(nèi)部構(gòu)造 8
1.3.1 Cortex-M3的存儲器結(jié)構(gòu) 8
1.3.2 STM32單片機的啟動(BOOT)模式 9
1.3.3 時鐘樹 9
1.4 STM32單片機的程序開發(fā)方式 10
1.4.1 STM32單片機程序開發(fā)流程概述 11
1.4.2 STM32CubeIDE簡介 11
1.4.3 硬件實物調(diào)試簡介 12
1.4.4 軟件電路仿真簡介 12
第2篇 語言篇 14
2.1 C語言入門與順序結(jié)構(gòu) 14
2.1.1 計算機語言與C語言 14
2.1.2 使用Dev-C++編寫計算機C程序 17
2.1.3 C語言的基本數(shù)據(jù)類型 18
2.1.4 格式輸入/輸出函數(shù) 20
2.1.5 C語言的運算符(一) 23
2.1.6 任務程序的編寫 26
2.2 分支結(jié)構(gòu) 27
2.2.1 C語言的運算符(二) 27
2.2.2 分支語句 31
2.2.3 任務程序的編寫 34
2.3 循環(huán)結(jié)構(gòu)程序 36
2.3.1 數(shù)組 36
2.3.2 循環(huán)語句 38
2.3.3 任務程序的編寫 42
2.4 模塊化程序的設計 44
2.4.1 結(jié)構(gòu)體認知 44
2.4.2 指針認知 45
2.4.3 函數(shù)與模塊化程序設計 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 數(shù)碼管動態(tài)顯示 79
3.4.1 數(shù)碼管的結(jié)構(gòu) 80
3.4.2 數(shù)碼管的靜態(tài)顯示與動態(tài)顯示 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單片機的中斷系統(tǒng)概述 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 串口通信之單字節(jié)通信 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協(xié)議概述 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 步進電動機的驅(qū)動 205
5.6.3 任務程序的編寫 206
附錄 211
參考文獻