本書針對目前最通用的51系列單片機,在匯編語言的基礎上,增加和加強了目前最流行的C51程序設計語言和調試、仿真軟件的內容。本書介紹了單片機的基本原理和應用,包括:單片機芯片的硬件原理和結構、匯編語言指令系統(tǒng)和程序設計、C51的程序設計、存儲器擴展、I/O擴展、A/D及D/A轉換、定時中斷系統(tǒng)、串行口數(shù)據(jù)通信、Keil C軟件和Proteus仿真軟件的使用介紹等。本書可作為高等工科院校應用型本?齐娮有畔⒐こ、通信工程、計算機科學與技術、電氣、自動化、機電工程及相關專業(yè)的單片機課程的教材,也可供從事和需求單片機技術的有關工程技術人員閱讀。
更多科學出版社服務,請掃碼獲取。
目錄
前言
第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 單片機的應用特點與應用領域 6
1.3.1 單片機應用特點 6
1.3.2 單片機應用領域 7
1.4 單片機的發(fā)展趨勢 8
習題 10
第2章 MCS-51單片機的結構和原理 11
2.1 MCS-51單片機的基本組成 11
2.1.1 MCS-51單片機的基本組成 11
2.1.2 MCS-51單片機的封裝與信號引腳 14
2.2 MCS-51單片機的并行I/O端口結構 17
2.3 MCS-51單片機的存儲器結構 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 復位萬式 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 算術運算類指令 50
3.3.3 邏輯運算及移位類指令 55
3.3.4 控制轉移類指令 58
3.3.5 位操作類指令 64
習題 66
第4章 MCS-51單片機匯編語言程序設計 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 匯編語言程序設計 74
4.3.1 簡單程序設計 75
4.3.2 分支程序設計 76
4.3.3 循環(huán)程序設計 80
4.3.4 數(shù)制轉換程序 90
4.3.5 查表程序設計 93
習題 95
第5章 單片機C51程序設計基礎 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 (復合)賦值運算符 102
5.2.2 算術運算符 103
5.2.3 自增和自減運算符 103
5.2.4 關系運算符 104
5.2.5 邏輯運算符 105
5.2.6 位運算符 105
5.2.7 條件運算符 106
5.2.8 指針和地址運算符 106
5.2.9 優(yōu)先級和結合性 107
5.3 C51流程控制語句 108
5.3.1 C51程序的基本結構及其流程圖 108
5.3.2 選擇語句 109
5.3.3 循環(huán)語句 112
5.4 C51構造數(shù)據(jù)類型 115
5.4.1 數(shù)組 115
5.4.2 指針 116
5.4.3 結構體 120
5.4.4 共用體 122
5.4.5 枚舉 124
5.5 函數(shù) 125
5.5.1 函數(shù)的定義 126
5.5.2 函數(shù)的調用 127
5.5.3 函數(shù)的嵌套調用與遞歸調用 129
5.5.4 中斷服務函數(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模塊化程序設計 136
5.7.1 基本概念 136
5.7.2 模塊化程序開發(fā)過程 138
習題 138
第6章 單片機內部資源及編程 140
6.1 中斷系統(tǒng) 140
6.1.1 中斷概述 140
6.1.2 中斷源 142
6.1.3 中斷控制 113
6.1.4 中斷響應過程 146
6.1.5 中斷請求的撤除 118
6.1.6 中斷程序設計 149
6.1.7 外部中斷源的擴展 152
6.2 定時/計數(shù)器 154
6.2.1 定時/計數(shù)器的結構及工作原理 154
6.2.2 定時/計數(shù)器的控制 156
6.2.3 定時/計數(shù)器的工作方式 157
6.2.4 定時/計數(shù)器的初始化 160
6.2.5 定時/計數(shù)器應用舉例 162
6.3 串行通信口 170
6.3.1 數(shù)據(jù)通信概述 171
6.3.2 單片機的串行通信接口 177
6.3.3 串行通信的工作方式及波特率設置 180
6.3.4 串行口應用舉例 184
習題 194
第7章 單片機系統(tǒng)擴展 196
7.1 單片機最小應用系統(tǒng) 196
7.1.1 單片機最小應用系統(tǒng)構成 196
7.1.2 系統(tǒng)擴展的內容與方法 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 鍵盤程序設計 224
8.2 展示器及其接口 227
8.2.1 1ED顯示器 227
8.2.2 1CD顯示器 235
8.3 D/A轉換器的接口與應用 237
8.3.1 DAC的轉換原理及分類 237
8.3.2 并行接口DAC 210
8.3.3 串行接口DAC 245
8.4 A/D轉換器的接口與應用 218
8.4.1 ADC的轉換原理及分類 248
8.4.2 并行接口ADC 219
8.4.3 串行接口ADC 253
習題 256
第9章 單片機應用系統(tǒng)的開發(fā)與設計 257
9.1 單片機開發(fā)系統(tǒng) 257
9.1.1 單片機實驗開發(fā)系統(tǒng)介紹 257
9.1.2 單片機實驗開發(fā)系統(tǒng)的構成 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 單片機應用系統(tǒng)的設計 266
9.4 單片機應用系統(tǒng)舉例 267
9.4.1 少進電機的驅動 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 程序調試 295
習題 302
第11章 可視化仿真開發(fā)工具Proteus介紹 303
11.1 Proteus ISIS編輯環(huán)境介紹 303
11.2 進入Proteus ISIS編輯環(huán)境 306
11.2.1 電路原理圖的設計流程 306
11.2.2 電路原理圖的設計方法和步驟 306
11.3 單片機仿真 312
11.3.1 虛擬工具箱 312
11.3.2 Proteus在單片機仿真中的應用 313
11.4 Proteus與Kci1整合構建單片機虛擬實驗室 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 算術運算類指令 327
附表3 邏輯運算及移位類指令 328
附表4 控制轉移類指令 329
附表5 位操作類指令 332
參考文獻 333