單片機原理與套用設計(C51編程+Proteus仿真)(第2版)

單片機原理與套用設計(C51編程+Proteus仿真)(第2版)

本書是普通高等教育“十一五”國家級規劃教材再版教材和國家精品課程主講教材。詳細介紹美國ATMEL公司的AT89S51單片機的片內硬體資源及工作原理,採用C51語言編程,並以虛擬仿真平台Proteus作為設計與開發工具,還簡要介紹了Keil μVision 3的使用方法。

基本介紹

  • 書名:單片機原理與套用設計(C51編程+Proteus仿真)(第2版)
  • 作者:張毅剛
  • ISBN:9787121263071
  • 出版社:電子工業出版社
  • 出版時間:2015-06-01
圖書內容,目錄,

圖書內容

本書是普通高等教育“十一五”國家級規劃教材再版教材和國家精品課程主講教材。詳細介紹美國ATMEL公司的AT89S51單片機的片內硬體資源及工作原理,採用C51語言編程,並以虛擬仿真平台Proteus作為設計與開發工具,還簡要介紹了Keil μVision 3的使用方法。
從套用角度出發,重點介紹單片機套用的各種技術實現,如信息的顯示與輸入、中斷、定時/計數、串列通信、模/數與數/模轉換、系統的並行/串列擴展、套用系統設計等,書中給出較多虛擬仿真設計案例,並在附錄A提供實驗和課程設計題目。本書還為任課老師提供電子課件和習題參考答案。

目錄

第1章 單片機概述 1
1.1 單片機簡介 1
1.2 單片機的發展歷史 1
1.3 單片機的特點 2
1.4 單片機的套用領域 3
1.5 單片機的發展趨勢 3
1.6 MCS-51系列與AT89S5x系列單片機 4
1.6.1 MCS-51系列單片機 5
1.6.2 AT89S5x系列單片機 5
1.7 各種衍生品種的8051單片機 7
1.7.1 STC系列單片機 7
1.7.2 C8051Fxxx單片機 8
1.7.3 ADC812單片機 8
1.7.4 華邦W77系列、W78系列單片機 9
1.8 PIC系列單片機與AVR系列單片機 9
1.8.1 PIC系列單片機 9
1.8.2 AVR系列單片機 10
1.9 其他嵌入式處理器簡介 11
1.9.1 嵌入式DSP處理器 11
1.9.2 嵌入式微處理器 11
思考題及習題1 12
第2章 AT89S51單片機的片內硬體結構 13
2.1 AT89S51單片機的硬體組成 13
2.2 AT89S51的引腳功能 14
2.2.1 電源及時鐘引腳 15
2.2.2 控制引腳 15
2.2.3 並行I/O口引腳 16
2.3 AT89S51的CPU 17
2.3.1 運算器 17
2.3.2 控制器 18
2.4 AT89S51單片機存儲器的結構 18
2.4.1 程式存儲器空間 19
2.4.2 數據存儲器空間 20
2.4.3 特殊功能暫存器 20
2.4.4 位地址空間 23
2.5 AT89S51單片機的並行I/O連線埠 24
2.5.1 P0口 24
2.5.2 P1口 26
2.5.3 P2口 26
2.5.4 P3口 27
2.6 時鐘電路與時序 28
2.6.1 時鐘電路設計 28
2.6.2 機器周期、指令周期與指令時序 29
2.7 復位操作和復位電路 30
2.7.1 復位操作 30
2.7.2 復位電路設計 30
2.8 看門狗定時器(WDT)的使用 31
2.9 低功耗節電模式 32
2.9.1 空閒模式 33
2.9.2 掉電運行模式 33
2.9.3 掉電模式和空閒模式下的WDT 33
思考題及習題2 34
第3章 C51語言編程基礎與Keil Vision3開發平台 36
3.1 C51程式語言概述 36
3.1.1 C51語言與8051彙編語言的比較 36
3.1.2 C51語言與標準C語言的比較 36
3.2 C51語言程式設計基礎 37
3.2.1 C51語言中的數據類型與存儲類型 37
3.2.2 C51語言的特殊功能暫存器及位變數定義 41
3.2.3 C51語言的絕對地址訪問 43
3.2.4 C51語言的基本運算 45
3.2.5 C51語言的分支與循環程式結構 47
3.2.6 C51語言的數組 53
3.2.7 C51語言的指針 55
3.3 C51語言的函式 55
3.3.1 函式的分類 56
3.3.2 函式的參數與返回值 57
3.3.3 函式的調用 57
3.3.4 中斷服務函式 58
3.3.5 變數及存儲方式 59
3.3.6 宏定義與檔案包含 59
3.3.7 庫函式 60
3.4 Keil Vision3環境下的C51語言程式開發 60
3.4.1 KeilVision3的基本操作 60
3.4.2 添加用戶源程式檔案 62
3.4.3 程式的編譯與調試 64
3.4.4 工程的設定 66
思考題及習題3 68
第4章 虛擬仿真平台Proteus的使用 69
4.1 Proteus功能概述 69
4.2 Proteus ISIS的虛擬仿真 70
4.3 Proteus ISIS環境簡介 71
4.3.1 ISIS各視窗簡介 71
4.3.2 主選單欄 72
4.3.3 主工具列 75
4.3.4 工具箱 75
4.3.5 仿真工具列 77
4.3.6 元件列表 77
4.3.7 預覽視窗 77
4.3.8 原理圖編輯視窗 78
4.4 Proteus ISIS的編輯環境設定 78
4.4.1 選擇模板 78
4.4.2 選擇圖紙 79
4.4.3 設定文本編輯器 79
4.4.4 格線開關與格點間距設定 79
4.5 Proteus ISIS的系統運行環境設定 79
4.6 單片機系統的原理電路設計與虛擬仿真 80
4.6.1 原理電路設計與虛擬仿真的步驟 80
4.6.2 新建或打開一個設計檔案 81
4.6.3 選擇需要的元件到元件列表 82
4.6.3 選擇需要的元件到元件列表 82
4.6.4 放置元件並連線電路 83
4.6.5 載入目標代碼檔案、設定時鐘頻率及仿真運行 87
4.7 Proteus的各種虛擬仿真調試工具 88
4.7.1 虛擬信號源 88
4.7.2 虛擬儀器 93
4.7.3 虛擬儀器的圖表仿真 102
4.7.4 診斷模式的設定 105
4.7.5 硬體斷點的設定 105
第5章 單片機開關檢測、鍵盤輸入與顯示接口設計 108
5.1 單片機控制發光二極體顯示 108
5.1.1 單片機與發光二極體的連線 108
5.1.2 I/O連線埠的編程控制 109
5.2 開關狀態檢測 112
5.2.1 開關檢測實例1 112
5.2.2 開關檢測實例2 113
5.3 單片機控制LED數碼管的顯示 114
5.3.1 LED數碼管的顯示原理 114
5.3.2 LED數碼管的靜態顯示與動態顯示 116
5.4 單片機控制LED點陣顯示器顯示 119
5.4.1 LED點陣顯示器的結構與顯示原理 120
5.4.2 控制16×16 LED點陣顯示屏的實例 121
5.5 單片機控制LCD 1602液晶顯示器的顯示 123
5.5.1 LCD 1602液晶顯示模組簡介 123
5.5.2 單片機控制字元型LCD 1602顯示實例 129
5.5 鍵盤接口設計 132
5.5.1 鍵盤接口設計需解決的問題 132
5.5.2 獨立式鍵盤接口設計實例 133
5.5.3 矩陣式鍵盤的接口設計實例 140
5.5.4 非編碼鍵盤掃描方式的選擇 143
5.5.5 單片機與專用鍵盤/顯示器晶片HD7279A的接口設計 143
思考題及習題5 153
第6章 中斷系統的工作原理及套用 155
6.1 AT89S51中斷技術概述 155
6.2 AT89S51中斷系統結構 155
6.2.1 中斷請求源 155
6.2.2 中斷請求標誌暫存器 156
6.3 中斷允許與中斷優先權的控制 157
6.3.1 中斷允許暫存器IE 157
6.3.2 中斷優先權暫存器IP 158
6.4 回響中斷請求的條件 159
6.5 外部中斷的回響時間 160
6.6 外部中斷的觸發方式選擇 160
6.6.1 電平觸發方式 160
6.6.2 跳沿觸發方式 161
6.7 中斷請求的撤銷 161
6.8 中斷函式 162
6.9 中斷系統套用舉例 163
6.9.1 單一外中斷的套用 163
6.9.2 兩個外中斷的套用 164
6.9.3 中斷嵌套的套用 166
思考題及習題6 167
第7章 定時器/計數器的工作原理及套用 168
7.1 定時器/計數器的結構 168
7.1.1 工作方式控制暫存器TMOD 168
7.1.2 定時器/計數器控制暫存器TCON 169
7.2 定時器/計數器的4種工作方式 169
7.2.1 方式0 169
7.2.2 方式1 170
7.2.3 方式2 171
7.2.4 方式3 171
7.3 對外部輸入的計數信號的要求 173
7.4 定時器/計數器的編程和套用 173
7.4.1 用P1口控制8隻LED每0.5s閃亮一次 173
7.4.2 計數器的套用 174
7.4.3 控制P1.0引腳產生周期為2ms的方波 176
7.4.4 利用T1控制發出1kHz的音頻信號 177
7.4.5 LED數碼管秒表的製作 179
7.4.6 測量脈衝寬度——門控位GATEx的套用 181
7.4.7 LCD時鐘的設計 183
思考題及習題7 185
第8章 串列口的工作原理及套用 187
8.1 串列口的結構 187
8.1.1 串列口控制暫存器SCON 187
8.1.2 特殊功能暫存器PCON 188
8.2 串列口的4種工作方式 189
8.2.1 方式0 189
8.2.2 方式1 193
8.2.3 方式2 194
8.2.4 方式3 195
8.3 多機通信 195
8.4 波特率的制定方法 197
8.4.1 波特率的定義 197
8.4.2 計算定時器T1產生的波特率 197
8.5 串列口套用設計實例 198
8.5.1 串列通信標準接口RS-232C、RS-422A與RS-485簡介 199
8.5.2 方式1的套用設計實例 201
8.5.3 方式2和方式3的套用設計 208
8.5.4 多機通信的套用設計實例 210
8.5.5 單片機與PC機串列通信的設計實例 216
8.5.6 PC機與單片機或與多個單片機的串列通信 220
思考題及習題8 221
第9章 單片機系統的並行擴展 223
9.1 系統並行擴展技術 223
9.1.1 系統並行擴展結構 223
9.1.2 地址空間分配 224
9.1.3 外部地址鎖存器 226
9.2 外部數據存儲器的並行擴展 228
9.2.1 常用的靜態RAM(SRAM)晶片 228
9.2.2 讀/寫片外RAM的操作時序 229
9.2.3 並行擴展數據存儲器的設計 230
9.2.4 單片機外擴數據存儲器RAM 6264的設計實例 232
9.3 片內Flash存儲器的編程 233
9.3.1 使用通用編程器寫入程式 234
9.3.2 使用下載線的ISP編程 234
9.4 E2PROM的並行擴展 235
9.4.1 並行E2PROM晶片簡介 235
9.4.2 AT89S51單片機擴展E2PROM 2864A晶片的設計 236
9.5 AT89S51單片機擴展並行I/O接口晶片82C55的設計 237
9.5.1 I/O接口擴展概述 237
9.5.2 並行I/O接口晶片82C55簡介 238
9.5.3 82C55的3種工作方式 241
9.5.4 AT89S51單片機與82C55的接口設計 245
9.6 利用74LSTTL電路擴展並行I/O接口設計實例 247
9.7 用AT89S51單片機的串列口擴展並行輸入/輸出接口設計實例 248
9.7.1 用74LS165擴展並行輸入接口實例 248
9.7.2 用74LS164擴展並行輸出接口實例 249
思考題及習題9 250
第10章 AT89S51單片機系統的串列擴展 252
10.1 單匯流排串列擴展 252
10.1.1 單匯流排擴展的典型套用——DS18B20的溫度測量系統 252
10.1.2 設計實例——單匯流排DS18B20溫度測量系統 255
10.2 SPI匯流排串列擴展 258
10.3 I2C匯流排的串列擴展 259
10.3.1 I2C串列匯流排系統的基本結構 259
10.3.2 I2C匯流排的數據傳送規定 260
10.3.3 AT89S51單片機的I2C匯流排擴展系統 262
10.3.4 I2C匯流排數據傳送的模擬 263
10.3.5 利用I2C匯流排擴展E2PROM AT24C02的IC卡設計實例 266
思考題及習題10 272
第11章 AT89S51單片機與DAC、ADC的接口 273
11.1 單片機擴展DAC概述 273
11.2 單片機擴展並行8位DAC0832晶片的設計 274
11.2.1 DAC0832晶片簡介 274
11.2.2 設計實例1——單片機擴展DAC0832的程控電壓源 275
11.2.3 設計實例2——波形發生器的製作 276
11.3 單片機擴展串列10位DAC-TLC5615 281
11.3.1 串列DAC-TLC5615簡介 281
11.3.2 設計實例——單片機擴展串列DAC-TLC5615的設計 282
11.4 單片機擴展ADC概述 284
11.5 單片機並行擴展8位A/D轉換器ADC0809 286
11.5.1 設計實例——單片機控制ADC0809進行A/D轉換 287
11.5.2 設計實例——兩路輸入的數字電壓表的設計 288
11.6 單片機擴展串列8位A/D轉換器TLC549 291
11.6.1 TLC549晶片的特性及工作原理 292
11.6.2 設計實例——單片機擴展TLC549的設計 293
11.7 單片機擴展串列12位ADC-TLC2543的設計 295
11.7.1 TLC2543晶片的特性及工作原理 295
11.7.2 設計實例——單片機擴展TLC2543的設計 297
思考題及習題11 299
第12章 AT89S51單片機的套用系統設計 301
12.1 單片機套用系統的設計步驟 301
12.2 單片機套用系統設計應當考慮的問題 302
12.2.1 硬體設計應考慮的問題 302
12.2.2 典型的單片機套用系統組成 303
12.2.3 系統設計中的匯流排驅動 304
12.2.4 AT89S51單片機的最小套用系統 305
12.3 單片機套用系統的仿真開發與調試 306
12.4 單片機套用系統設計實例 309
12.4.1 設計實例1——單片機控制步進電機的設計 309
12.4.2 設計實例2——單片機控制直流電機的設計 311
12.4.3 設計實例3——頻率計的製作 313
12.4.4 設計實例4——模擬電話撥號的設計 316
12.4.5 設計實例5——8位競賽搶答器設計 321
12.4.6 設計實例6——基於時鐘/日曆晶片DS1302的電子鐘設計 326
思考題及習題12 332
附錄A 實驗與課程設計題目 333
題目1 單片機I/O口實驗——LED流水燈 333
題目2 單個外部中斷實驗 333
題目3 中斷嵌套實驗 334
題目4 定時器/計數器的定時實驗 334
題目5 定時器/計數器的計數實驗 335
題目6 串列口方式0擴展並行輸出口實驗 335
題目7 串列口方式0擴展並行輸入口實驗 335
題目8 雙單片機串列通信 336
題目9 單片機與PC之間串列通信實驗 336
題目10 擴展82C55並行I/O接口實驗 337
題目11 獨立式鍵盤實驗 337
題目12 矩陣式鍵盤掃描實驗 338
題目13 單片機驅動1602液晶顯示模組 338
題目14 DAC0832的D/A轉換實驗 339
題目15 ADC0809的A/D轉換實驗 339
題目16 I2C匯流排串列擴展AT24C02存儲器讀/寫 339
題目17 單片機控制16×16 陣列LED的顯示 340
題目18 溫度感測器DS18B20實驗 340
題目19 直流電機控制實驗 341
題目20 步進電機控制實驗 341
附錄B 頭檔案"LCD1602.h"和"DS1302.h"清單 342
B.1 頭檔案"LCD1602.h"清單 342
B.2 頭檔案"DS1302.h"清單 343
參考文獻 348

相關詞條

熱門詞條

聯絡我們