MCS-51 單片機技術項目驅動教程 (C語言), 2/e
牛軍、黃大勇、薛曉、曹原、陳華敏
相關主題
商品描述
《MCS-51單片機技術項目驅動教程(C語言)(第2版)》首先對8051單片機的硬件基礎、C51編程基礎、Keil C51軟件的使用等方面進行了詳細介紹,然後具體針對基礎型8051單片機的各功能模塊,從工程應用的實際需要出發,將知識點分解為I/O口輸入輸出功能、外部中斷功能、LED數碼管顯示技術、LED點陣顯示技術、鍵盤系統設計、定時器/計數器應用、LCD液晶顯示技術、串口通信技術、A/D轉換器應用、D/A轉換器應用、並行RAM擴展、I2C總線擴展、SPI總線擴展、直流電機控制、步進電機控制、多機通信等十六個部分,採用項目驅動的方式,以項目設計需要帶動各部分知識點的學習,再以設計任務為載體,從硬件電路設計、C51程序編寫、系統功能模擬等方面進一步促進讀者對知識的理解和掌握,以訓練並提高其實踐應用能力。 《MCS-51單片機技術項目驅動教程(C語言)(第2版)》可作為高等院校電子、電氣、自動化、電腦應用等相關專業單片機技術課程的教學用書,也可作為廣大從事單片機應用系統開發的工程技術人員的參考書。
目錄大綱
目 錄
第1章 單片機技術概述 1
1.1 單片機的發展 1
1.2 單片機的特點 2
1.3 單片機的應用 3
1.4 常用單片機簡介 5
1.5 單片機常用術語 7
1.6 小結 8
思考與練習 9
第2章 MCS-51單片機硬件基礎 10
2.1 MCS-51單片機內部結構及CPU 10
2.1.1 內部結構 10
2.1.2 8051CPU 11
2.2 MCS-51單片機引腳功能 13
2.3 MCS-51單片機存儲器結構 17
2.3.1 程序存儲器 17
2.3.2 數據存儲器 18
2.4 MCS-51單片機時鐘及CPU時序 21
2.4.1 單片機時鐘 21
2.4.2 CPU時序 23
2.5 MCS-51單片機低功耗工作方式 23
2.6 小結 24
思考與練習 25
第3章 MCS-51單片機C語言程序設計基礎 26
3.1 C51概述 26
3.2 C51數據類型 26
3.3 C51變量定義 28
3.3.1 變量存儲類型與存儲區 28
3.3.2 變量的絕對定位 30
3.3.3 C51位變量的定義 30
3.3.4 C51特殊功能寄存器的定義 32
3.3.5 C51指針的定義 33
3.3.6 指針的應用 33
3.4 C51函數的定義 35
3.5 C51中的運算符和表達式 36
3.6 C51語句和控制結構 41
3.7 C51編程實例 46
3.8 C51程序開發軟件Keil C簡介 48
3.8.1 建立工程項目 48
3.8.2 建立C語言程序文件並編譯 50
3.8.3 調試與模擬 53
3.9 小結 55
思考與練習 55
第4章 項目一:按鍵控制8個LED燈花樣顯示 56
4.1 MCS-51單片機I/O口結構及工作原理 56
4.1.1 P0口結構與應用 56
4.1.2 P1口結構與應用 60
4.1.3 P2口結構與應用 60
4.1.4 P3口結構與應用 61
4.2 MCS-51單片機I/O口編程 62
4.3 項目設計 63
4.4 小結 67
思考與練習 67
第5章 項目二:兩級外部中斷控制LED燈做不同顯示 69
5.1 中斷技術概述 69
5.1.1 中斷的概念 69
5.1.2 中斷的功能 70
5.2 MCS-51單片機中斷系統 70
5.2.1 中斷系統結構 70
5.2.2 中斷系統中的特殊功能寄存器 71
5.3 外部中斷功能編程實例 75
5.4 項目設計 77
5.5 外部中斷源擴展 79
5.6 小結 80
思考與練習 81
第6章 項目三:單片機控制多位LED數碼管動態顯示 82
6.1 LED數碼管結構及顯示原理 82
6.2 LED數碼管靜態顯示及實例 85
6.3 LED數碼管動態顯示及實例 86
6.4 項目設計 89
6.5 小結 92
思考與練習 92
第7章 項目四:單片機控制16×16 LED點陣顯示漢字 93
7.1 LED點陣結構及顯示原理 93
7.1.1 LED點陣結構 93
7.1.2 顯示原理 93
7.2 8×8點陣應用實例 95
7.3 16×16點陣漢字顯示 97
7.3.1 LED漢字點陣的編碼原理 98
7.3.2 字模的提取 98
7.3.3 16×16 LED點陣構成 99
7.3.4 應用實例 99
7.4 項目設計 103
7.5 小結 114
思考與練習 114
第8章 項目五:單片機4×4矩陣鍵盤輸入並顯示 115
8.1 按鍵的識別與抖動 115
8.2 獨立式鍵盤設計 116
8.3 矩陣式鍵盤結構與掃描方法 117
8.3.1 矩陣式鍵盤結構 117
8.3.2 行掃描法原理及編程 117
8.3.3 行列反轉法原理及編程 118
8.4 項目設計 120
8.5 小結 125
思考與練習 126
第9章 項目六:單片機對外部脈沖計數並定時控制 127
9.1 MCS-51單片機定時器/計數器結構 127
9.2 AT89C51單片機定時器/計數器工作方式與工作模式 128
9.2.1 特殊功能寄存器TMOD和TCON 128
9.2.2 定時器的四種模式及應用 130
9.3 AT89C51單片機定時器/計數器編程實例 133
9.3.1 編程初始化步驟 133
9.3.2 編程實例 133
9.4 項目設計 138
9.5 小結 141
思考與練習 141
第10章 項目七:LCD1602液晶顯示的電子密碼鎖設計 142
10.1 LCD1602液晶顯示模塊 142
10.2 LCD1602液晶顯示設計實例 147
10.3 項目設計 150
10.4 小結 161
思考與練習 161
第11章 項目八:單片機與PC互發數據 162
11.1 數據通信方式 162
11.2 AT89C51單片機串口結構及工作原理 164
11.3 串口工作方式及控制 165
11.3.1 串口相關的特殊功能寄存器 165
11.3.2 串口工作方式 167
11.3.3 波特率設計 169
11.4 串口應用實例 170
11.4.1 串口編程初始化步驟 170
11.4.2 方式0應用實例 170
11.4.3 方式1應用實例 173
11.4.4 方式3應用實例 175
11.5 串口項目設計 176
11.6 小結 182
思考與練習 182
第12章 項目九:單片機片外三總線擴展並行SRAM 183
12.1 MCS-51單片機並行擴展三總線結構 183
12.2 擴展片外並行RAM方法 184
12.2.1 常用靜態RAM芯片 184
12.2.2 單片機與6264的接口設計 185
12.2.3 訪問片外RAM的軟件編程 188
12.3 項目設計 189
12.4 小結 191
思考與練習 191
第13章 項目十:ADC0809多通道電壓採集與顯示 192
13.1 ADC0809簡介 192
13.2 ADC0809與AT89C51的接口及編程方法 194
13.2.1 採用I/O口控制方式 194
13.2.2 採用總線操作方式 196
13.3 項目設計 198
13.4 小結 202
思考與練習 202
第14章 項目十一:基於DAC0832的數字波形發生器 203
14.1 DAC0832簡介 203
14.2 DAC0832與AT89C51的接口及編程方法 205
14.2.1 直通方式 205
14.2.2 單緩沖方式 206
14.2.3 雙緩沖方式 207
14.3 項目設計 208
14.4 小結 212
思考與練習 212
第15章 項目十二:AT89C51擴展串行E2PROM AT24C02 213
15.1 I2C總線簡介 213
15.1.1 I2C總線信號邏輯 214
15.1.2 I2C總線數據傳輸過程 214
15.2 AT89C51擴展I2C總線方法 215
15.3 AT89C51擴展I2C總線編程 217
15.4 項目設計 218
15.5 小結 223
思考與練習 224
第16章 項目十三:單片機擴展SPI總線接口 225
16.1 SPI總線簡介 225
16.2 AT89C51擴展SPI總線接口方法 226
16.3 AT89C51擴展SPI總線程序編寫方法 226
16.3.1 數據輸出 226
16.3.2 數據輸入 228
16.3.3 數據同時輸入/輸出 229
16.4 項目設計1:AT89C52擴展串行A/D轉換器TLC2543 230
16.4.1 TLC2543簡介 230
16.4.2 項目設計 233
16.5 項目設計2:AT89C52擴展串行D/A轉換器TLC5615 236
16.5.1 TLC5615簡介 236
16.5.2 項目設計 238
16.6 小結 240
思考與練習 240
第17章 項目十四:AT89C51控制的直流電機調速系統 241
17.1 直流電機工作原理 241
17.2 單片機控制直流電機的驅動電路設計 242
17.3 單片機控制直流電機的程序編寫方法 244
17.4 項目設計 246
17.5 小結 250
思考與練習 250
第18章 項目十五:AT89C51控制的步進電機調速系統 252
18.1 步進電機工作原理 252
18.1.1 步進電機簡介 252
18.1.2 步進電機轉動機理 252
18.1.3 28BYJ-48型步進電機控制原理 254
18.2 AT89C51控制步進電機的驅動電路設計 255
18.3 AT89C51控制步進電機的程序編寫方法 257
18.4 項目設計 259
18.5 小結 263
思考與練習 263
第19章 項目十六:AT89C51單片機多級通信 264
19.1 單片機多機通信原理 264
19.2 AT89C51單片機多機通信程序設計 265
19.3 項目設計 272
19.4 小結 279
思考與練習 280
附錄A ASCII碼表 281
附錄B C51庫函數 282
B.1 本徵函數intrins.h 282
B.2 絕對地址存取庫函數absacc.h 283
B.3 數學函數math.h 283
B.4 輸入/輸出庫函數stdio.h 285
B.5 字符串函數string.h 287
參考文獻 289