商品簡介
《51單片機C語言應用開發技術大全(第2版)》針對目前最常用的51系列單片機進行了全面講解。全書分為5篇,共33章,內容涵蓋51單片機基礎知識、51單片機C語言程序設計、51單片機常用外圍模塊以及51單片機綜合應用實例。
《51單片機C語言應用開發技術大全(第2版)》通俗易懂、條理清晰、實例豐富、圖文并茂,循序漸進地講解了單片機的所有功能及其典型應用,并對每項功能都給出了電路原理圖和C51實例代碼。在綜合實例部分,詳細地講解了系統開發的思路,使讀者進一步掌握單片機系統開發的一般方法,在實際應用中加深對單片機基礎知識及其外圍模塊的理解。
《51單片機C語言應用開發技術大全(第2版)》可作為高等院校學生學習單片機C語言程序設計,或進行單片機課程設計、畢業設計和大學生電子設計競賽的參考用書,也可以供廣大單片機應用開發技術人員參考。
目次
目 錄
第1篇 單片機快速入門篇
第1章 初識單片機 3
1.1 單片機的發展歷史、現狀與趨勢 3
1.2 單片機的硬軟件系統及種類 5
1.2.1 單片機的硬件系統 5
1.2.2 單片機的軟件系統 6
1.2.3 單片機的種類 6
1.3 單片機開發工具 8
1.3.1 編程器 8
1.3.2 仿真器 8
1.3.3 其他工具 9
1.4 單片機的應用領域 10
第2章 單片機應用系統開發基礎 11
2.1 51單片機的體系結構 11
2.1.1 總體結構 11
2.1.2 中央處理器CPU 14
2.1.3 存儲器 20
2.1.4 振蕩器 27
2.1.5 工作模式 28
2.2 51單片機的指令系統 31
2.2.1 指令格式 31
2.2.2 尋址方式 32
2.2.3 指令系統 35
2.3 I/O端口 47
2.3.1 P0端口 47
2.3.2 P1端口 48
2.3.3 P2端口 49
2.3.4 P3端口 50
2.4 中斷系統 50
2.4.1 中斷系統的結構 51
2.4.2 中斷請求源 51
2.4.3 外部中斷 53
2.4.4 中斷控制 54
2.4.5 中斷過程 56
2.5 定時/計數器及串行口 57
2.5.1 定時/計數器的結構 58
2.5.2 定時器的方式寄存器TMOD 58
2.5.3 定時器/計數器控制寄存器TCON 59
2.5.4 定時/計數器的工作方式 60
2.5.5 定時器/計數器的初始化 62
2.5.6 UART串行口的結構 64
2.5.7 串行口的特殊功能寄存器 65
2.5.8 串行口的工作方式 66
2.6 單片機應用系統開發流程 74
第3章 單片機系統功能定義 76
3.1 概述 76
3.2 單片機應用系統的硬件組成 77
3.2.1 外圍接口模塊功能分析定義 77
3.2.2 輸入輸出模塊功能分析定義 80
第2篇 硬件系統制作篇
第4章 準備元器件 85
4.1 概述 85
4.2 電子元件 85
4.2.1 電阻器 85
4.2.2 電容器 87
4.2.3 電感器 90
4.3 半導體分離器件 93
4.3.1 型號及命名方法 93
4.3.2 二極管 94
4.3.3 三極管 97
4.3.4 場效應晶體管 98
4.3.5 晶閘管 99
4.4 開關 100
4.4.1 常用開關的種類 100
4.4.2 常用開關的主要參數 103
4.5 繼電器 104
4.6 接插件 105
第5章 單片機PCB設計 108
5.1 Protel電路圖設計基礎 108
5.1.1 Protel集成開發環境 108
5.1.2 Protel管理器 109
5.2 設計電路原理圖 110
5.2.1 原理圖設計基礎與技巧 110
5.2.2 設計單片機系統原理圖 113
5.3 印刷電路板設計 119
5.3.1 概述 119
5.3.2 印刷電路板的設計流程 120
5.3.3 設計原則 121
5.3.4 設計單片機系統PCB圖 122
5.4 印刷電路板設計技巧和注意事項 128
第6章 單片機制版與焊接 130
6.1 制作電路板 130
6.1.1 準備 130
6.1.2 曝光 131
6.1.3 顯影 131
6.1.4 蝕刻 131
6.2 焊接工具 132
6.2.1 普通電烙鐵 133
6.2.2 恒溫電烙鐵 133
6.2.3 吸錫電烙鐵 134
6.2.4 幾種實用的烙鐵頭 134
6.2.5 電烙鐵的保養 135
6.3 焊接方法和技巧 135
6.4 焊接單片機系統實驗板 136
第7章 單片機硬件系統的調試 138
7.1 單片機硬件系統調試概述 138
7.2 硬件靜態調試 138
7.2.1 排除邏輯故障 138
7.2.2 排除元器件故障 139
7.2.3 排除電源故障 139
7.3 聯機仿真調試 139
第8章 自制編程器 142
8.1 概述 142
8.2 編程器硬件設計 142
8.2.1 編程器硬件需求 142
8.2.2 裝配要點 144
8.2.3 應用要點與故障排除 145
8.2.4 編程器電路圖 145
8.3 編程器軟件的使用 147
8.4 編程器使用方法 150
8.5 小結 152
第9章 自制仿真器 153
9.1 概述 153
9.2 仿真器硬件設計 153
9.2.1 硬件需求 154
9.2.2 仿真器電路圖及其工作原理 154
9.3 仿真器軟件設計 158
9.4 仿真器的使用 159
9.4.1 軟件環境設置 159
9.4.2 調試運行 163
9.5 小結 165
第3篇 51單片機C語言篇
第10章 單片機C51基礎 169
10.1 C51語言的基本語法 169
10.1.1 數據類型 169
10.1.2 運算符和表達式 171
10.2 C51語言的基本結構 176
10.2.1 C51控制流 176
10.2.2 C51函數 184
10.2.3 C51數組和指針 196
10.2.4 C51結構、聯合和枚舉 199
10.3 C51語言使用技巧 205
第11章 Keil C51開發環境 207
11.1 Keil mVision3環境介紹 207
11.1.1 Keil mVision3菜單 208
11.1.2 Keil mVision3編寫代碼流程 213
11.2 利用Keil mVision3編寫C51程序 213
11.2.1 建立新項目 213
11.2.2 常用環境配置 216
11.3 Keil mVision3編程技巧 222
第4篇 51單片機應用開發典型模塊
第12章 單片機系統電源模塊 229
12.1 單片機系統電源模塊的結構框圖 229
12.2 單片機系統電源模塊的設計 229
12.3 單片機系統電源模塊的抗干擾措施 231
12.3.1 電源模塊工作的穩定性 231
12.3.2 切斷電源模塊產生的干擾 232
第13章 單片機系統外部RAM模塊 233
13.1 單片機系統RAM模塊基礎知識簡介 233
13.1.1 8D鎖存器74LS373 233
13.1.2 3-8譯碼器74LS138 234
13.1.3 隨機存取數據存儲器(RAM)6264 235
13.2 單片機系統RAM模塊設計 236
13.2.1 單片機與外部RAM的連接方法 236
13.2.2 單片機系統擴展外部RAM應用實例 239
13.3 單片機系統RAM模塊調試技巧 240
第14章 單片機系統并行接口 241
14.1 單片機系統并行接口芯片簡介 241
14.1.1 可編程并行接口芯片8255簡介 241
14.1.2 可編程并行接口芯片8155簡介 247
14.2 單片機系統并行接口設計 252
14.2.1 8255與51單片機的接口設計 252
14.2.2 8155與51單片機的接口設計 253
14.3 單片機系統并行接口調試技巧 263
第15章 單片機系統D/A轉換模塊 264
15.1 D/A轉換器概述 264
15.1.1 D/A轉換的原理 264
15.1.2 D/A轉換器的技術指標 266
15.2 單片機系統D/A模塊芯片簡介 267
15.2.1 并行D/A轉換器芯片DAC0832 267
15.2.2 串行D/A轉換器芯片TLC5617 268
15.3 單片機系統D/A模塊接口設計 270
15.3.1 DAC0832與51單片機的接口設計 270
15.3.2 TLC5617與51單片機的接口設計 275
15.4 單片機系統D/A模塊調試技巧 278
第16章 單片機系統A/D轉換模塊 279
16.1 A/D轉換器工作原理 279
16.1.1 雙積分式A/D轉換器的工作原理 279
16.1.2 逐次逼近式A/D轉換器的工作原理 280
16.2 單片機系統A/D模塊芯片簡介 280
16.2.1 雙積分式A/D轉換器芯片MC14433 280
16.2.2 并行A/D轉換器芯片ADC0809 282
16.2.3 串行A/D轉換器芯片TLC0832 284
16.3 單片機系統A/D模塊接口設計 286
16.3.1 MC14433與51單片機的接口設計 286
16.3.2 ADC0809與51單片機的接口設計 287
16.3.3 TLC0832與51單片機的接口設計 291
16.4 單片機系統A/D模塊調試技巧 292
第17章 單片機系統實時時鐘模塊 293
17.1 單片機系統實時時鐘模塊芯片簡介 293
17.1.1 典型串行實時時鐘芯片DS1302 293
17.1.2 典型并行實時時鐘芯片DS12C887 296
17.2 單片機系統實時時鐘模塊設計 300
17.2.1 DS1302與51單片機的接口設計 300
17.2.2 DS12C887與51單片機的接口設計 304
17.3 單片機系統實時時鐘模塊調試技巧 308
第18章 單片機系統EEPROM模塊 309
18.1 單片機系統EEPROM模塊芯片簡介 309
18.1.1 EEPROM AT24C64芯片簡介 309
18.1.2 串行口I2C簡介 310
18.2 AT24C64與51單片機的接口設計 313
18.3 單片機系統EEPROM模塊調試技巧 321
第19章 單片機系統硬件看門狗模塊 322
19.1 單片機系統硬件看門狗簡介 322
19.2 硬件看門狗模塊與51單片機接口設計 322
19.2.1 計數器構成的看門狗電路 323
19.2.2 定時器構成的看門狗電路 323
19.2.3 專用芯片構成的看門狗電路 324
19.3 單片機系統硬件看門狗調試技巧 325
第20章 單片機系統溫度模塊 327
20.1 溫度測量相關概念 327
20.1.1 溫度和溫標的定義 327
20.1.2 溫度測量方法 327
20.1.3 溫度傳感器 328
20.2 利用單線總線實現DS18B20的溫度測量 329
20.2.1 DS18B20數字傳感器 329
20.2.2 DS18B20的單線總線結構 332
20.2.3 基于DS18B20的溫度測量系統的設計 336
20.3 利用熱電阻傳感器Pt100實現溫度測量 340
20.3.1 熱電阻傳感器 340
20.3.2 鉑熱電阻Pt100 340
20.3.3 基于Pt100的溫度測量系統的設計 341
第21章 單片機遠距離通信模塊 345
21.1 單片機的通信簡介 345
21.1.1 單片機的通信方式 345
21.1.2 串行通信的傳輸方式 346
21.2 基于RS-485的單片機遠距離通信模塊的設計 346
21.2.1 RS-485接口標準 346
21.2.2 基于RS-485的遠程通信模塊的硬件電路的設計 347
21.2.3 單片機與PC機通信模塊的程序設計 349
21.2.4 程序的調試技巧 353
21.3 基于CAN總線遠距離通信模塊的設計 354
21.3.1 CAN總線簡介 354
21.3.2 基于CAN總線遠距離通信模塊硬件電路的設計 356
21.3.3 基于SJA1000的CAN總線通信模塊的程序的設計 361
21.3.4 程序調試技巧 364
第22章 單片機系統鍵盤輸入模塊 366
22.1 鍵盤的設計基礎 366
22.1.1 鍵盤的分類和按鍵去抖 366
22.1.2 鍵盤的基本組成形式 367
22.2 利用單片機的串行口實現鍵盤接口 374
22.2.1 硬件電路的設計 374
22.2.2 程序設計 376
22.3 利用8279可編程芯片實現鍵盤接口 378
22.3.1 8279可編程芯片簡介 378
22.3.2 8279的鍵盤接口電路設計 382
22.3.3 程序設計 383
第23章 單片機系統顯示輸出模塊 385
23.1 LED顯示器輸出接口 385
23.1.1 LED顯示器的結構 385
23.1.2 LED顯示器的工作方式 387
23.2 LCD液晶顯示器輸出接口 392
23.2.1 LCD液晶顯示器結構 393
23.2.2 LCD液晶顯示器分類 393
23.2.3 LCD顯示模塊LCM 393
23.2.4 利用HT1621實現段式LCD液晶顯示 395
第24章 單片機系統打印輸出模塊 401
24.1 微型打印機簡介 401
24.2 WH-A7接口時序 402
24.2.1 WH-A7并行接口時序 402
24.2.2 WH-A7串行接口時序 403
24.3 WH-A7熱敏微型打印機打印命令 404
24.4 與單片機接口及程序 407
24.4.1 并行WH-A7與51單片機的接口設計 407
24.4.2 串行WH-A7與51單片機的接口設計 408
第25章 單片機系統驅動隔離模塊 411
25.1 單片機驅動模塊設計 411
25.1.1 單片機I/O口的驅動 411
25.1.2 板內總線的驅動 414
25.1.3 繼電器的驅動 416
25.1.4 其他驅動器件介紹 418
25.1.5 單片機驅直流動電機 419
25.2 單片機隔離模塊設計 424
25.2.1 開關量的隔離 424
25.2.2 單片機模擬信號隔離設計 426
25.2.3 專用RS-485總線的隔離芯片 430
第5篇 單片機C語言開發綜合實例篇
第26章 單片機實現密碼鎖 435
26.1 概述 435
26.2 設計思路及流程 435
26.3 硬件電路設計 436
26.3.1 電源電路設計 436
26.3.2 鍵盤電路 436
26.3.3 顯示器電路 437
26.3.4 報警電路 438
26.3.5 電子鎖控制電路 438
26.3.6 單片機電路 438
26.4 軟件設計 439
26.4.1 常量、變量說明 440
26.4.2 顯示子程序 440
26.4.3 報警子程序 443
26.4.4 鍵盤子程序 443
26.4.5 系統其他程序 448
26.5 小結 450
第27章 單片機實現音樂發生器 451
27.1 概述 451
27.2 設計流程及思路 451
27.2.1 音樂基礎 451
27.2.2 音頻脈沖和音樂節拍的實現 452
27.2.3 音頻功放 454
27.3 硬件電路設計 456
27.3.1 主要器件 456
27.3.2 電路原理圖及其工作原理 457
27.4 軟件設計 459
27.5 小結 464
第28章 單片機實現數字溫度計 465
28.1 概述 465
28.2 設計思路及流程 465
28.3 硬件電路設計 466
28.3.1 主要器件 466
28.3.2 電路原理圖 469
28.4 軟件設計 473
28.4.1 常量、變量說明 473
28.4.2 按鍵子程序 474
28.4.3 顯示子程序 475
28.4.4 溫度采集子程序 478
28.4.5 報警子程序 479
28.4.6 系統其他程序 479
28.5 小結 483
第29章 單片機實現IC卡讀卡器 484
29.1 概述 484
29.2 設計思路及流程 484
29.3 硬件電路設計 485
29.3.1 主要器件 485
29.3.2 電路原理圖 489
29.4 軟件設計 492
29.4.1 常量、變量說明 492
29.4.2 顯示子程序 493
29.4.3 讀卡子程序 494
29.4.4 報警子程序 500
29.4.5 系統其他子程序 501
29.5 小結 503
第30章 單片機實現遠程監控系統 504
30.1 概述 504
30.1.1 下位機系統功能 504
30.1.2 上位機系統功能 504
30.2 設計思路及流程 504
30.2.1 下位機系統總體設計 505
30.2.2 上位機系統總體設計 505
30.3 硬件電路設計 506
30.3.1 主要器件 506
30.3.2 電路原理圖 508
30.4 軟件設計 513
30.4.1 通信協議 513
30.4.2 下位機程序設計 514
30.4.3 上位機程序設計 522
30.5 小結 529
第31章 單片機實現電子鐘 530
31.1 概述 530
31.2 設計思路及流程 530
31.3 硬件電路設計 531
31.3.1 主要器件 531
31.3.2 電路原理圖 536
31.4 軟件設計 539
31.4.1 常量、變量說明 540
31.4.2 顯示子程序 541
31.4.3 鍵盤子程序 543
31.4.4 時鐘子程序 545
31.4.5 設置子程序 548
31.4.6 鬧鈴子程序 554
31.4.7 系統其他子程序 555
31.5 小結 558
第32章 單片機實現網絡通信 559
32.1 概述 559
32.2 設計思路及流程 559
32.3 硬件電路設計 559
32.3.1 主要器件 560
32.3.2 電路原理圖 564
32.4 軟件設計 568
32.4.1 常量、變量說明 568
32.4.2 顯示子程序 570
32.4.3 鍵盤子程序 571
32.4.4 網絡通信子程序 571
32.4.5 系統其他子程序 579
32.5 小結 581
第33章 單片機實現溫度巡回檢測 582
33.1 概述 582
33.2 設計思路及流程 582
33.3 硬件電路設計 583
33.3.1 主要器件 583
33.3.2 電路原理圖 585
33.4 軟件設計 588
33.4.1 常量、變量說明 588
33.4.2 溫度采集子程序 589
33.4.3 顯示子程序 595
33.4.4 鍵盤子程序 599
33.4.5 存儲子程序 601
33.4.6 系統其他子程序 602
33.5 小結 606