圖書簡介
本書從最基本的概念開始,重點講解8051微控制器的結構及其編程方法。介紹了8051系列微控制器指令集、定時器、串列口操作、中斷系統的硬體結構和特點:用比較多的篇幅介紹了8051微控制器的彙編語言程式設計及其開發過程;最後以完整的代碼介紹幾個接口實例以方便理解8051微控制器的接口特性及其實際套用。本書附錄中幾個表格方便讀者學習查閱。
目錄
第1章微控制器簡介 1
1.1引言 1
1.2術語 2
1.3中央處理器 3
1.4半導體存儲器:RAM和ROM 4
1.5匯流排:地址匯流排、數據匯流排和控制匯流排 5
1.6輸入/輸出設備 6
1.6.1大容量存儲設備 6
1.6.2人機互動設備 6
1.6.3控制/監視設備 6
1.7程式:大程式和小程式 7
1.8微型機、小型機、大型機 8
1.9微處理器與微控制器的比較 8
1.9.1硬體結構 9
1.9.2套用領域 9
1.9.3指令集特徵 10
1.10一些新概念 10
1.11得與失:一個設計範例 11
習題 13
第2章硬體結構 14
2.1MCS-51系列簡介 14
2.28051的引腳 15
2.2.1連線埠0 16
2.2.2連線埠1 16
2.2.3連線埠2 16
2.2.4連線埠3 17
2.2.5(程式存儲使能信號) 17
2.2.6ALE(地址鎖存使能信號) 17
2.2.7(外部訪問信號) 18
2.2.8RST(復位信號) 18
2.2.9片上振盪器輸入 18
2.2.10電源接口 18
2.3I/O連線埠結構 19
2.4存儲器組織 19
2.4.1通用RAM 20
2.4.2可位定址RAM 21
2.4.3暫存器組 22
2.5特殊功能暫存器(SFR) 23
2.5.1程式狀態字 24
2.5.2暫存器B 27
2.5.3堆疊指針 27
2.5.4數據指針 27
2.5.5連線埠暫存器 28
2.5.6計時器暫存器 28
2.5.7串口暫存器 29
2.5.8中斷暫存器 29
2.5.9電源控制暫存器 29
2.6外部存儲器 30
2.6.1訪問外部代碼存儲器 31
2.6.2訪問外部數據存儲器 31
2.6.3地址解碼 33
2.6.4外部代碼空間和數據空間的重疊 34
2.78032/8052的增強功能 34
2.8復位 35
2.9本章小結 36
習題 37
第3章8051指令集概述 40
3.1本章簡介 40
3.2定址模式 40
3.2.1暫存器定址 41
3.2.2直接定址 43
3.2.3間接定址 44
3.2.4立即定址 45
3.2.5相對定址 45
3.2.6絕對定址 47
3.2.7長定址 49
3.2.8索引定址 49
3.3指令類型 50
3.3.1算術運算類指令 50
3.3.2邏輯運算類指令 54
3.3.3數據傳送類指令 56
3.3.4布爾操作類指令 60
3.3.5程式分支轉移類指令 63
習題 67
第4章定時器操作 73
4.1本章簡介 73
4.2定時器模式暫存器(TMOD) 75
4.3定時器控制暫存器(TCON) 76
4.4定時器模式和溢出標誌 76
4.4.113位定時器模式(模式0) 76
4.4.216位定時器模式(模式1) 77
4.4.38位自動重載模式(模式2) 78
4.4.4分立定時器模式(模式3) 78
4.5時鐘信號源 78
4.5.1定時 78
4.5.2計數 79
4.6定時器的啟動、停止和控制 79
4.7定時器暫存器TMOD的初始化和訪問 81
4.7.1即時讀取定時器 82
4.8短間隔和長間隔 82
4.98052的定時器2 86
4.9.1自動重載模式 87
4.9.2捕獲模式 88
4.10波特率發生器 89
4.11本章小結 89
習題 89
第5章串口操作 92
5.1本章簡介 92
5.2串口控制暫存器 93
5.3工作模式 94
5.3.18位移位暫存器(模式0) 94
5.3.28位可變波特率UART(模式1) 95
5.3.39位固定波特率UART(模式2) 97
5.3.49位可變波特率UART(模式3) 97
5.4串口暫存器的初始化和訪問 97
5.4.1接收使能 97
5.4.2第9數據位 97
5.4.3加入奇偶校驗位 98
5.4.4中斷標誌 98
5.5多處理器通信 99
5.6串口波特率 100
5.7本章小結 104
習題 104
第6章中斷 106
6.1本章簡介 106
6.28051的中斷結構 107
6.2.1允許與禁止中斷 107
6.2.2中斷優先權 108
6.2.3查詢順序 108
6.3中斷處理 110
6.4中斷程式設計 111
6.4.1小型中斷服務程式 112
6.4.2大型中斷服務程式 112
6.5串口中斷 115
6.6外部中斷 116
6.7中斷時序 121
6.8本章小結 122
習題 122
第7章彙編語言程式設計 124
7.1本章簡介 124
7.2彙編器及其工作流程 125
7.2.1第一次掃描 126
7.2.2第二次掃描 126
7.3彙編語言程式的格式 128
7.3.1標號欄位 129
7.3.2助記符欄位 129
7.3.3運算元欄位 129
7.3.4注釋欄位 129
7.3.5特殊的彙編器符號 130
7.3.6間接定址 130
7.3.7立即數 130
7.3.8數據地址 131
7.3.9位地址 131
7.3.10代碼地址 131
7.3.11跳轉和調用的泛型 132
7.4彙編時的表達式求值 133
7.4.1數基 133
7.4.2字元串 133
7.4.3算術運算符 134
7.4.4邏輯運算符 134
7.4.5特殊運算符 135
7.4.6關係運算符 135
7.4.7表達式例子 136
7.4.8運算優先權 136
7.5彙編偽指令 137
7.5.1彙編器狀態控制偽指令 137
7.5.2符號定義偽指令 138
7.5.3存儲空間初始化/保留偽指令 140
7.5.4程式連線偽指令 143
7.5.5段選擇偽指令 145
7.6彙編器控制項 146
7.7連線器操作 148
7.8例子詳解——連線可重定位的段和模組 149
7.8.1ECHO.LST 150
7.8.2IO.LST 152
7.8.3EXAMPLE.M51 156
7.9宏 158
7.9.1參數傳遞 159
7.9.2局部標號 160
7.9.3重複操作 161
7.9.4程式控制流操作 162
習題 162
第8章程式結構和設計 165
8.1本章簡介 165
8.2結構化程式設計的優點和缺點 167
8.3結構化程式設計中的三種結構 167
8.3.1順序結構 168
8.3.2循環結構 168
8.3.3選擇結構 173
8.4偽碼的語法 178
8.5彙編語言的程式設計風格 182
8.5.1標號 182
8.5.2注釋 182
8.5.3注釋塊 183
8.5.4在堆疊里保存暫存器 184
8.5.5使用EQU偽指令 184
8.5.6使用子程式 184
8.5.7程式的組織 186
8.6本章小結 187
習題 187
第9章程式開發中用到的工具和技術 188
9.1本章簡介 188
9.2開發周期 188
9.2.1軟體開發 189
9.2.2硬體開發 190
9.3整合和驗證 192
9.3.1軟體模擬 192
9.3.2硬體仿真 194
9.3.3在RAM中執行程式 194
9.3.4在EPROM中執行程式 195
9.3.5工廠掩膜處理 195
9.4命令與開發環境 196
9.5本章小結 198
習題 198
第10章設計和接口例子 200
10.1本章簡介 200
10.2SBC-51 200
10.3十六進制鍵盤接口 206
10.47段LED的接口設計 210
10.5揚聲器接口設計 215
10.6非易失性RAM接口設計 219
10.7輸入/輸出擴展 225
10.8模擬信號輸出接口設計 229
10.9模擬信號輸入接口設計 234
10.10本章小結 236
習題 237
附錄A快速索引表 239
附錄B操作碼映射表 243
附錄C指令及其操作碼詳解 245
附錄D特殊功能暫存器介紹 283
附錄E操作碼映射表ASCII碼錶 290
附錄FMON51-8051監控程式 291