內容簡介
本書將傳統的微機原理內容和單片機內容相整合,先講述了微機原理的基本知識,再利用單片機晶片講述微型計算機系統及套用。微機原理理論部分相比傳統的微機原理進行了適當的改動。單片機晶片採用結構簡單的51系列單片機,同時介紹了與51系列單片機連線的常用功能晶片,並在此基礎上實現典型的51系列單片機套用系統設計。
本書的內容分三個部分:微型計算機基本原理、51系列單片機原理及套用和軟體工具。微型計算機基本原理部分介紹微型計算機基礎知識、微處理器的基本組成和工作原理、存儲器的結構和訪問方法、輸入/輸出接口的基本結構和傳送方式、串列通信及接口標準等內容。51系列單片機原理及套用部分對51系列單片機晶片和一些功能接口部件和晶片進行詳細的介紹,結合實際套用,組建完整的單片機硬體和軟體系統。軟體工具部分介紹本書內容涉及的兩個軟體(Keil C51和Proteus)的基本使用方法。
本書可作為普通高校自動化、電氣、電子信息等專業的教材,也適合學習單片機原理及套用開發的工程技術人員。
圖書目錄
序
前 言
第1章 計算機基礎知識1
導讀1
1.1 概述1
1.1.1 計算機發展歷程1
1.1.2 計算機硬體系統3
1.1.3 計算機軟體系統4
1.2 計算機中的信息及表示5
1.2.1 計算機中的數制及轉換5
1.2.2 數在計算機中的表示9
1.2.3 其他信息的表示12
思考題與習題13
第2章 微型計算機的基本原理14
導讀14
2.1 微型計算機的結構14
2.1.1 微型計算機的基本結構14
2.1.2 微處理器15
2.1.3 存儲器18
2.1.5 匯流排20
2.2 微型計算機的基本工作原理20
2.2.1 指令和程式簡介20
2.2.2 微型計算機的工作過程21
2.3 單片微型計算機25
2.3.1 單片機的概念25
2.3.2 單片機的發展歷程26
2.3.3 單片機的套用26
思考題與習題27
第3章 微型計算機中的存儲器28
導讀28
3.1 概述28
3.1.2 半導體存儲器的基本結構30
3.2.1 靜態RAM32
3.2.2 動態RAM34
3.3.1 唯讀存儲器的基本原理36
3.3.2 典型的Intel 2764系列EPROM晶片38
3.4 存儲器與微處理器的連線40
3.4.1 存儲器與CPU的連線方法40
3.4.2 存儲器與微處理器的擴展連線42
3.4.3 存儲器與微處理器連線時還應考慮的問題44
3.5 存儲器的結構類型45
3.5.2 哈佛結構46
思考題與習題47
第4章 輸入/輸出接口與中斷48
導讀48
4.1 輸入/輸出接口概述48
4.1.1 輸入/輸出(I/O)接口的概念48
4.1.3 I/O接口的基本結構50
4.1.4 I/O接口的編址方式51
4.1.5 I/O接口的分類52
4.2 CPU與外設的數據傳送方式53
4.2.1 程式控制方式53
4.2.2 中斷傳送方式55
4.2.3 直接存儲器存取(DMA)傳送方式55
4.3 中斷及中斷技術56
4.3.1 中斷的基本概念56
4.3.2 中斷的分類57
4.3.3 中斷的功能58
4.3.4 中斷的優先權58
4.3.5 中斷的允許和禁止60
4.3.6 中斷的處理過程60
思考題與習題64
第5章 串列通信及接口標準65
導讀65
5.1 通信的基本知識65
5.1.1 並行通信和串列通信65
5.1.2 串列通信的制式66
5.1.3 串列通信數據傳送的基本過程66
5.1.4 串列通信的通信方式67
5.1.5 串列通信的校驗方法69
5.1.6 串列通信的速度69
5.2 常見串列通信匯流排接口標準69
5.2.1 RS-232C標準70
5.2.2 RS-422/423/485接口標準73
思考題與習題76
第6章 51系列單片機基本原理77
導讀77
6.1 51系列單片機簡介77
6.2 8051的結構原理78
6.2.1 8051的基本組成及內部結構78
6.2.3 8051的存儲器結構81
6.2.4 8051的輸入/輸出接口86
6.3 51系列單片機的外部引腳及片外匯流排89
6.3.1 51系列單片機的外部引腳89
6.3.2 51系列單片機的片外匯流排92
6.4 51系列單片機的時序92
6.4.1 時鐘周期、機器周期和指令周期92
6.4.2 51系列單片機指令的時序93
6.5 51系列單片機的工作方式94
6.5.1 復位方式94
6.5.2 程式執行方式95
6.5.3 單步執行方式95
6.5.4 掉電和節電方式95
6.5.5 編程和校驗方式96
思考題與習題97
第7章 51系列單片機彙編程式設計98
導讀98
7.1.1 指令格式98
7.1.2 指令中用到的標識符99
7.2 51系列單片機指令的定址方式99
7.2.1 常數定址(立即定址)100
7.2.2 暫存器數定址(暫存器定址)100
7.2.3 存儲器數定址100
7.2.4 位數據定址(位定址)102
7.2.5 指令定址102
7.3 51系列單片機的指令系統102
7.3.1 數據傳送類指令103
7.3.2 算術運算類指令105
7.3.3 邏輯運算類指令109
7.3.4 控制轉移類指令111
7.3.5 位操作類指令115
7.4 51系列單片機彙編程式設計過程及常用偽指令116
7.4.1 51系列單片機彙編程式設計過程116
7.4.2 51系列單片機彙編程式常用偽指令117
7.5 51系列單片機彙編程式設計119
7.5.1 數據傳送程式119
7.5.2 運算程式120
7.5.3 代碼轉換程式122
7.5.4 分支程式123
7.5.5 延時程式125
思考題與習題125
第8章 51系列單片機C語言程式設計128
導讀128
8.1 單片機C語言基礎知識128
8.2 C51的數據類型129
8.2.1 C51的基本數據類型129
8.2.2 C51的特有數據類型131
8.3 C51的變數與存儲器類型131
8.3.1 C51的普通變數及定義131
8.3.2 C51的特殊功能暫存器變數134
8.3.3 C51的位變數135
8.3.4 C51的指針變數136
8.4 絕對地址的訪問137
8.4.1 使用C51運行庫中預定義宏137
8.4.2 通過指針訪問138
8.4.3 使用C51擴展關鍵字_at_138
8.5 C51中的函式139
8.5.1 C51函式的參數傳遞139
8.5.2 C51函式的返回值140
8.5.3 C51函式的存儲模式140
8.5.4 C51的中斷函式141
8.5.5 C51函式的暫存器組選擇142
8.5.6 C51的重入函式142
思考題與習題143
第9章 51系列單片機片內接口及套用144
導讀144
9.1 並行I/O接口144
9.2 定時器/計數器接口145
9.2.1 定時器/計數器概述145
9.2.2 51系列單片機定時器/計數器的主要特性146
9.2.3 定時器/計數器T0、T1的結構及工作原理146
9.2.4 定時器/計數器的方式暫存器和控制暫存器147
9.2.5 定時器/計數器的工作方式148
9.2.6 定時器/計數器的編程及套用151
9.3 串列接口155
9.3.1 51系列單片機串列口的功能155
9.3.2 51系列單片機串列口的結構155
9.3.3 串列口控制暫存器156
9.3.4 電源控制暫存器157
9.3.5 串列口的工作方式158
9.3.6 串列口的編程及套用159
9.4 51系列單片機中斷系統166
9.4.1 51系列單片機的中斷系統結構166
9.4.2 51系列單片機的中斷源166
9.4.3 兩級中斷允許控制168
9.4.4 兩級優先權控制168
9.4.5 中斷回響169
9.4.6 中斷系統的套用170
思考題與習題174
第10章 51系列單片機I/O接口及套用176
導讀176
10.1 51系列單片機的最小系統176
10.2 數碼管顯示器與51系列單片機接口177
10.2.1 數碼管顯示器的基本結構與原理177
10.2.2 數碼管顯示器使用的主要問題179
10.2.3 數碼管顯示器接口與編程181
10.3 液晶顯示器LCD1602與51系列單片機的接口184
10.3.1 LCD1602概述184
10.3.2 LCD1602的內部結構185
10.3.3 LCD1602的指令格式與功能187
10.3.4 LCD1602的接口與編程189
10.4 鍵盤與51系列單片機的接口193
10.4.1 鍵盤概述193
10.4.2 獨立式鍵盤與單片機的接口196
10.4.3 矩陣式鍵盤與單片機的接口197
思考題與習題203
第11章 51系列單片機數/模、模/數接口及套用204
導讀204
11.1 D/A轉換器與51系列單片機的接口204
11.1.1 D/A轉換器概述204
11.1.2 典型的D/A轉換器DAC0832206
11.1.3 DAC0832與51系列單片機的接口與套用208
11.2.1 A/D轉換器概述214
11.2.2 典型的A/D轉換器ADC0808/0809216
11.2.3 ADC0808/0809與51系列單片機的接口218
思考題與習題222
第12章 51系列單片機套用系統設計223
導讀223
12.1 單片機套用系統開發過程223
12.1.1 單片機套用系統開發的基本過程223
12.1.2 單片機套用系統的硬體系統設計224
12.1.3 單片機套用系統的軟體系統設計226
12.2 單片機電子時鐘的設計228
12.2.1 功能要求228
12.2.2 總體方案設計228
12.2.3 主要器件介紹229
12.2.4 硬體電路設計234
12.2.5 軟體程式設計234
12.3.1 功能要求247
12.3.2 總體方案設計248
12.3.3 主要器件介紹248
12.3.4 硬體電路設計252
12.3.5 軟體程式設計253
思考題與習題262
第13章 Keil C51集成環境的使用263
導讀263
13.1 Keil C51簡介263
13.2 Keil Vision4 IDE的使用方法264
13.2.1 建立項目檔案264
13.2.2 給項目添加程式檔案266
13.2.3 編譯、連線項目,形成目標檔案267
13.2.4 運行調試觀察結果268
13.2.5 仿真環境的設定268
思考題與習題271
第14章 Proteus軟體的使用272
導讀272
14.1 Proteus概述272
14.1.1 Proteus的進入272
14.1.2 Proteus的界面273
14.2 Proteus的基本操作275
14.2.1 新建電路和選擇元件275
14.2.2 放置和編輯元件277
14.2.3 連線導線278
14.2.4 給單片機載入程式280
14.2.5 運行仿真查看結果281
思考題與習題281
附錄282
附錄A 51系列單片機指令表(如表A-1~表A-5)282
附錄B C51的庫函式285
參考文獻294
"