-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

基于ARM Cortex-M3 的STM32系列嵌入式微控制器應用實踐(第2版)

( 簡體 字)
作者:彭剛,秦志強,姚昱類別:1. -> 電腦組織與體系結構 -> 單晶片 -> STM32
譯者:
出版社:電子工業出版社基于ARM Cortex-M3 的STM32系列嵌入式微控制器應用實踐(第2版) 3dWoo書號: 45887
詢問書籍請說出此書號!

缺書
NT售價: 275

出版日:11/1/2016
頁數:380
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121304354
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

第2版前言
“工作導向創新實踐教材”系列叢書距今已出版十年,得到了許多高等本科院校和職業技術學院的關心與厚愛,在此感謝所有使用過此系列叢書的讀者。
工作導向的概念,不只是一個簡單的概念游戲,而是包含了深刻的哲理。學習的目的,特別是對于未來想從事工程師職業的學生而言,不僅僅是學習某一個知識體系,如單片機的知識體系或者C語言的知識體系,而是應該更進一步,是要獲得如何利用這些知識去解決實際工程問題的能力,也就是動手實踐能力。《論工程教育的科學主導與工程回歸》(秦志強著,高等工程教育研究,2005年5期)一文中指出:抽象的“道”(知識)必須與實際的系統結合,才能發揮其作用。本書編著者經與多位企業經理探討,總結出圖1所示的“嵌入式與電子工程師能力與素質培養體系架構圖”。

圖1 嵌入式與電子工程師能力與素質培養體系架構圖

傳統的嵌入式系統教材,基本上都是為了給學生建立知識體系,教學的結果卻是不僅知識體系建立不起來,動手能力就更不用提了。工程師是為了解決問題,這種解決問題的能力只有從實踐中才能獲得。同時,單純的實踐也無法獲得真正的能力,關鍵是如何從實踐的經驗和體會中,歸納出共性的知識,建立起知識體系,然后再將這些知識重新應用到新的實踐中去。這也是當今的大學生要在未來的實際工作(無論是在企業研發還是在高校做研究)中所必須采取的學習和工作方法。因此,如何在大學三年或者四年中,掌握這種自我學習和提高的方法,是高等教育和工程教育改革的根本目的。而相應教材的編寫,就是應該按照這種在未來的實際工作中學習和工作的方法來編寫。做到了這一點,才是真正實踐了工作導向的哲學理念:實踐、歸納、總結和再實踐。
因此,在使用“工作導向創新實踐教材”系列叢書時,可以圍繞典型的“工程對象或產品”,采用“基于工作過程”的教學法,按照“任務驅動-實踐-歸納-總結-再實踐”的教學模式進行教學,打破“講課+實驗”的傳統教學模式,使學生在“學中做、做中學”,這樣才能歸納、理解、總結出共性的知識,并建立起某個領域的知識體系。
單片機和C語言是目前嵌入式技術、計算機技術、電子信息、自動控制、工業電氣、機電一體化等工程教育中最為基本,也是最為核心的課程。要學會利用單片機和C語言去解決實際問題,掌握核心知識和技能,單單靠一兩本好的教材是無法實現的。學習基于ARM Cortex-M3內核的32位STM32單片機,對于單片機和C語言基礎較弱的同學或者個人而言,也許會感覺比較困難。這時建議你先學習和實踐本系列教材的《C51單片機應用與C語言程序設計》或《單片機嵌入式系統編程與接口設計實踐》。掌握好編程的基本思路和方法,并了解單片機的輸入和輸出接口特性,然后再使用本教材學習。同時,本系列教材還有《AVR單片機與小型機器人制作》。對于同樣的項目和課題,采用了不同的微控制器或微處理器去實現,讓你能夠從中掌握和理解分析問題和解決問題的根本方法,讓教師和同學可以根據教學安排和自己的需要選擇硬件平臺。
只有學習完單片機和C語言并已經很好地掌握其中的知識點,才有可能進一步學習ARM、Linux等高級嵌入式課程。為此,在這套“工作導向創新實踐教材”系列叢書中,形成從電子技術和C語言基礎入門,到8位AVR或者51單片機,再到傳感器應用,最后到32位ARM單片機等高端嵌入式系統的系列化教材,讓同學們可以從一個沒有任何基礎的學生循序漸進成長為可以進行復雜嵌入式系統設計和開發的工程師。
本教材可作為具有單片機和C語言基礎的大學三年級以上學生學習用書,還可以供其他希望學習嵌入式系統設計的工程師和愛好者使用。因為是工作導向,我們以兩輪小型移動機器人的構思(Conceive)、設計(Design)、實施(Implement)、運行(Operate)為典型項目,所以每套教材最好配套相應的硬件設備方能達到最佳的教學和學習效果。一些拓展項目需要用到電子元器件和傳感器,詳細的清單可參考本書最后的附錄D。
從我接觸ARM開始,就非常喜歡這個嵌入式處理器,從ARM7,到ARM9和ARM11,以及后來的ARM Cortex,并切身參與和體會到ARM技術在我們身邊的應用:消費電子、手機、工業測控、機器人控制、無人機、智能硬件、可穿戴設備、新能源、汽車電子、智能家居、物聯網、無線傳感器網絡、醫療電子和航空航天系統。2008年暑期,在華中科技大學召開的嵌入式技術研討會上,時任ARM中國總裁譚軍博士與筆者交流了ARM Cortex內核在MCU方面的應用情況,筆者感覺到這個內核的廣闊前景,因為越來越多的MCU應用對信號采集、人機界面、通信接口提出了更高的要求。這些年越來越多地發現:大多數學習ARM處理器的學生或者個人上手較困難。個人感覺其中一個原因可能是ARM嵌入式處理器將內部總線分為不同速度總線:AHB和APB,即高速的系統總線和慢速的外設總線,其實這相當于PC主板中的北橋芯片所外接的高速系統總線和南橋芯片所接的外設總線。基于ARM Cortex內核的MCU內部結構與普通的8/16位單片機在系統結構上最大的區別就在這里。一般的單片機只有1個系統時鐘頻率,而基于ARM Cortex的MCU可以給內核和不同外設模塊提供不同的時鐘頻率,加上片內各種外設眾多(集成度高),于是多了很多在普通的8/16位單片機領域中沒有的內容(如DMA等),造成了難學的局面。筆者建議讀者可以先嘗試簡單了解一下ARM7或ARM9的體系結構,畢竟Cortex內核是基于ARMv7的,而ARM7嵌入式處理器使用的是ARMv4,ARM9嵌入式處理器使用的是ARMv4或者ARMv5體系結構,ARM10嵌入式處理器使用的是ARMv5,ARM11嵌入式處理器使用的是ARMv6體系結構,因此,ARM Cortex內核要先進和復雜些。
為了降低學習難度,本書各章節在講述具體內容時,以任務為驅動,通過“學中做、做中學”,即DIY(Do It Yourself)和LBD(Learning By Doing)的方式,介紹和講解所需要用到的新知識、新技能,按照認識論的規律學習和掌握基于ARM Cortex-M3內核的STM32單片機技術及其應用編程。有別于數據手冊式的教材,本書將ARM Cortex-M3內核介紹、STM32單片機的內部結構等原理性的內容列出在附錄B中,各個章節也沒有繁冗的寄存器說明(參見ST公司網頁上的數據手冊或本書配套資料),旨在突出重點。每章都有一些讀者可能在學習過程中涉及的相關知識的講解,希望讀者能掌握一些背景知識,并且最后都有工程素質和技能歸納,啟發學生進行知識的歸納和系統化。同時,附錄B中也對STM32單片機原理性的內容做了進一步的解釋和歸納,其內容很重要,務必引起注意。
無論是大學本科還是高職院校,都可以采用本教材,具體的教學安排完全可以根據學校原有的教學計劃,只是上課的方式要進行調整,不必再單獨開設理論和實驗課程,項目拓展課程可以根據每個學校的情況靈活設置,沒有必要統一。老師可在教學過程中增加一系列競賽環節,使整個教學和學習過程充滿挑戰和樂趣,提高學習效果,并培養每個學生的理論聯系實際、科學主導工程的系統世界觀和方法論。
另外,書中各章有關內容有意將中文和英文進行對照,同時部分表格采用英文(參考芯片英文數據手冊),一是為了讓讀者準確知道其含義,并掌握一定的嵌入式系統專業術語;二是希望讀者在編程時不要用“漢語拼音”來定義變量和函數名,養成良好的編碼風格,畢竟程序是用英文寫的。本書例程文件名及代碼也是如此。在幫助讀者循序漸進地掌握STM32單片機原理與應用的同時,筆者也希望通過這種“任務驅動”的方式,引導讀者了解如何去探索并學習新的技術,可能是你在學校里沒有學到的,因為在這個技術發展迅速的世界,今后你自己可能會接觸到各種最新的技術,資料是中文或英文的。這樣做也是作為老師的一份責任:不僅僅授人以魚,更要授人以“漁”。
本書的內容主要包括STM32單片機的時鐘、IO、中斷、定時器、串口、顯示接口、ADC、DMA、RTC、電源控制、看門狗、DAC等,但沒有涉及CAN、USB、uCOS移植等方面的內容(包含在高級實踐教材中)。讀者從本書中掌握了STM32單片機的基本原理后,加上良好的編程基礎和學習方法,可以進一步學習這些內容。本書提供了基于V1.0版和V2.0版STM32固件庫(FWLib)的參考例程,書中各章例程基于V1.0版固件庫,但由于STM32固件庫的優秀架構,使得用戶應用程序的代碼無須修改或少量修改,就可以在這兩個版本固件庫下運行。目前(2016年9月)STM32單片機最新版本的固件庫為V4.0版,相比V1.0版和V2.0版,從V3.0版開始,固件庫改動較大。若要升級到目前常用的V3.5版或V4.0版固件庫,可參考ST公司的在線資料。
同時,本書大量參考和引用了ARM公司的技術參考手冊和ST公司的芯片數據手冊,這些已經得到了ARM公司和ST公司的授權。所附配套資源包含開發工具、教學開發板硬件資料、基于V1.0版和V2.0版FWLib的各章例程源碼、原版中英文數據手冊、本書涉及的部分STM32微控制器寄存器說明,以及第三方軟件和工具等,讀者可以從華信教育資源網網站免費下載。
內容簡介:

本書按照工作導向的思路,通過"學中做、做中學”,循序漸進地講解微控制器、傳感器電路和STM32單片機軟件,傳授STM32單片機的外圍引腳特性、內部結構原理、片上外設資源、開發設計方法和應用軟件編程等知識,同時增加了嵌入式系統中的OS、文件系統、SD卡和U盤存儲、Net通訊等內容,修訂后的教材解決了大多數學習ARM處理器的學生或者個人上手困難、傳統書籍抽象與難學的問題。但隨著技術的發展,原教材僅面向ARM Cortex-M3核進行講解,而ARM Cortex-M核已發展到M4了,且集成度越來越高,嵌入式系統中的OS、文件系統、SD卡和U盤存儲、Net通訊等方面在原教材中都沒有涉及。

目錄:

第1章 ARM Cortex-M3處理器編程環境與嵌入式系統 (1)
1.1 單片機與ARM Cortex-M3處理器 (1)
1.2 基于ARM Cortex-M3的STM32單片機教學開發板 (5)
任務一 獲得軟件 (7)
任務二 安裝軟件 (8)
任務三 硬件連接 (9)
1.3 創建工程和執行程序 (11)
任務四 你的第一個工程 (11)
任務五 你的第一個程序 (15)
任務六 下載可執行文件到教學開發板 (18)
任務七 用串口調試軟件查看單片機輸出信息 (25)
任務八 做完實驗關斷電源 (29)
工程素質和技能歸納 (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)
任務六 計數并控制循環次數 (63)
任務七 用你的計算機來控制機器人運動 (66)
工程素質和技能歸納 (68)
第3章 STM32單片機程序模塊化設計與機器人運動控制 (70)
3.1 STM32單片機程序調試方法 (70)
任務一 程序調試 (70)
3.2 STM32單片機程序模塊化設計 (78)
任務二 基本巡航動作 (79)
任務三 勻加速/減速運動 (82)
任務四 用函數調用簡化運動程序 (84)
任務五 高級主題—用數組建立復雜運動 (88)
工程素質和技能歸納 (92)
第4章 STM32單片機中斷編程與機器人觸覺導航 (93)
4.1 STM32單片機按鍵輸入檢測 (93)
任務一 按鍵檢測 (94)
4.2 STM32單片機輸入端口的應用 (95)
任務二 安裝并測試機器人的觸覺—胡須 (95)
任務三 基于胡須的機器人觸覺導航 (100)
任務四 機器人進入死區后的人工智能決策 (103)
4.3 STM32單片機中斷編程 (107)
任務五 按鍵中斷 (112)
任務六 中斷方式測試機器人觸覺 (128)
工程素質和技能歸納 (130)
第5章 STM32單片機輸入/輸出端口綜合應用與紅外導航 (132)
任務一 搭建電路并測試紅外發射器和接收器 (133)
任務二 探測和避開障礙物 (137)
任務三 高性能的紅外導航 (140)
任務四 俯視的探測器 (143)
工程素質和技能歸納 (146)
第6章 STM32單片機定時器編程與機器人的距離檢測 (147)
6.1 STM32單片機通用定時器 (147)
任務一 通用定時器控制LED閃爍 (155)
6.2 STM32單片機通用定時器的應用 (158)
任務二 距離探測 (158)
任務三 尾隨小車 (162)
任務四 跟蹤條紋帶 (168)
6.3 STM32單片機高級控制定時器 (170)
任務五 高級控制定時器控制LED閃爍 (172)
任務六 使用高級控制定時器實現PWM控制 (174)
工程素質和技能歸納 (182)
第7章 STM32單片機串口編程及其應用 (183)
7.1 STM32單片機串行通信接口 (183)
任務一 編寫串口通信程序 (188)
7.2 串行RS-232電平與TTL電平轉換 (190)
任務二 串口Echo回應程序 (194)
工程素質和技能歸納 (198)
第8章 STM32單片機LCD顯示接口編程及其應用 (199)
8.1 LCD介紹 (199)
任務一 認識LCD模塊 (201)
8.2 STM32單片機LCD接口編程 (201)
任務二 編寫LCD模塊驅動程序 (206)

任務三 用LCD顯示機器人運動狀態 (209)
工程素質和技能歸納 (213)
第9章 STM32單片機模數轉換編程及其應用 (214)
9.1 A/D模數轉換介紹 (214)
任務一 認識傳感器 (216)
9.2 STM32單片機A/D轉換編程 (217)
任務二 編寫A/D程序 (224)
任務三 環境溫度測量 (226)
工程素質和技能歸納 (231)
第10章 STM32單片機DMA編程及其應用 (232)
10.1 DMA介紹 (232)
10.2 STM32單片機DMA編程 (234)
任務一 利用DMA方式進行A/D數據采集 (238)
任務二 DMA與USART、ADC、定時器綜合編程 (242)
工程素質和技能歸納 (246)
第11 章 STM32單片機實時時鐘編程及其應用 (247)
11.1 RTC實時時鐘介紹 (247)
任務一 進一步認識晶振 (249)
11.2 STM32單片機RTC的結構和寄存器 (251)
11.3 STM32單片機的備份寄存器和電源控制寄存器 (255)
任務二 編寫RTC程序 (258)
任務三 RTC時間設置編程 (263)
任務四 鬧鐘提醒機器人編程 (271)
11.4 STM32單片機的侵入檢測 (275)
任務五 侵入檢測編程 (275)
11.5 STM32單片機的電源控制 (278)
任務六 電源控制編程 (281)
工程素質和技能歸納 (284)
第12 章 STM32單片機看門狗編程及其應用 (285)
12.1 看門狗介紹 (285)
12.2 STM32單片機獨立看門狗編程 (287)
任務一 獨立看門狗編程 (289)
任務二 認識系統節拍定時器 (294)
12.3 STM32單片機窗口看門狗編程 (295)
任務三 窗口看門狗編程 (298)
工程素質和技能歸納 (304)
第13 章 STM32單片機數模轉換編程及其應用 (305)
13.1 D/A數模轉換介紹 (305)
13.2 STM32單片機D/A結構和編程方法 (307)
13.3 STM32單片機D/A轉換編程 (316)
任務一 三角波生成 (316)
任務二 噪聲生成 (321)
任務三 自定義波形生成 (322)
工程素質和技能歸納 (324)
附錄A 本書所用STM32教學開發板主要電路圖 (325)
附錄B 基于ARM Cortex-M3的STM32微控制器原理歸納 (333)
B.1 基于ARM Cortex-M3內核的STM32F10x微控制器結構 (333)
B.2 存儲映像地址 (337)
B.3 芯片編號和引腳說明 (344)
附錄C STM32固件庫說明 (351)
附錄D 本書所使用的器材清單 (365)
參考文獻 (367)
序: