《C51基礎與應用實例》
《8051基礎與應用實例》
GITHUB: https://github.com/jash-git/Jash-good-idea-20220101-001/tree/main/HW/8051
內 容 簡 介; 2
前 言; 3
目 錄; 4
第1章 C51單片機基礎; 10
1.1 C51單片機基本介紹; 10
1.1.1 引腳功能說明; 11
1.1.2 C51單片機的特點; 13
1.2 C51單片機的內部結構; 14
1.2.1 CPU; 14
1.2.2 記憶體結構; 21
1.2.3 片內平行介面; 27
1.3 C51單片機定時/計數器; 29
1.3.1 定時/計數器結構; 29
1.3.2 定時/計數器的方式控制字; 30
1.3.3 定時/計數器工作方式; 31
1.4 單片機的工作方式; 33
1.4.1 單片機的重定方式; 34
1.4.2 程式執行方式; 35
1.4.3 節電工作方式; 36
1.4.4 EPROM程式設計和校驗方式; 38
1.5 C51單片機的指令系統; 39
1.5.1 電腦語言; 40
1.5.2 C51單片機的定址方式; 41
1.5.3 C51單片機的指令系統; 47
1.5.4 指令系統中的符號說明; 48
第2章 Keil 8051 C編譯器; 63
2.1 系統概述; 63
2.2 使用Keil開發; 65
2.2.1 (Vision3專案管理視窗簡介; 65
2.2.2 Keil C51開發過程; 69
2.2.3 Keil的調試; 75
2.3 組合語言與C語言的混合使用; 82
2.3.1 組合語言與C語言的比較; 82
2.3.2 C語言中嵌入組合語言; 85
2.3.3 組合語言程式調用C語言程式; 88
第3章 RTX51即時操作系統; 91
3.1 RTX51作業系統簡介; 91
3.1.1 即時操作系統(RTOS); 91
3.1.2 RTX51即時操作系統; 91
3.2 軟硬體需求與定義; 98
3.3 RTX51的功能函數; 101
3.3.1 信號控制函數 ; 102
3.3.2 任務控制函數 ; 104
3.3.3 延時控制函數; 105
3.4 建立RTX51 Tiny應用程式; 107
第4章 常用的單片機晶片介紹; 109
4.1 HOLTEK公司HT48XX系列單片機介紹; 109
4.1.1 HT48R05A-1; 109
4.1.2 HT48R50A-1; 110
4.1.3 HT48C50-1; 112
4.2 Motorola公司的MC68HC08系列單片機; 113
4.2.1 MC68HC08AS32CFN ; 113
4.2.2 MC68HC08AS32FU; 114
4.3 Philips公司推出的改進型C51單片機; 116
4.3.1 產品性能; 116
4.3.2 內部框圖及引腳說明; 117
4.4 Atmel 公司的AT89S系列單片機; 119
4.4.1 AT89S系列單片機的特點; 119
4.4.2 AT89S系列單片機的引腳圖及內部結構框圖; 120
第5章 鍵盤與顯示實例; 122
5.1 七段數碼管顯示; 122
5.1.1 實例說明; 122
5.1.2 七段數碼管介紹; 122
5.1.3 硬體電路設計; 123
5.1.4 軟體設計; 125
5.2 單片機鍵盤程式(4×4矩陣式); 127
5.2.1 實例效果說明; 127
5.2.2 硬體電路設計; 128
5.2.3 軟體程式設計; 128
5.3 單片機控制LCD顯示; 135
5.3.1 實例說明; 135
5.3.2 晶片介紹; 135
5.3.3 硬體設計; 138
5.3.4 軟體設計; 138
5.4 帶有存儲功能的數顯溫度計; 148
5.4.1 實例說明; 149
5.4.2 晶片介紹; 149
5.4.3 硬體電路設計; 154
5.4.4 軟體設計; 155
5.5 單片機實現數位電壓表顯示; 164
5.5.1 實例說明; 164
5.5.2 設計思路分析; 164
5.5.3 硬體電路設計; 164
5.5.4 軟體設計; 165
第6章 C51單片機控制實例; 169
6.1 基於ISD4004晶片的語音錄放設計; 169
6.1.1 實例說明; 169
6.1.2 ISD4004介紹; 169
6.1.3 硬體設計; 177
6.1.4 軟體設計; 177
6.2 單片機密碼鎖設計; 183
6.2.1 實例說明; 183
6.2.2 設計思路分析; 183
6.2.3 硬體電路設計; 186
6.2.4 軟體設計; 188
6.3 利用單片機P1口控制直流電動機; 201
6.3.1 實例效果說明; 201
6.3.2 74HC244介紹; 201
6.3.3 直流電動機; 203
6.3.4 硬體設計; 203
6.3.5 軟體設計; 204
6.4 單片機實現智慧充電器的設計; 206
6.4.1 實例說明; 206
6.4.2 設計思路分析; 207
6.4.3 晶片介紹; 208
6.4.4 硬體電路設計; 213
6.4.5 軟體設計; 215
6.5 基於DS12C887晶片的即時時鐘日曆顯示; 218
6.5.1 實例說明; 218
6.5.2 DS12C887晶片說明; 218
6.5.3 硬體電路圖設計; 222
6.5.4 軟體設計; 223
6.6 單片機實現步進式PWM信號輸出; 226
6.6.1 實例說明; 226
6.6.2 設計思路分析; 226
6.6.3 硬體電路設計; 232
6.6.4 軟體設計; 233
第7章 資料獲取系統實例; 236
7.1 基於ADC0809的並行A/D轉換; 236
7.1.1 實例說明; 236
7.1.2 ADC0809晶片介紹; 236
7.1.3 硬體電路設計; 239
7.1.4 軟體設計; 240
7.2 基於TLC549的串列A/D轉換; 241
7.2.1 實例說明; 242
7.2.2 A/D轉換簡介; 242
7.2.3 TLC549晶片介紹; 245
7.2.4 硬體電路設計; 247
7.2.5 軟體設計; 248
7.3 基於MAX532的串列D/A轉換; 250
7.3.1 實例說明; 250
7.3.2 D/A轉換; 250
7.3.3 MAX532晶片介紹; 251
7.3.4 硬體原理圖的設計; 253
7.3.5 程式設計; 254
7.4 基於DS18B20的數位溫度計設計; 257
7.4.1 實例效果說明; 257
7.4.2 DS18B20晶片介紹; 257
7.4.3 MAX7219晶片介紹; 261
7.4.4 硬體原理圖的設計; 262
7.4.5 軟體設計; 264
7.5 基於雙口RAM的單片機間通信; 270
7.5.1 實例分析; 270
7.5.2 IDT7005晶片介紹; 270
7.5.3 硬體設計; 274
7.5.4 軟體設計; 276
第8章 通 信 實 例; 281
8.1 單片機實現點對點的資料傳輸; 281
8.1.1 實例說明; 281
8.1.2 串列通信; 281
8.1.3 MAX3232晶片介紹; 283
8.1.4 硬體原理圖的設計; 284
8.1.5 軟體設計; 286
8.2 單片機實現短距離無線通訊; 292
8.2.1 nRF401介紹; 292
8.2.2 PTR2000的介紹; 296
8.2.3 硬體設計; 297
8.2.4 軟體設計; 299
第9章 綜合應用實例; 306
9.1 I2C匯流排界面技術在IC卡上的應用; 306
9.1.1 實例說明; 306
9.1.2 I2C介面技術; 306
9.1.3 晶片24LC01B的介紹及應用; 308
9.1.4 硬體設計; 309
9.1.5 軟體設計; 310
9.2 C51單片機實現GPS定位設計; 315
9.2.1 實例效果說明; 315
9.2.2 GPS的介紹; 315
9.2.3 GARMIN GPS 25LP介紹; 316
9.2.4 硬體設計; 317
9.2.5 軟體設計; 318
9.3 USB匯流排界面設計; 323
9.3.1 實例說明; 323
9.3.2 USB簡介; 324
9.3.3 USB介面晶片PDIUSBD12介紹; 325
9.3.4 硬體設計; 328
9.3.5 軟體設計; 329
9.4 基於RTL8019AS的乙太網介面實驗; 344
9.4.1 實例說明; 344
9.4.2 設計思路分析; 345
9.4.3 乙太網協定; 345
9.4.4 晶片概述; 347
9.4.5 硬體電路設計; 357
9.4.6 軟體設計; 359
9.5 低頻信號發生器輸出; 363
9.5.1 實例說明; 363
9.5.2 DAC0832介紹; 363
9.5.3 硬體設計; 368
9.5.4 軟體設計; 369
9.6 基於8255A晶片的微型印表機介面; 375
9.6.1 實例說明 ; 375
9.6.2 8255A介紹; 375
9.6.3 硬體設計; 379
9.6.4 軟體設計; 380
9.7 單片機實現智慧電熱水器設計; 380
9.7.1 實例效果說明; 381
9.7.2 水溫與流量、加熱功率的關係; 381
9.7.3 硬體設計; 381
9.7.4 軟體設計; 384
9.8 紅外遙控器的設計; 394
9.8.1 實例效果說明; 395
9.8.2 系統框圖; 395
9.8.3 硬體電路的設計; 396
9.8.4 軟體設計; 399
附錄A C51庫函數; 408
附錄B 語 法 信 息; 412
B.1 致命錯誤資訊; 412
B.2 語法和語意錯誤資訊; 413
參 考 文 獻; 423