《單片機(jī)原理及接口技術(shù)(第2版)》詳細(xì)介紹了美國ATMEL公司的AT89S51單片機(jī)的硬件結(jié)構(gòu)與工作原理,8051匯編語言指令系統(tǒng),并從應(yīng)用設(shè)計的角度介紹AT89S51單片機(jī)的各種硬件擴(kuò)展接口設(shè)計、接口驅(qū)動程序設(shè)計以及AT89S51單片機(jī)應(yīng)用系統(tǒng)設(shè)計,同時給出了較多的典型設(shè)計案例。本書還對AT89S51單片機(jī)應(yīng)用系統(tǒng)設(shè)計中的各種流行器件也作以介紹。
張毅剛教授研究領(lǐng)域:主要研究方向:虛擬儀器及計算機(jī)自動測試技術(shù)。 主要研究內(nèi)容:虛擬儀器的系統(tǒng)結(jié)構(gòu)、設(shè)計和組建;微型計算機(jī)、單片機(jī)、數(shù)字信號處理機(jī)在虛擬儀器系統(tǒng)中的應(yīng)用;各類總線接口技術(shù)及其總線標(biāo)準(zhǔn)(諸如數(shù)據(jù)采集卡式、GBIB、VXI、PXI、USB、IEEE1394接口或總線的虛擬儀器系統(tǒng));虛擬儀器的數(shù)據(jù)采集、分析、處理和顯示技術(shù);虛擬儀器的的軟件開發(fā)平臺技術(shù)、軟件設(shè)計技術(shù)和軟件規(guī)范以及測試軟件標(biāo)準(zhǔn)化技術(shù)。
第1章 單片機(jī)概述 1
1.1 單片機(jī)簡介 1
1.2 單片機(jī)的發(fā)展歷史 2
1.3 單片機(jī)的特點 2
1.4 單片機(jī)的應(yīng)用 3
1.5 單片機(jī)的發(fā)展趨勢 5
1.6 MCS-51系列與AT89S5x系列單片機(jī) 6
1.6.1 MCS-51系列單片機(jī) 6
1.6.2 AT89S5x系列單片機(jī)簡介 7
1.7 各種衍生品種的8051單片機(jī) 10
1.7.1 STC系列單片機(jī) 10
1.7.2 C8051F×××單片機(jī) 11
1.7.3 ADμC812單片機(jī) 12
1.7.4 華邦W77系列、W78系列單片機(jī) 12
1.8 PIC系列單片機(jī)與AVR系列單片機(jī) 12
1.8.1 PIC系列單片機(jī) 13
1.8.2 AVR系列單片機(jī) 14
1.9 其他的嵌入式處理器簡介 15
1.9.1 嵌入式DSP處理器 15
1.9.2 嵌入式微處理器 16
思考題及習(xí)題1 16
第2章 AT89S51單片機(jī)的片內(nèi)硬件結(jié)構(gòu) 18
2.1 AT89S51單片機(jī)的硬件組成 18
2.2 AT89S51的引腳功能 20
2.2.1 電源及時鐘引腳 20
2.2.2 控制引腳 21
2.2.3 并行I/O口引腳 22
2.3 AT89S51的CPU 23
2.3.1 運(yùn)算器 23
2.3.2 控制器 25
2.4 AT89S51單片機(jī)存儲器的結(jié)構(gòu) 25
2.4.1 程序存儲器空間 26
2.4.2 數(shù)據(jù)存儲器空間 27
2.4.3 特殊功能寄存器 28
2.4.4 位地址空間 31
2.5 AT89S51單片機(jī)的并行I/O端口 33
2.5.1 P0口 33
2.5.2 P1口 35
2.5.3 P2口 35
2.5.4 P3口 36
2.6 時鐘電路與時序 38
2.6.1 時鐘電路設(shè)計 38
2.6.2 時鐘周期、機(jī)器周期、指令周期與指令時序 39
2.7 復(fù)位操作和復(fù)位電路 40
2.7.1 復(fù)位操作 40
2.7.2 復(fù)位電路設(shè)計 41
2.8 AT89S51單片機(jī)的最小應(yīng)用系統(tǒng) 42
2.9 看門狗定時器(WDT)的使用 42
2.10 低功耗節(jié)電模式 43
2.10.1空閑模式 44
2.10.2 掉電運(yùn)行模式 44
思考題及習(xí)題2 45
第3章 8051指令系統(tǒng)與編程基礎(chǔ) 47
3.1 指令系統(tǒng)概述 47
3.2 指令格式 47
3.3 指令系統(tǒng)的尋址方式 48
3.4 8051指令系統(tǒng)分類介紹 51
3.4.1 數(shù)據(jù)傳送類指令 52
3.4.2 算術(shù)運(yùn)算類指令 56
3.4.3 邏輯操作類指令 61
3.4.4 控制轉(zhuǎn)移類指令 64
3.4.5 位操作類指令 67
3.5 8051指令匯總 69
3.6 某些指令的說明 73
3.7 8051匯編語言程序設(shè)計基礎(chǔ) 75
3.7.1 編程語言概述 75
3.7.2 匯編語言語句和格式 76
3.7.3 偽指令 78
3.7.4 匯編語言源程序的匯編 80
3.8 8051匯編語言程序設(shè)計舉例 81
3.8.1 子程序的設(shè)計 81
3.8.2 查表程序設(shè)計 82
3.8.3 分支轉(zhuǎn)移程序設(shè)計 85
3.8.4 循環(huán)程序設(shè)計 88
思考題及習(xí)題3 91
第4章 AT89S51單片機(jī)的中斷系統(tǒng) 93
4.1 AT89S51中斷技術(shù)概述 93
4.2 AT89S51中斷系統(tǒng)結(jié)構(gòu) 93
4.2..1 中斷請求源 94
4.2.2 中斷請求標(biāo)志寄存器 94
4.3 中斷允許與中斷優(yōu)先級的控制 96
4.3.1 中斷允許寄存器IE 96
4.3.2 中斷優(yōu)先級寄存器IP 97
4.4 響應(yīng)中斷請求的條件 100
4.5 外部中斷的響應(yīng)時間 101
4.6 外部中斷的觸發(fā)方式選擇 101
4.6.1 電平觸發(fā)方式 101
4.6.2 跳沿觸發(fā)方式 102
4.7 中斷請求的撤銷 102
4.8 中斷服務(wù)子程序的設(shè)計 103
4.9 多外部中斷源系統(tǒng)設(shè)計 106
4.9.1 中斷和查詢結(jié)合的方法 107
4.9.2 用優(yōu)先權(quán)編碼器擴(kuò)展外部中斷源 108
思考題及習(xí)題4 110
第5章 I/O口應(yīng)用-顯示與開關(guān)/鍵盤輸入 113
5.1 單片機(jī)控制發(fā)光二極管的顯示 113
5.1.1 單片機(jī)與發(fā)光二極管的連接 113
5.1.2 單片機(jī)I/O端口控制發(fā)光二極管的編程 114
5.2 開關(guān)狀態(tài)檢測 115
5.3 單片機(jī)控制LED數(shù)碼管的顯示 116
5.3.1 LED數(shù)碼管顯示原理 116
5.3.2 LED數(shù)碼管的顯示方式 118
5.3.3 LED數(shù)碼管靜態(tài)顯示設(shè)計 120
5.3.4 LED數(shù)碼管動態(tài)顯示設(shè)計 121
5.4 單片機(jī)控制LED點陣顯示器顯示 123
5.4.1 LED點陣顯示器結(jié)構(gòu)與顯示原理 123
5.4.2 控制16×16 LED點陣顯示屏的設(shè)計 125
5.5 單片機(jī)控制LCD 1602液晶顯示器的顯示 128
5.5.1 LCD 1602液晶顯示模塊簡介 129
5.5.2 單片機(jī)控制字符型LCD 1602的顯示案例 134
5.6 鍵盤接口設(shè)計 137
5.6.1 鍵盤接口設(shè)計應(yīng)解決的問題 137
5.6.2 獨(dú)立式鍵盤的設(shè)計 138
5.6.3 矩陣式鍵盤的設(shè)計 141
5.6.4 單片機(jī)與專用鍵盤/顯示器芯片HD7279的接口設(shè)計 146
5.7 AT89S51單片機(jī)與BCD碼撥盤的接口設(shè)計 156
思考題及習(xí)題5 157
第6章 AT89S51單片機(jī)的定時器/計數(shù)器 159
6.1 定時器/計數(shù)器的結(jié)構(gòu) 159
6.1.1 工作方式控制寄存器TMOD 160
6.1.2 定時器/計數(shù)器控制寄存器TCON 160
6.2 定時器/計數(shù)器的4種工作方式 161
6.2.1 方式0 161
6.2.2 方式1 162
6.2.3 方式2 162
6.2.4 方式3 163
6.3 對外部輸入的計數(shù)信號的要求 165
6.4 定時器/計數(shù)器的編程和應(yīng)用 165
6.4.1 方式1的應(yīng)用 166
6.4.2 方式2的應(yīng)用 168
6.4.3 方式3的應(yīng)用 172
6.4.4 門控制位GATEx的應(yīng)用—測量脈沖寬度 173
6.4.5 實時時鐘的設(shè)計 174
思考題及習(xí)題6 176
第7章 AT89S51單片機(jī)的串行口 178
7.1 串行口的結(jié)構(gòu) 178
7.1.1 串行口控制寄存器SCON 178
7.1.2 特殊功能寄存器PCON 180
7.2 串行口的4種工作方式 180
7.2.1 方式0 180
7.2.2 方式1 183
7.2.3 方式2 185
7.2.4 方式3 187
7.3 多機(jī)通信 187
7.4 波特率的制定方法 189
7.4.1 波特率的定義 189
7.4.2 定時器T1產(chǎn)生波特率的計算 189
7.5 串行口的應(yīng)用 191
7.5.1 串行通信接口標(biāo)準(zhǔn) 191
7.5.2 串行通信設(shè)計需要考慮的問題 194
7.5.3 雙機(jī)串行通信軟件編程 195
7.5.4 PC機(jī)與單片機(jī)的點對點串行通信接口設(shè)計 201
7.5.5 PC機(jī)與單片機(jī)與多個單片機(jī)的串行通信接口設(shè)計 202
思考題及習(xí)題7 203
第8章 AT89S51單片機(jī)外部存儲器的并行擴(kuò)展 205
8.1 系統(tǒng)并行擴(kuò)展結(jié)構(gòu) 205
8.2 地址空間分配和外部地址鎖存器 206
8.2.1 存儲器地址空間分配 207
8.2.2 外部地址鎖存器 210
8.3 靜態(tài)數(shù)據(jù)存儲器RAM的并行擴(kuò)展 212
8.3.1 常用的靜態(tài)RAM(SRAM)芯片 212
8.3.2 外擴(kuò)數(shù)據(jù)存儲器的讀寫操作時序 213
8.3.3 AT89S51單片機(jī)與RAM的接口設(shè)計與軟件編程 214
8.4 片內(nèi)Flash存儲器的編程 218
8.4.1 使用通用編程器的程序?qū)懭?219
8.4.2 使用下載線的ISP編程 219
8.5 E2PROM的并行擴(kuò)展 220
8.5.1 并行E2PROM芯片簡介 221
8.5.2 E2PROM的工作方式 222
8.5.3 AT89S51單片機(jī)擴(kuò)展E2PROM AT2864的設(shè)計 223
思考題及習(xí)題8 224
第9章 AT89S51單片機(jī)的I/O擴(kuò)展 226
9.1 I/O接口擴(kuò)展概述 226
9.1.1 擴(kuò)展的I/O接口功能 226
9.1.2 I/O端口的編址 227
9.1.3 I/O數(shù)據(jù)的傳送方式 227
9.1.4 I/O接口電路 228
9.2 AT89S51擴(kuò)展I/O接口芯片82C55的設(shè)計 228
9.2.1 82C55芯片簡介 228
9.2.2 工作方式選擇控制字及端口PC置位/復(fù)位控制字 230
9.2.3 82C55的3種工作方式 232
9.2.4 AT89S51單片機(jī)與82C55的接口設(shè)計 236
9.3 利用74LS