51系列單片機開發寶典(第2版)

基本介紹

  • 書名:51系列單片機開發寶典(第2版)
  • 作者:趙建領,弓雷 等
  • ISBN:9787121156366
  • 頁數:720頁
  • 出版時間:2012-02
  • 開本:16(188*250)
基本信息,內容簡介,目錄信息,

基本信息

51系列單片機開發寶典(第2版)
叢書名 :寶典叢書
作 譯 者:趙建領,弓雷 等
出版時間:2012-02
千 字 數:1267
版 次:01-01
頁 數:720
開 本:16(188*250)
I S B N :9787121156366

內容簡介

本書系統地介紹51系列單片機的硬體結構、硬體組成,以及指令系統,並給出了各種設計領域中單片機的套用實例。本書言簡意賅、通俗易懂,對於每個知識點都提供詳細的實例,使讀者能夠更好地掌握51系列單片機。 本書分為4部分,共27章,全面詳細地講述單片機的原理及套用。首先介紹51系列單片機的基本原理及內部功能組件和指令系統,接著介紹單片機的程式設計語言,包括彙編語言和單片機C語言;然後結合不同的設計領域介紹單片機在其中的套用;最後介紹51單片機綜合套用實例和高性能的C8051F系列單片機。

目錄信息

第1部分 51系列單片機基礎 1
第1章 51系列單片機概述 2
1.1 單片機的產生與發展 2
1.2 51系列單片機介紹 3
1.2.1 51系列單片機簡介 3
1.2.2 51系列單片機的套用領域 3
1.2.3 常用的單片機介紹 4
1.3 小結 4
第2章 51系列單片機基本結構 5
2.1 51系列單片機的內部結構 5
2.1.1 內部結構的主要組成部分 6
2.1.2 單片機結構的類型 7
2.2 51系列單片機的引腳功能 7
2.2.1 51系列單片機的引腳封裝 7
2.2.2 51系列單片機引腳說明 7
2.3 中央處理器 10
2.3.1 算術邏輯運算部件 10
2.3.2 控制器 10
2.3.3 通用暫存器 10
2.3.4 專用暫存器 11
2.4 存儲器結構 12
2.4.1 程式存儲器 13
2.4.2 數據存儲器 14
2.4.3 存儲器擴展 17
2.5 並行I/O口 18
2.5.1 並行I/O口的結構 18
2.5.2 並行I/O口的套用 21
2.5.3 並行I/O口的擴展 22
2.6 51系列單片機的復位 23
2.6.1 單片機的復位狀態 23
2.6.2 單片機的復位電路 24
2.7 51系列單片機的時鐘和時序 25
2.7.1 振盪器和時鐘電路 26
2.7.2 CPU的時序 27
2.7.3 指令執行的時序 28
2.7.4 訪問外部ROM/RAM的操作時序 29
2.8 系統掉電保護和低功耗設計 31
2.8.1 掉電保護 31
2.8.2 低功耗設計 33
2.9 小結 34
第3章 51系列單片機的指令系統 35
3.1 指令系統簡介 35
3.1.1 指令格式 35
3.1.2 指令符號 37
3.2 定址方式 37
3.2.1 立即定址 38
3.2.2 直接定址 38
3.2.3 暫存器定址 39
3.2.4 暫存器間接定址 40
3.2.5 變址定址 41
3.2.6 相對定址 41
3.2.7 位定址 42
3.3 數據傳送指令 43
3.3.1 內部RAM數據傳送指令 43
3.3.2 外部RAM數據傳送指令 46
3.3.3 程式存儲器數據傳送指令 47
3.3.4 數據交換指令 48
3.3.5 堆疊操作指令 49
3.4 算術運算指令 49
3.4.1 加法指令 50
3.4.2 帶進位的加法指令 51
3.4.3 帶借位的減法指令 52
3.4.4 加1指令 53
3.4.5 減1指令 54
3.4.6 乘除法指令 54
3.4.7 十進制調整指令 55
3.5 邏輯運算及移位指令 57
3.5.1 邏輯與指令 57
3.5.2 邏輯或指令 57
3.5.3 邏輯異或指令 58
3.5.4 累加器清零指令 59
3.5.5 累加器取反指令 59
3.5.6 組合邏輯電路的實現 59
3.5.7 循環移位指令 60
3.6 控制轉移指令 62
3.6.1 無條件轉移指令 62
3.6.2 條件轉移指令 65
3.6.3 子程式調用及返回指令 67
3.7 位操作指令 70
3.7.1 位變數傳送指令 70
3.7.2 置位與清零指令 71
3.7.3 位邏輯運算指令 71
3.7.4 位控制轉移指令 71
3.8 空操作指令 73
3.9 51系列單片機指令匯總 73
3.10 小結 77
第4章 51系列單片機的定時/計數器 78
4.1 定時/計數器0和1 78
4.1.1 定時/計數器的結構和功能 79
4.1.2 T0和T1的控制暫存器 80
4.1.3 T0和T1的4種工作模式 82
4.2 定時/計數器2 85
4.2.1 T2的控制暫存器T2CON和T2MOD 85
4.2.2 定時/計數器2的工作模式 87
4.3 定時/計數器的典型套用 90
4.3.1 定時/計數器模式0的套用 90
4.3.2 定時/計數器模式1的套用 90
4.3.3 定時/計數器模式2的套用 91
4.3.4 定時/計數器模式3的套用 92
4.4 小結 94
第5章 51系列單片機中斷系統 95
5.1 中斷系統概述 95
5.1.1 中斷的概念 95
5.1.2 中斷需要解決的問題 96
5.1.3 中斷的用途 97
5.2 中斷的類型 98
5.2.1 外部中斷源 98
5.2.2 定時中斷源 98
5.2.3 串列中斷源 98
5.3 51系列單片機中斷系統的標誌 98
5.3.1 51系列單片機的中斷源 98
5.3.2 中斷請求標誌 99
5.3.3 中斷允許標誌 100
5.3.4 中斷優先權標誌 101
5.4 中斷的處理過程 101
5.4.1 中斷的回響 102
5.4.2 中斷的處理 103
5.4.3 中斷的返回 104
5.4.4 中斷請求的撤離 104
5.5 外部中斷源的擴展 105
5.5.1 定時/計數器擴展外部中斷源 105
5.5.2 查詢方式擴展外部中斷源 106
5.6 小結 107
第6章 51系列單片機的串列接口 108
6.1 串列通信概述 108
6.1.1 串列通信簡介 109
6.1.2 串列通信的數據傳送方式 111
6.1.3 串列通信接口電路 111
6.2 51系列單片機的串列接口 112
6.2.1 單片機串列接口的內部結構 112
6.2.2 單片機串列接口的控制 113
6.2.3 波特率設計 115
6.3 串列接口的工作模式 117
6.3.1 模式0 117
6.3.2 模式1 118
6.3.3 模式2 120
6.3.4 模式3 122
6.4 單片機串列接口的套用 122
6.4.1 雙機通信 122
6.4.2 多機通信 126
6.4.3 擴展I/O口 133
6.5 小結 135
第2部分 51系列單片機程式設計 137
第7章 彙編語言程式設計 138
7.1 彙編語言概述 138
7.1.1 彙編語言簡介 138
7.1.2 彙編語言程式設計步驟 139
7.1.3 彙編語言程式實例 139
7.2 彙編語言指令及其格式 140
7.2.1 偽指令 140
7.2.2 彙編語言程式的格式 143
7.2.3 源程式的彙編 144
7.3 彙編語言程式設計 144
7.3.1 順序程式設計 144
7.3.2 分支程式設計 145
7.3.3 循環程式設計 149
7.3.4 子程式設計 153
7.3.5 查表結構程式設計 155
7.3.6 運算類程式設計 158
7.4 小結 161
第8章 單片機C語言程式設計基礎 162
8.1 單片機C語言概述 162
8.1.1 C51語言的特點 162
8.2 單片機C語言程式設計基礎實例 163
8.3 C51的標識符與關鍵字 164
8.3.1 標識符 164
8.3.2 關鍵字 164
8.4 C51的數據類型 165
8.4.1 常量與變數 167
8.4.2 整型數據 168
8.4.3 浮點型數據 169
8.4.4 字元型數據 170
8.4.5 指針型數據 173
8.4.6 無值型數據 174
8.5 C51的變數作用域 174
8.5.1 基本規則 174
8.5.2 變數作用域 175
8.6 分隔設定與const修飾符 178
8.6.1 C51分隔設定 178
8.6.2 const修飾符 179
8.7 運算符 180
8.7.1 算術運算符 180
8.7.2 邏輯和關係運算符 182
8.7.3 位運算符 185
8.7.4 特殊運算符 187
8.7.5 運算符優先權和結合性 191
8.8 表達式 192
8.8.1 算術表達式 193
8.8.2 賦值表達式 193
8.8.3 逗號表達式 194
8.8.4 關係和邏輯表達式 195
8.9 小結 197
第9章 C51的數據結構與函式 198
9.1 數組 198
9.1.1 數組類型說明 198
9.1.2 數組元素的表示 199
9.1.3 數組元素的初始化賦值 200
9.1.4 一維數組 202
9.1.5 二維數組 204
9.1.6 多維數組 208
9.2 指針 208
9.2.1 地址、指針和指針變數的概念 208
9.2.2 指針變數的定義 209
9.2.3 指針變數的賦值 209
9.2.4 指針變數的引用 211
9.2.5 指針變數的運算 212
9.2.6 指針和數組 213
9.2.7 字元指針 219
9.2.8 指針數組 220
9.3 結構 221
9.3.1 結構的定義 221
9.3.2 結構變數的定義 222
9.3.3 結構變數的使用 224
9.3.4 多重結構變數的賦值 224
9.3.5 結構變數的初始化 225
9.3.6 結構數組 226
9.3.7 結構指針 228
9.3.8 特殊結構 231
9.4 聯合和枚舉 233
9.4.1 聯合 233
9.4.2 結構和聯合的區別 237
9.4.3 枚舉 238
9.5 位域和類型說明 241
9.5.1 位域 241
9.5.2 類型說明 244
9.6 函式 245
9.6.1 函式的概念和分類 245
9.6.2 函式的定義 247
9.6.3 函式的參數 249
9.6.4 函式的返回值 253
9.7 函式的調用 254
9.7.1 賦值調用與引用調用 254
9.7.2 遞歸調用 255
9.7.3 嵌套調用 256
9.8 函式的作用範圍和變數作用域 258
9.8.1 函式的作用範圍 258
9.8.2 函式的變數作用域 258
9.9 一些特殊的函式 259
9.9.1 main函式 259
9.9.2 庫函式 260
9.10 中斷函式 261
9.10.1 中斷概述 261
9.10.2 中斷處理 262
9.10.3 中斷函式 263
9.11 小結 264
第10章 C51語句和流程控制結構 265
10.1 C51語句 265
10.1.1 說明語句 265
10.1.2 表達式語句 265
10.1.3 複合語句 266
10.1.4 循環語句 267
10.1.5 條件語句 271
10.1.6 開關語句 274
10.1.7 跳轉語句 275
10.1.8 函式調用語句 277
10.1.9 空語句 278
10.2 C51的流程控制結構 278
10.3 小結 278
第11章 預處理 279
11.1 預處理命令概述 279
11.2 宏定義指令 280
11.2.1 #define 280
11.2.2 #undef 282
11.3 檔案包含指令 282
11.4 條件編譯指令 284
11.4.1 #if、#else、#endif 284
11.4.2 #elif 284
11.4.3 #ifdef、#ifndef 285
11.5 其他編譯指令 286
11.5.1 #line 286
11.5.2 #error 287
11.5.3 #pragma 287
11.6 C51編譯器的控制指令 287
11.6.1 源檔案控制類 287
11.6.2 目標檔案(Object)控制類 288
11.6.3 列表檔案(listing)控制類 288
11.7 C51常用的頭檔案 288
11.8 小結 291
第12章 C51的存儲結構 292
12.1 51系列單片機的存儲器結構與存儲類型 292
12.1.1 存儲器結構 292
12.1.2 存儲器類型 293
12.1.3 擴展數據類型 295
12.1.4 存儲模式 297
12.1.5 C51的存儲器指針 297
12.2 動態記憶體分配 300
12.2.1 C51的動態分配函式 300
12.2.2 malloc()和calloc()函式 301
12.3 C51啟動檔案STARTUP.A51 301
12.4 小結 306
第13章 Keil C51開發工具簡介 307
13.1 μVision3集成開發環境 307
13.1.1 安裝Keil C51軟體 307
13.1.2 μVision3項目管理視窗 309
13.1.3 μVision3的選單欄 309
13.1.4 μVision3的工具列 314
13.1.5 μVision3的管理配置 317
13.1.6 μVision3的各種常用視窗 321
13.2 用μVision3創建項目 324
13.2.1 啟動並建立項目 324
13.2.2 創建源檔案 326
13.2.3 編譯項目 326
13.3 項目仿真和調試 327
13.3.1 仿真調試 327
13.3.2 斷點的使用 328
13.4 Proteus集成開發環境 329
13.4.1 安裝Proteus 329
13.4.2 使用Proteus設計電路 331
13.4.3 Proteus與Keil μVision3聯合調試仿真 333
13.5 小結 336
第3部分 51系列單片機套用設計實例 337
第14章 鍵盤接口 338
14.1 鍵盤概述 338
14.1.1 鍵盤的編碼 338
14.1.2 鍵盤的可靠輸入 338
14.1.3 鍵盤的檢測及程式回響 339
14.2 單片機與鍵盤的接口 339
14.2.1 獨立式按鍵 339
14.2.2 矩陣式鍵盤 341
14.3 矩陣式鍵盤的接口實例 345
14.3.1 電路圖 345
14.3.2 程式設計 346
14.3.3 程式仿真 349
14.4 小結 351
第15章 串列通信 352
15.1 串列通信接口概述 352
15.1.1 RS-232C標準 352
15.1.2 RS-449標準 355
15.1.3 RS-423A標準 356
15.1.4 RS-422A標準 357
15.1.5 RS-485標準 358
15.1.6 20mA電流環路串列接口 358
15.2 單片機與計算機的串列通信實例 359
15.2.1 計算機讀寫RAM 359
15.2.2 靜態RAM晶片HM628128 360
15.2.3 單片機與RS-232C的接口 362
15.2.4 系統電路原理圖 362
15.2.5 單片機程式設計 364
15.2.6 上位機程式設計 368
15.2.7 系統運行 368
15.3 單片機之間的串列通信實例 369
15.3.1 雙機通信協定一 369
15.3.2 雙機通信協定二 371
15.4 小結 374
第16章 LED及其套用 375
16.1 LED概述 375
16.1.1 共陽極7段LED 375
16.1.2 共陰極7段LED 377
16.2 LED顯示方式 378
16.2.1 靜態顯示 378
16.2.2 動態顯示 381
16.3 LED顯示實例 384
16.3.1 電路圖 384
16.3.2 程式設計 385
16.3.3 程式仿真 389
16.4 小結 389
第17章 液晶顯示 390
17.1 液晶顯示概述 390
17.1.1 液晶的來源 390
17.1.2 LCD結構及原理 391
17.1.3 液晶顯示模組的種類 391
17.1.4 液晶顯示模組的優點 392
17.2 1602液晶顯示模組 393
17.2.1 1602液晶顯示模組介紹 393
17.2.2 1602液晶模組套用實例 398
17.3 液晶顯示模組 404
17.3.1 LCD控制驅動器 404
17.3.2 ST7920功能說明 405
17.3.3 ST7920指令介紹 409
17.3.4 ST7920的控制方式 412
17.3.5 液晶顯示模組的控制 414
17.4 LCM控制實例 415
17.4.1 電路設計 415
17.4.2 程式設計 416
17.4.3 運行效果 428
17.5 小結 428
第18章 A/D轉換 429
18.1 A/D轉換概述 429
18.1.1 A/D轉換原理 429
18.1.2 數據採集和轉換的套用問題 431
18.1.3 A/D轉換器的技術指標 432
18.1.4 A/D轉換器的選擇原則 433
18.2 高性能A/D轉換器MAX197 433
18.2.1 MAX197的特性及引腳 434
18.2.2 MAX197的接口、控制字及時序 435
18.3 A/D轉換實例 438
18.3.1 電路圖 438
18.3.2 程式設計 440
18.4 小結 444
第19章 D/A轉換 445
19.1 D/A轉換概述 445
19.1.1 D/A轉換原理 445
19.1.2 D/A轉換器的類型 446
19.1.3 D/A轉換器的技術指標 448
19.2 高性能D/A轉換器AD558 449
19.2.1 AD558的引腳功能 450
19.2.2 AD558的電壓輸出模式 450
19.2.3 AD558的數據鎖存 451
19.3 光纖型相位調製器驅動電路 452
19.3.1 光纖型相位調製器的原理 452
19.3.2 電路功能介紹 453
19.3.3 系統組成介紹 455
19.3.4 電路圖 456
19.3.5 程式設計 459
19.3.6 仿真與運行效果 463
19.4 小結 464
第20章 電控調頻收音機 466
20.1 收音機基礎知識 466
20.1.1 無線電波的傳播和接收 466
20.1.2 調頻收音機工作原理 467
20.1.3 收音機常見電路 468
20.2 TEA5767單片調頻收音模組 468
20.2.1 調頻收音模組基礎知識 469
20.2.2 TEA5767調頻收音模組功能特性 469
20.2.3 TEA5767調頻收音模組結構體系 470
20.2.4 TEA5767調頻收音模組操作方式 470
20.3 使用51單片機控制調頻收音模組 473
20.3.1 電路圖 474
20.3.2 程式設計 474
20.3.3 實驗步驟 482
20.4 小結 485
第21章 單片機與I2C匯流排 486
21.1 I2C匯流排概述 486
21.1.1 I2C匯流排工作原理 486
21.1.2 I2C匯流排的電氣結構和負載能力 487
21.1.3 I2C匯流排器件的定址方式 487
21.1.4 I2C匯流排的數據傳輸協定 488
21.2 單片機讀寫I2C模組 490
21.2.1 彙編語言的I2C讀寫模組 490
21.2.2 C語言的I2C讀寫模組 494
21.3 單片機讀寫I2C實例 501
21.3.1 24系列串列EEPROM簡介 502
21.3.2 電路設計 502
21.3.3 程式設計 503
21.3.4 仿真分析 505
21.4 小結 507
第22章 AT指令與簡訊收發 508
22.1 AT指令與簡訊收發概述 508
22.1.1 SMS協定 509
22.1.2 AT指令 510
22.1.3 PDU Mode 514
22.1.4 簡訊中心 517
22.1.5 無線MODEM收發簡訊的工作原理 518
22.2 SMS開發的方法 519
22.2.1 GSM模組 520
22.2.2 手機 521
22.3 工廠防盜監控系統 522
22.3.1 電路圖 522
22.3.2 程式分析 524
22.3.3 程式設計 526
22.4 小結 530
第23章 步進電機控制 531
23.1 步進電機概述 531
23.1.1 步進電機種類 531
23.1.2 步進電機的特徵 533
23.1.3 步進電機的驅動系統 534
23.1.4 步進電機的速度、位置控制 534
23.2 常用的步進電機 535
23.2.1 永磁式步進電機 535
23.2.2 步進電機模組 535
23.3 步進電機接口實例 536
23.3.1 電路圖 537
23.3.2 程式設計 538
23.3.3 程式分析 544
23.4 小結 545
第24章 紅外線接口 546
24.1 紅外線通信 546
24.1.1 紅外線通信原理 546
24.1.2 典型的紅外線通信方式 546
24.2 紅外線接口晶片MAX3100 548
24.2.1 引腳及功能 548
24.2.2 典型連線方式 549
24.3 紅外線接口實例 550
24.3.1 電路圖 550
24.3.2 程式設計 552
24.4 小結 556
第25章 聲音及其套用 557
25.1 單片機發音概述 557
25.1.1 音調 557
25.1.2 節拍 559
25.1.3 單片機演奏音樂的方法 560
25.2 單片機演奏音樂實例 560
25.2.1 電路圖 560
25.2.2 程式設計 561
25.3 小結 571
第4部分 增強型51系列單片機 573
第26章 萬年曆溫度計套用 574
26.1 日期和時間控制器DS1302 574
26.1.1 概述 574
26.1.2 內部邏輯和操作方法 575
26.1.3 命令字和復位控制 576
26.1.4 數據讀寫時序和暫存器 577
26.1.5 套用電路 579
26.1.6 驅動程式 580
26.1.7 實驗結果 585
26.2 溫度感測器DS18B20 588
26.2.1 概述 588
26.2.2 套用電路 594
26.2.3 驅動程式 594
26.2.4 實驗結果 599
26.3 帶有溫度顯示的萬年曆 602
26.3.1 電路圖 603
26.3.2 配套程式 603
26.3.3 實驗結果 605
26.4 小結 605
第27章 C8051F系列單片機 606
27.1 C8051F系列單片機簡介 606
27.1.1 C8051F系列單片機基本特性 606
27.1.2 CIP-51核心 609
27.1.3 選型表 620
27.2 C8051F020單片機 622
27.2.1 C8051F020單片機概述 622
27.2.2 引腳封裝 623
27.2.3 程式存儲器 624
27.2.4 特殊功能暫存器 628
27.2.5 中斷系統 632
27.2.6 輸入/輸出連線埠 633
27.2.7 ADC0子系統 642
27.2.8 ADC1子系統 647
27.2.9 DAC子系統 650
27.2.10 電壓基準 653
27.2.11 比較器 653
27.2.12 復位源 655
27.2.13 可程式計數器陣列 658
27.3 採集片內溫度感測器實例 660
27.3.1 電路圖 660
27.3.2 頭檔案C8051F020.H 663
27.3.3 程式設計 669
27.3.4 程式仿真 673
27.4 採集連線埠數據實例 676
27.4.1 電路圖 676
27.4.2 程式設計 677
27.4.3 程式仿真 682
27.5 液晶顯示實例 685
27.5.1 電路圖 685
27.5.2 程式設計 687
27.5.3 程式編譯仿真 699
27.6 小結 700

相關詞條

熱門詞條

聯絡我們