單片機基礎(chǔ)與Arduino應(yīng)用(第2版)
定 價:49 元
- 作者:王俊
- 出版時間:2024/10/1
- ISBN:9787121489921
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁碼:244
- 紙張:
- 版次:01
- 開本:16開
本書以Arduino單片機開發(fā)為索引,較為系統(tǒng)地介紹了單片機的工作原理、編程方法,并給出了使用實例。全書共22章,通過介紹單片機的基本知識引入Arduino單片機,并通過諸多實例講解了Arduino單片機的結(jié)構(gòu)、工作原理、編程方法及調(diào)試方法等,基本覆蓋了單片機入門和Arduino開發(fā)所需的知識點。
王俊,主持并完成了多項 “973項目”、“863項目”、“國家自然科學基金”、“重點實驗室基金”、“預(yù)研項目”、“科研院所項目”,在“多目標跟蹤”、“目標微動特性提取與識別”、“散射點三維重構(gòu)”、“高分辨率雷達處理與識別”、“雷達目標識別”、“分布式雷達空間目標三維成像方法”、“基于深度學習的目標識別技術(shù)”等方面開展研究工作,并取得一定成果,發(fā)表相關(guān)論文100余篇,其中30余篇為SCI(E)源刊,申請國家發(fā)明專利30余項,已獲批12項。
第1章 單片機概述 1
1.1 單片機簡介 1
1.2 計算機的發(fā)展史 2
1.3 單片機的發(fā)展史 3
1.4 單片機的應(yīng)用 4
1.5 如何學習單片機 6
1.6 小結(jié) 6
第2章 Arduino入門 7
2.1 Arduino的誕生 7
2.2 Arduino的特性 8
2.3 Arduino硬件介紹 9
2.3.1 Arduino UNO介紹 9
2.3.2 Arduino UNO核心電路 11
2.3.3 Arduino UNO外圍系統(tǒng) 12
2.4 搭建Arduino開發(fā)環(huán)境 14
2.4.1 安裝Arduino IDE 14
2.4.2 配置Arduino IDE 16
2.5 編寫Arduino程序 17
2.5.1 Arduino程序構(gòu)成 17
2.5.2 編寫Arduino程序示例 18
2.6 小結(jié) 20
第3章 Arduino數(shù)字輸入/輸出接口 21
3.1 LED的工作原理 21
3.2 數(shù)字接口的工作原理 22
3.2.1 數(shù)字接口的數(shù)量與布局 22
3.2.2 輸入或輸出模式設(shè)置 23
3.2.3 數(shù)字接口功能函數(shù) 23
3.3 數(shù)字輸出接口 24
3.3.1 系統(tǒng)連接 24
3.3.2 流程圖 25
3.3.3 程序設(shè)計 25
3.3.4 燒寫 26
3.4 數(shù)字輸入接口 27
3.4.1 系統(tǒng)連接 27
3.4.2 流程圖 27
3.4.3 程序設(shè)計 28
3.4.4 燒寫 28
3.5 小結(jié) 29
第4章 Arduino的中斷機制與定時器 30
4.1 中斷系統(tǒng)概述 30
4.1.1 中斷的概念 30
4.1.2 中斷源 31
4.1.3 中斷優(yōu)先級 31
4.1.4 中斷的技術(shù)優(yōu)勢 31
4.2 Arduino中與中斷有關(guān)的函數(shù) 32
4.3 外部中斷實驗 32
4.3.1 系統(tǒng)連接 32
4.3.2 流程圖 33
4.3.3 程序設(shè)計 33
4.3.4 燒寫 34
4.4 定時器的工作原理 34
4.5 Arduino定時器的相關(guān)庫函數(shù) 35
4.5.1 TimerOne庫 35
4.5.2 MsTimer2庫 36
4.6 定時器實驗 36
4.6.1 系統(tǒng)連接 36
4.6.2 流程圖 36
4.6.3 程序設(shè)計 37
4.6.4 燒寫 38
4.7 小結(jié) 38
第5章 Arduino串口通信 39
5.1 串口的工作原理 39
5.1.1 串口通信的基本概念 39
5.1.2 字符幀 40
5.1.3 波特率 41
5.1.4 串口通信制式 41
5.1.5 串口工作流程 41
5.1.6 接口電路 42
5.2 Arduino的串口 43
5.2.1 Arduino串口引腳 43
5.2.2 Serial庫函數(shù) 44
5.3 串口控制LED的閃爍頻率 46
5.3.1 流程圖 46
5.3.2 程序設(shè)計 46
5.4 串口控制RGB-LED的顏色 47
5.4.1 RGB-LED的工作原理 47
5.4.2 系統(tǒng)連接 47
5.4.3 流程圖 48
5.4.4 程序設(shè)計 49
5.4.5 燒寫 50
5.4 小結(jié) 51
第6章 Arduino之按鍵與矩陣鍵盤 52
6.1 按鍵檢測原理 52
6.1.1 Arduino之按鍵 53
6.1.2 Arduino之矩陣鍵盤 53
6.1.3 按鍵消抖 55
6.2 獨立按鍵功能實現(xiàn) 56
6.2.1 系統(tǒng)連接 56
6.2.2 流程圖 56
6.2.3 程序設(shè)計 57
6.2.4 燒寫 58
6.3 矩陣鍵盤功能實現(xiàn) 58
6.3.1 系統(tǒng)連接 58
6.3.2 流程圖 59
6.3.3 程序設(shè)計 59
6.3.4 燒寫 60
6.4 小結(jié) 60
第7章 Arduino控制數(shù)碼管 61
7.1 數(shù)碼管的工作原理 61
7.1.1 LED的兩種接法 62
7.1.2 兩種顯示方式 64
7.2 靜態(tài)顯示實現(xiàn) 64
7.2.1 系統(tǒng)連接 64
7.2.2 流程圖 65
7.2.3 程序設(shè)計 65
7.2.4 燒寫 67
7.3 動態(tài)顯示實現(xiàn) 67
7.3.1 系統(tǒng)連接 67
7.3.2 流程圖 68
7.3.3 程序設(shè)計 68
7.3.4 燒寫 69
7.4 小結(jié) 70
第8章 Arduino之LED點陣與RGB燈帶 71
8.1 Arduino之LED點陣 71
8.1.1 工作原理 71
8.1.2 系統(tǒng)連接 72
8.1.3 流程圖 73
8.1.4 程序設(shè)計 73
8.1.5 燒寫 75
8.2 Arduino之RGB燈帶 76
8.2.1 工作原理 76
8.2.2 Adafruit NeoPixel庫介紹 78
8.2.3 系統(tǒng)連接 78
8.2.4 流程圖 78
8.2.5 程序設(shè)計 79
8.2.6 燒寫 80
8.3 小結(jié) 80
第9章 Arduino之液晶屏 81
9.1 工作原理 81
9.1.1 液晶的概念 81
9.1.2 液晶的通光原理 81
9.1.3 液晶顯示器的工作原理 82
9.1.4 LCD-1602的工作原理 83
9.1.5 LiquidCrystal庫介紹 86
9.2 系統(tǒng)連接 86
9.3 流程圖 86
9.4 程序設(shè)計 87
9.5 燒寫 88
9.6 小結(jié) 88
第10章 Arduino模擬輸入/輸出接口 89
10.1 模擬接口的工作原理 89
10.1.1 模擬輸入 89
10.1.2 模擬輸出 90
10.1.3 模擬接口的位置 90
10.1.4 模擬輸入接口的相關(guān)函數(shù) 91
10.1.5 模擬輸出接口的相關(guān)函數(shù) 92
10.2 Arduino之搖桿 92
10.2.1 系統(tǒng)連接 92
10.2.2 流程圖 93
10.2.3 程序設(shè)計 93
10.2.4 燒寫 94
10.3 Arduino之呼吸燈 94
10.3.1 系統(tǒng)連接 95
10.3.2 流程圖 95
10.3.3 程序設(shè)計 96
10.3.4 燒寫 96
10.4 小結(jié) 97
第11章 蜂鳴器實驗 98
11.1 蜂鳴器的工作原理 98
11.2 Arduino之蜂鳴器 99
11.2.1 系統(tǒng)連接 99
11.2.2 程序設(shè)計 99
11.2.3 燒寫 100
11.3 Arduino之電子琴 101
11.3.1 系統(tǒng)連接 101
11.3.2 程序設(shè)計 101
11.3.3 燒寫 102
11.4 小結(jié) 102
第12章 Arduino之電機 103
12.1 電機分類 103
12.2 Arduino之直流電機 104
12.2.1 系統(tǒng)連接 104
12.2.2 流程圖 105
12.2.3 程序設(shè)計 105
12.2.4 燒寫 106
12.3 Arduino之伺服電機 106
12.3.1 系統(tǒng)連接 107
12.3.2 流程圖 107
12.3.3 程序設(shè)計 107
12.3.4 燒寫 108
12.4 小結(jié) 109
第13章 Arduino之旋鈕與編碼器 110
13.1 Arduino之旋鈕 110
13.1.1 工作原理 110
13.1.2 系統(tǒng)連接 111
13.1.3 流程圖 112
13.1.4 程序設(shè)計 113
13.1.5 燒寫 115
13.2 Arduino之編碼器 116
13.2.1 工作原理 116
13.2.2 系統(tǒng)連接 117
13.2.3 流程圖 118
13.2.4 程序設(shè)計 119
13.2.5 燒寫 120
13.3 小結(jié) 120
第14章 Arduino之傳感器 121
14.1 Arduino之DHT11溫濕度傳感器 121
14.1.1 工作原理 121
14.1.2 DHT Sensor庫介紹 124
14.1.3 系統(tǒng)連接 124
14.1.4 流程圖 124
14.1.5 程序設(shè)計 125
14.1.6 燒寫 126
14.2 Arduino之MPU-6050六軸加速度計 127
14.2.1 姿態(tài)檢測介紹 127
14.2.2 工作原理 128
14.2.3 Adafruit MPU-6050庫介紹 129
14.2.4 系統(tǒng)連接 129
14.2.5 流程圖 130
14.2.6 程序設(shè)計 131
14.2.7 燒寫 132
14.3 Arduino之HC-SR04超聲波測距 133
14.3.1 工作原理 133
14.3.2 系統(tǒng)連接 133
14.3.3 流程圖 134
14.3.4 程序設(shè)計 135
14.3.5 燒寫 135
14.4 小結(jié) 136
第15章 基于Arduino的智能小車 137
15.1 工作原理 137
15.1.1 小車的結(jié)構(gòu) 137
15.1.2 ESP8266 137
15.1.3 L298N電機驅(qū)動模塊 138
15.1.4 超聲波避障模塊 139
15.2 系統(tǒng)連接 140
15.3 流程圖 140
15.4 程序設(shè)計 142
15.4.1 ESP8266 Wi-Fi模塊調(diào)試 142
15.4.2 Arduino代碼 142
15.5 燒寫 147
15.6 小結(jié) 148
第16章 AVR單片機的基本結(jié)構(gòu) 149
16.1 AVR單片機概述 149
16.2 命名、引腳及最小系統(tǒng) 149
16.2.1 AVR單片機的命名規(guī)則 149
16.2.2 AVR單片機引腳功能介紹 150
16.2.3 AVR單片機的最小系統(tǒng) 152
16.3 內(nèi)部結(jié)構(gòu) 153
16.4 CPU 155
16.4.1 算術(shù)邏輯單元 155
16.4.2 狀態(tài)寄存器 155
16.4.3 通用工作寄存器組 156
16.4.4 堆棧指針寄存器 157
16.4.5 程序計數(shù)器、指令寄存器和指令譯碼器 157
16.5 指令集 157
16.6 存儲空間 161
16.6.1 程序空間 161
16.6.2 數(shù)據(jù)空間 161
16.6.3 EEPROM空間 162
16.7 熔絲位 162
16.7.1 熔絲位概念介紹 162
16.7.2 重要熔絲位的配置 163
16.8 使用Microchip Studio開發(fā)ATmega328P 164
16.8.1 Microchip Studio介紹 164
16.8.2 Microchip Studio的安裝 164
16.8.3 新建工程 165
16.8.4 工具配置 166
16.8.5 編譯和燒寫程序 167
16.8.6 實驗現(xiàn)象 168
16.9 小結(jié) 169
第17章 AVR單片機的數(shù)字輸入/輸出 170
17.1 I/O寄存器控制 170
17.2 流程圖 174
17.3 程序設(shè)計 175
17.3.1 單片機C語言基礎(chǔ) 175
17.3.2 數(shù)字接口輸出實驗程序 176
17.3.3 數(shù)字接口輸入實驗程序 176
17.4 系統(tǒng)連接 177
17.5 燒寫 179
17.6 小結(jié) 179
第18章 AVR單片機的中斷和定時器系統(tǒng) 181
18.1 中斷系統(tǒng)概述 181
18.1.1 中斷向量表 181
18.1.2 中斷優(yōu)先級 181
18.1.3 中斷觸發(fā)條件 182
18.1.4 外部中斷 182
18.2 中斷控制寄存器 182
18.2.1 全局中斷控制 182
18.2.2 外部中斷控制寄存器 182
18.3 定時器的工作原理 183
18.4 定時器控制寄存器 184
18.4.1 定時器0/2控制寄存器 184
18.4.2 定時器1控制寄存器 186
18.5 外部中斷實驗 187
18.5.1 系統(tǒng)連接 187
18.5.2 程序設(shè)計 188
18.5.3 燒寫 189
18.6 定時中斷實驗 189
18.6.1 系統(tǒng)連接 189
18.6.2 程序設(shè)計 190
18.6.3 燒寫 190
18.7 小結(jié) 191
第19章 AVR單片機串口通信 192
19.1 AVR串口相關(guān)寄存器介紹 192
19.2 AVR串口相關(guān)寄存器各位的功能和配置 194
19.2.1 串口寄存器各位的功能 194
19.2.2 串口寄存器配置 194
19.3 流程圖 195
19.3.1 串口數(shù)據(jù)發(fā)送操作 195
19.3.2 串口數(shù)據(jù)接收操作 195
19.4 程序設(shè)計 196
19.5 燒寫 197
19.6 小結(jié) 198
第20章 AVR單片機獨立按鍵、矩陣鍵盤、數(shù)碼管 199
20.1 獨立按鍵、矩陣鍵盤、數(shù)碼管 199
20.2 I/O寄存器控制 199
20.3 AVR單片機控制獨立按鍵點亮LED 199
20.3.1 系統(tǒng)連接 199
20.3.2 流程圖 200
20.3.3 程序設(shè)計 200
20.3.4 燒寫 201
20.4 AVR單片機矩陣鍵盤功能實現(xiàn) 201
20.4.1 系統(tǒng)連接 201
20.4.2 流程圖 202
20.4.3 程序設(shè)計 203
20.4.4 燒寫 204
20.5 AVR數(shù)碼管靜態(tài)顯示 205
20.5.1 系統(tǒng)連接 205
20.5.2 流程圖 206
20.5.3 程序設(shè)計 206
20.5.4 燒寫 207
20.6 AVR數(shù)碼管動態(tài)顯示 207
20.6.1 系統(tǒng)連接 207
20.6.2 流程圖 208
20.6.3 程序設(shè)計 209
20.6.4 燒寫 210
20.7 小結(jié) 210
第21章 AVR單片機模數(shù)轉(zhuǎn)換 211
21.1 模數(shù)轉(zhuǎn)換原理概述 211
21.2 相關(guān)設(shè)置寄存器 212
21.3 ADC單次轉(zhuǎn)換實驗 215
21.3.1 系統(tǒng)連接 215
21.3.2 程序設(shè)計 215
21.3.3 燒寫 216
21.4 ADC連續(xù)轉(zhuǎn)換實驗 217
21.4.1 程序設(shè)計 217
21.4.2 燒寫 219
21.5 小結(jié) 219
第22章 基于AVR單片機的打地鼠游戲 220
22.1 LCD-12864的工作原理 220
22.2 系統(tǒng)連接 221
22.3 流程圖 222
22.4 程序設(shè)計 223
22.5 燒寫 228
22.6 小結(jié) 229