●章微型計算機基本結構及信息表示2
1.1微型計算機概述2
1.1.1初識微型計算機2
1.1.2微型計算機發展簡史3
1.1.3微型計算機的馮·諾依曼結構框圖4
1.1.4微型計算機中的三總線5
1.1.5計算機執行指令的簡明過程7
1.2微機原理的實踐選型7
1.2.1微機原理實踐選型的困惑8
1.2.2微機原理實踐選型的基本原則8
1.2.3AHL-MCP微機原理實踐平臺概述9
1.3數制及數制之間的轉換方法10
1.3.1數制10
1.3.2數制之間的轉換方法12
1.4計算機中信息的基本表示方式14
1.4.1計算機中信息表示的相關基本概念14
1.4.2整數在計算機中的補碼表示方法15
1.4.3實數在計算機中的浮點數表示方法19
1.5文字在計算機中的存儲方式——字符編碼20
1.5.1英文編碼——ASCII21
1.5.2中文編碼——GB2312及GBK22
1.6習題23
第2章微型計算機的硬件繫統25
2.1微型計算機的硬件共性結構及基本性能指標26
2.1.1微型計算機的硬件共性結構26
2.1.2微型計算機基本性能指標27
2.2ArmCortex-M微處理器概述28
2.2.1ArmCortex繫列微處理器繫列概述28
2.2.2ArmCortex-M4微處理器29
2.3CPU內部寄存器與存儲器映像31
2.3.1寄存器基礎知識及相關基本概念31
2.3.2ArmCortex-M4內部寄存32
2.3.3ArmCortex-M4存儲器映像36
2.4ArmCortex-M4內核的微型計算機芯片實例37
2.4.1STM32L4繫列MCU簡介37
2.4.2STM32L4存儲映像與中斷源37
2.4.3STM32L4的引腳功能41
2.4.4STM32L4硬件最小繫統原理圖42
2.5由STM32L431構建的通用嵌入式計算機45
2.6習題49
第3章指令繫統51
3.1指令保留字與尋址方式52
3.1.1指令保留字簡表52
3.1.2尋址方式53
3.2基本指令繫統54
3.2.1數據傳送類指令54
3.2.2數據操作類指令57
3.2.3跳轉控制類指令60
3.2.4其他基本指令61
3.3指令集與機器碼對應表62
3.4GUN彙編器的基本語法65
3.4.1彙編語言概述65
3.4.2GUN彙編書寫格式65
3.4.3GUN彙編常用偽指令67
3.5習題70
第4章彙編語言框架71
4.1初識程序運行72
4.2彙編工程框架及執行工程分析79
4.2.1彙編工程框架的基本內容79
4.2.2鏈接腳本文件的作用81
4.2.3機器碼解析82
4.2.4執行過程分析83
4.3認識工程框架中的GPIO構件84
4.3.1通常I/O接口基本概念及連接方法84
4.3.2GPIO構件知識要素分析86
4.3.3GPIO構件的使用方法87
4.4實驗一:理解彙編程序框架及運行88
4.5習題90
第5章基於構件的彙編程序設計方法93
5.1構件及其設計方法94
5.1.1軟件構件基本概念94
5.1.2構件設計基本原則95
5.1.3三類構件96
5.1.4基於構件的軟件設計步驟97
5.2程序流程控制98
5.2.1順序結構98
5.2.2分支結構100
5.2.3循環結構102
5.3彙編程序設計實例105
5.3.1數制轉換程序設計105
5.3.2冒泡排序程序設計110
5.4實驗二:基於構件方法的彙編程序設計114
5.5習題115
第6章存儲器117
6.1存儲器的功能與分類118
6.1.1按存儲介質分類118
6.1.2按功能分類118
6.1.3按存取方式分類119
6.2隨機存儲器與隻讀存儲器119
6.2.1RAM119
6.2.2ROM121
6.3SD卡與高速緩存122
6.3.1SD卡122
6.3.2高速緩存124
6.4Flash存儲器128
6.4.1Flash在線編程的通用基礎知識128
6.4.2Flash驅動構件知識要素分析128
6.4.3Flash驅動構件的使用方法129
6.5存儲器實驗設計舉例131
6.6實驗三:存儲器實驗135
6.7習題136
第7章串行通信接口137
7.1串行通信的基礎知識138
7.1.1串行通信的基本概念138
7.1.2串行通信編程模型139
7.1.3RS232、RS485總線標準140
7.1.4TTL電平到RS232電平轉換電路141
7.2UART驅動構件及使用方法142
7.2.1UART驅動構件要素分析142
7.2.2UART驅動構件使用方法143
7.3串行通信的編程舉例145
7.3.1例1:發送和接收一個字節的數據145
7.3.2例2:發送和接收一幀數據147
7.4實驗四:基於串行通信構件的彙編程序設計151
7.5習題153
第8章中斷繫統及定時器155
8.1中斷繫統156
8.1.1中斷的基本概念156
8.1.2中斷處理的基本過程158
8.1.3ArmCortex-M4F非內核模塊中斷158
8.2定時器.160
8.2.1定時器的基本含義160
8.2.2ArmCortex-M4F內核定時器161
8.3基於定時器的中斷編程舉例164
8.4實驗五:理解中斷與定時器168
8.5習題169
第9章模數轉換與數模轉換171
9.1模數轉換器的基礎知識172
9.1.1與AD轉換編程直接相關的基本概念172
9.1.2與AD轉換編程關聯度較弱的基本概念174
9.1.3最簡單的AD轉換采樣電路舉例175
9.2ADC驅動構件及使用方法176
9.2.1ADC驅動構件要素分析176
9.2.2ADC驅動構件使用方法178
9.2.3ADC驅動構件使用舉例179
9.3數模轉換181
9.3.1DAC的通用基本結構181
9.3.2DAC的主要技術指標182
9.4DAC驅動構件及使用方法要素分析183
9.4.1DAC驅動構件要素分析183
9.4.2DAC驅動構件使用方法184
9.4.3DAC驅動構件使用舉例184
9.5實驗六:AD轉換模塊實驗186
9.6習題188
0章直接存儲器存取DMA189
10.1DMA的基本概念190
10.1.1DMA的含義190
10.1.2DMA控制器190
10.2DMA的一般操作流程190
10.3DMA構件頭文件及使用方法191
10.4DMA驅動構件要素分析193
10.5DMA驅動構件的使用方法193
10.6實驗七:通過DMA實現內存間數據的搬運194
10.7習題194
1章外接組件綜合實踐195
11.1開關量輸出類實踐196
11.1.1彩燈196
11.1.2蜂鳴器198
11.1.3馬達202
11.1.4LED205
11.2開關量輸入類實踐208
11.2.1紅外尋跡傳感器208
11.2.2人體紅外傳感器211
11.2.3按鈕214
11.3聲音與加速度傳感器實踐220
11.3.1聲音傳感器220
11.3.2加速度傳感器223
11.4習題226
2章通用計算機的基本結構及啟動過程227
12.1PC繫統的基本結構228
12.1.1PC的基本硬件組成228
12.1.2USB設備231
12.2PC繫統的啟動流程233
12.2.1啟動固件233
12.2.2PC繫統中的硬盤236
12.2.3從固件到硬盤的啟動流程241
12.3PC的操作繫統242
12.4習題245
3章微型計算機的發展方向247
13.1CPU的結構與速度248
13.1.1通用計算機248
13.1.2嵌入式計算機249
13.2存儲器的容量與速度249
13.2.1磁存儲器250
13.2.2阻變存儲器250
13.2.3相變存儲器251
13.3指令繫統的發展方向252
13.4編譯技術的發展253
13.4.1並行編譯技術253
13.4.2交叉編譯技術253
13.4.3動態編譯技術253
13.5微型計算機其他新技術254
13.5.1納米計算機254
13.5.2激光計算機254
13.5.3量子計算機254
13.6習題255
附錄A:AHL-MCP微機原理實踐平臺硬件資源257
A.1概述258
A.2電子資源內容列表258
A.3硬件清單258
A.4實驗列表259
A.5硬件快速測試方法260
附錄B:AHL-GEC-IDE安裝及基本使用指南261
B.1安裝AHL-GEC-IDE集成開發環境262
B.2編譯運行個程序264
B.3外接軟件功能的使用方法265
B.4常見錯誤及解決方法267
B.5卸載AHL-GEC-IDE集成開發環境272
B.6技術咨詢273
附錄C:串行通信構件設計方法275
C.1UART模塊編程結構276
C.2UART驅動構件彙編語言源碼278
C.3UART驅動構件C語言源碼282
參考文獻288
內容簡介
本書根據微處理器的**發展,選擇Arm內核作為教學藍本,以簡捷、透明見底、可實踐的方式闡述微型計算機繫統的基本原理,介紹微型計算機的基本結構、信息表示、硬件繫統、指令繫統、彙編語言框架和彙編程序設計方法,講解微型計算機的存儲器、串行通信接口、中斷繫統、定時器、模數與數模轉換等。全書以全新的視角思考微機原理的教學,具有較強的理論性與實踐性。本書配套給出了AHL-MCP微機原理實踐平臺與集成開發環境AHL-GEC-IDE,並有詳細的實驗指導。本書提供了教學資源,內含所有源程序、輔助閱讀資料、PPT課件、視頻導引、開發環境導引、文檔資料及常用軟件工具等。教學資源請加入QQ群(微機原理—Arm):901549485。教師參考資料可通過人郵教育社區獲得。