本書針對目前最通用的51系列單片機,在匯編語言的基礎(chǔ)上,增加和加強了目前最流行的C51程序設(shè)計語言和調(diào)試、仿真軟件的內(nèi)容。本書介紹了單片機的基本原理和應(yīng)用,包括:單片機芯片的硬件原理和結(jié)構(gòu)、匯編語言指令系統(tǒng)和程序設(shè)計、C51的程序設(shè)計、存儲器擴展、I/O擴展、A/D及D/A轉(zhuǎn)換、定時中斷系統(tǒng)、串行口數(shù)據(jù)通信、Keil C軟件和Proteus仿真軟件的使用介紹等。本書可作為高等工科院校應(yīng)用型本?齐娮有畔⒐こ、通信工程、計算機科學(xué)與技術(shù)、電氣、自動化、機電工程及相關(guān)專業(yè)的單片機課程的教材,也可供從事和需求單片機技術(shù)的有關(guān)工程技術(shù)人員閱讀。
更多科學(xué)出版社服務(wù),請掃碼獲取。
目錄
前言
第1章 單片機概述 1
1.1 單片機的基本概念 1
1.1.1 什么是單片機 1
1.1.2 微控制器MCU 2
1.1.3 如何使用單片機 3
1.2 單片機的發(fā)展概況 3
1.2.1 單片機的發(fā)展歷史 3
1.2.2 MCS-51單片機的發(fā)展 4
1.2.3 現(xiàn)階段主流單片機系列簡介 5
1.3 單片機的應(yīng)用特點與應(yīng)用領(lǐng)域 6
1.3.1 單片機應(yīng)用特點 6
1.3.2 單片機應(yīng)用領(lǐng)域 7
1.4 單片機的發(fā)展趨勢 8
習題 10
第2章 MCS-51單片機的結(jié)構(gòu)和原理 11
2.1 MCS-51單片機的基本組成 11
2.1.1 MCS-51單片機的基本組成 11
2.1.2 MCS-51單片機的封裝與信號引腳 14
2.2 MCS-51單片機的并行I/O端口結(jié)構(gòu) 17
2.3 MCS-51單片機的存儲器結(jié)構(gòu) 21
2.3.1 程序存儲器 21
2.3.2 數(shù)據(jù)存儲器 22
2.4 MCS-51單片機的時鐘電路與時序 28
2.4.1 時鐘電路 28
2.4.2 時序 29
2.5 MCS-51單片機的工作方式 32
2.5.1 復(fù)位萬式 32
2.5.2 程序執(zhí)行方式 35
2.5.3 單步執(zhí)行方式 35
2.5.4 低功耗方式 35
2.5.5 EPROM的編程和校驗工作方式 37
習題 38
第3章 MCS-51單片機的匯編語言指令系統(tǒng) 39
3.1 指令格式及其符號說明 39
3.1.1 指令格式 39
3.1.2 常用符號說明 40
3.1.3 指令的字節(jié) 40
3.2 尋址方式 42
3.2.1 立即尋址 42
3.2.2 直接尋址 43
3.2.3 寄存器尋址 43
3.2.4 寄存器間接尋址 43
3.2.5 變址尋址 44
3.2.6 相對尋址 45
3.2.7 位尋址 45
3.3 MCS-51單片機指令系統(tǒng) 46
3.3.1 數(shù)據(jù)傳送類指令 46
3.3.2 算術(shù)運算類指令 50
3.3.3 邏輯運算及移位類指令 55
3.3.4 控制轉(zhuǎn)移類指令 58
3.3.5 位操作類指令 64
習題 66
第4章 MCS-51單片機匯編語言程序設(shè)計 69
1.1 匯編語言的概述 69
4.1.1 匯編語言的特點 70
4.1.2 匯編語言的偽指令 70
4.2 匯編語言源程序的編輯和匯編 73
4.2.1 手工編程和匯編 73
4.2.2 機器編輯和交叉匯編 73
4.3 匯編語言程序設(shè)計 74
4.3.1 簡單程序設(shè)計 75
4.3.2 分支程序設(shè)計 76
4.3.3 循環(huán)程序設(shè)計 80
4.3.4 數(shù)制轉(zhuǎn)換程序 90
4.3.5 查表程序設(shè)計 93
習題 95
第5章 單片機C51程序設(shè)計基礎(chǔ) 97
5.1 C51數(shù)據(jù)與運算 97
5.1.1 C51的數(shù)據(jù)類型 97
5.1.2 C51數(shù)據(jù)的存儲類型 98
5.1.3 8051特殊功能寄存器的C51定義 100
5.1.4 8051并行接口及位變量的C51定義 101
5.2 C51運算符、表達式及其規(guī)則 102
5.2.1 (復(fù)合)賦值運算符 102
5.2.2 算術(shù)運算符 103
5.2.3 自增和自減運算符 103
5.2.4 關(guān)系運算符 104
5.2.5 邏輯運算符 105
5.2.6 位運算符 105
5.2.7 條件運算符 106
5.2.8 指針和地址運算符 106
5.2.9 優(yōu)先級和結(jié)合性 107
5.3 C51流程控制語句 108
5.3.1 C51程序的基本結(jié)構(gòu)及其流程圖 108
5.3.2 選擇語句 109
5.3.3 循環(huán)語句 112
5.4 C51構(gòu)造數(shù)據(jù)類型 115
5.4.1 數(shù)組 115
5.4.2 指針 116
5.4.3 結(jié)構(gòu)體 120
5.4.4 共用體 122
5.4.5 枚舉 124
5.5 函數(shù) 125
5.5.1 函數(shù)的定義 126
5.5.2 函數(shù)的調(diào)用 127
5.5.3 函數(shù)的嵌套調(diào)用與遞歸調(diào)用 129
5.5.4 中斷服務(wù)函數(shù) 129
5.5.5 指向函數(shù)的指針變量 131
5.5.6 局部變量和全局變量 131
5.6 C51的庫函數(shù) 131
5.6.1 一般I/O函數(shù)stdio.h 134
5.6.2 字符函數(shù)庫string.h 135
5.6.3 標準函數(shù)庫stdlib.h及其他頭文件 136
5.7 C51模塊化程序設(shè)計 136
5.7.1 基本概念 136
5.7.2 模塊化程序開發(fā)過程 138
習題 138
第6章 單片機內(nèi)部資源及編程 140
6.1 中斷系統(tǒng) 140
6.1.1 中斷概述 140
6.1.2 中斷源 142
6.1.3 中斷控制 113
6.1.4 中斷響應(yīng)過程 146
6.1.5 中斷請求的撤除 118
6.1.6 中斷程序設(shè)計 149
6.1.7 外部中斷源的擴展 152
6.2 定時/計數(shù)器 154
6.2.1 定時/計數(shù)器的結(jié)構(gòu)及工作原理 154
6.2.2 定時/計數(shù)器的控制 156
6.2.3 定時/計數(shù)器的工作方式 157
6.2.4 定時/計數(shù)器的初始化 160
6.2.5 定時/計數(shù)器應(yīng)用舉例 162
6.3 串行通信口 170
6.3.1 數(shù)據(jù)通信概述 171
6.3.2 單片機的串行通信接口 177
6.3.3 串行通信的工作方式及波特率設(shè)置 180
6.3.4 串行口應(yīng)用舉例 184
習題 194
第7章 單片機系統(tǒng)擴展 196
7.1 單片機最小應(yīng)用系統(tǒng) 196
7.1.1 單片機最小應(yīng)用系統(tǒng)構(gòu)成 196
7.1.2 系統(tǒng)擴展的內(nèi)容與方法 197
7.2 存儲器的擴展 198
7.2.1 程序存儲器的擴展 198
7.2.2 數(shù)據(jù)存儲器的擴展 200
7.2.3 存儲器綜合擴展 200
7.2.4 閃速存儲器及其擴展 201
7.3 輸入與輸出口的擴展 203
7.3.1 簡單的并行I/O接口擴展 203
7.3.2 用8255擴展并行I/O接口 205
7.4 串行口擴展 211
7.4.1 FC總線及其接口芯片 211
7.4.2 SPI接口及其接口芯片 213
7.4.3 單總線接口及其接口芯片 215
7.4.4 Microwire串行總線及其接口芯片 220
習題 222
第8章 單片機功能擴展 223
8.1 鍵盤輸入及接口 223
8.1.1 鍵盤概要 223
8.1.2 鍵盤程序設(shè)計 224
8.2 展示器及其接口 227
8.2.1 1ED顯示器 227
8.2.2 1CD顯示器 235
8.3 D/A轉(zhuǎn)換器的接口與應(yīng)用 237
8.3.1 DAC的轉(zhuǎn)換原理及分類 237
8.3.2 并行接口DAC 210
8.3.3 串行接口DAC 245
8.4 A/D轉(zhuǎn)換器的接口與應(yīng)用 218
8.4.1 ADC的轉(zhuǎn)換原理及分類 248
8.4.2 并行接口ADC 219
8.4.3 串行接口ADC 253
習題 256
第9章 單片機應(yīng)用系統(tǒng)的開發(fā)與設(shè)計 257
9.1 單片機開發(fā)系統(tǒng) 257
9.1.1 單片機實驗開發(fā)系統(tǒng)介紹 257
9.1.2 單片機實驗開發(fā)系統(tǒng)的構(gòu)成 257
9.1.3 單片機實驗開發(fā)系統(tǒng)的使用 258
9.2 51實驗板 260
9.2.1 51實驗板介紹 260
9.2.2 51實驗板的S51 ISP下載線使用 261
9.3 單片機應(yīng)用系統(tǒng)的設(shè)計 266
9.4 單片機應(yīng)用系統(tǒng)舉例 267
9.4.1 少進電機的驅(qū)動 267
9.4.2 超聲波測距 272
9.4.3 LED點陣屏顯示系統(tǒng) 278
習題 286
第10章 Kei1 C51軟件使用介紹 287
10.1 Kei1 C51軟件安裝 287
10.2 μVision3集成開發(fā)環(huán)境 287
10.3 建立工程項目 288
10.4 程序舉例 292
10.5 編譯程序 292
10.6 程序調(diào)試 295
習題 302
第11章 可視化仿真開發(fā)工具Proteus介紹 303
11.1 Proteus ISIS編輯環(huán)境介紹 303
11.2 進入Proteus ISIS編輯環(huán)境 306
11.2.1 電路原理圖的設(shè)計流程 306
11.2.2 電路原理圖的設(shè)計方法和步驟 306
11.3 單片機仿真 312
11.3.1 虛擬工具箱 312
11.3.2 Proteus在單片機仿真中的應(yīng)用 313
11.4 Proteus與Kci1整合構(gòu)建單片機虛擬實驗室 317
11.4.1 Keil的μVision2集成開發(fā)環(huán)境 318
11.4.2 Proteus與Keil整合的實現(xiàn) 322
附錄 MCS-51單片機指令匯總 326
附表1 數(shù)據(jù)傳送類指令 326
附表2 算術(shù)運算類指令 327
附表3 邏輯運算及移位類指令 328
附表4 控制轉(zhuǎn)移類指令 329
附表5 位操作類指令 332
參考文獻 333