單片微機原理與接口技術(第3版)

宋躍,任斌

  • 出版商: 電子工業
  • 出版日期: 2022-01-01
  • 定價: $336
  • 售價: 8.5$286
  • 語言: 簡體中文
  • 頁數: 292
  • 裝訂: 平裝
  • ISBN: 7121425025
  • ISBN-13: 9787121425028
  • 下單後立即進貨 (約4週~6週)

商品描述

本書以80C51單片機為主介紹微機基本理論與原理,實現將微機原理的學習和具體的單片機應用實踐密切結合。本書從電腦基礎知識入手,全面介紹微機的基本組成和原理,重點講述80C51單片機的結構、指令系統、程序設計及常用的接口技術。對8086系統和C51語言分設兩章介紹,一些實用的接口技術和接口芯片的使用穿插在相關的章節中介紹。 本書以匯編語言為主、C51語言為輔來講述程序的設計方法與技巧,對Proteus8、Keil μVision5、C51語言做基本介紹,C51語言與匯編語言編程在實例中交叉出現,對典型或重要知識點實例通常給出匯編語言與C51語言對應的源程序及軟件模擬過程。本書選材規範,通俗易懂,每章都配有思考題與習題。 本書可作為高等院校電氣類、電子信息類、自動化類等“微機原理”與“單片機技術”課程的教材,也可作為高職高專相關專業的教材,同時可作為學習單片機應用基礎的培訓教材和自學參考書。

作者簡介

宋躍,東莞理工學院電子工程與智能化學院教授,首屆***一流本科課程、廣東省高等學校本科精品課程、廣東省精品開放資源共享課程“微機原理與單片機技術”負責人,一直從事微機原理、單片機、嵌入式等方面的教學與科研工作。

目錄大綱

第1章 計算機基礎知識 1
1.1 計算機中負數的表示和運算 1
1.1.1 機器數 1
1.1.2 機器數的原碼、反碼和補碼 1
1.1.3 補碼加/減運算 2
1.1.4 原碼乘/除運算 3
1.2 計算機中的常用編碼 3
1.2.1 ASCII碼 3
1.2.2 非ASCII編碼 4
1.2.3 BCD碼 4
1.3 微型計算機概述 4
1.3.1 計算機的發展 4
1.3.2 微型計算機的基本組成 5
1.3.3 中央處理器的基本組成 5
1.3.4 微型計算機的程序存儲與控制 6
1.4 單片機概述 6
1.4.1 單片機的發展過程及產品近況 6
1.4.2 AT89S5X單片機簡介 7
1.4.3 STC系列單片機簡介 7
1.4.4 STM32系列單片機簡介 8
1.4.5 GD32系列單片機簡介 8
1.5 單片機應用的開發仿真工具 8
1.5.1 Keil μVision集成開發環境簡介 8
1.5.2 Proteus軟件介紹 14
1.5.3 跑馬燈仿真實例 17
思考題與習題 21
第2章 存儲器 22
2.1 概述 22
2.2 只讀存儲器 24
2.2.1 只讀存儲器的結構及分類 24
2.2.2 EPROM芯片27256介紹 26
2.3 隨機存儲器 28
2.3.1 靜態基本存儲電路 29
2.3.2 動態基本存儲電路 30
2.3.3 SRAM芯片6116介紹 30
2.3.4 DRAM芯片2116介紹 31
2.4 閃存 31
2.4.1 閃存簡介 32
2.4.2 閃存芯片M45PE80 32
2.5 存儲器的選擇與擴展 33
2.5.1 存儲器的選擇 33
2.5.2 存儲器的擴展 33
思考題與習題 37
第3章 80C51單片機的結構和原理 38
3.1 80C51單片機的概述 38
3.1.1 MCS-51單片機 38
3.1.2 80C51單片機的應用模式 38
3.2 80C51單片機典型產品資源配置與引腳 39
3.2.1 80C51單片機典型產品資源配置 39
3.2.2 引腳及其功能 39
3.3 80C51單片機的結構 40
3.3.1 80C51單片機邏輯結構 40
3.3.2 80C51單片機內部結構 41
3.4 80C51單片機內部數據存儲器 42
3.4.1 80C51單片機的內部RAM 42
3.4.2 專用寄存器的位尋址 46
3.5 80C51單片機內部程序存儲器 47
3.5.1 內部與外部ROM的選擇 47
3.5.2 ROM的幾個特殊單元 48
3.6 80C51單片機輸入/輸出(I/O)接口 49
3.6.1 P0口 49
3.6.2 P1口 50
3.6.3 P2口 50
3.6.4 P3口 50
3.7 單片機的工作方式 51
3.7.1 復位及復位電路 51
3.7.2 時鐘電路和時序 52
3.7.3 單片機的低功耗方式 54
3.8 單片機執行指令的過程 54
思考題與習題 55
第4章 80C51單片機的指令系統 57
4.1 指令的基本格式及常用符號 57
4.1.1 指令的字節數 57
4.1.2 指令的執行時間 58
4.1.3 彙編語言的語句結構 58
4.2 80C51單片機的尋址方式 58
4.2.1 立即尋址 59
4.2.2 直接尋址 59
4.2.3 寄存器尋址 60
4.2.4 寄存器間接尋址 60
4.2.5 變址尋址 61
4.2.6 相對尋址 61
4.2.7 位尋址 62
4.3 數據傳送類指令 62
4.3.1 一般傳送指令 63
4.3.2 特殊傳送指令 64
4.4 算術運算類指令 67
4.4.1 不帶進位加法指令及BCD碼調整指令 67
4.4.2 帶進位加法指令 69
4.4.3 加1指令 69
4.4.4 帶借位減法指令 70
4.4.5 減1指令 70
4.4.6 乘、除法指令 70
4.5 邏輯運算類指令 71
4.5.1 邏輯與指令 71
4.5.2 邏輯或指令 72
4.5.3 邏輯異或指令 72
4.5.4 清零及取反指令 72
4.5.5 移位指令 73
4.6 控制轉移類指令 73
4.6.1 無條件轉移指令 74
4.6.2 條件轉移指令 75
4.6.3 子程序調用和返回指令 77
4.7 布爾變量操作指令 78
4.7.1 位傳送指令 78
4.7.2 位置位指令 78
4.7.3 位運算指令 79
4.7.4 位控制轉移指令 79
思考題與習題 80
第5章 80C51單片機的彙編語言程序設計 82
5.1 程序編制的方法和技巧 82
5.1.1 彙編語言的語句種類及
指令格式 82
5.1.2 常用的偽指令 83
5.1.3 源程序的編輯和彙編 84
5.2 彙編語言基本程序結構 85
5.2.1 順序程序 85
5.2.2 分支程序 85
5.2.3 循環程序 88
5.2.4 子程序及其調用 90
5.3 常用程序舉例 94
5.3.1 算術運算程序 94
5.3.2 代碼轉換 96
5.3.3 I/O操作 97
5.4 簡單I/O設備的並行口直接驅動示例 99
思考題與習題 101
第6章 80C51單片機的C語言程序設計 103
6.1 單片機C語言概述 103
6.1.1 C51的程序結構 103
6.1.2 C51編譯器介紹 103
6.1.3 C51語言和彙編語言的關係 103
6.2 C51的數據類型及存儲類型 104
6.2.1 C51的數據類型 104
6.2.2 C51數據的存儲類型 105
6.2.3 80C51單片機特殊功能寄存器的C51定義 105
6.3 C51的運算符和表達式 106
6.3.1 賦值運算符 106
6.3.2 算術運算符 107
6.3.3 關係運算符 107
6.3.4 邏輯運算符 107
6.3.5 位運算符 108
6.3.6 其他運算符 108
6.4 C51流程控制語句 111
6.4.1 條件語句 111
6.4.2 循環語句 111
6.4.3 開關語句 112
6.4.4 break、continue和goto語句 113
6.5 C51的構造數據類型 114
6.5.1 數組 114
6.5.2 指針 115
6.5.3 結構體 117
6.5.4 枚舉 118
6.6 C51函數 118
6.6.1 C51函數定義 119
6.6.2 C51函數調用 120
6.6.3 混合編程簡介 120
6.6.4 混合編程形式 122
6.6.5 C51庫函數 122
6.7 C51中斷編程實例 123
6.8 C51實例 124
6.8.1 C51仿真實例 124
6.8.2 混合編程實例 125
思考題與習題 126
第7章 80C51單片機的中斷系統及定時/計數器 127
7.1 中斷概述 127
7.2 中斷處理過程 128
7.3 80C51單片機的中斷系統及其控制 130
7.4 80C51單片機中斷源的擴展 135
7.5 80C51單片機的定時/計數器及其應用 136
思考題與習題 152
第8章 80C51單片機的串行口及串行總線擴展 154
8.1 串行通信基本知識 154
8.1.1 基本通信方式及特點 154
8.1.2 串行通信的數據傳送方式 154
8.1.3 串行通信的分類 155
8.1.4 串行通信的波特率、比特率 156
8.2 80C51單片機的串行口 156
8.2.1 80C51單片機串行口的結構 156
8.2.2 80C51單片機串行口控制 157
8.2.3 80C51單片機串行口實例 160
8.3 80C51單片機的串行口應用 163
8.3.1 雙機通信 163
8.3.2 多機通信 166
8.3.3 單片機與PC通信 167
8.4 單片機的串行總線擴展 171
8.4.1 I2C總線接口及其擴展 171
8.4.2 SPI總線接口及其擴展 180
8.4.3 CAN總線 183
8.4.4 USB總線 184
8.4.5 單總線(1-Wire) 184
思考題與習題 185
第9章 80C51單片機的系統擴展 187
9.1 I/O接口電路概述 187
9.2 數據傳送方式 187
9.2.1 無條件傳送方式 187
9.2.2 查詢傳送方式 188
9.2.3 中斷傳送方式 188
9.2.4 直接存儲器存取(DMA)方式 188
9.3 存儲器擴展及時序 188
9.3.1 系統擴展總線及擴展芯片的尋址方式 189
9.3.2 程序存儲器擴展 189
9.3.3 數據存儲器擴展 191
9.3.4 簡單I/O接口擴展 195
9.4 可編程接口芯片81C55及其應用 197
9.5 可編程接口芯片82C55及其應用 202
9.6 單片機顯示、鍵盤系統 206
9.6.1 並行擴展靜態顯示電路 208
9.6.2 串行擴展靜態顯示電路 209
9.6.3 動態顯示電路及其實例 210
9.7 單片機LCD顯示接口及其實例 214
9.8 單片機鍵盤接口 218
思考題與習題 223
第10章 80C51單片機的模擬量接口 225
10.1 並行D/A轉換器與單片機的接口 225
10.1.1 D/A轉換概述及DAC的主要性能指標 225
10.1.2 8位D/A轉換器DAC0832及與單片機接口 227
10.1.3 12位D/A轉換器DAC1208及與單片機接口 230
10.2 並行A/D轉換器與單片機的接口 232
10.2.1 A/D轉換器概述及其主要性能指標 232
10.2.2 8位A/D轉換器ADC0809及與單片機接口 234
10.2.3 12位A/D轉換器AD1674及與單片機接口 237
10.3 串行A/D轉換器與單片機的接口 240
10.3.1 串行A/D轉換器HX711介紹 241
10.3.2 HX711的工作原理 241
10.3.3 80C51單片機和HX711的接口設計 243
思考題與習題 243
第11章 80C51單片機應用系統設計 245
11.1 單片機應用設計過程 245
11.1.1 確定係統的功能與性能 245
11.1.2 確定係統基本結構 245
11.1.3 單片機應用系統硬件、軟件的設計原則 246
11.1.4 硬件設計 247
11.1.5 軟件設計 248
11.1.6 資源分配 248
11.1.7 單片機應用系統的開發 248
11.2 提高系統可靠性的一般方法 249
11.2.1 電源干擾及其抑制 250
11.2.2 地線乾擾及其抑制 250
11.2.3 其他提高系統可靠性的方法 251
11.3 設計與製作實例 256
11.3.1 單片機學習板設計與製作 256
11.3.2 用溫度傳感器DS18B20進行溫度測量 258
11.3.3 電子密碼鎖設計 259
思考題與習題 263
第12章 微處理器及微機系統 264
12.1 微處理器概述 264
12.1.1 微處理器發展簡介 264
12.1.2 8086的結構 264
12.1.3 8086的內部寄存器 265
12.1.4 8086的存儲空間管理 267
12.1.5 8086的引腳功能 268
12.1.6 8086的兩種工作方式 269
12.1.7 8086的總線週期 271
12.1.8 8086的指令系統 271
12.1.9 彙編語言程序設計 272
12.2 微機系統的構成與擴展 275
12.2.1 微機系統的構成 275
12.2.2 8086系統擴展 276
12.3 總線技術 281
12.3.1 總線概述 281
12.3.2 總線規範及主要性能指標 281
12.3.3 常用的系統總線 281
思考題與習題 282
參考文獻 283