內容簡介
本書以Proteus虛擬仿真技術為基礎闡述8051單片機原理與套用,對8051單片機基本結構、中斷系統、定時器、串列口等功能部件的工作原理作了完整介紹。在介紹8051指令系統的基礎上,闡述了彙編語言和KeilC51高級語言程式設計方法。詳細論述了系統擴展技術、模數與數模轉換接口技術、鍵盤與顯示器接口技術,以實例方式介紹了在Proteus平台上進行套用系統虛擬仿真設計的方法。給出了大量在Proteus集成環境ISIS中繪製的原理電路圖、彙編語言和C語言應用程式範例,所有範例均在Proteus軟體平台上調試通過,可以直接運行。本書可作為高等學校工業自動化、電子測量儀器、計算機套用等相關專業單片機原理與套用課程的教學用書,也可供廣大從事單片機套用系統開發的工程技術人員閱讀。
圖書目錄
前言
第1章 8051單片機基本結構1
1.1 8051單片機的特點與基本結構1
1.2 8051單片機的存儲器結構5
1.3 CPU時序8
1.4 復位信號與復位電路10
1.5 並行I/O連線埠結構11
複習思考題13
第2章 Proteus虛擬仿真技術15
2.1 集成環境ISIS15
2.2 繪製原理圖18
2.3 創建彙編語言原始碼仿真檔案21
2.4 在原理圖中進行原始碼仿真調試22
2.5 原理圖與Keil環境在線上仿真調試25
複習思考題31
第3章 指令系統與彙編語言程式設計32
3.1 指令助記符和位元組數32
3.2 定址方式33
3.2.1 暫存器定址34
3.2.2 直接定址34
3.2.3 立即定址34
3.2.4 暫存器間接定址35
3.2.5 變址定址35
3.2.6 相對定址36
3.2.7 位定址36
3.3 指令分類詳解37
3.3.1 算術運算指令37
3.3.2 邏輯運算指令39
3.3.3 數據傳送指令40
3.3.4 控制轉移指令42
3.3.5 位操作指令44
3.4 彙編語言程式格式與偽指令44
3.5 應用程式設計46
3.6 定點數運運算元程式48
複習思考題58
第4章 Keil C51應用程式設計61
4.1 Keil C51程式設計的基本語法61
4.1.1 Keil C51程式的一般結構61
4.1.2 數據類型62
4.1.3 常量、變數及其存儲模式63
4.1.4 運算符與表達式64
4.2 C51程式的基本語句68
4.2.1 表達式語句68
4.2.2 複合語句68
4.2.3 條件語句69
4.2.4 開關語句69
4.2.5 循環語句70
4.2.6 goto、break、continue語句70
4.2.7 返回語句71
4.3 函式71
4.3.1 函式的定義與調用71
4.3.2 中斷服務函式與暫存器組定義72
4.4 Keil C51編譯器對ANSI C的擴展73
4.4.1 存儲器類型與編譯模式73
4.4.2 關於bit、sbit、sfr、sfr16數據類型75
4.4.3 一般指針與基於存儲器的指針及其轉換77
4.4.4 C51編譯器對ANSI C函式定義的擴展79
4.5 C51編譯器的數據調用協定82
4.6 絕對地址訪問83
4.6.1 採用擴展關鍵字“_at_”或指針定義變數的絕對地址83
4.6.2 採用預定義宏指定變數的絕對地址84
4.7 Keil C51庫函式85
4.7.1 本徵庫函式85
4.7.2 字元判斷轉換庫函式86
4.7.3 輸入/輸出庫函式86
4.7.4 字元串處理庫函式87
4.7.5 類型轉換及記憶體分配庫函式88
4.7.6 數學計算庫函式89
複習思考題90
第5章 中斷系統與定時器/計數器91
5.1 中斷的概念91
5.2 中斷系統結構與中斷控制92
5.3 中斷回響95
5.4 中斷系統套用舉例97
5.4.1 中斷源擴展97
5.4.2 中斷嵌套100
5.5 定時器/計數器的工作方式與控制103
5.6 定時器/計數器套用舉例106
5.6.1 初值和最大定時時間計算107
5.6.2 定時器方式套用107
5.6.3 計數器方式套用115
5.7 利用定時器產生音樂118
複習思考題125
第6章 串列口通信技術126
6.1 串列通信方式126
6.2 串列口的工作方式與控制127
6.3 串列口套用舉例131
6.3.1 串口/並口轉換131
6.3.2 單片機之間的通信134
6.3.3 單片機與PC之間的通信149
複習思考題156
第7章 單片機系統擴展157
7.1 程式存儲器擴展157
7.2 數據存儲器擴展158
7.3 並行I/O連線埠擴展161
7.4 利用I2C匯流排進行系統擴展174
7.5 8051單片機的節電工作方式188
7.5.1 空閒和掉電工作方式189
7.5.2 節電方式的套用190
複習思考題191
第8章 模/數與數/模轉換接口技術193
8.1 轉換器的主要技術指標193
8.2 數/模轉換器接口技術194
8.2.1 無內部鎖存器的DAC接口方法195
8.2.2 DAC0832與8051單片機的接口方法196
8.2.3 DAC1208與8051單片機的接口方法203
8.2.4 串列DAC與8051單片機的接口方法205
8.2.5 利用DAC接口實現波形發生器212
8.3 模/數轉換器接口技術220
8.3.1 比較式ADC 0809與8051單片機的接口方法221
8.3.2 積分式ADC7135與8051單片機的接口方法228
8.3.3 串列ADC與8051單片機的接口方法237
複習思考題242
第9章 鍵盤與顯示器接口技術244
9.1 LED顯示器接口技術244
9.1.1 7段LED數碼顯示器244
9.1.2 串列接口8位共陰極LED驅動器MAX7219 250
9.2 鍵盤接口技術258
9.2.1 編碼鍵盤接口技術259
9.2.2 非編碼鍵盤接口技術261
9.2.3 鍵值分析269
9.3 8279可程式鍵盤/顯示器晶片接口技術274
9.3.1 8279的工作原理274
9.3.2 8279的數據輸入、顯示輸出及命令格式277
9.3.3 8279的接口方法282
9.4 液晶顯示器接口技術288
9.4.1 LCD工作原理和驅動方式288
9.4.2 點陣字元型液晶顯示模組接口技術290
9.4.3 點陣圖型液晶顯示模組接口技術306
複習思考題317
第10章 虛擬仿真設計實例319
10.1 數字多用儀表設計319
10.1.1 功能要求319
10.1.2 硬體電路設計319
10.1.3 軟體程式設計322
10.2 紅外遙控系統設計331
10.2.1 功能要求331
10.2.2 硬體電路設計331
10.2.3 軟體程式設計332
10.3 簡易電子琴設計338
10.3.1 功能要求338
10.3.2 硬體電路設計338
10.3.3 軟體程式設計338
10.4 帶農曆的電子萬年曆設計343
10.4.1 功能要求343
10.4.2 硬體電路設計343
10.4.3 軟體程式設計346
複習思考題357
第11章 單片機系統的抗干擾技術358
11.1 干擾源358
11.1.1 串模干擾、共模干擾及電源干擾358
11.1.2 數字電路的干擾360
11.2 硬體抗干擾措施361
11.2.1 串模干擾的抑制361
11.2.2 共模干擾的抑制363
11.2.3 輸入/輸出通道干擾的抑制364
11.2.4 電源與電網干擾的抑制367
11.2.5 地線系統干擾的抑制369
11.3 軟體抗干擾措施369
11.3.1 數字量輸入/輸出中的軟體抗干擾370
11.3.2 程式執行過程中的軟體抗干擾371
11.3.3 系統的恢復375
複習思考題377
附錄378
附錄A 8051指令表378
附錄B Proteus中的常用元器件383