3dwoo大學簡體電腦書店
從零開始設計你的智能小車
( 簡體 字)
作者:胡青類別:1. -> 電子工程 -> 機器人
   2. -> 電腦組織與體系結構 -> 單晶片 -> STM32
出版社:清華大學出版社從零開始設計你的智能小車 3dWoo書號: 55879
詢問書籍請說出此書號!
缺書
NT售價: 295
出版日:5/1/2022
頁數:273
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787302598930 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章嵌入式系統概述
1.1單片機概述
1.1.1單片機的定義
1.1.2單片機與PC的對比
1.2嵌入式系統
1.3ARM是什么
1.3.1ARM公司簡介
1.3.2ARM架構、ARM內核與ARM單片機
1.3.3ARMCortexM3內核概述
第2章STM32F103單片機概述
2.1單片機的手冊
2.2STM32F103單片機體系結構概述
2.2.1ARMCortexM3內核
2.2.2STM32F103單片機系統架構
2.3什么是CMSIS
2.4STM32固件庫
基礎篇
第3章嵌入式程序設計中的C語言
3.1整型
3.1.1整型的位寬
3.1.2訪問硬件模塊的寄存器
3.2volatile關鍵字
3.2.1C語言編譯器的優化功能
3.2.2用volatile關鍵字避免優化
3.3結構體數據類型
3.3.1struct關鍵字
3.3.2訪問單片機片上外設寄存器
3.4枚舉數據類型
3.5static關鍵字
3.5.1靜態全局變量
3.5.2靜態局部變量
3.5.3靜態函數
3.6宏定義
3.7條件編譯與頭文件
3.7.1條件編譯指令
3.7.2頭文件
3.8變量在哪里
3.8.1堆、棧和靜態區
3.8.2單片機中變量的存儲空間分配
第4章第一個STM32項目
4.1開發環境與所需硬件
4.1.1搭建開發環境
4.1.2所需硬件
4.1.3所需工具
4.2創建第一個項目
4.3下載與調試程序
4.3.1安裝仿真器驅動
4.3.2在Keil軟件中配置仿真器
4.3.3編譯下載程序
4.3.4Debug調試程序
第5章深入了解項目模板
5.1啟動文件的作用
5.1.1定義棧和堆
5.1.2定義中斷向量表
5.1.3定義復位中斷子程序
5.2單片機的時鐘初始化
5.3stm32f10x.h頭文件的作用
5.4項目中的文件管理
5.4.1CMSIS固件庫文件
5.4.2項目中的系統文件
5.4.3項目中的用戶文件
第6章按鍵與小燈的控制——GPIO模塊
6.1GPIO的輸入/輸出模式
6.1.1小燈與GPIO輸出模式
6.1.2按鍵與GPIO輸入模式
6.2GPIO的編程操作
6.2.1GPIO寄存器
6.2.2GPIO庫函數
6.2.3GPIO的按位操作——位帶別名區
6.3應用實例——8段LED顯示控制
6.3.1一位8段LED顯示控制
6.3.2多位8段LED顯示控制
6.4IO引腳的電氣特性
6.4.1TTL電平
6.4.2CMOS電平
6.4.3IO引腳的電氣特性
6.4.4IO引腳控制外設
6.5IO引腳的復用功能AFIO
6.5.1IO引腳的復用功能
6.5.2AFIO重映射功能的編程操作
6.5.3調試端口的重映射功能
第7章秒表的實現——基本定時器
7.1定時器原理概述
7.2基本定時器的工作原理
7.2.1基本定時器的結構
7.2.2基本定時器的時鐘源
7.2.3基本定時器的計數模式
7.2.4定時時間的計算
7.2.5ARR寄存器的預裝載功能
7.3基本定時器的編程操作
7.3.1TIM6、TIM7的相關寄存器
7.3.2基本定時器的相關庫函數
7.4秒表的設計與實現
7.4.1秒表功能分析
7.4.2硬件選型
7.4.3硬件設計
7.4.4軟件設計
第8章中斷及中斷管理器NVIC
8.1中斷基本概念
8.1.1中斷的定義
8.1.2中斷向量表
8.1.3中斷優先級與中斷嵌套
8.2STM32單片機的中斷管理
8.2.1中斷源與中斷向量表
8.2.2內核中開放/禁止中斷
8.2.3中斷控制器NVIC
8.3中斷處理過程及相關接口庫
8.3.1片上硬件中斷處理過程
8.3.2中斷處理庫函數總結
8.4應用實例——中斷方式實現秒表計時
8.4.1定時器的更新中斷
8.4.2中斷機制實現計時
第9章按鍵觸發中斷——EXTI模塊
9.1外部中斷/事件模塊EXTI
9.1.1EXTI功能
9.1.2EXTI寄存器
9.1.3EXTI的相關庫函數
9.1.4EXTI初始化步驟及中斷響應過程
9.2設計實例——中斷方式處理秒表按鍵
9.2.1分段計時功能
9.2.2硬件設計
9.2.3軟件設計
提高篇
第10章讓小車跑起來——PWM調速
10.1通用定時器的基本定時功能
10.1.1通用定時器概述
10.1.2通用定時器的時鐘源
10.1.3通用定時器的計數模式
10.1.4通用定時器的從模式
10.1.5相關寄存器
10.1.6相關庫函數
10.1.7設計實例——檢測信號頻率
10.2通用定時器的PWM輸出模式
10.2.1PWM信號
10.2.2捕獲比較通道
10.2.3PWM輸出模式
10.2.4相關寄存器
10.2.5相關庫函數
10.3電動機驅動芯片L298N
10.3.1直流電動機驅動模塊L298N
10.3.2單片機控制L298N
10.4應用實例——小車設計
10.4.1小車的硬件設計
10.4.2小車的軟件設計
實踐篇
第11章避障小車——超聲波測距
11.1超聲波測距原理
11.1.1基本原理
11.1.2HCSRF05測距模塊
11.1.3單片機控制超聲波測距模塊
11.2通用定時器的輸入捕獲功能
11.2.1輸入捕獲的基本原理
11.2.2相關寄存器
11.2.3相關庫函數
11.2.4應用實例——捕獲方式實現測距
11.3嘀嗒定時器實現定時測距
11.3.1嘀嗒定時器
11.3.2嘀嗒定時器的寄存器
11.3.3相關庫函數
11.3.4嘀嗒定時器實現定時測距
第12章遙控小車——藍牙遙控
12.1藍牙技術
12.1.1發展歷史
12.1.2基本特性
12.2HC05藍牙模塊
12.2.1功能概述
12.2.2工作原理
12.2.3AT命令
12.2.4PC串口配置藍牙模塊
12.3UART串口通信
12.3.1串口通信基本概念
12.3.2UART模塊概述
12.3.3相關寄存器
12.3.4相關庫函數
12.4應用實例
12.4.1單片機與PC之間的串口通信
12.4.2單片機與手機之間的藍牙通信
第13章智能小車設計方案分析
13.1避障小車設計方案
13.1.1小車功能規劃
13.1.2硬件選型
13.1.3硬件設計分析
13.1.4軟件設計分析
13.2遙控小車設計方案
13.2.1小車功能規劃
13.2.2硬件需求分析
13.2.3硬件設計分析
13.2.4軟件設計分析
習題
參考文獻
《從零開始設計你的智能小車》從“實戰”出發,以STM32F103VET6單片機為對象,以C語言為開發語言,詳細講解如何在CMSIS固件庫基礎上完成嵌入式應用系統的開發。通過本書的學習,讀者能夠初步了解嵌入式系統設計中的硬件設計和軟件設計,掌握硬件和軟件調試技巧,具備設計、規劃和實現一個簡單嵌入式應用系統的能力。
全書以“智能小車設計”作為主線,內容分為基礎篇、提高篇和實踐篇三個層次。“基礎篇”介紹嵌入式開發的基本常識、系統架構等。“提高篇”以小車功能需求為目標來組織各章節內容,每一章實現智能小車的一個功能。“實踐篇”從應用系統設計規劃的角度出發,通過兩個不同的“智能小車”系統設計實例,從功能設計規劃開始,經過硬件需求分析與選型、硬件設計與供電設計,到軟件設計、系統測試,詳細講解從設計規劃到開發實現的完整過程。側重分析設計思路、設計方法,以及項目的組織架構,培養作為系統開發工程師而應該具備的“全局觀”和從系統層面分析、分解系統功能的能力。
本書可作為高等院校自動化、電氣工程等相關專業的教材,也可作為嵌入式開發愛好者的入門書籍。
2014年,教育部推動“卓越工程師教育培養計劃”,重慶大學自動化學院建立了“卓越計劃”實驗班。為了適應“卓越計劃”加強培養學生工程素養的要求,2017年,我為實驗班開設了全新的“嵌入式技術與應用”課程。課程注重實踐,引導學生建立工程師的思維方式,培養設計、規劃、開發嵌入式應用系統的能力。課程選擇主流的32位ARM CortexM3內核STM32F103VET6單片機為對象,以C語言為開發語言,詳細講解如何在CMSIS固件庫基礎上完成嵌入式應用系統的開發。
通過幾屆的教學實踐,課程取得了比較滿意的效果,學生們認為課程培養了他們的動手能力,使他們初步掌握了嵌入式開發技術,很多同學將課程所學的知識應用在競賽和SRTP、國創項目,取得了較好的成績。以課程內容為基礎,結合教學中發現的問題以及學生實踐中的反饋,形成了本書的主體內容。
本書以“智能小車設計”作為主線,分為基礎篇、提高篇和實踐篇三個層次。“基礎篇”介紹嵌入式系統的基本概念、單片機系統架構、CMSIS庫基本結構等,重點講解嵌入式系統開發的基礎知識、常用的片上硬件模塊,包括GPIO模塊、基本定時器以及嵌套向量中斷控制器NVIC等。“提高篇”以小車功能需求為主線,每章實現小車的一個功能。內容安排由淺入深,“按需學習”,即針對具體的功能需求,選擇合適的擴展硬件模塊。為了控制拓展的硬件模塊而學習片上硬件的相關功能,了解與該功能相關的寄存器和接口函數,掌握基于庫函數的嵌入式開發技術。每章都有設計實例,詳細分析實例項目的硬件設計和軟件設計。在開發實例的講解上,突出單片機“參考手冊”“數據手冊”的作用。從項目開發的角度,分析項目文件的組織結構,接口函數的設計。“實踐篇”從應用系統設計規劃的角度出發,通過兩個不同的“智能小車”設計,從功能設計規劃開始,到硬件需求分析與選型、硬件設計與供電設計、軟件設計與測試,詳細講解從設計規劃到開發實現的完整過程。重點分析設計思路、設計方法,以及項目的組織架構,培養作為系統開發工程師應該具備的“全局觀”和從系統層面分析、分解系統功能的能力。
本書面向對嵌入式系統開發有興趣的讀者,只要有C語言的編程經驗即可,無需更多的軟硬件開發經驗。本書以“單片機最小系統板+相關硬件小模塊”的方式搭建硬件平臺,而不是直接購買一塊昂貴的開發板,書中用到的所有硬件模塊都很容易在網絡平臺上購買到,并且有很多可互相替換的硬件模塊可供選擇。新手做硬件設計難免會出錯,在教學過程中,每一屆都有學生因失誤而燒毀硬件,最小系統板、8段LED、L298N等都損壞過,甚至小車都撞壞過,這很正常。學習游泳怎能不嗆水,但是如果損壞的硬件價格昂貴,這就很“痛”了。集成了所有外擴硬件的開發板成本太高,一旦損壞就會給學習者帶來高昂的成本損失,也會對其造成很大的心理壓力,使其在學習和使用的過程中畏首畏尾。本書選擇“最小系統板+硬件模塊”的方式,每一個硬件模塊的價格都不高,減輕學習者的經濟壓力和心理負擔,使其更能勇于嘗試。這種方式能鍛煉學習者動手做硬件設計的能力,硬件設計對嵌入式系統設計來說是非常重要的部分。
本書的配套資料中給出了開發軟件、單片機手冊、芯片數據手冊、硬件模塊資料等,還有教學大綱、教學課件、講解視頻、參考例程等,尤其是每個參考例程都配有視頻講解,說明所需要的硬件如何連接,分析程序結構,演示實驗現象。學習了相關章節內容后,按照視頻講解,逐步操作,就能復現實驗現象。在“吃透”參考例程的基礎上,邊學習邊實踐,最終一定能夠設計并實現自己的智能小車,這時就能真正體會到開發嵌入式系統的樂趣。
胡青
2022年2月
于重慶大學

教學大綱+教學課件

參考例程

開發軟件+單片機手冊+

硬件模塊資料
pagetop