內 容 簡 介
本書通過30個案例的設計過程詳細介紹了51單片機開發的相關軟件、工具、應用系統設計方法等。本書共7章,第1~4章以Keil+Proteus作為開發工具,詳細介紹了20個簡單案例的設計過程,內容包括單片機應用系統設計所必需的一些基本知識和相關模塊的編程。第5~7章在第1~4章的基礎上,以Keil+Protel作為開發工具,詳細介紹了10個綜合應用系統的設計過程。這30個案例均含有完整詳細的硬件原理圖和軟件代碼。
本書語言簡潔、圖表豐富、案例代碼完整且有詳細的注釋,并且案例覆蓋了單片機開發過程中常見的模塊設計和接口技術,部分案例已經經過了實際項目的驗證并已規模應用,既可供已有單片機C語言開發相關知識并想學習系統級設計技術的學生學習,也可供相關專業學生課程設計、畢業設計參考,還可供單片機開發工程技術人員及愛好者閱讀參考。
當前,單片機作為嵌入式微控制器在工業測控系統、智能儀器和家用電器中得到廣泛應用。雖然單片機的品種很多,但是MCS-51系列單片機仍不失為單片機中的主流機型。在眾多的MCS-51系列單片機中,以Atmel公司的AT89Sxx系列單片機應用為廣泛。本書所有案例項目的設計均以AT89S52單片機作為核心來介紹。
單片機的編程語言主要有匯編語言和C語言兩種。其中,C語言在易用性、可讀性、可移植性、代碼開發效率等諸多方面具有優勢,已被越來越多的單片機開發人員所選用。鑒于此,本書所有案例均以C51語言開發。
單片機系統開發工具很多,在硬件設計方面,本書選擇簡單易用的Protel99SE作為電路和PCB設計軟件;在軟件設計方面,選擇KeilC51集成開發環境作為軟件開發平臺。同時,選擇目前十分流行的Proteus 單片機仿真軟件作為簡單應用系統設計的軟件仿真平臺,讀者可在本書的案例中系統學習這方面的知識。
序
當前,單片機作為嵌入式微控制器在工業測控系統、智能儀器和家用電器中得到廣泛應用。雖然單片機的品種很多,但是MCS-51系列單片機仍不失為單片機中的主流機型。在眾多的MCS-51系列單片機中,以Atmel公司的AT89Sxx系列單片機應用最為廣泛。本書所有案例項目的設計均以AT89S52單片機作為核心來介紹。
單片機的編程語言主要有匯編語言和C語言兩種。其中,C語言在易用性、可讀性、可移植性、代碼開發效率等諸多方面具有優勢,已被越來越多的單片機開發人員所選用。鑒于此,本書所有案例均以C51語言開發。
單片機系統開發工具很多,在硬件設計方面,本書選擇簡單易用的Protel99SE作為電路和PCB設計軟件;在軟件設計方面,選擇KeilC51集成開發環境作為軟件開發平臺。同時,選擇目前十分流行的Proteus 單片機仿真軟件作為簡單應用系統設計的軟件仿真平臺,讀者可在本書的案例中系統學習這方面的知識。
本書共分7章。通過對30個單片機應用系統案例設計過程的詳細介紹,向讀者全面地講解單片機應用系統的設計過程、設計方法、注意事項等。每個案例均給出了完整的電路原理圖說明、軟件源碼及代碼注釋。希望讀者學習本書后能在系統設計和單片機編程方面有所提高,并能進行實際項目的開發。
? 第1~4章主要介紹20個單片機簡單應用系統的設計。這20個案例覆蓋了單片機系統設計的常見模塊設計和接口技術,內容包括單片機的定時器/計數器的應用、單片機的串行通信技術、單片機的系統擴展技術、單片機應用系統的接口技術、A/D與D/A轉換技術。這些技術是后續進行單片機復雜應用系統設計的基礎,讀者務必熟練掌握。另外,為方便讀者學習,這4章所有案例均可以在Keil + Proteus中進行系統仿真測試。
? 第5~7章主要介紹10個單片機綜合應用系統的設計。這10個綜合案例均是在第1~4章的基礎上進行一些模塊的功能整合或擴充而成,由淺入深地重點介紹了一些新模塊的設計和新技術的應用,著重教會讀者如何進行大規模系統的綜合設計。
本書范例代碼的下載地址為:http://pan.baidu.com/s/1miNDoPa。如果下載有問題,請電子郵件聯系booksaga@126.com,郵件主題為“51單片機典型應用30例——基于Proteus仿真代碼”。
本書主要由袁東、周新國編寫。另外,參與本書編寫和修改的還有高克臻、張云霞、許小榮、王東、王龍、張銀芳、周新國、陳作聰、張華杰、張秀梅、張玉蘭、李爽、田偉、肖岳平、蔡娜、蘇靜、周艷麗等同志,在此對他們表示感謝。同時,還要感謝所有在本書編寫過程中給予幫助的人們。
本書取材于編者實際的項目工作,案例豐富,圖表清晰,代碼翔實,內容覆蓋面廣,希望能對想進一步學習單片機系統設計的讀者有所幫助。由于案例復雜,程序和圖表較多,加上編者水平有限,難免有疏漏之處,懇請讀者批評指正。
編 者
2016年5月
目 錄
第1章 簡單應用系統設計案例——I/O使用 1
1.1 矩陣鍵盤及數碼管顯示系統設計 1
1.1.1 系統設計要求與方案確定 1
1.1.2 系統硬件電路設計 2
1.1.3 系統軟件設計 3
1.1.4 設計小結 17
1.2 獨立連接式鍵盤及液晶顯示系統設計 17
1.2.1 系統設計要求與方案確定 17
1.2.2 系統硬件電路設計 18
1.2.3 系統軟件設計 19
1.2.4 設計小結 26
1.3 音樂播放器設計 26
1.3.1 系統設計要求與方案確定 26
1.3.2 系統硬件電路設計 27
1.3.3 系統軟件設計 28
1.3.4 設計小結 34
1.4 電子琴設計 34
1.4.1 系統設計要求與方案確定 34
1.4.2 系統硬件電路設計 35
1.4.3 系統軟件設計 36
1.4.4 設計小結 44
1.5 電子門鈴設計 44
1.5.1 系統設計要求與方案確定 44
1.5.2 系統硬件電路設計 45
1.5.3 系統軟件設計 46
1.5.4 設計小結 49
1.6 數控電壓源系統設計 50
1.6.1 系統設計要求與方案確定 50
1.6.2 系統硬件電路設計 50
1.6.3 系統軟件設計 51
1.6.4 設計小結 54
第2章 簡單應用系統設計案例——定時器和中斷使用 55
2.1 電子時鐘系統設計 55
2.1.1 系統設計要求與方案確定 55
2.1.2 系統硬件電路設計 56
2.1.3 系統軟件設計 57
2.1.4 設計小結 73
2.2 正弦波發生器設計 73
2.2.1 系統設計要求與方案確定 73
2.2.2 系統硬件電路設計 74
2.2.3 系統軟件設計 75
2.2.4 設計小結 78
2.3 單片機模擬DDS低頻信號發生器設計 78
2.3.1 系統設計要求與方案確定 78
2.3.2 系統硬件電路設計 79
2.3.3 系統軟件設計 79
2.3.4 設計小結 82
2.4 數字頻率計設計 82
2.4.1 系統設計要求與方案確定 83
2.4.2 系統硬件電路設計 83
2.4.3 系統軟件設計 84
2.4.4 設計小結 92
2.5 電子秒表設計 92
2.5.1 系統設計要求與方案確定 92
2.5.2 系統硬件電路設計 93
2.5.3 系統軟件設計 94
2.5.4 設計小結 103
第3章 簡單應用系統設計——串行通信類 104
3.1 單片機與PC串行通信系統設計 104
3.1.1 系統設計要求與方案確定 104
3.1.2 系統硬件電路設計 105
3.1.3 系統軟件設計 106
3.1.4 設計小結 109
3.2 雙機通信系統設計 110
3.2.1 系統設計要求與方案確定 110
3.2.2 系統硬件電路設計 111
3.2.3 系統軟件設計 112
3.2.4 設計小結 129
3.3 多機通信系統設計 129
3.3.1 系統設計要求與方案確定 129
3.3.2 系統硬件電路設計 130
3.3.3 系統軟件設計 132
3.3.4 設計小結 155
第4章 簡單應用系統設計——控制類 156
4.1 電子搶答器系統設計 156
4.1.1 系統設計要求與方案確定 156
4.1.2 系統硬件電路設計 157
4.1.3 系統軟件設計 158
4.1.4 設計小結 172
4.2 數字電壓表設計 173
4.2.1 系統設計要求與方案確定 173
4.2.2 系統硬件電路設計 173
4.2.3 系統軟件設計 175
4.2.4 設計小結 182
4.3 PWM輸出控制系統設計 182
4.3.1 系統設計要求與方案確定 182
4.3.2 系統硬件電路設計 183
4.3.3 系統軟件設計 184
4.3.4 設計小結 195
4.4 交通信號燈系統設計 195
4.4.1 系統設計要求與方案確定 195
4.4.2 系統硬件電路設計 196
4.4.3 系統軟件設計 196
4.4.4 設計小結 205
4.5 電子密碼鎖設計 205
4.5.1 系統設計要求與方案確定 205
4.5.2 系統硬件電路設計 206
4.5.3 系統軟件設計 207
4.5.4 設計小結 235
4.6 基于單片機的步進電機控制系統設計 235
4.6.1 系統設計要求與方案確定 235
4.6.2 系統硬件電路設計 236
4.6.3 系統軟件設計 237
4.6.4 設計小結 261
第5章 綜合應用系統設計案例——基礎篇 262
5.1 基于ISP技術的單片機實驗系統設計 262
5.1.1 系統需求分析 262
5.1.2 系統總體設計 263
5.1.3 系統硬件電路設計 264
5.1.4 系統軟件設計 274
5.1.5 設計小結 301
5.2 智能小車系統設計 301
5.2.1 系統需求分析 301
5.2.2 系統總體設計 302
5.2.3 系統硬件電路設計 302
5.2.4 系統軟件設計 305
5.2.5 設計小結 317
5.3 多功能萬年歷時鐘系統設計 317
5.3.1 系統需求分析 318
5.3.2 系統總體設計 318
5.3.3 系統硬件電路設計 318
5.3.4 系統軟件設計 319
5.3.5 設計小結 367
第6章 綜合應用系統設計案例——提高篇 368
6.1 單片機無線多路溫度采集系統設計 368
6.1.1 系統需求分析 368
6.1.2 系統總體設計 369
6.1.3 系統硬件電路設計 370
6.1.4 系統軟件設計 374
6.1.4 設計小結 417
6.2 基于單片機的超聲波測距系統設計 417
6.2.1 系統需求分析 417
6.2.2 系統總體設計 417
6.2.3 系統硬件電路設計 418
6.2.4 系統軟件設計 419
6.2.5 設計小結 432
6.3 基于單片機+TEA5767的收音機系統設計 432
6.3.1 系統需求分析 432
6.3.2 系統總體設計 432
6.3.3 系統硬件電路設計 432
6.3.4 系統軟件設計 435
6.3.5 設計小結 447
第7章 綜合應用系統設計案例——實踐篇 448
7.1 基于單片機的門禁系統設計 448
7.1.1 目系統需求分析 448
7.1.2 系統總體設計 448
7.1.3 系統硬件電路設計 448
7.1.4 系統軟件設計 453
7.1.5 設計小結 456
7.2 基于單片機的MiniPOS系統設計 457
7.2.1 系統需求分析 457
7.2.2 系統總體設計 457
7.2.3 系統硬件電路設計 457
7.2.4 系統軟件設計 460
7.2.5 設計小結 472
7.3 基于單片機的全球定位系統設計 472
7.3.1 系統需求分析 472
7.3.2 系統總體設計 472
7.3.3 系統硬件電路設計 472
7.3.4 系統軟件設計 474
7.3.5 設計小結 478
7.4 基于AT89S52+GPRS的遠程控制系統設計 479
7.4.1 系統需求分析 479
7.4.2 系統總體設計 479
7.4.3 系統硬件電路設計 480
7.4.4 系統軟件設計 483
7.4.5 設計小結 489