單片機原理及接口技術(C51編程)( 微課版 第3版)
張毅剛
買這商品的人也買了...
-
$480$456 -
$650$514 -
$450$405 -
$420$412 -
$534$507 -
$1,000$790 -
$780$616 -
$750$638 -
$1,000$850 -
$580$493 -
$1,500$1,425 -
$500電池儲能與清潔能源消納
-
$602嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統
-
$1,330The 8051 Microcontroller and Embedded Systems, 2/e (NIE-Paperback)
-
$475嵌入式實時操作系統:基於RT-Thread的EAI&IoT系統開發
-
$229電能計量設備用電池檢測技術
-
$709機電一體化設計導論
-
$5,430$5,159 -
$5,060$4,807 -
$480$374 -
$880$695 -
$305電子技術基礎(微課視頻版)
-
$539$512 -
$594$564 -
$520$468
相關主題
商品描述
本書詳細介紹了美國ATMEL公司8051內核的AT89S51/52單片機工作原理及應用設計,且融入了目前在教學中已經廣泛使用的虛擬模擬開發工具Proteus,並給出較多的、經過驗證的模擬案例。本書也展示了作者的“單片機原理”國家精品課程的教學模式與教學方法改革的部分成果,對課程體系結構的改進也體現在本書之中。
作者簡介
張毅剛教授畢業於哈爾濱工業大學無線電技術專業,現任哈爾濱工業大學電氣學院教授,主要研究方向:虛擬儀器及計算機自動測試技術。
主要研究內容:虛擬儀器的系統結構、設計和組建;微型計算機、單片機、數字信號處理機在虛擬儀器系統中的應用。
目錄大綱
第1章單片機概述\t1
1.1什麼是單片機1
1.2單片機的發展歷史2
1.3單片機的特點2
1.4單片機的應用3
1.5單片機的發展趨勢4
1.6 MCS-51系列與AT89S5x系列單片機5
1.6.1 MCS-51系列單片機5
1.6.2 8051內核單片機與AT89S5x系列單片機6
1.7各種衍生品種的8051單片機7
1.7.1 STC系列單片機7
1.7.2 C8051F×××單片機8
1.7.3 ADμC812單片機9
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嵌入式微處理器12
思考題及習題12
第2章AT89S51單片機片內硬件結構14
2.1 AT89S51單片機的片內硬件結構14
2.2 AT89S51的引腳功能15
2.2.1電源及時鐘引腳15
2.2.2控制引腳16
2.2.3並行I/O口引腳17
2.3 AT89S51的CPU 18
2.3.1運算器19
2.3.2控制器20
2.4 AT89S51單片機存儲器的結構20
2.4.1程序存儲器空間21
2.4.2數據存儲器空間22
2.4.3特殊功能寄存器23
2.4.4位地址空間25
2.5 AT89S51單片機的並行I/O埠27
2.5.1 P0口27
2.5.2 P1口28
2.5.3 P2口29
2.5 .4 P3口29
2.6時鐘電路與時序30
2.6.1時鐘電路設計30
2.6.2機器週期、指令周期與指令時序31
2.7復位操作和復位電路32
2.7.1復位操作32
2.7.2復位電路設計33
2.8 AT89S51單片機的最小應用系統33
2.9看門狗定時器(WDT)的使用34
2.10低功耗節電模式35
2.10.1空閒模式36
2.10.2掉電運行模式36
2.11 AT89S52單片機與AT89S51單片機的差異37
2.11.1 AT89S52單片機與AT89S51單片機片內硬件資源的差別37
2.11.2 AT89S52的引腳37
2.11.3 AT89S52單片機的存儲器結構38
思考題及習題41
第3章C51編程語言基礎43
3.1 C51編程語言簡介43
3.1.1 C51語言與8051彙編語言的比較43
3.1.2 C51語言與標準C語言的比較44
3.2 C51語言程序設計基礎44
3.2.1 C51語言中的數據類型與存儲類型45
3.2.2 C51語言的特殊功能寄存器及位變量定義49
3.2.3 C51語言的絕對地址訪問51
3.2.4 C51的基本運算52
3.2.5 C51的分支與循環程序結構55
3.2.6 C51的數組61
3.2.7 C51的指針62
3.3 C51語言的函數63
3.3.1函數的分類63
3.3.2函數的參數與返回值65
3.3.3函數的調用65
3.3.4中斷服務函數66
3.3.5變量及存儲方式67
3.3.6宏定義與文件包含67
3.3.7庫函數68
思考題及習題68
第4章開發與模擬工具70
4.1 Keil C51的使用70
4.1.1 Keil C51簡介70
4.1.2基本操作70
4.1.3添加用戶源程序文件72
4.1.4程序的編譯與調試75
4.1.5項目的設置77
4.2 Proteus虛擬模擬工具介紹80
4.2.1 Proteus功能簡介80
4.2.2 Proteus ISIS的虛擬模擬80
4.2.3 Proteus的各種虛擬模擬調試工具87
4.2.4虛擬設計模擬舉例91
思考題及習題97
第5章單片機與開關、鍵盤以及顯示器件的接口設計98
5.1單片機控制發光二極管顯示98
5.1.1單片機與發光二極管的連接98
5.1.2 I/O埠的編程控制99
5.2開關狀態檢測102
5.2.1開關檢測案例1 102
5.2.2開關檢測案例2 103
5.3單片機控制LED數碼管的顯示104
5.3.1 LED數碼管的顯示原理104
5.3.2 LED數碼管的靜態顯示與動態顯示107
5.4單片機控制LED點陣顯示器顯示110
5.4.1 LED點陣顯示器的結構與顯示原理110
5.4.2控制16×16 LED點陣顯示屏的案例111
5.5字符型LCD 1602液晶顯示器的顯示控制113
5.5.1 LCD 1602液晶顯示模塊簡介114
5.5.2單片機控製字符型LCD 1602顯示案例120
5.6點陣式液晶顯示器LCD12864的顯示控制123
5.6.1引腳及顯示原理124
5.6.2控制命令125
5.6.3單片機控制LCD12864顯示的案例127
5.7鍵盤接口設計131
5.7.1鍵盤接口設計應解決的問題132
5.7.2獨立式鍵盤接口設計案例133
5.7.3矩陣式鍵盤的接口設計案例139
5.7.4非編碼鍵盤掃描方式的選擇141
5.7.5單片機與專用鍵盤/顯示器芯片HD7279的接口設計142
思考題及習題152
第6章中斷系統的工作原理及應用154
6.1 AT89S51中斷技術概述154
6.2 AT89S51中斷系統結構154
6.2.1中斷請求源155
6.2.2中斷請求標誌寄存器155
6.3中斷允許與中斷優先級的控制156
6.3.1中斷允許寄存器IE 157
6.3.2中斷優先級寄存器IP 157
6.4響應中斷請求的條件158
6.5外部中斷的響應時間159
6.6外部中斷的觸發方式選擇160
6.6.1電平觸發方式160
6.6 .2跳沿觸發方式160
6.7中斷請求的撤銷160
6.8中斷函數161
6.9中斷系統應用舉例163
6.9.1單一外中斷的應用163
6.9.2兩個外中斷的應用164
6.9.3中斷嵌套的應用166
6.10 AT89S52與AT89S51中斷系統的差別167
6.10.1中斷請求源的差別167
6.10.2中斷請求標誌寄存器的差別168
6.10.3中斷允許寄存器與中斷優先級寄存器的差別168
思考題及習題170
第7章定時器/計數器的工作原理及應用172
7.1定時器/計數器的結構172
7.1.1定時器/計數器工作方式寄存器TMOD 173
7.1.2定時器/計數器控制寄存器TCON 173
7.2定時器/計數器的4種工作方式174
7.2.1方式0 174
7.2.2方式1 175
7.2.3方式2 175
7.2.4方式3 176
7.3計數器對外部輸入的計數信號的要求177
7.4定時器/計數器T0、T1的編程應用178
7.4.1 P1口控制8只LED每0.5s閃亮一次178
7.4.2計數器的應用179
7.4.3控制P1.0產生週期為2ms的方波181
7.4.4利用T1控制發出1kHz的音頻信號182
7.4.5 LED數碼管秒錶的製作184
7.4.6測量脈衝寬度——門控位GATEx的應用186
7.4.7 LCD時鐘的設計188
7.5 AT89S52新增定時器/計數器T2簡介190
7.5.1 T2的特殊功能寄存器T2CON和T2MOD 190
7.5.2 T2的16位自動重裝載方式192
7.5.3 T2的捕捉方式194
7.5.4 T2的波特率發生器方式及可編程時鐘輸出194
思考題及習題197
第8章串行口的工作原理及應用199
8.1串行通信基礎199
8.1.1並行通信與串行通信199
8.1.2同步通信與異步通信200
8.1.3串行通信的傳輸模式201
8.1.4串行通信的錯誤校驗201
8.2串行口的結構202
8.2.1串行口控制寄存器SCON 202
8.2.2特殊功能寄存器PCON 203
8.3串行口的4種工作方式204
8.3.1方式0 204
8.3.2方式1 208
8.3.3方式2 210
8.3.4方式3 211
8.4多機通信211
8.5波特率的製定方法212
8.5.1波特率的定義213
8.5.2定時器T1產生波特率的計算213
8.6串行口應用設計案例214
8.6 .1串行通信標準接口RS232、RS422與RS485簡介214
8.6.2方式1的應用設計217
8.6.3方式2和方式3的應用設計223
8.6.4多機通信的應用設計225
8.6.5單片機與PC串行通信的設計231
8.6.6 PC與單片機或與多個單片機的串行通信235
思考題及習題237
第9章單片機系統的並行擴展239
9.1系統並行擴展技術239
9.1.1系統並行擴展結構239
9.1.2地址空間分配241
9.1.3外部地址鎖存器243
9.2外部數據存儲器的並行擴展244
9.2.1常用的靜態RAM(SRAM)芯片244
9.2.2讀寫片外RAM的操作時序245
9.2 .3並行擴展數據存儲器的設計246
9.2.4單片機外擴數據存儲器RAM6264的案例設計248
9.3片內Flash存儲器的編程250
9.3.1使用通用編程器的程序寫入250
9.3.2使用下載線的ISP編程251
9.4 E2PROM的並行擴展251
9.4.1並行E2PROM芯片簡介252
9.4.2 AT89S51單片機擴展E2PROM AT2864的設計252
9.5 AT89S51擴展並行I/O芯片82C55的設計253
9.5.1 I/O接口擴展概述253
9.5.2並行I/O芯片82C55簡介254
9.5.3 82C55的3種工作方式258
9.5.4 AT89S51單片機與82C55的接口設計262
9.6利用74LSTTL電路擴展並行I/O口264
9.7用AT89S51單片機的串行口擴展並行輸入/輸出口265
9.7.1用74LS165擴展並行輸入口265
9.7.2用74LS164擴展並行輸出口266
思考題及習題267
第10章AT89S51單片機系統的串行擴展269
10.1單總線串行擴展269
10.1.1單總線擴展的典型應用——DS18B20的溫度測量系統269
10.1.2設計案例:單總線DS18B20溫度測量系統272
10.2 SPI總線串行擴展275
10.3 I2C總線的串行擴展276
10.3.1 I2C串行總線系統的基本結構276
10.3.2 I2C總線的數據傳送規定277
10.3.3 AT89S51的I2C總線擴展系統280
10.3.4 I2C總線數據傳送的模擬281
10.3.5利用I2C總線擴展E2PROM AT24C02的IC卡設計284
思考題及習題290
第11章AT89S51單片機與DAC、ADC的接口292
11.1單片機擴展DAC概述292
11.2單片機擴展並行8位DAC0832的設計293
11.2.1 DAC0832簡介293
11.2.2案例設計:單片機擴展DAC0832的程控電壓源294
11.2.3案例設計:波形發生器的製作296
11.3單片機擴展串行10位DAC—TLC5615 300
11.3.1串行DAC—TLC5615簡介300
11.3.2案例設計:單片機擴展串行DAC—TLC5615的設計302
11.4單片機擴展ADC概述304
11.5單片機並行擴展8位A/D轉換器ADC0809 305
11.5.1案例設計:單片機控制ADC0809進行A/D轉換306
11.5.2案例設計:兩路輸入的數字電壓表的設計308
11.6單片機擴展串行8位A/D轉換器TLC549 311
11.6.1 TLC549的特性及工作原理311
11.6.2案例設計:單片機擴展TLC549的設計312
11.7單片機擴展串行12位ADC—TLC2543的設計314
11.7.1 TLC2543的特性及工作原理314
11.7.2案例設計:單片機擴展TLC2543的設計316
思考題及習題319
第12章單片機各種應用設計321
12.1單片機控制步進電機的設計321
12.2單片機控制直流電機323
12.3頻率計的製作325
12.4電話機撥號的模擬328
12.5 8位競賽搶答器設計333
12.6基於時鐘/日曆芯片DS1302的電子鐘設計337
思考題及習題344
第13章功率接口設計345
13.1單片機與外圍集成數字驅動電路的接口345
13.2單片機與光電耦合器的接口347
13.2.1晶體管輸出型光電耦合器驅動接口347
13.2.2晶閘管輸出型光電耦合器驅動接口349
13.3單片機與繼電器的接口350
13.3.1單片機與直流電磁式繼電器功率接口350
13.3.2單片機與交流電磁式接觸器的接口351
13.4單片機與晶閘管的接 352
13.4.1單向晶閘管352
13.4.2雙向晶閘管352
13.4.3光耦合雙向晶閘管驅動器352
13.5單片機與集成功率電子開關輸出接口354
13.5.1集成功率電子開關TWH8751簡介355
13.5.2集成功率電子開關TWH8751的典型應用356
13.6單片機與固態繼電器的接口356
13.6.1固態繼電器的特性與分類356
13.6.2固態繼電器的應用357
13.7低壓開關量信號輸出技術360
思考題及習題360
第14章單片機應用系統抗乾擾與可靠性設計362
14.1乾擾的來源362
14.2供電系統乾擾及其抗乾擾措施363
14.2.1電源噪聲來源、種類及危害363
14.2.2供電系統的抗乾擾設計363
14.3過程通道乾擾的抑制措施—隔離364
14.3.1光電隔離的基本配置364
14.3.2光電隔離的實現365
14.4空間乾擾及抗乾擾措施366
14.4.1接地技術367
14.4.2屏蔽技術368
14.5反電勢乾擾的抑制369
14.6印製電路板的抗乾擾設計370
14.6.1地線及電源線設計370
14.6.2去耦電容的配置371
14.6.3印製電路板的佈線的抗乾擾設計371
14.7軟件抗乾擾措施372
14.7.1軟件抗乾擾的一般方法372
14.7 .2軟件濾波372
14.7.3開關量輸入/輸出軟件抗乾擾設計373
思考題及習題374
第15章單片機應用系統的設計與調試376
15.1單片機應用系統的設計步驟376
15.2單片機應用系統設計377
15.2. 1硬件設計應考慮的問題377
15.2.2典型的單片機應用系統378
15.2.3系統設計中的總線驅動379
15.2.4軟件設計考慮的問題381
15.3單片機應用系統的模擬開發與調試381
思考題及習題385
附錄A 386
基礎實驗題目386
實驗1單片機I/O口實驗——LED流水燈386
實驗2單個外部中斷實驗386
實驗3中斷嵌套實驗387
實驗4定時器/計數器的定時實驗387
實驗5定時器/計數器的計數器實驗387
實驗6串口方式0擴展並行輸出口實驗388
實驗7串行口方式0擴展並行輸入口實驗388
實驗8雙單片機串行通信389
實驗9擴展82C55並行I/O實驗390
實驗10獨立式鍵盤實驗390
實驗11矩陣式鍵盤掃描實驗391
實驗12單片機控制1602液晶顯示器顯示字符391
實驗13 DAC0832的D/A轉換實驗392
實驗14 ADC0809的A/D轉換實驗392
實驗15 I2C總線串行擴展——AT24C02存儲器讀寫393
附錄B 394
課程設計題目394
題目1節日彩燈控制器的設計394
題目2單一外中斷的應用394
題目3 LED數碼管秒錶的製作395
題目4音樂音符發生器的製作395
題目5用定時器設計的門鈴396
題目6控制數碼管循環顯示單個數字396
題目7基於DS18B20的數字溫度計設計396
題目8利用定時器在P1.0上產生週期為2ms的方波397
題目9電話鍵盤及撥號的模擬398
題目10雙機串行口方式1單工通信398
題目11數碼管顯示4×4矩陣鍵盤的鍵號399
題目12波形發生器的製作399
題目13頻率計的製作399
題目14數字電壓表設計400
題目15單片機控制串行DAC—— TLC5615的調壓器401
題目16單片機控制16×16陣列LED的顯示401
題目17直流電機控制實驗402
題目18步進電機控制實驗402
附錄C 406
頭文件"LCD1602.h"清單406
附錄D 408
頭文件"DS1302.h"清單408
參考書目412