實例解讀51單片機完全學習與套用

實例解讀51單片機完全學習與套用

本書集單片機基礎知識、單片機系統設計、電路知識及實驗方法、工藝設計、電子元器件、Proteus/uVision軟體介紹等諸多內容於一身,實用性強。這些內容不是簡單的順序堆砌,而是以單片機基礎知識和系統套用為主線,在其中完美地穿插與之相關的模電、數電、電子元器件、軟體知識,真正做到將單片機系統設計所需要的方方面面知識有機地融為一個整體,實現不需要過多電路基礎就能深度學習單片機基礎知識和上手單片機系統設計與開發的目的。

基本介紹

  • 書名:實例解讀51單片機完全學習與套用
  • ISBN:7121131110,9787121131110
  • 出版社:電子工業出版社
  • 開本:16
簡介,讀者對象,圖書目錄,

簡介

單片機難學,初學者往往如墜霧中
如何將雜亂的單片機知識串為一體?
如何深刻地理解單片機內部結構?
如何將一條條指令組合成一段段有效的程式?
如何將所學的零星單片機知識套用到具體實戰中?
本書力圖撥雲見日,為讀者指明一條單片機學習與套用的清晰道路。

讀者對象

適合單片機初學者作為學習用書,對於正在學習或學過單片機課程,卻還不會編程、不會套用的讀者,本書也將會是你“撥雲見日”的有益參考書。
實例解讀51單片機完全學習與套用

圖書目錄

第1篇 序 幕
單片機是什麼?單片機有何用?如何系統學習單片機?單片機系統設計的流程是怎樣的,需要掌握哪些輔助軟體?本篇將針對這些問題一一闡述,為讀者掀開單片機完全學習與套用的華麗序幕。
第1章 單片機在哪裡 3
1.1 ■尋找單片機 3
1.1.1 電磁爐與單片機 4
1.1.2 MP3播放機與單片機 5
1.1.3 更多單片機 5
1.2 ■學習單片機 6
1.2.1 掌握單片機基礎知識 6
1.2.2 理解單片機系統 6
1.2.3 成為單片機系統設計師 7
1.3 ■單片機之家 7
1.3.1 Intel 8051單片機 7
1.3.2 PIC單片機 8
1.3.3 AVR單片機 9
1.3.4 其他單片機 9
1.4 ■套用體驗——數字溫度計 9
1.4.1 數字溫度計工作原理 10
1.4.2 體驗數字溫度計 10
1.5 ■實例解讀——裝小球系統 11
1.5.1 需求分析 11
1.5.2 系統框架 12
第2章 如何成為單片機系統設計師 13
2.1 ■需要準備哪些 13
2.1.1 綜合素質 13
2.1.2 軟體工具 15
2.1.3 硬體工具之一:麵包板 15
2.1.4 硬體工具之二:萬用板和印刷電路板 18
2.1.5 焊接工具 19
2.1.6 焊接方法 21
2.2 ■單片機系統設計流程 22
2.2.1 需求分析 22
2.2.2 電路設計 23
2.2.3 程式設計 24
2.2.4 系統調試 24
2.3 ■套用體驗——單片機控制下的發光二極體 25
2.3.1 發光二極體工作原理 25
2.3.2 單片機的控制 26
2.3.3 體驗單片機控制發光二極體 26
2.4 ■實例解讀——反應時間測試儀 27
2.4.1 需求分析 27
2.4.2 電路設計 27
2.4.3 程式設計 28
第3章 單片機系統登場 30
3.1 ■單片機系統組成 30
3.1.1 單片機本身 31
3.1.2 系統的構成 31
3.2 ■單片機系統抽絲剝繭 32
3.2.1 AT89S51單片機的“外衣” 33
3.2.2 AT89S51單片機的管腳 34
3.2.3 常見外設 36
3.3 ■元器件插曲之一:變壓器 38
3.3.2 電源變壓器 39
3.4 ■元器件插曲之二:二極體與整流 40
3.4.1 二極體基礎知識 40
3.4.2 整流 40
3.4.3 整流全橋 42
3.5 ■元器件插曲之三:電容 43
3.5.1 電容基礎知識 43
3.5.2 電容的種類 44
3.5.3 電源濾波 46
3.6 ■元器件插曲之四:三端穩壓與單片機系統電源 47
3.6.1 三端穩壓基礎知識 47
3.6.2 單片機系統電源方案一:自製直流穩壓電源 48
3.6.3 單片機系統電源方案二:電源適配器 48
3.6.4 單片機系統電源方案三:USB口供電 49
3.7 ■元器件插曲之五:晶振與振盪器 50
3.7.1 晶振基礎知識 50
3.7.2 振盪器 51
3.8 ■詮釋單片機最簡系統 52
3.8.1 單片機最簡系統 52
3.8.2 電源端(VCC、GND) 52
3.8.3 時鐘信號端(XTAL1、XTAL2) 53
3.8.4 復位端(RST) 54
3.8.5 外部程式存儲器訪問控制端( ) 55
3.8.6 從最簡系統出發 56
3.9 ■元器件插曲之六:電阻 56
3.9.1 電阻基礎知識 56
3.9.2 電阻的參數和種類 58
3.9.3 電阻的分壓、限流、上拉作用 59
3.10 ■從單片機最簡系統開始設計 60
3.10.1 發光二極體交替發光 61
3.10.2 程式設計 61
3.10.3 初見彙編語言 63
3.10.4 初識指令 64
3.10.5 立即數 65
3.11 ■套用體驗——發光二極體的交替發光 66
3.11.1 控制交替發光的原理 66
3.11.2 體驗交替發光 66
3.12 ■元器件插曲之七:開關 66
3.12.1 開關基礎知識 66
3.12.2 常用開關 67
3.13 ■實例解讀——與發光二極體的互動 68
3.13.1 需求分析 68
3.13.2 電路設計 69
3.13.3 程式設計 69
3.13.4 延時子程式 72
第4章 單片機系統設計輔助軟體 74
4.1 ■Proteus單片機系統仿真軟體 74
4.1.1 Proteus軟體界面 75
4.1.2 用Proteus仿真 76
4.2 ■µVision單片機程式開發 82
4.2.1 µVision軟體界面 83
4.2.2 新建和保存項目 83
4.2.3 向項目中添加檔案 84
4.2.4 彙編程式,生成執行代碼 87
4.2.5 生成下載到單片機的執行代碼HEX檔案 88
4.3 ■µVision的調試及仿真功能 89
4.3.1 調試界面 89
4.3.2 虛擬邏輯分析儀 89
4.4 ■套用體驗——把程式下載到單片機里 92
4.4.1 下載器與單片機 92
4.4.2 體驗下載過程 92
4.5 ■實例解讀——流水燈 93
4.5.1 需求分析 93
4.5.2 電路設計 94
4.5.3 軟體設計 94
第2篇 揭 密
單片機的內部結構是怎樣的?單片機開發經常會用到哪些電子技術和元器件知識?還有那困擾了很多人的單片機程式語言……本篇將生動地通過諸多實例帶出單片機的基礎知識,在遇到相關模電、數電、元器件知識時會有及時的補充說明,帶領讀者一點點揭開單片機的神秘面紗。
第5章 單片機的觸角——I/O口 101
5.1 ■何謂I/O口 101
5.1.1 I/O口的功能 101
5.1.2 I/O口與單片機的關係 102
5.1.3 I/O口的操作 103
5.2 ■元器件插曲之八:場效應管 104
5.2.1 JFET 105
5.2.2 MOSFET 106
5.3 ■元器件插曲之九:邏輯門 106
5.3.1 非門 106
5.3.2 或門 107
5.3.3 或非門 107
5.3.4 與門 107
5.3.5 與非門 107
5.3.6 異或門 108
5.3.7 緩衝器 108
5.4 ■元器件插曲之十:鎖存器與觸發器 108
5.4.1 門控D鎖存器 109
5.4.2 邊沿D觸發器 109
5.5 ■I/O口結構探密 110
5.5.1 P1口 110
5.5.2 P3口 110
5.5.3 P0口 111
5.5.4 P2口 112
5.5.5 I/O口小結 112
5.6 ■套用體驗——控制流水燈 112
5.6.1 功能與電路 113
5.6.2 體驗控制流水燈 113
5.7 ■實例解讀——晃晃燈 113
5.7.1 原理分析 114
5.7.2 需求分析 114
5.7.3 電路設計 114
5.7.4 軟體設計 116
第6章 七段數碼管顯示 118
6.1 ■二進制與數據 118
6.1.1 二進制與數字 118
6.1.2 二進制與語音 119
6.1.3 二進制與圖像 120
6.2 ■元器件插曲之十一:七段數碼管 121
6.2.1 七段數碼管原理 121
6.2.2 七段數碼管顯示數字 122
6.3 ■套用體驗——計時器 123
6.3.1 功能與電路 124
6.3.2 體驗計時器 124
6.4 ■元器件插曲之十二:蜂鳴器 125
6.4.1 蜂鳴器 125
6.4.2 蜂鳴器如何工作 125
6.5 ■元器件插曲之十三:三極體及三極體開關 125
6.5.1 三極體基礎 126
6.5.2 三極體的直流放大特性 128
6.5.3 三極體的直流增益 128
6.5.4 三極體的電流關係式 129
6.5.5 三極體開關 129
6.6 ■實例解讀——帶聲音提示的秒表 130
6.6.1 需求分析 130
6.6.2 電路設計 130
6.6.3 開關抖動的處理 130
6.6.4 計時中數字的增加 133
6.6.5 軟體設計 134
第7章 解剖單片機 136
7.1 ■單片機的功耗 136
7.1.1 運行功耗 137
7.1.2 I/O口驅動功耗 137
7.1.3 空閒模式 137
7.1.4 待機模式 138
7.2 ■單片機內部結構 138
7.2.1 從I/O口到內部結構 138
7.2.2 數據在內部交換 139
7.2.3 算術邏輯單元(ALU) 140
7.2.4 在µVision中觀察暫存器 141
7.3 ■單片機的程式存儲器 142
7.3.1 整體結構 143
7.3.2 程式下載到哪裡 144
7.3.3 片內程式存儲器 144
7.3.4 程式計數器PC 145
7.3.5 是片內還是片外程式存儲器 145
7.3.6 在µVision中觀察程式存儲器 147
7.4 ■單片機的數據存儲器 149
7.4.1 片內數據存儲器 149
7.4.2 工作暫存器區(00H~1FH) 150
7.4.3 位定址區(20H~2FH) 151
7.4.4 開放區(30H~7FH) 153
7.4.5 在µVision中觀察數據存儲器 153
7.5 ■單片機的特殊功能暫存器 155
7.5.1 特殊功能暫存器分布圖 155
7.5.2 特殊功能暫存器的功能 156
7.5.3 特殊功能暫存器的位元組操作 158
7.5.4 特殊功能暫存器的位操作 158
7.5.5 在µVision中觀察特殊功能暫存器 159
7.6 ■套用體驗——用取表方式實現流水燈 162
7.6.1 取表法 162
7.6.2 取表法小結 164
7.6.3 體驗流水燈 165
7.7 ■實例解讀——直接驅動七段數碼管 165
7.7.1 需求分析 165
7.7.2 電路設計 165
7.7.3 軟體設計 166
第8章 單片機與彙編指令 168
8.1 ■彙編語言真面目 168
8.1.1 彙編語言與高級語言 169
8.1.2 從彙編程式到執行代碼 169
8.1.3 偽指令 170
8.2 ■指令的執行 173
8.2.1 振盪周期、機器周期、指令周期 173
8.2.2 指令的執行 174
8.3 ■定址方式 175
8.3.1 直接定址 175
8.3.2 間接定址 175
8.3.3 暫存器定址 176
8.3.4 暫存器特徵定址 177
8.3.5 立即定址 177
8.3.6 變址定址 177
8.4 ■指令分類 177
8.4.1 指令概述 178
8.4.2 指令的長度 178
8.5 ■算術運算指令 179
8.5.1 加法指令——ADD A, <src-byte> 179
8.5.2 帶進位的加法指令——ADDC A, <src-byte> 180
8.5.3 帶借位的減法指令——SUBB A,<src-byte> 181
8.5.4 自增/自減指令——INC <byte>/ DEC <byte> 181
8.5.5 乘法指令——MUL AB 182
8.5.6 除法指令——DIV AB 183
8.5.7 十進制調整指令——DA A 183
8.6 ■邏輯運算指令 184
8.6.1 與操作——ANL <dest-byte>,<src-byte> 184
8.6.2 或操作——ORL <dest-byte>, <src-byte> 185
8.6.3 異或操作——XRL <dest-byte>,<src-byte> 186
8.6.4 累加器A清0操作——CLR A 186
8.6.5 累加器A取反操作——CPL A 187
8.6.6 累加器A位移動操作——RL、RLC、RR、RRC 187
8.6.7 累加器A高低位交換操作——SWAP A 188
8.7 ■數據裝載指令 189
8.7.1 片內數據裝載指令——MOV<dest>, <src> 189
8.7.2 數據指針DPTR裝載指令——MOV DPTR, #data16 190
8.7.3 堆疊指令——PUSH、POP 191
8.7.4 數據交換指令——XCH、XCHD 194
8.7.5 片外數據裝載指令——MOVX <dest>, <src> 195
8.7.6 查表指令——MOVC  <dest>, <src> 197
8.8 ■布爾指令 198
8.8.1 清0、置1、取反操作——CLR、SETB、CPL 198
8.8.2 布爾邏輯運算指令——ANL、ORL 199
8.8.3 位數據裝載指令——MOV <dest-bit>,<src-bit> 200
8.8.4 布爾跳轉指令——JC、JNC、JB、JNB、JBC 200
8.9 ■調用子程式指令 201
8.9.1 長調用指令——LCALL 201
8.9.2 絕對調用指令——ACALL 202
8.9.3 返回指令——RET、RETI 203
8.10 ■跳轉與循環指令 203
8.10.1 無條件跳轉指令——LJMP、AJMP、SJMP、JMP 203
8.10.2 條件跳轉指令——JZ、JNZ 204
8.10.3 比較跳轉指令——CJNE <dest-byte>, <src-byte>, rel 205
8.10.4 循環指令——DJNZ <byte>,<rel-addr> 207
8.10.5 無操作指令——NOP 208
8.11 ■套用體驗——七段數碼管的串列控制技術 208
8.11.1 串列與並行傳輸  208
8.11.2 串列控制七段數碼管  209
8.11.3 程式設計  210
8.12 ■實例解讀——指令套用(程式)實例 211
8.12.1 數據求和 211
8.12.2 減法與二進制的二補數 212
8.12.3 異或操作指令XRL用於比較暫存器數值 213
8.12.4 利用布爾指令產生矩形波信號 214
8.12.5 布爾指令套用於控制 215
第3篇 解 密
之所以單片機能成為控制核心,設計出包羅萬象的套用系統來,是因為開發者利用了單片機提供的種種功能及各種外設。本篇將介紹單片機的各種功能,加上諸如感測器、模數轉換、掃描顯示、串列、中斷的套用思維,結合更多的元器件、電子電路知識,為讀者逐個解開實際的單片機系統的秘密。
第9章 感測器及模擬信號的處理 219
9.1 ■元器件插曲之十四:運算放大器 219
9.1.1 運算放大器基礎 220
9.1.2 運算放大器的參數 221
9.1.3 運算放大器的黃金守則 222
9.2 ■基礎運放電路 223
9.2.1 同相放大器 223
9.2.2 反相放大器 224
9.2.3 跟隨器 225
9.2.4 向運放進行單電源供電 226
9.3 ■比較器 226
9.3.1 過零比較器 227
9.3.2 非過零比較器 227
9.3.3 遲滯比較器(施密特觸發器) 228
9.4 ■具有運算功能的運放電路 229
9.4.1 加法放大器 229
9.4.2 單運放差分放大器 230
9.4.3 儀表放大器 232
9.5 ■濾波器 234
9.5.1 高通濾波器 234
9.5.2 低通濾波器 235
9.5.3 帶通濾波器 236
9.5.4 帶阻濾波器 238
9.6 ■感測器 238
9.6.1 壓力感測器 239
9.6.2 光電感測器 242
9.6.3 溫度感測器 243
9.7 ■套用體驗——幅頻變換 245
9.7.1 MPX4115A壓力感測器 245
9.7.2 幅頻變換器 247
9.8 ■實例解讀——磁場強度的測量 248
9.8.1 霍爾感測器與磁場的測量 248
9.8.2 線性霍爾感測器3503 248
9.8.3 檢測電路 250
第10章 ADC和DAC 251
10.1 ■模數轉換 251
10.1.1 從模擬信號到數位訊號 251
10.1.2 電平指示器中的ADC 253
10.2 ■元器件插曲之十五:ADC0804 255
10.2.1 管腳名稱及功能 255
10.2.2 使能控制端 255
10.2.3 轉換控制端 256
10.2.4 時鐘信號 256
10.2.5 模擬輸入電壓範圍 256
10.2.6 轉換時間 256
10.2.7 接地 257
10.2.8 參考電平與解析度 257
10.3 ■ADC與單片機 258
10.3.1 單片機控制ADC0804 258
10.3.2 程式設計 259
10.4 ■模擬信號的調理 260
10.4.1 電平變換電路 260
10.4.2 峰值檢測器 261
10.4.3 絕對值電路 262
10.4.4 微分器和積分器 263
10.4.5 採樣保持電路 264
10.4.6 接地問題 266
10.5 ■數模轉換 268
10.5.1 數模轉換基礎 269
10.5.2 DAC0808 269
10.5.3 DAC的程式控制 270
10.6 ■如何選擇ADC 271
10.6.1 常用ADC簡介 271
10.6.2 如何確定位數 273
10.6.3 如何確定轉換速率 273
10.6.4 如何確定是否需要採樣保持器 273
10.6.5 如何確定工作電壓和參考電平 274
10.7 ■如何選擇DAC 274
10.7.1 如何確定解析度 274
10.7.2 如何確定線性度 274
10.7.3 如何確定轉換精度 274
10.7.4 如何理解建立時間 275
10.7.5 按參數條件選擇 275
10.8 ■套用體驗——DAC正弦波
發生器 276
10.8.1 正弦信號公式 276
10.8.2 正弦波發生程式 277
10.9 ■實例解讀——數字溫控系統 278
10.9.1 系統功能與硬體設計 278
10.9.2 程式設計 278
第11章 時間的計算 283
11.1 ■定時與計數 283
11.1.1 什麼是定時 283
11.1.2 什麼是計數 284
11.1.3 單片機的Timer 285
11.2 ■與Timer有關的暫存器 285
11.2.1 Timer實現的延時 285
11.2.2 Timer模式控制暫存器TMOD 286
11.2.3 Timer暫存器 288
11.2.4 Timer控制暫存器TCON 288
11.2.5 Timer用做定時/計數器小結 288
11.3 ■Timer的工作模式1 289
11.3.1 模式1的特點 289
11.3.2 模式1的設定 290
11.3.3 模式1的計數初始值 291
11.3.4 設計模式1的計數初始值 292
11.3.5 利用Timer進行長時間定時 294
11.4 ■Timer的工作模式0 295
11.4.1 模式0的特點 295
11.4.2 設計模式0的計數初始值 296
11.5 ■Timer的工作模式2 297
11.5.1 模式2的特點 297
11.5.2 模式2的設定 298
11.5.3 設計模式2的計數初始值 300
11.6 ■Timer的工作模式3 300
11.6.1 模式3的特點 300
11.6.2 模式3的設定 301
11.6.3 設計模式3的計數初始值 303
11.6.4 在Vision中觀察Timer 303
11.7 ■計數器 305
11.7.1 計數器的套用 305
11.7.2 計數器的設定 306
11.7.3 在Vision中操作計數器 307
11.7.4 計數器的計數初始值設定 308
11.7.5 各種模式下的計數器 308
11.7.6 計數脈衝的要求 311
11.7.7 TMOD暫存器的門控位 312
11.8 ■看門狗 313
11.8.1 什麼是看門狗 313
11.8.2 單片機的內置看門狗 313
11.9 ■套用體驗——“叮咚”門鈴 315
11.9.1 功能及電路 315
11.9.2 “叮咚”聲發生程式 315
11.10 ■實例解讀——頻率計 318
11.10.1 利用計數器設計頻率計 318
11.10.2 頻率計的程式 318
第12章 掃描與顯示 322
12.1 ■掃描多位七段數碼管 322
12.1.1 動態掃描的原理 323
12.1.2 動態掃描操作指南 325
12.1.3 動態掃描方式程式 326
12.2 ■掃描鍵盤 327
12.2.1 什麼是鍵盤 327
12.2.2 鍵盤的電路結構 328
12.2.3 鍵盤按鍵判斷程式 329
12.2.4 鍵盤編碼器晶片74C922 332
12.3 ■掃描發光二極體點陣 334
12.3.1 顯示原理 334
12.3.2 發光二極體點陣器件結構 335
12.3.3 發光二極體點陣與單片機電路 336
12.3.4 點陣顯示程式 336
12.3.5 點陣螢幕的套用 338
12.3.6 點陣套用中的問題 342
12.4 ■液晶屏 344
12.4.1 液晶屏的套用 344
12.4.2 字元液晶屏 345
12.4.3 字元液晶屏顯示原理 346
12.4.4 單片機與字元液晶屏的接口 347
12.4.5 字元液晶屏的控制程式 349
12.4.6 圖形點陣液晶屏顯示原理 352
12.4.7 單片機與圖形點陣液晶屏的接口 353
12.4.8 圖形點陣液晶屏的控制程式 355
12.5 ■套用體驗——電子時鐘 369
12.5.1 功能及電路 369
12.5.2 時鐘程式 370
12.6 ■實例解讀——帶漢字字型檔的液晶屏 374
12.6.1 帶漢字字型檔的液晶屏 375
12.6.2 帶漢字字型檔的液晶屏管腳 376
12.6.3 單片機與帶漢字字型檔的液晶屏 377
第13章 串列溝通 379
13.1 ■串列還是並行 379
13.1.1 串列與並行的比喻 379
13.1.2 串列與並行器件 380
13.2 ■單片機串列數據交換 381
13.2.1 AT89S51的串列口 382
13.2.2 串列流水燈 383
13.2.3 串列接收數據 385
13.3 ■與串列通信有關的暫存器 387
13.3.1 串列口緩衝暫存器SBUF 387
13.3.2 串列口控制暫存器SCON 387
13.4 ■串列口工作模式 389
13.4.1 模式0 389
13.4.2 模式1 390
13.4.3 模式2 392
13.4.4 模式3 392
13.5 ■套用體驗——雙機通信 393
13.5.1 雙機通信的套用 393
13.5.2 雙機通信的通信鏈路 393
13.5.3 排隊呼叫系統 395
13.6 ■普通計算機的串列通信口 398
13.6.1 計算機串列口 398
13.6.2 本機串口實驗 400
13.6.3 用Visual Basic設計串口通信程式 401
13.7 ■實例解讀——網路密碼鎖 406
13.7.1 串列口電平轉換晶片 406
13.7.2 單片機與計算機串列通信實驗 408
13.7.3 網路密碼鎖 410
第14章 中斷的魅力 416
14.1 ■“打擾”單片機 416
14.1.1 外部中斷一例 417
14.1.2 中斷服務的指揮——中斷向量表 418
14.2 ■中斷的控制及處理 419
14.2.1 中斷的回響及處理 419
14.2.2 中斷使能暫存器IE 421
14.3 ■外部中斷0和外部中斷1 422
14.3.1 外部中斷信號輸入端 和 422
14.3.2 外部中斷的低電平觸發 423
14.3.3 外部中斷的下降沿觸發 424
14.3.4 低電平與下降沿觸發的區分 426
14.4 ■Timer 0中斷和Timer 1中斷 426
14.3.1 Timer和Timer中斷 427
14.3.2 利用Timer中斷作信號發生器 427
14.5 ■串列通信中斷 428
14.5.1 串列通信中斷套用 429
14.5.2 傳送中斷和接收中斷的判斷 429
14.6 ■套用體驗——解放了的CPU 431
14.6.1 輪詢與中斷 432
14.6.2 中斷優先權 433
14.6.3 利用Timer中斷實現拉幕式顯示 436
14.7 ■實例解讀——電子琴 438
14.7.1 音符與頻率 438
14.7.2 電子琴電路設計 439
14.7.3 電子琴程式設計 440
第4篇 遠 航
為幫助讀者設計出更為豐富的單片機系統,解決複雜的實際問題,更多的外設(如電機、各類存儲器、繼電器、紅外管等)都在本篇的一個個實例中展示出來。通過本篇,除了學到貼近實際的單片機綜合系統開發本領外,還希望讀者學會站在一個新的高度來思考未來的單片機系統設計,能夠開始在單片機系統設計與開發中獨自遠航。
第15章 單片機控制外設的本領 447
15.1 ■元器件插曲之十六:繼電器 447
15.1.1 繼電器基礎知識 448
15.1.2 單片機與繼電器 448
15.2 ■元器件插曲之十七:紅外發光二極體 449
15.2.1 紅外發光二極體基礎知識 450
15.2.2 紅外發光二極體的套用 450
15.2.3 紅外計數器  451
15.3 ■元器件插曲之十八:直流電動機 453
15.3.1 直流電動機基礎知識 453
15.3.2 直流電動機的通斷控制 454
15.4 ■什麼是PWM(脈寬調製) 454
15.4.1 平均電壓概念 455
15.4.2 PWM與平均電壓 456
15.4.3 產生PWM信號的方法 457
15.5 ■直流電動機的運行控制 459
15.5.1 PWM信號與直流電動機 459
15.5.2 直流電動機的轉速、轉向控制 460
15.5.3 單片機控制直流電動機 462
15.5.4 直流電動機的全面控制 463
15.6 ■元器件插曲之十九:步進電動機 466
15.6.1 步進電動機基礎知識 466
15.6.2 步進電動機的種類 467
15.7 ■步進電動機的運行控制 468
15.7.1 步進電動機的控制方法 468
15.7.2 步進電動機與單片機 470
15.8 ■套用體驗——用PWM信號控制直流電動機 472
15.8.1 L298驅動直流電動機 473
15.8.2 直流電動機控制程式 473
15.9 ■實例解讀——太陽跟隨系統 476
15.9.1 為了獲得最大的太陽光 477
15.9.2 系統電路  477
15.9.3 程式設計  478
第16章 數據的保存 483
16.1 ■片內與片外存儲器 483
16.1.1 為什麼要有片內、片外之分 484
16.1.2 電子密碼鎖的片外存儲器 484
16.1.3 判斷片外數據存儲器或片外程式存儲器 485
16.1.4 存儲器容量的描述 486
16.1.5 存儲器組織 487
16.1.6 訪問速度 488
16.1.7 存儲器的地址 488
16.2 ■存儲器操作及家族成員 489
16.2.1 讀存儲器與寫存儲器 489
16.2.2 存儲器兩大家族:RAM和ROM 490
16.3 ■RAMs 491
16.3.1 RAM家族 491
16.3.2 SRAM的存儲單元 491
16.3.3 ASRAM(異步SRAM) 492
16.3.4 SB SRAM(同步爆發式SRAM) 495
16.3.5 Cache存儲器(高速緩衝存儲器) 496
16.3.6 DRAM的存儲單元 496
16.4 ■ROMs 499
16.4.1 ROM家族 499
16.4.2 Mask ROM 499
16.4.3 PROM 501
16.4.4 UV EPROM 502
16.4.5 EEPROM(E2PROM) 503
16.4.6 Flash 504
16.4.7 Flash存儲器與其他存儲器的比較 506
16.5 ■單片機與片外程式存儲器 507
16.5.1 片外程式存儲器 507
16.5.2 單片機的 端 508
16.5.3 單片機的P0和P2 508
16.5.4 單片機的 端 509
16.5.5 單片機的 端 510
16.6 ■單片機與片外數據存儲器 510
16.6.1 片外數據存儲器 511
16.6.2 EEPROM作片外數據存儲器 511
16.6.3 SRAM作片外數據存儲器 514
16.7 ■套用體驗——擴展串列片外數據存儲器 515
16.7.1 串列EEPROM 516
16.7.2 單片機與串列EEPROM接口 516
16.7.3 串列EEPROM的啟動、停止操作 517
16.7.4 串列EEPROM的寫操作 518
16.7.5 串列EEPROM的讀操作 520
16.7.6 串列EEPROM的讀/寫程式 521
16.8 ■實例解讀——GPS(全球衛星定位系統) 527
16.8.1 身邊的GPS設備 527
16.8.2 GPS模組 528
16.8.3 NMEA協定 529
16.8.4 單片機與GPS模組 530
附錄A 光碟內容介紹 532
附錄B 51單片機指令集 534
附錄C 指令的執行代碼表 538
附錄D Proteus軟體圖示命令 545
附錄E AT89S51單片機 特殊功能暫存器一覽表 546
附錄F 51單片機彙編程式保留字 555
附錄G ASCII碼錶 558
附錄H 主流電子元器件生產商網址 562
附錄I 如何使用Windows計算器進行數制轉換 564
附錄J 鋼琴琴鍵的發音頻率 566
附錄K 常用低容量存儲器器件表(RAM、ROM) 568
附錄L NMEA協定訊息欄位含義 570
參考文獻 573
本書是楊欣和他的同事們所編寫的精彩系列叢書中的一本,對8051單片機進行了淋漓盡致地介紹。
許多讀者朋友都已經知道單片機是在一個積體電路上的小型計算機,它包含了處理器、核心存儲器、可程式的輸入和輸出外設等。並且單片機常常在嵌入式系統中作為核心器件。8051單片機在20世紀80年代出現以來,目前已經成為當今數字電路時代的重要器件之一。
單片機作為各種設備和系統的核心控制器件,與個人計算機里或其他一般用途的微處理器有很大的不同。自動化設備、醫療儀器、搖控、辦公設備、家用電器、電動工具、玩具等都使用了單片機。實際上,對於今天每一個設計、組建或維護各類數字電子設備的人來說,精通單片機的操作、熟悉與之相關的電路與系統都算是基礎的技能。
本書專門為了這些必備知識進行組織編寫。在一開始對單片機和系統設計師進行概述之後,各章都深度地剖析了系統技能、系統設計的軟體、輸入輸出連線埠、七段數碼管、掃描與顯示、8051單片機、片記憶體儲器、定址、指令、信號的處理、模擬與數位訊號的轉換、信息的顯示、定時器、串列口通信、中斷、外設、數據存儲等。
楊欣和他的同事們使用簡潔和生動的語言,精妙地通過本書成功地向大家傳授了實用的單片機內容。書中有大量翔實的8051單片機套用實例,它們都來自廣闊的領域,包括醫療設備、信號處理、檢測器與感測器、顯示、時鐘以及各類不同的儀器。
我懷著極其喜悅的心情,向每一個尋覓8051單片機最新設計資訊和實踐指導的電子工程師推薦本書。它包含了“所有你需要知道的”,並且將必然成為未來幾年帶來巨大的價值。
英國最高級巴思爵士,英國皇家學會會員,英國皇家工程院院士,英國醫學科學院院士
皮特維爾斯 教授
前 言
呈現在大家眼前的是一本通俗易懂的從單片機基礎到系統套用的生動教程。本書的幾位作者在近6年來出版的多部有關電路設計及單片機方面的暢銷圖書成為了本書的堅實基礎。本書凝結了清華大學、北京大學、中國科學技術大學、北京交通大學多位一線教師、博士研究生的教學及實踐體會。也得到了英國劍橋大學、牛津大學、帝國理工、愛丁堡大學加的夫大學等世界著名大學中多位教授、博士生導師的指導意見。
經過多位學者的精心裁剪和沉澱,本書的脈絡及內容非常符合單片機基礎知識及系統套用的學習規律,能為廣大讀者朋友開闢一條事半功倍的單片機學習捷徑。
特色
本書集單片機基礎知識、單片機系統設計、電路知識及實驗方法、工藝設計、電子元器件、Proteus/Vision軟體介紹等諸多內容於一身,物超所值。
以單片機基礎知識和系統套用為主線,其中完美地穿插了與之相關的模擬電路數字電路、電子元器件、電子工藝等內容,把單片機系統設計所需要的方方面面知識有機地融為一個整體,真正實現不需要過多電路基礎就能深度學習單片機基礎知識和上手單片機系統設計製作的目的。
全書語言生動活潑、平實易懂,沒有生澀的大理論,更沒有讀不懂的過程。無論在單片機部分還是元器件介紹中都緊緊圍繞實用進行介紹,加上全書豐富、精彩的插圖,形象地幫助大家理解知識及過程,加深印象。
特別注重知識的鋪墊和循序漸進。單片機及其系統套用的知識內容多、難度大,沒有基礎的朋友一時可能不知道從哪裡開始學習、如何開始學習。本書從第一章開始就用形象生動的單片機套用實例不斷鋪墊,讓單片機知識流暢地被理解和吸收。
豐富的實例把單片機基礎知識及其套用構成一個整體。每章中除在講解過程中的實例外,還有“套用體驗”和“實例解讀”環節向大家展示單片機的套用和設計思路,既授人以魚,也授人以漁。
本書涉及的特色系統、實例包括有:
數字溫度計
裝小球生產線
電子血壓計
發光二極體多種控制
反應時間測試儀
聲音處理器
系統電源設計
流水燈
晃晃燈
計時器
秒表
七段數碼管顯示控制
串列顯示控制
信號發生器
心電放大器
光控開關
幅頻變換電路
磁場檢測器
電壓指示器
數字溫控系統
裝藥丸生產線
計數器
“叮咚”門鈴
頻率計
LED點陣螢幕
多種液晶屏顯示
中文液晶屏顯示
電子時鐘
串列傳送及接收
與計算機串口通信
排隊呼叫機
網路密碼鎖
中斷套用
拉幕式顯示
電子琴
紅外計數器
直流電動機控制
步進電動機控制
太陽跟隨系統
片外存儲器訪問
I2C存儲器接口
GPS定位系統
本書為掃清單片機基礎知識和系統設計的障礙鋪陳的電子工藝、電路知識、電子元器件知識包括有:
麵包板實驗方法
萬用板實驗方法
印刷電路板設計
發光二極體
變壓器
二極體
整流橋
電容
三端穩壓
直流穩壓電源
晶振
電阻
開關
場效應管
邏輯門
鎖存器
觸發器
七段數碼管
蜂鳴器
三極體
三極體開關
運放放大器
同相放大器
反相放大器
跟隨器
比較器
施密特觸發器
加法放大器
差分放大器
儀表放大器
濾波器
壓力感測器
光電感測器
溫度感測器
霍爾感測器
模數轉換器
電平移位器
增益控制器
峰值檢測器
絕對值電路
微/積分器
採樣保持器
系統接地
數模轉換器
鍵盤
LED點陣
液晶屏
繼電器
紅外對管
直流電動機
PWM
步進電動機
RAM和ROM
EEPROM存儲器
Flash存儲
適用對象
不知從哪裡開始學習單片機的人。有的朋友正準備開始學習單片機,但是陷於在市面上琳琅滿目的單片機教程的選擇中。本書的寫作手法和內容敘述獨特、新穎,是一本真正讀起來不費勁、學起來不枯燥、用起來得心應手的參考書。這將極大提高學習的興趣和吸收的效率。
廣大的學生朋友。不管您的手裡是否有了單片機的教程,都可以從本書一開始就找到學習單片機的嶄新道路,這都歸功於本書從頭到尾豐富生動的、貼近生活的實例。如果您想真正高效地、深刻地、紮實地學習單片機基礎知識和套用方法,不妨選擇本書讀一讀。本書既可以單獨作教程使用,也可作為一本參考書,講述課堂內外與單片機有關的精彩案例。
老師們。如果能在課堂上使用本書中一些生動的單片機套用實例結合到知識介紹中,或者乾脆把本書中知識描述、過程講解、實例解析直接引入課堂,與學生們一起在單片機學習中互動。同時跟隨本書深刻地對單片機原理、系統規劃設計、軟/硬體設計方法進行形象地學習,在活躍課堂氣氛的同時,讓學生真正掌握了單片機相關知識和學習的方法,豈不是事半功倍、皆大歡喜嗎?
正想利用單片機設計系統的人。可能您在工作中、畢業設計中需要利用單片機結合外設設計一個套用系統來完成老闆、老師布置的任務,但是原來掌握的單片機知識可能有些不夠,不知道從何下手來設計單片機套用系統。本書將把單片機系統設計中包括電路知識、電子元器件知識、電子工藝、單片機系統組成方案等一粒粒“珍珠”串起來,實現為您帶來設計的靈感和幫助您著手開始設計與製作。
內容結構
全書在整體上分成了序幕——揭密——解密——遠航共4個部分。
序幕部分包括了第1~4章。首先從發現單片機開始,展示單片機廣泛存在日常生活和工業生產中。接著介紹了單片機系統的概念、電子工藝、系統設計流程,並利用簡單實例演示單片機的功能。與單片機及其系統設計相關的電路知識、元器件知識在這一部分漸漸展開,並服務於單片機知識的理解和設計的思考。最後就是單片機學習和系統開發涉及的多個軟體如Proteus、Vision的介紹。通過序幕部分的學習,可以順利、快速、準確地進入單片機學習的核心區。
揭密部分包括了第5~8章。電子元器件知識的講解再次為理解I/O口等單片機內部結構掃清障礙,通過發光二極體的多種控制掌握單片機的I/O口控制。接著介紹的是單片機如何控制七段數碼管實現秒表等套用的設計。當我們對單片機有了比較感性的認識後,第7章全面介紹了單片機的存儲器結構等重要內容,此時理解起來已經因為前面的鋪墊而自然、容易了許多。同時,對彙編指令以及單片機執行過程的學習也變得從容許多。
解密部分包括了第9~14章。通過前面的學習單片機一些基礎知識已經理解完畢,接著將逐個解開實際的單片機系統的秘密,比如感測器信號採集及信號處理、ADC(模數轉換)和DAC(數模轉換)、鍵盤、點陣、液晶屏等。另外還在實例當中把單片機的定時/計數器、看門狗、中斷、串列通信進行全面介紹。
遠航部分包括了第15~16章。有了以上的基礎和設計的積累,遠航部分將最大化地展示單片機系統中常用外設如繼電器、紅外管、直流電動機、步進電動機、存儲器等。最後一章還對常用的存儲器原理以及擴展片外存儲器進行了詳細介紹。
特別感謝
本書是由楊欣統籌和主筆,由張延強、張鎧麟劉長煥、支瑞聰、劉傑、傅予嘉、趙東旭趙興東、何帥、陳偉、李哲謙、張浩翔、劉文王正浩陳新、昌文婷共同參與編寫而完成的。本書還得到了胡文錦趙興東趙東旭、傅予嘉、陳偉、何帥、Alqahtani Mahdi、Hamid Bidi的幫助,在此對他們的辛勤付出表示誠摯的謝意。此外,在編寫過程中還得到了許多國內外專家的幫助和指導。
首先,我們感到莫大的榮幸邀請到Peter Wells教授為本書作序,他是世界公認的人類醫用超聲之父。1964年他就與Ken Evans和Frank Ross發明了第一台關節臂B超,連同後來他發明的世界第一台自動水浴超聲乳腺掃瞄器、導管內窺鏡探頭、都卜勒超聲感測器、灰階圖像超聲等不勝枚舉的開創性研究,為今天臨床中普遍套用的B超、彩超、3D超聲等的出現奠定了基礎。他作為英國最高級巴思爵士獲得者、英國皇家學會會員、英國皇家工程院院士、英國醫學科學院院士、英國加的夫大學特聘教授,仍然工作在教學、科研的第一線,親力親為指導醫學工程專業的本科生、研究生。筆者感到極大榮耀,能在博士、博士後期間與他一同工作在超聲運動損傷及超聲輔助癌症治療等課題中。
其次,要感謝英國加的夫大學工程學院電子物理醫學研究所首席科學家Len Nokes教授的傾力幫助,他是國際足聯(FIFA)以及歐洲足聯(UEFA)的高級顧問醫生、運動損傷研究員。作為本書的主審之一,他對本書的內容、框架進行了細心指導。他作為筆者的博士生導師,在運動損傷的診斷及治療等醫學工程研究中給予了大量的思路和精心的指導。
感謝本書的另外兩位主審——北京交通大學的王玉鳳劉湘黔兩位教授,他們10年來的傾力幫助與支持,都沉澱在筆者所出版的7本書中。他們事無巨細的指導還繼續成為筆者出版電子類著作的動力。另外,希望用我們相繼出版的圖書,感謝他們在教書育人、科學研究中所傾注的精力以及過去和未來為社會創造的平凡而偉大的財富。
感謝北京交通大學生物醫學工程系主任劉傑教授和北京軍區總醫院計量科主任劉文教授,他們近10年來在電子物理醫學研究中給予的精心指導,成為了筆者多部圖書的基石。筆者正是在他們所指導的諸多醫學工程項目中迅速成長起來。
感謝英國帝國勳章獲得者、英國皇家物理學家和科學家、英國加的夫大學特聘教授 John Woodcock對本書諸多內容的精心指導以及對筆者科研、論文的幫助。同時,感謝英國加的夫大學臨床醫院的Dr. Neil Pugh和Dr. Declan Coleman、英國帝國理工學院的Dr. Roy Clement、倫敦大學瑪麗女皇學院的Dr. Deric Jones和Dr. Hazel Screen等的幫助。另外,對英國愛丁堡大學的Dr. Peter Hoskins、英國布里斯托總醫院的Dr. Haidong Liang對編纂工作的肯定與指導表示感謝。
感謝北京交通大學計算機學院院長韓臻教授、黨委書記楊曉暉教授、黨委副書記余亞光教授給予的支持與幫助。另外對物理系的成正維、牛原楊甦、蔡天芳、滕永平等幾位教授和“關工委”的岳兆宏教授表示最崇高的敬意。
感謝深圳職業技術學院副校長溫希東教授對本書內容的指導和肯定。還要感謝宋榮、賈方亮老師在具體電路、設計思路上給予的大力幫助。
感謝英國劍橋大學的梁東方和王曉霖夫婦的幫助。並對《電子製作》、《電子測試》、《家庭影院技術》和《家電維修》雜誌社的總編陳忠、社長陳曉筱、副主編楊來英、編務王雪珍等老師表示最大的感謝。此外還要感謝清華大學的韋思健教授和中國科學技術大學的趙文教授及夫人對內容的指導。感謝北京城市學院的汪仁里老師及夫人。同時對本書提供了許多寶貴建議的王淑蘭老師表示感謝。
感謝梁麗麗張晟周萍、趙少雲和雷麗明幾位老師,他們對筆者的成長起了至關重要的作用。
最後,要感謝我的父母等家人;另外還要感謝摯友崔捷10多年來給予的莫大幫助。
楊 欣
Institute of Medical Engineering and Medical Physics
Cardiff University
United Kingdom
2011年2月

相關詞條

熱門詞條

聯絡我們