單片機(jī)基礎(chǔ)與Arduino應(yīng)用
定 價(jià):38 元
- 作者:王俊 編著
- 出版時(shí)間:2017/8/1
- ISBN:9787121325946
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁(yè)碼:
- 紙張:輕型紙
- 版次:1
- 開本:16開
本書較為系統(tǒng)地介紹了51單片機(jī)和Arduino的內(nèi)部結(jié)構(gòu)、工作原理、編程方法,并給出了使用實(shí)例。全書共21章,首先介紹了單片機(jī)的基本知識(shí),引入51單片機(jī)和Arduino單片機(jī),通過諸多實(shí)例講解了兩種形式單片機(jī)的結(jié)構(gòu)、原理、編程方法以及調(diào)試方法等。內(nèi)容基本覆蓋了單片機(jī)入門所需知識(shí)點(diǎn)。本書語(yǔ)言淺顯易懂,實(shí)例豐富,同時(shí)在網(wǎng)站http://eelab.buaa.edu.cn/的創(chuàng)新園地欄目中開源電路圖與源程序。
全書共21章,首先介紹了單片機(jī)的基本知識(shí),引入51單片機(jī)和Arduino單片機(jī),通過諸多實(shí)例講解了兩種形式單片機(jī)的結(jié)構(gòu)、原理、編程方法以及調(diào)試方法等。內(nèi)容基本覆蓋了單片機(jī)入門所需知識(shí)點(diǎn)。本書語(yǔ)言淺顯易懂,實(shí)例豐富,同時(shí)在網(wǎng)站http://eelab.buaa.edu.cn/的創(chuàng)新園地欄目中開源電路圖與源程序。
前 言
單片機(jī)是一種集成CPU、存儲(chǔ)器、I/O口、定時(shí)器的微型計(jì)算機(jī)系統(tǒng),也叫微控制器,在智能儀器、工業(yè)控制、家用電器、網(wǎng)絡(luò)通信、模塊化系統(tǒng)、汽車電子、消費(fèi)電子等領(lǐng)域應(yīng)用廣泛。
全書分為兩篇,上篇包括第1章~第11章,以經(jīng)典的8051單片機(jī)為例,介紹單片機(jī)結(jié)構(gòu)、工作原理及編程方法;下篇包括第12章~第21章,結(jié)合單片機(jī)發(fā)展趨勢(shì),介紹Arduino單片機(jī)平臺(tái)及其編程方法。兩種單片機(jī)均提供應(yīng)用實(shí)例方便學(xué)習(xí)掌握,整體結(jié)構(gòu)如附圖所示。
附圖 本書內(nèi)容組織結(jié)構(gòu)圖
第1章主要介紹單片機(jī)的發(fā)展歷史及應(yīng)用領(lǐng)域。第2章詳細(xì)介紹了8051單片機(jī)的內(nèi)部結(jié)構(gòu)及指令系統(tǒng)。第3章介紹了編者開發(fā)的單片機(jī)開發(fā)板硬件系統(tǒng),作為后續(xù)講解過程中的硬件基礎(chǔ)。第4章~第9章循序漸進(jìn)地介紹了8051單片機(jī)對(duì)I/O口、中斷系統(tǒng)、定時(shí)器、串口等資源的控制,并提供可以運(yùn)行的程序代碼。第10章~第11章結(jié)合課程中實(shí)踐作品,提供了基于51單片機(jī)的應(yīng)用實(shí)例。第12章介紹了目前非常流行的開源單片機(jī)平臺(tái)Arduino及其開發(fā)環(huán)境搭建。第13章介紹了Arduino硬件電路,作為后續(xù)講解過程中的硬件基礎(chǔ)。第14章~第17章介紹了Arduino應(yīng)用開發(fā)中常用功能模塊的編程實(shí)現(xiàn)。第18章~第21章提供了基于Arduino的應(yīng)用實(shí)例。
本書由王俊、張玉璽、劉寒穎編著,其中王俊編著了第1、2、3、4、5、12、13、14、15章;張玉璽編著了第6、7、8、9、16、17、18、19章;劉寒穎編著了第10、11、20、21章;最后由王俊對(duì)本書進(jìn)行統(tǒng)稿。本書在編寫過程中,北京航空航天大學(xué)電子信息工程學(xué)院的碩士生吳智昌、羅雨泉、朱振國(guó)、李偉華、馬抒恒、屈亦成,本科生胡楊、李天一、王孖杰等,結(jié)合項(xiàng)目調(diào)試經(jīng)驗(yàn),參與了單片機(jī)例程的編寫與書稿的編輯工作。
本教材配有開源電路圖及源程序,可登錄北京航空航天大學(xué)空天電子信息實(shí)驗(yàn)教學(xué)中心網(wǎng)站(http://eelab.buaa.edu.cn/)免費(fèi)下載。
書中如有疏漏或不當(dāng)之處,懇請(qǐng)廣大讀者批評(píng)指正。
王俊,北航電子信息工程學(xué)院教授、博士生導(dǎo)師、副院長(zhǎng),空天電子信息國(guó)家級(jí)實(shí)驗(yàn)教學(xué)示范中心和空天電子信息國(guó)家級(jí)虛擬仿真實(shí)驗(yàn)教學(xué)中心主任。兼任中國(guó)電子學(xué)會(huì)DSP專家委員會(huì)副主任委員、中國(guó)電子學(xué)會(huì)無線電定位技術(shù)分會(huì)委員。主要從事環(huán)境智能感知、實(shí)時(shí)信號(hào)并行處理、深度學(xué)習(xí)、智能硬件等方面的研究工作,出版教材《DSP/FPGA嵌入式實(shí)時(shí)處理技術(shù)及應(yīng)用》。
上 篇
第1章 單片機(jī)概述(2)
1.1 單片機(jī)簡(jiǎn)介(2)
1.2 計(jì)算機(jī)發(fā)展史(2)
1.3 單片機(jī)發(fā)展史(4)
1.4 單片機(jī)的應(yīng)用(5)
1.5 如何學(xué)習(xí)單片機(jī)(6)
1.6 小結(jié)(8)
第2章 51單片機(jī)的基本結(jié)構(gòu)和工作原理(9)
2.1 概述(9)
2.2 引腳及最小系統(tǒng)(9)
2.2.1 時(shí)鐘電路引腳(9)
2.2.2 復(fù)位信號(hào)引腳(10)
2.2.3 輸入/輸出引腳(11)
2.2.4 其他控制引腳(11)
2.2.5 單片機(jī)最小系統(tǒng)(12)
2.3 內(nèi)部結(jié)構(gòu)(12)
2.4 中央處理器(14)
2.4.1 運(yùn)算器(14)
2.4.2 控制器(14)
2.4.3 指令集與指令周期(15)
2.5 存儲(chǔ)器(20)
2.5.1 數(shù)據(jù)存儲(chǔ)器(20)
2.5.2 程序存儲(chǔ)器(25)
2.6 工作過程(26)
2.7 小結(jié)(28)
第3章 51單片機(jī)開發(fā)板介紹(29)
3.1 最小系統(tǒng)(29)
3.2 電源系統(tǒng)(31)
3.3 外圍器件與接口(32)
3.4 小結(jié)(33)
第4章 51單片機(jī)LED燈控制(34)
4.1 LED工作原理(34)
4.2 I/O寄存器控制(36)
4.3 流程圖(39)
4.4 程序設(shè)計(jì)(39)
4.4.1 C51基礎(chǔ)(39)
4.4.2 LED燈亮滅的C51程序(41)
4.5 編寫/編譯/調(diào)試(41)
4.5.1 編寫(42)
4.5.2 編譯(44)
4.5.3 調(diào)試(45)
4.6 燒寫(47)
4.7 小結(jié)(48)
第5章 51單片機(jī)控制數(shù)碼管(49)
5.1 數(shù)碼管工作原理(49)
5.1.1 LED燈兩種接法(50)
5.1.2 位選與段選(51)
5.1.3 兩種顯示方式(52)
5.1.4 消去殘影(53)
5.2 I/O寄存器控制(55)
5.3 靜態(tài)顯示實(shí)現(xiàn)(55)
5.3.1 流程圖(55)
5.3.2 程序設(shè)計(jì)(56)
5.3.3 燒寫(56)
5.4 動(dòng)態(tài)顯示實(shí)現(xiàn)(57)
5.4.1 流程圖(57)
5.4.2 程序設(shè)計(jì)(57)
5.4.3 燒寫(58)
5.5 小結(jié)(59)
第6章 51單片機(jī)按鍵控制(60)
6.1 按鍵檢測(cè)原理(60)
6.1.1 獨(dú)立按鍵(60)
6.1.2 矩陣鍵盤(61)
6.1.3 按鍵消抖(62)
6.2 I/O寄存器控制(63)
6.3 獨(dú)立按鍵功能實(shí)現(xiàn)(63)
6.3.1 流程圖(63)
6.3.2 程序設(shè)計(jì)(63)
6.3.3 燒寫(64)
6.4 矩陣鍵盤功能實(shí)現(xiàn)(64)
6.4.1 流程圖(65)
6.4.2 程序設(shè)計(jì)(66)
6.4.3 燒寫(68)
6.5 小結(jié)(69)
第7章 51單片機(jī)的中斷系統(tǒng)(70)
7.1 中斷系統(tǒng)概述(70)
7.1.1 中斷的概念(70)
7.1.2 中斷源(70)
7.1.3 中斷向量表(71)
7.1.4 中斷優(yōu)先級(jí)(71)
7.1.5 中斷的技術(shù)優(yōu)勢(shì)(72)
7.2 中斷寄存器控制(72)
7.2.1 中斷允許控制寄存器IE(73)
7.2.2 中斷優(yōu)先控制寄存器IP(74)
7.2.3 定時(shí)器/計(jì)數(shù)器控制寄存器TCON(75)
7.3 流程圖(76)
7.4 程序設(shè)計(jì)(76)
7.4.1 中斷服務(wù)函數(shù)寫法(76)
7.4.2 C51程序(77)
7.4.3 由匯編程序看程序運(yùn)行過程(77)
7.5 燒寫(79)
7.6 小結(jié)(80)
第8章 51單片機(jī)定時(shí)器(81)
8.1 定時(shí)器工作原理(81)
8.1.1 定時(shí)/計(jì)數(shù)兩種模式(81)
8.1.2 定時(shí)器的工作過程(82)
8.2 相關(guān)寄存器控制(83)
8.2.1 工作方式寄存器TMOD(84)
8.2.2 定時(shí)器/計(jì)數(shù)器控制寄存器TCON(85)
8.2.3 定時(shí)器T0/T1的高/低8位TH0/TL0/TH1/TL1(86)
8.3 定時(shí)器功能實(shí)現(xiàn)(方式1)(86)
8.3.1 工作方式1 16位定時(shí)/計(jì)數(shù)器(86)
8.3.2 定時(shí)器的初始化(87)
8.3.3 流程圖(88)
8.3.4 程序設(shè)計(jì)(89)
8.3.5 調(diào)試(89)
8.3.6 燒寫(91)
8.4 定時(shí)器的其他工作方式(92)
8.4.1 工作方式0 13位定時(shí)/計(jì)數(shù)器(92)
8.4.2 工作方式2 自動(dòng)重裝初值的8位定時(shí)/計(jì)數(shù)器(93)
8.4.3 工作方式3 將T0分成兩個(gè)獨(dú)立的8位定時(shí)/計(jì)數(shù)器(95)
8.5 小結(jié)(96)
第9章 51單片機(jī)串口通信(97)
9.1 串行口的工作原理(97)
9.1.1 串行通信基本概念(97)
9.1.2 字符幀(98)
9.1.3 波特率(98)
9.1.4 串行通信的傳輸方向(99)
9.1.5 串口工作流程(99)
9.1.6 接口電路(100)
9.2 串口相關(guān)寄存器控制(101)
9.2.1 串行數(shù)據(jù)緩沖器SBUF(103)
9.2.2 串行口控制寄存器SCON(103)
9.2.3 電源控制寄存器PCON(104)
9.3 串口通信工作方式(104)
9.3.1 工作方式0 同步移位寄存器(104)
9.3.2 工作方式1 10位數(shù)據(jù)的異步通信口(104)
9.3.3 工作方式2 11位數(shù)據(jù)的異步通信口(106)
9.3.4 工作方式3 11位數(shù)據(jù)的異步通信口(106)
9.4 波特率的計(jì)算(107)
9.4.1 串口4種工作方式下的波特率計(jì)算(107)
9.4.2 波特率計(jì)算方式舉例(107)
9.5 流程圖(107)
9.5.1 串口數(shù)據(jù)發(fā)送操作(107)
9.5.2 串口數(shù)據(jù)接收操作(108)
9.6 程序設(shè)計(jì)(108)
9.7 燒寫(110)
9.8 小結(jié)(111)
第10章 基于51單片機(jī)的LCD電子鐘(112)
10.1 LCD工作原理(112)
10.1.1 液晶的概念(112)
10.1.2 液晶通光原理(112)
10.1.3 液晶顯示器工作原理(113)
10.1.4 LCD-1602工作原理(114)
10.2 系統(tǒng)連接(117)
10.3 流程圖(118)
10.4 程序設(shè)計(jì)(118)
10.5 燒寫(122)
10.6 小結(jié)(122)
第11章 基于51單片機(jī)的打地鼠游戲(123)
11.1 工作原理(123)
11.1.1 LCD-12864工作原理(123)
11.1.2 AT24C02工作原理(124)
11.2 系統(tǒng)連接圖(125)
11.3 流程圖(125)
11.4 程序設(shè)計(jì)(127)
11.5 燒寫(131)
11.6 小結(jié)(133)
下 篇
第12章 Arduino入門(136)
12.1 Arduino的誕生(136)
12.2 Arduino的特性(137)
12.3 熟悉Arduino Uno(138)
12.4 搭建Arduino開發(fā)環(huán)境(139)
12.4.1 安裝Arduino IDE(139)
12.4.2 配置Arduino IDE(141)
12.5 編寫Arduino程序(142)
12.5.1 Arduino程序構(gòu)成(142)
12.5.2 編寫Arduino程序三例(143)
12.6 小結(jié)(145)
第13章 Arduino開發(fā)板介紹(146)
13.1 Arduino開發(fā)板簡(jiǎn)介(146)
13.2 Arduino開發(fā)板核心電路(148)
13.3 Arduino開發(fā)板電源系統(tǒng)(149)
13.4 Arduino開發(fā)板USB(150)
13.5 Arduino開發(fā)板外設(shè)接口(151)
13.6 小結(jié)(151)
第14章 Arduino數(shù)字輸入輸出接口(152)
14.1 數(shù)字接口工作原理(152)
14.1.1 數(shù)字接口數(shù)量與布局(152)
14.1.2 輸入或輸出模式設(shè)置(153)
14.1.3 數(shù)字接口功能函數(shù)(153)
14.2 數(shù)字輸出接口(154)
14.2.1 系統(tǒng)連接(154)
14.2.2 流程圖(155)
14.2.3 程序設(shè)計(jì)(155)
14.2.4 燒寫(156)
14.3 數(shù)字輸入接口(157)
14.3.1 系統(tǒng)連接(157)
14.3.2 流程圖(157)
14.3.3 程序設(shè)計(jì)(158)
14.3.4 燒寫(158)
14.4 小結(jié)(159)
第15章 Arduino模擬輸入輸出接口(160)
15.1 模擬接口工作原理(160)
15.1.1 模擬輸入接口(160)
15.1.2 模擬輸出接口(161)
15.1.3 模擬接口位置(161)
15.1.4 模擬輸入接口的相關(guān)函數(shù)(162)
15.1.5 模擬輸出接口的相關(guān)函數(shù)(163)
15.2 模擬輸入接口(163)
15.2.1 系統(tǒng)連接(163)
15.2.2 流程圖(164)
15.2.3 程序設(shè)計(jì)(164)
15.2.4 燒寫(165)
15.3 模擬輸入Constrain函數(shù)(165)
15.3.1 限制輸入數(shù)據(jù)范圍(165)
15.3.2 映射輸入數(shù)值(166)
15.4 map函數(shù)(167)
15.4.1 系統(tǒng)連接(167)
15.4.2 流程圖(167)
15.4.3 程序設(shè)計(jì)(167)
15.4.4 燒寫(169)
15.5 模擬輸出接口(169)
15.5.1 流程圖(169)
15.5.2 程序設(shè)計(jì)(169)
15.5.3 燒寫(170)
15.6 小結(jié)(170)
第16章 Arduino串口通信(171)
16.1 工作原理(171)
16.1.1 Arduino串口引腳(171)
16.1.2 Serial庫(kù)函數(shù)(172)
16.2 流程圖(173)
16.3 程序設(shè)計(jì)(173)
16.4 小結(jié)(174)
第17章 基于Arduino的串口RGB迷你燈(175)
17.1 RGB-LED工作原理(175)
17.2 系統(tǒng)連接(175)
17.3 流程圖(176)
17.4 程序設(shè)計(jì)(177)
17.5 燒寫(178)
17.6 小結(jié)(179)
第18章 基于Arduino的溫濕度計(jì)(180)
18.1 DHT11傳感器工作原理(180)
18.2 系統(tǒng)連接(182)
18.3 流程圖(183)
18.4 程序設(shè)計(jì)(184)
18.5 燒寫(187)
18.6 小結(jié)(187)
第19章 基于Arduino的超聲波測(cè)距裝置(188)
19.1 工作原理(188)
19.1.1 超聲波測(cè)距原理(188)
19.1.2 LCD工作原理(189)
19.2 系統(tǒng)連接(189)
19.3 流程圖(190)
19.4 程序設(shè)計(jì)(190)
19.5 燒寫(191)
19.6 小結(jié)(192)
第20章 基于Arduino的重力感應(yīng)聯(lián)機(jī)互動(dòng)游戲設(shè)備(193)
20.1 工作原理(193)
20.1.1 MPU-6050加速度傳感器(193)
20.1.2 HC-05藍(lán)牙模塊(194)
20.2 系統(tǒng)連接(195)
20.3 流程圖(195)
20.4 程序設(shè)計(jì)(197)
20.5 燒寫(199)
20.6 小結(jié)(200)
第21章 基于Arduino的WiFi小車(201)
21.1 工作原理(201)
21.1.1 WiFi小車結(jié)構(gòu)(201)
21.1.2 ESP8266 WiFi模塊(201)
21.1.3 L298N電機(jī)驅(qū)動(dòng)模塊(202)
21.2 系統(tǒng)連接(203)
21.3 流程圖(204)
21.4 程序設(shè)計(jì)(204)
21.4.1 ESP8266調(diào)試2