圖書信息
出版社: 人民郵電出版社; 第1版 (2008年11月1日)
平裝: 332頁
正文語種: 簡體中文
開本: 16
ISBN: 9787115186409
條形碼: 9787115186409
尺寸: 25.6 x 19 x 2.2 cm
重量: 540 g
內容簡介
《51單片機編程基礎與開發實例詳解》系統講解MCS-51單片機的原理及套用,主要內容包括MCS-51單片機基礎知識、C51程式設計基礎、單片機指令系統、Keil C51簡介及單片機軟體程式設計過程、MCS-51單片機程式開發流程、C51套用系統設計,以及極具實用參考價值的開發實例,這些例子分別是數碼顯示管LED、溫度採集與控制、實時時鐘、電子天平、步進電機驅動、液晶顯示模組、串列通信、無線傳輸模組設計、熱敏微型印表機設計、超音波測距、紅外線遙控。《51單片機編程基礎與開發實例詳解》以經典的MCS-51系列單片機為平台,按照“基礎知識—實例操作—深入提高”的寫作思路進行編寫,將基礎知識與實例相結合,讀者可以邊學邊練,在掌握基礎知識的同時,還能提高實際操作能力,真正做到學以致用。
目錄
編程基礎篇
第1章 單片機概述 3
1.1 單片機介紹 3
1.1.1 單片機的歷史 3
1.1.2 單片機的套用 4
1.2 單片機的分類 5
1.2.1 按廠商分類 5
1.2.2 按位數分類 6
1.3 MCS-51單片機與C語言介紹 7
1.4 本章小結 9
第2章 MCS-51單片機基礎知識 10
2.1 MCS-51單片機概述 10
2.2 MCS-51單片機結構原理 10
2.2.1 MCS-51單片機的基本組成 10
2.2.2 MCS-51單片機的內部結構 11
2.2.3 MCS-51單片機的中央處理單元 11
2.2.4 MCS-51單片機的存儲器結構 13
2.2.5 MCS-51單片機的輸入/輸出接口 18
2.3 MCS-51單片機引腳描述 20
2.3.1 外部引腳 20
2.3.2 片外匯流排結構 21
2.4 MCS-51單片機存儲器組織 22
2.4.1 程式存儲器配置 22
2.4.2 數據存儲器配置 22
2.4.3 特殊功能暫存器 23
2.5 MCS-51單片機中斷系統 23
2.5.1 MCS-51單片機的中斷源 24
2.5.2 中斷控制的專用暫存器 25
2.6 MCS-51單片機定時器/計數器 27
2.7 MCS-51單片機串列口 29
2.8 本章小結 31
第3章 C51程式設計基礎 32
3.1 基本概念 32
3.1.1 C語言基本介紹 32
3.1.2 MCS-51的c語言編譯器 33
3.1.3 C51的程式結構 33
3.1.4 C51的標識符和關鍵字 35
3.1.5 常量與變數 37
3.2 數據類型、運算符和表達式 41
3.2.1 數據類型 41
3.2.2 運算符和表達式 42
3.3 程式控制語句 46
3.3.1 順序結構 46
3.3.2 選擇結構 47
3.3.3 循環結構 49
3.4 函式與程式結構 51
3.4.1 函式的定義 52
3.4.2 函式聲明 53
3.4.3 函式的調用 56
3.5 數組 62
3.5.1 數組的基本概念 62
3.5.2 聲明數組 63
3.5.3 將數組傳遞給函式 63
3.5.4 數組的初始化 63
3.5.5 多維數組 64
3.5.6 指針數組 68
3.6 指針 68
3.6.1 指針的變數聲明與初始化 69
3.6.2 指針運算符 69
3.6.3 指針常量 70
3.6.4 指針的指針 70
3.6.5 指針的運算 71
3.7 結構體與共用體 72
3.7.1 結構體 72
3.7.2 共用體 76
3.8 本章小結 78
第4章 單片機指令系統 79
4.1 單片機程式語言概述 79
4.1.1 程式語言概述 80
4.1.2 單片機使用的程式語言 80
4.1.3 MCS-51彙編語言的語句結構 80
4.2 MCS-51單片機指令系統 81
4.2.1 數據傳送指令 84
4.2.2 控制轉移指令 88
4.2.3 邏輯運算及移位指令 90
4.2.4 算數運算指令 92
4.2.5 布爾操作指令 95
4.3 常用的偽指令 97
4.3.1 偽指令與MCS-51指令的不同點 97
4.3.2 常用的偽指令 97
4.4 本章小結 99
第5章 Keil C51簡介及單片機軟體程式設計過程 100
5.1 Keil C51概述 100
5.1.1 Keil C51軟體簡介 100
5.1.2 安裝Keil C51軟體 101
5.1.3 Keil C51 uVision2軟體功能簡介 103
5.2 Keil C51工程項目的編譯及運行 107
5.2.1 工程的建立 107
5.2.2 工程的設定 108
5.2.3 源檔案的建立 111
5.2.4 編譯和連結項目 112
5.2.5 運行調試觀察結果 113
5.3 Keil C51調試技巧 113
5.3.1 設定和刪除斷點的方法 113
5.3.2 查看和修改暫存器的內容 114
5.3.3 觀察和修改變數 114
5.3.4 觀察存儲器區域 114
5.3.5 串列口的使用方法 115
5.3.6 定時器/計數器的使用方法 116
5.3.7 外部中斷的使用方法 116
5.4 本章小結 117
第6章 MCS-51單片機程式開發流程 118
6.1 編寫一個簡單的單片機程式 118
6.1.1 目的 118
6.1.2 工作原理 118
6.1.3 用彙編語言編寫程式 119
6.2 程式編寫過程 122
6.2.1 編寫源程式 122
6.2.2 創建項目 123
6.2.3 編譯/彙編 123
6.2.4 輸出檔案 124
6.3 把目標檔案寫入單片機 124
6.3.1 選擇單片機型號 124
6.3.2 進行擦除 124
6.3.3 寫入檔案 125
6.4 使用實驗板進行實驗 126
6.5 本章小結 127
開發實例篇
第7章 C51套用系統設計 131
7.1 套用系統概述 131
7.2 套用系統的硬體設計 132
7.2.1 單片機系統的擴展部分設計 133
7.2.2 各功能模組的設計 133
7.2.3 工藝設計 133
7.3 最小系統板實例 133
7.3.1 最小系統的構成 134
7.3.2 電源組件 135
7.3.3 RS-232串口通信 135
7.3.4 鍵盤組件 136
7.3.5 8255晶片 139
7.3.6 鍵盤電路設計 141
7.3.7 4位LED數碼管顯示 144
7.3.8 可程式的鍵盤和顯示接口晶片8279 145
7.4 本章小結 151
第8章 數碼顯示管LED 152
8.1 LED顯示器接口原理 152
8.1.1 LED顯示器結構 152
8.1.2 LED顯示器工作原理 153
8.1.3 8段數碼管的驅動 154
8.2 硬體電路設計 156
8.2.1 CPU輸出連線埠控制的4位數碼顯示電路 156
8.2.2 基於CD4511晶片的數碼顯示電路 156
8.3 軟體流程 159
8.4 程式設計 160
8.4.1 CPU輸出連線埠控制的數碼顯示程式 160
8.4.2 基於CD4511晶片的數碼顯示程式 161
8.5 本章小結 162
第9章 溫度採集與控制 163
9.1 實例分析 163
9.2 設計思路分析 163
9.2.1 DS18B20溫度感測器的工作原理 164
9.2.2 DS18B20溫度感測器的數據處理與傳輸 165
9.3 硬體電路設計 165
9.3.1 DS18B20內部結構 165
9.3.2 DS18B20套用電路工作原理 169
9.3.3 DS18B20在溫控系統中的套用 171
9.4 軟體程式設計 172
9.4.1 程式命令時序 173
9.4.2 程式流程設計 175
9.4.3 參考程序 178
9.5 本章小結 181
第10章 實時時鐘 183
10.1 實例說明 183
10.2 設計思路分析 184
10.2.1 電子鐘程式設計 184
10.2.2 基於DS12C887晶片的實時日曆時鐘 187
10.3 硬體電路分析 187
10.3.1 受控引腳及功能 187
10.3.2 結構框圖 189
10.3.3 電路原理及說明 189
10.4 軟體程式設計 190
10.4.1 DS12C887晶片的記憶體空間 190
10.4.2 程式流程 194
10.4.3 參考程式 195
10.5 設計總結 197
第11章 電子天平 198
11.1 實例說明 198
11.2 設計思路 199
11.2.1 主要器件選取 199
11.2.2 工作原理 199
11.3 硬體電路設計 200
11.3.1 壓力感測器與運放電路 200
11.3.2 A/D轉換電路 202
11.3.3 定標 204
11.3.4 顯示與鍵盤電路 205
11.4 軟體程式設計 207
11.4.1 程式流程 207
11.4.2 參考程式 207
11.5 設計總結 214
第12章 步進電機驅動 215
12.1 實例分析 215
12.2 設計思路分析 216
12.2.1 步進電機工作原理 216
12.2.2 步進電機的控制 217
12.3 硬體電路設計 220
12.3.1 一般步進電機驅動電路 220
12.3.2 基於UCN5804晶片的步進電機驅動電路 222
12.3.3 基於ULN2003晶片的步進電機驅動電路 226
12.3.4 步進電機套用實例 229
12.4 軟體設計 229
12.4.1 程式設計流程 229
12.4.2 參考程式 231
12.5 設計總結 234
第13章 液晶顯示模組 235
13.1 實例說明 235
13.2 設計思路分析 236
13.2.1 液晶顯示模組介紹 236
13.2.2 器件的選擇 238
13.3 硬體電路分析 239
13.3.1 液晶顯示工作原理 239
13.3.2 接口引腳功能 240
13.4 軟體程式設計 241
13.4.1 功能說明及指令集 241
13.4.2 程式設計流程 249
13.4.3 字元代表碼 249
13.4.4 參考程式 250
13.5 設計總結 257
第14章 串列通信 258
14.1 實例說明 258
14.2 設計思路分析 259
14.2.1 串列通信簡介 259
14.2.2 上位機軟體的選擇 260
14.2.3 LabVIEW虛擬儀器特點 260
14.3 硬體電路設計 261
14.3.1 RS-232C標準 261
14.3.2 RS-232C轉換電路方案選擇 262
14.3.3 採用max3232的RS-232C轉換電路 263
14.3.4 ADC0809電路設計 264
14.4 軟體設計 264
14.4.1 總體流程設計 264
14.4.2 單片機軟體設計 265
14.4.3 上位機軟體設計 267
14.5 本章小結 272
第15章 無線傳輸模組設計 273
15.1 實例說明 273
15.2 設計思路 274
15.2.1 無線傳輸模組選擇 274
15.2.2 無線通信晶片選取 275
15.2.3 無線傳輸模組特性 275
15.3 硬體電路設計 276
15.3.1 nrf401晶片說明 276
15.3.2 PTR2000晶片說明 277
15.3.3 單片機接口電路設計 278
15.3.4 RS-232電平轉換電路設計 279
15.4 軟體設計 280
15.4.1 通信協定 280
15.4.2 程式設計流程 281
15.4.3 參考程式 282
15.5 本章小結 286
第16章 熱敏微型印表機設計 288
16.1 實例說明 288
16.2 設計思路 288
16.2.1 工作原理 289
16.2.2 主要器件選取 289
16.3 硬體電路設計 289
16.3.1 LTP1245熱敏列印頭 290
16.3.2 進紙步進電機控制 294
16.3.3 電路原理圖及設計說明 296
16.4 軟體程式設計 297
16.4.1 程式流程 297
16.4.2 字型檔的提取 299
16.4.3 參考程式 300
16.5 設計總結 304
第17章 超音波測距 305
17.1 實例說明 305
17.2 超音波感測器 306
17.2.1 T/R-40-XX系列 306
17.2.2 超音波測距原理及設計思路 307
17.3 硬體電路設計 308
17.3.1 顯示電路 309
17.3.2 發射電路 309
17.3.3 接收電路 309
17.3.4 鑒相電路 311
17.3.5 最小系統電路 311
17.3.6 硬體的調試 312
17.4 軟體程式設計 312
17.4.1 程式流程 312
17.4.2 參考程式 313
17.5 超音波測距的外界影響 317
17.6 本章小結 318
第18章 紅外線遙控 319
18.1 實例說明 319
18.2 紅外線遙控系統 320
18.2.1 紅外線遙控系統的發射和接收部分 320
18.2.2 紅外線遙控系統框圖 320
18.2.3 紅外遙控信號編碼原理 321
18.2.4 紅外線遙控編碼晶片LC7461 321
18.3 硬體電路設計 325
18.3.1 硬體電路設計原理圖與說明 325
18.3.2 硬體電路檢測程式 326
18.4 軟體程式設計 328
18.4.1 程式流程 328
18.4.2 參考程式 329
18.5 紅外線遙控編碼 331
18.5.1 NEC編碼標準 332
18.5.2 Philips的RC-5編碼標準 332
18.5.3 其他編碼類型 333
18.6 本章小結 333
參考文獻 334