本書按照工作導向的思路,通過"學中做、做中學”,循序漸進地講解微控制器、傳感器電路和STM32單片機軟件,傳授STM32單片機的外圍引腳特性、內(nèi)部結(jié)構(gòu)原理、片上外設資源、開發(fā)設計方法和應用軟件編程等知識,同時增加了嵌入式系統(tǒng)中的OS、文件系統(tǒng)、SD卡和U盤存儲、Net通訊等內(nèi)容,修訂后的教材解決了大多數(shù)學習ARM處理器的學生或者個人上手困難、傳統(tǒng)書籍抽象與難學的問題。但隨著技術(shù)的發(fā)展,原教材僅面向ARM Cortex-M3核進行講解,而ARM Cortex-M核已發(fā)展到M4了,且集成度越來越高,嵌入式系統(tǒng)中的OS、文件系統(tǒng)、SD卡和U盤存儲、Net通訊等方面在原教材中都沒有涉及。
彭剛,博士,1973年10月生,湖北武漢人。現(xiàn)為華中科技大學自動化學院副教授、中國電子學會高級會員、中國嵌入式系統(tǒng)產(chǎn)業(yè)聯(lián)盟和中國軟件行業(yè)嵌入式系統(tǒng)協(xié)會理事、嵌入式專家委員會委員、中國人工智能學會智能機器人專業(yè)委員會委員。學術(shù)專長包括:嵌入式系統(tǒng)、智能機器人系統(tǒng)、智能制造與制造執(zhí)行系統(tǒng)。在國內(nèi)外**和核心學術(shù)刊物上發(fā)表論文30余篇,獲發(fā)明專利3項,實用新型專利7項,湖北省自然科學獎三等獎1項。多次指導學生在中國機器人大賽、全國大學生智能車比賽、嵌入式系統(tǒng)設計比賽中獲得優(yōu)秀名次,并獲華中科技大學全國重大競賽和科技創(chuàng)新優(yōu)秀指導教師獎。
目 錄
第1章 ARM Cortex-M3處理器編程環(huán)境與嵌入式系統(tǒng) (1)
1.1 單片機與ARM Cortex-M3處理器 (1)
1.2 基于ARM Cortex-M3的STM32單片機教學開發(fā)板 (5)
任務一 獲得軟件 (7)
任務二 安裝軟件 (8)
任務三 硬件連接 (9)
1.3 創(chuàng)建工程和執(zhí)行程序 (11)
任務四 你的第一個工程 (11)
任務五 你的第一個程序 (15)
任務六 下載可執(zhí)行文件到教學開發(fā)板 (18)
任務七 用串口調(diào)試軟件查看單片機輸出信息 (25)
任務八 做完實驗關(guān)斷電源 (29)
工程素質(zhì)和技能歸納 (29)
第2章 STM32單片機I/O端口與伺服電機控制 (30)
2.1 STM32單片機的輸入/輸出端口 (30)
任務一 認識封裝 (30)
任務二 單燈閃爍控制 (33)
2.2 STM32單片機的時鐘配置 (36)
2.3 STM32單片機的I/O端口配置 (45)
任務三 該你了―讓另一個LED閃爍 (58)
任務四 流水燈 (59)
2.4 STM32單片機I/O端口的應用 (60)
任務五 機器人伺服電機控制信號 (60)
任務六 計數(shù)并控制循環(huán)次數(shù) (63)
任務七 用你的計算機來控制機器人運動 (66)
工程素質(zhì)和技能歸納 (68)
第3章 STM32單片機程序模塊化設計與機器人運動控制 (70)
3.1 STM32單片機程序調(diào)試方法 (70)
任務一 程序調(diào)試 (70)
3.2 STM32單片機程序模塊化設計 (78)
任務二 基本巡航動作 (79)
任務三 勻加速/減速運動 (82)
任務四 用函數(shù)調(diào)用簡化運動程序 (84)
任務五 高級主題―用數(shù)組建立復雜運動 (88)
工程素質(zhì)和技能歸納 (92)
第4章 STM32單片機中斷編程與機器人觸覺導航 (93)
4.1 STM32單片機按鍵輸入檢測 (93)
任務一 按鍵檢測 (94)
4.2 STM32單片機輸入端口的應用 (95)
任務二 安裝并測試機器人的觸覺―胡須 (95)
任務三 基于胡須的機器人觸覺導航 (100)
任務四 機器人進入死區(qū)后的人工智能決策 (103)
4.3 STM32單片機中斷編程 (107)
任務五 按鍵中斷 (112)
任務六 中斷方式測試機器人觸覺 (128)
工程素質(zhì)和技能歸納 (130)
第5章 STM32單片機輸入/輸出端口綜合應用與紅外導航 (132)
任務一 搭建電路并測試紅外發(fā)射器和接收器 (133)
任務二 探測和避開障礙物 (137)
任務三 高性能的紅外導航 (140)
任務四 俯視的探測器 (143)
工程素質(zhì)和技能歸納 (146)
第6章 STM32單片機定時器編程與機器人的距離檢測 (147)
6.1 STM32單片機通用定時器 (147)
任務一 通用定時器控制LED閃爍 (155)
6.2 STM32單片機通用定時器的應用 (158)
任務二 距離探測 (158)
任務三 尾隨小車 (162)
任務四 跟蹤條紋帶 (168)
6.3 STM32單片機高級控制定時器 (170)
任務五 高級控制定時器控制LED閃爍 (172)
任務六 使用高級控制定時器實現(xiàn)PWM控制 (174)
工程素質(zhì)和技能歸納 (182)
第7章 STM32單片機串口編程及其應用 (183)
7.1 STM32單片機串行通信接口 (183)
任務一 編寫串口通信程序 (188)
7.2 串行RS-232電平與TTL電平轉(zhuǎn)換 (190)
任務二 串口Echo回應程序 (194)
工程素質(zhì)和技能歸納 (198)
第8章 STM32單片機LCD顯示接口編程及其應用 (199)
8.1 LCD介紹 (199)
任務一 認識LCD模塊 (201)
8.2 STM32單片機LCD接口編程 (201)
任務二 編寫LCD模塊驅(qū)動程序 (206)
任務三 用LCD顯示機器人運動狀態(tài) (209)
工程素質(zhì)和技能歸納 (213)
第9章 STM32單片機模數(shù)轉(zhuǎn)換編程及其應用 (214)
9.1 A/D模數(shù)轉(zhuǎn)換介紹 (214)
任務一 認識傳感器 (216)
9.2 STM32單片機A/D轉(zhuǎn)換編程 (217)
任務二 編寫A/D程序 (224)
任務三 環(huán)境溫度測量 (226)
工程素質(zhì)和技能歸納 (231)
第10章 STM32單片機DMA編程及其應用 (232)
10.1 DMA介紹 (232)
10.2 STM32單片機DMA編程 (234)
任務一 利用DMA方式進行A/D數(shù)據(jù)采集 (238)
任務二 DMA與USART、ADC、定時器綜合編程 (242)
工程素質(zhì)和技能歸納 (246)
第11 章 STM32單片機實時時鐘編程及其應用 (247)
11.1 RTC實時時鐘介紹 (247)
任務一 進一步認識晶振 (249)
11.2 STM32單片機RTC的結(jié)構(gòu)和寄存器 (251)
11.3 STM32單片機的備份寄存器和電源控制寄存器 (255)
任務二 編寫RTC程序 (258)
任務三 RTC時間設置編程 (263)
任務四 鬧鐘提醒機器人編程 (271)
11.4 STM32單片機的侵入檢測 (275)
任務五 侵入檢測編程 (275)
11.5 STM32單片機的電源控制 (278)
任務六 電源控制編程 (281)
工程素質(zhì)和技能歸納 (284)
第12 章 STM32單片機看門狗編程及其應用 (285)
12.1 看門狗介紹 (285)
12.2 STM32單片機獨立看門狗編程 (287)
任務一 獨立看門狗編程 (289)
任務二 認識系統(tǒng)節(jié)拍定時器 (294)
12.3 STM32單片機窗口看門狗編程 (295)
任務三 窗口看門狗編程 (298)
工程素質(zhì)和技能歸納 (304)
第13 章 STM32單片機數(shù)模轉(zhuǎn)換編程及其應用 (305)
13.1 D/A數(shù)模轉(zhuǎn)換介紹 (305)
13.2 STM32單片機D/A結(jié)構(gòu)和編程方法 (307)
13.3 STM32單片機D/A轉(zhuǎn)換編程 (316)
任務一 三角波生成 (316)
任務二 噪聲生成 (321)
任務三 自定義波形生成 (322)
工程素質(zhì)和技能歸納 (324)
附錄A 本書所用STM32教學開發(fā)板主要電路圖 (325)
附錄B 基于ARM Cortex-M3的STM32微控制器原理歸納 (333)
B.1 基于ARM Cortex-M3內(nèi)核的STM32F10x微控制器結(jié)構(gòu) (333)
B.2 存儲映像地址 (337)
B.3 芯片編號和引腳說明 (344)
附錄C STM32固件庫說明 (351)
附錄D 本書所使用的器材清單 (365)
參考文獻 (367)