嵌入式微處理器程序設計——從Arduino到ARM( 簡體 字) | |
作者:唐光義 高俊鋒 沙晨明 | 類別:1. -> 電腦組織與體系結構 -> 單晶片 -> Arduino 2. -> 電腦組織與體系結構 -> 嵌入式系統 -> Cortex |
出版社:人民郵電出版社 | 3dWoo書號: 56067 詢問書籍請說出此書號! 有庫存 NT售價: 350 元 |
出版日:9/1/2022 | |
頁數:252 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115593986 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
【章名目錄】
01 初識ARM微處理器 1 02 Arduino Due簡介 17 03 Arduino編程基礎 32 04 基于Arduino的應用開發 53 05 ARM編程基礎 76 06 Cortex-M3微處理器 96 07 Thumb-2指令集 114 08 PIO接口 141 09 異常處理 157 10 定時/計數器TC 182 11 UART 199 12 ADC 216 13 DAC 237 【詳細目錄】 01 初識ARM微處理器 1 1.1 ARM微處理器概述 1 1.1.1 ARM公司的發展歷史 2 1.1.2 ARM微處理器的架構 3 1.1.3 ARM微處理器的特點 6 1.1.4 ARM微處理器的應用領域 6 1.2 ARM微處理器的開發工具 8 1.2.1 交叉編譯環境 8 1.2.2 軟件開發工具 9 1.2.3 硬件開發工具 12 1.3 ARM微處理器的開發方法簡介 13 1.3.1 基于Arduino的應用開發 13 1.3.2 基于CMSIS的應用開發 14 思考與練習 16 02 Arduino Due簡介 17 2.1 Arduino Due概述 17 2.2 功能特點 18 2.3 參數規格 19 2.4 硬件平臺的結構 20 2.4.1 元件布局 20 2.4.2 連接器 20 2.4.3 跳線器 21 2.5 硬件電路的設計原理 21 2.5.1 微處理器電路 21 2.5.2 電源電路 23 2.5.3 復位電路 25 2.5.4 時鐘源電路 25 2.5.5 LED顯示電路 25 2.5.6 JTAG接口電路 26 2.5.7 SWD接口電路 26 2.5.8 電源擴展接口電路 27 2.5.9 I/O擴展接口電路 27 2.5.10 USB接口電路 28 2.5.11 USB轉串口電路 29 2.5.12 擦除按鍵接口電路 30 2.5.13 TWI電路 30 2.5.14 SPI電路 30 思考與練習 31 03 Arduino編程基礎 32 3.1 搭建Arduino開發環境 32 3.1.1 安裝Arduino IDE 32 3.1.2 Arduino IDE結構 34 3.1.3 Arduino IDE的主界面 35 3.2 Arduino編程語言基礎 39 3.2.1 語法符號 40 3.2.2 數據類型 41 3.2.3 常量與變量 42 3.2.4 控制結構 44 3.3 Arduino程序的結構 47 3.4 Arduino入門項目——Blink 48 3.4.1 實驗材料 48 3.4.2 硬件電路 48 3.4.3 連接硬件電路并安裝驅動 48 3.4.4 編輯程序 50 3.4.5 設置開發板及串行通信接口 50 3.4.6 編譯程序 51 3.4.7 下載并運行程序 51 思考與練習 52 04 基于Arduino的應用開發 53 4.1 數字量I/O 53 4.1.1 數字量I/O函數 53 4.1.2 編程實驗:鍵控流水燈 54 4.2 模擬量I/O 56 4.2.1 模擬量輸入函數 56 4.2.2 編程實驗:光強度自動報警系統 57 4.2.3 模擬量輸出函數 58 4.2.4 編程實驗:簡易調色LED燈 59 4.2.5 編程實驗:三角波發生器 61 4.3 串行通信 61 4.3.1 串行通信接口函數 62 4.3.2 編程實驗:回音壁 66 4.4 中斷處理 67 4.4.1 中斷處理函數 67 4.4.2 編程實驗:鍵控LED燈 68 4.4.3 編程實驗:中斷方式的回音壁 69 4.4.4 編程實驗:控制中斷 70 4.5 其他功能函數 72 4.5.1 時間函數 72 4.5.2 高級I/O操作函數 72 4.5.3 編程實驗:測量程序的執行時間 73 4.5.4 編程實驗:74HC595芯片驅動多路LED燈 74 思考與練習 75 05 ARM編程基礎 76 5.1 ARM編程與Arduino編程的比較 76 5.1.1 Arduino編程的局限性 76 5.1.2 Arduino引腳 77 5.2 ARM開發工具概述 78 5.2.1 MDK概述 78 5.2.2 ULINK 2概述 81 5.3 ARM編程入門向導 81 5.3.1 MDK環境簡介 81 5.3.2 簡單工程示例 86 思考與練習 95 06 Cortex-M3微處理器 96 6.1 Cortex-M3微處理器內核 96 6.1.1 Cortex-M3微處理器內核簡介 98 6.1.2 三級流水線 99 6.1.3 總線系統 100 6.2 Cortex-M3微處理器工作模式和訪問級別 101 6.3 Cortex-M3寄存器組成 103 6.3.1 通用寄存器R0~R12 103 6.3.2 通用寄存器R13 104 6.3.3 通用寄存器R14 104 6.3.4 通用寄存器R15 105 6.3.5 特殊功能寄存器 105 6.4 存儲器系統 109 6.4.1 存儲器映射 109 6.4.2 位帶操作 110 6.4.3 非對齊數據傳送 113 思考與練習 113 07 Thumb-2指令集 114 7.1 Thumb-2指令集概述 114 7.2 尋址方式 116 7.3 Thumb-2指令集分類 121 7.4 Thumb-2常用指令詳細介紹 122 7.4.1 數據傳送指令 122 7.4.2 存儲器訪問指令 123 7.4.3 算術運算指令 126 7.4.4 邏輯運算指令 130 7.4.5 比較和測試指令 131 7.4.6 子程序調用與無條件轉移指令 132 7.4.7 移位指令 134 7.4.8 符號擴展指令 134 7.4.9 字節調序指令 135 7.4.10 位操作指令 136 7.4.11 飽和運算指令 137 7.4.12 隔離指令 139 7.4.13 If-Then指令 140 思考與練習 140 08 PIO接口 141 8.1 PIO接口概述 141 8.2 PIO接口結構 143 8.3 PIO接口的基本功能 144 8.3.1 輸出控制 145 8.3.2 輸入控制 146 8.4 PIO接口的寄存器描述 147 8.5 PIO接口的輸入/輸出操作 152 8.5.1 PIO接口的數據結構 152 8.5.2 PIO接口的操作步驟 154 8.5.3 編程實驗:鍵控燈 154 思考與練習 156 09 異常處理 157 9.1 異常類型 158 9.2 異常優先級 164 9.2.1 優先級的定義 164 9.2.2 優先級分組 165 9.3 異常向量表 166 9.4 異常處理過程 167 9.4.1 異常響應過程 167 9.4.2 異常處理返回過程 169 9.4.3 特殊情況的處理 169 9.5 NVIC 171 9.6 異常處理的基本操作 178 9.6.1 異常處理的數據結構 178 9.6.2 異常處理的操作步驟 179 9.6.3 編程實驗:定時閃爍燈 179 思考與練習 181 10 定時/計數器TC 182 10.1 定時/計數器概述 182 10.2 定時/計數器的工作原理 184 10.2.1 定時/計數器工作模式 184 10.2.2 時鐘的選擇和控制 185 10.2.3 觸發器 187 10.2.4 捕獲模式 187 10.2.5 波形模式 188 10.3 定時/計數器的寄存器描述 194 10.4 定時/計數器的基本操作 195 10.4.1 定時/計數器的數據結構 195 10.4.2 定時/計數器的操作步驟 196 10.4.3 編程實驗:呼吸燈 196 思考與練習 198 11 UART 199 11.1 UART概述 199 11.2 UART的基本功能 200 11.3 UART的寄存器描述 206 11.4 UART通信的基本操作 212 11.4.1 UART的數據結構 212 11.4.2 UART的操作步驟 212 11.4.3 編程實驗:回音壁 213 思考與練習 215 12 ADC 216 12.1 ADC概述 216 12.1.1 ADC的工作原理 216 12.1.2 ADC的分類和特點 217 12.1.3 ADC的主要技術指標 218 12.2 ADC的結構 219 12.2.1 內部結構圖 219 12.2.2 ADC的主要特性 220 12.2.3 基本信號描述 220 12.3 ADC的基本功能 221 12.3.1 模數轉換過程 221 12.3.2 分辨率設置 222 12.3.3 轉換結果 222 12.3.4 觸發轉換的類型 222 12.3.5 睡眠模式和序列轉換器 222 12.4 ADC的寄存器描述 223 12.5 ADC的基本操作 231 12.5.1 ADC的數據結構 231 12.5.2 ADC的操作步驟 232 12.5.3 編程實驗:電壓表 233 思考與練習 236 13 DAC 237 13.1 DAC概述 237 13.1.1 DAC的工作原理 237 13.1.2 DAC的分類 238 13.1.3 DAC的主要技術指標 239 13.2 DAC的結構 239 13.2.1 內部結構圖 239 13.2.2 DAC的主要特性 240 13.2.3 基本信號描述 240 13.3 DAC的基本功能 241 13.3.1 數模轉換過程 241 13.3.2 工作時序 242 13.4 DAC的寄存器描述 243 13.5 DAC的基本操作 250 13.5.1 DAC的數據結構 250 13.5.2 DAC的操作步驟 250 13.5.3 編程實驗:方波發生器 251 思考與練習 252 本書以開源硬件平臺Arduino Due為教學實驗平臺,以ARM芯片SAM3X8E為對象,介紹了ARM微處理器編程的方法和流程。本書內容包括ARM微處理器的發展歷史、應用領域、分類以及ARM微處理器的軟件開發工具和硬件開發工具,涵蓋了ARM微處理器的兩種編程模式:Arduino編程和ARM編程。本書內容由易到難,講解循序漸進,并且提供了大量翔實的應用實例供讀者參考,所有實例都給出了完整的程序。
本書取材新穎、內容豐富、重點突出、深入淺出、富有啟發性和可操作性,便于教學,可為初學者提供學習參考。本書既可以作為高等院校電子、通信、自動化以及計算機等相關專業的教材,也可以作為相關領域工程技術人員的培訓用書或參考手冊。 |