51系列單片機高級實例開發指南

51系列單片機高級實例開發指南

《51系列單片機高級實例開發指南》是2004年北京航空航天大學出版社出版的圖書,作者是李軍。

基本信息

基本簡介

51系列單片機高級實例開發指南51系列單片機高級實例開發指南
本書用4個綜合實例完整講述了51系列單片機高級套用系統的開發過程,包括基於CAN匯流排的機器人控制系統、USB匯流排設備、IC卡讀/寫系統以及攜帶型MP3播放器和隨身碟設備的設計與開發等,是一部面向實例開發的51系列單片機綜合套用的項目開發專著。為方便廣大讀者,書中還扼要介紹了51系列單片機的基礎知識,介紹了怎樣用Protel繪製電路圖以及怎樣用Keil C開發單片機套用軟體等入門內容。配套光碟收錄了書中全部實例的電路圖、自編軟體的代碼以及相關的資料文檔。

全書內容詳實,實例典型,講述清楚,匯集了作者多年來單片機套用開發的經驗和研究心得,適合單片機套用開發人員參考使用;也可作為電子、自動化及計算機類課程設計和參加電子競賽的指導教材和參考讀物。

目錄

第1篇 基於51單片機套用系統設計與開發要點

引言

第1章 單片機基礎3

1.1 單片機的發展與套用領域3

1.2 單片機的結構和工作原理5

1.2.1 中央處理器5

1.2.2 存儲器組織7

1.2.3 片內並行接口11

1.2.4 其它內部資源13

1.2.5 單片機程式的復位和執行13

1.2.6 低功耗操作方式15

1.3 單片機指令與軟體基礎16

1.3.1 單片機的指令系統16

1.3.2 單片機軟體設計基礎25

第2章 基於MCS51核心的單片機28

2.1 Intel公司的MCS51系列單片機28

2.2 ATMEL公司的51系列單片機29

2.2.1 AT89C51單片機29

2.2.2AT89C2051單片機30

2.2.3AT89S51單片機31

2.2.4 AT89S4D12單片機36

2.2.5 AT8XC5132系列單片機36

2.2.6 T89C51CC02單片機37

2.2.7 AT8XC51SND1C系列單片機38

2.3 PHILIPS公司的51系列單片機40

2.4 華邦公司的51系列單片機42

2.5 CYPRESS公司的51系列單片機42

2.6 其它公司的51系列單片機43

2.6.1 MOTOROLA公司的單片機43

2.6.2 MicroChip公司的單片機43

2.6.3 Micon公司的單片機43

2.6.4SceniX公司的單片機43

2.6.5 EPSON公司的單片機44

2.6.6 東芝公司的單片機44

2.6.7 LG公司的單片機44

2.6.8 Zilog公司的單片機44

2.6.9 NS公司的單片機44

第3章 用Protel設計原理圖與PCB圖46

3.1 Protel 99新特性概述46

3.1.1 Protel 99設計環境46

3.1.2 設計管理器47

3.2 原理圖設計48

3.2.1 電路原理圖的設計48

3.2.2 原理圖設計技巧53

3.3 PCB圖的設計55

第4章 用Keil C開發單片機程式62

4.1 Keil C和ANSI C的比較62

4.1.1 數據類型63

4.1.2 存儲類型63

4.1.3 存儲模式64

4.1.4 指針64

4.1.5 中斷函式65

4.1.6 再入函式65

4.2 μVision2使用入門66

第5章 51單片機套用系統設計及開發要點71

5.1 單片機套用系統的生命周期71

5.2 單片機套用系統的開發過程及任務劃分72

5.3 單片機套用系統的設計73

5.3.1 單片機套用系統設計前的準備73

5.3.2 單片機套用系統的硬體設計73

5.3.3 單片機套用系統的軟體設計74

5.4 單片機套用系統的開發75

5.4.1 單片機套用系統的仿真75

5.4.2 單片機套用系統的製版75

5.4.3 單片機套用系統的調試75

5.4.4 單片機套用系統的編程、下載與運行76

本篇總結76

第2篇 基於CAN匯流排機器人控制系統的設計與開發

引言

第6章 機器人控制系統及CAN匯流排基礎79

6.1 典型機器人及其控制系統的構成79

6.1.1 典型機器人的構成79

6.1.2 機器人控制系統80

6.1.3 基於現場匯流排的機器人控制系統81

6.2 CAN匯流排原理與套用基礎82

6.2.1 CAN匯流排基礎82

6.2.2 CAN匯流排的特點83

6.2.3 CAN匯流排技術的工業套用85

6.3 CAN匯流排的套用軟體設計86

6.3.1can控制器套用軟體設計概述86

6.3.2 CAN匯流排節點的應用程式設計86

小結87

第7章 機器人控制系統的分析與總體設計88

7.1 機器人系統概述88

7.2 機器人控制系統的總體設計90

7.2.1 控制系統的總體要求90

7.2.2 控制系統的總體結構90

7.3 控制系統上位機設計及CAN卡選型91

7.3.1 上位機的總體要求91

7.3.2 上位機硬體設計及CAN卡選型91

7.3.3 上位機軟體的功能分析92

7.4 下位機關節控制器的設計93

7.4.1 下位機控制器的功能要求93

7.4.2 下位機控制器的硬體分析與總體設計93

7.4.3 下位機控制器的軟體分析與總體設計94

小結94

第8章 機器人控制器的硬體設計與電路調試95

8.1 AT89C52單片機及外圍電路的設計95

8.1.1 AT89C52單片機95

8.1.2 用MAX813L構成看門狗電路97

8.1.3 靜態存儲器6264的擴展97

8.2 CAN通信接口模組的設計98

8.2.1CAN節點模組概述98

8.2.2 CAN控制器SJA1000及CAN器件產品99

8.2.3 CAN收發器82C250101

8.3 信號調理採集模組的設計101

8.3.1 信號調理採集模組概述101

8.3.2 用AD586構成基準電源101

8.3.3 用Max280構成低通濾波電路103

8.3.4 用AD678進行A/D轉換103

8.4 功率驅動模組的設計104

8.4.1 功率驅動模組概述104

8.4.2 用DAC1230晶片實現D/A轉換104

8.4.3 用AD587構成基準電源106

8.4.4推挽放大電路的設計106

8.5 控制器的電路圖繪製與電路調試106

8.5.1 繪製電路原理圖106

8.5.2 由原理圖繪製PCB圖並校核109

8.5.3 器件焊接和電路調試111

小結117

第9章 機器人控制系統的上位機軟體設計118

9.1 上位機軟體的功能設計與技術分析118

9.2 CAN卡的通信接口編程119

9.2.1 DOS環境下的接口119

9.2.2 CAN卡VC++環境的接口121

9.3 上位機應用程式的接口技術123

9.3.1 在VC++環境下調用MATLAB C++數學函式館123

9.3.2 在對話框中繪製OPENGL動畫124

9.4 上位機控制軟體的設計124

小結126

第10章 機器人控制系統的下位機軟體設計127

10.1 下位機的功能分析與流程設計127

10.1.1 下位機的功能分析與模組劃分127

10.1.2 下位機的主程式流程圖127

10.2 下位機CAN通信軟體的設計129

10.2.1 CAN初始化模組的設計129

10.2.2 CAN通信軟體的設計130

10.3 下位機控制軟體的設計131

10.3.1 下位機控制軟體分析與設計131

10.3.2 下位機的完整原始碼及其分析131

小結136

第3篇 基於USB匯流排的綜合實例設計與開發

引言

第11章 功能需求分析與方案設計139

11.1 最簡單的人機接口HID設備139

11.2 本設備實現的功能139

11.2.1 對設備要求的回響139

11.2.2 與主機交換數據141

11.2.3 擴展功能142

11.3 設備的系統結構142

11.3.1 一般USB設備的系統結構142

11.3.2 一般USB設備的實現方法143

11.3.3 本設備的系統結構144

11.4 開發所需的元器件和設備145

11.4.1 AT89C51145

11.4.2 PDIUSBD12146

11.4.3 其它148

11.5 開發工具軟體149

11.5.1 Protel 99 SE149

11.5.2 μVision/51 for Windows149

11.5.3 編程器軟體149

11.5.4 WinDriver 5.05149

小結150

第12章 電路原理設計與實現151

12.1 設備電路系統概述151

12.251單片機最小系統152

12.3 PDIUSBD12外圍電路及其與單片機的連線153

12.4 擴展功能實現電路154

12.4.1 PS/2串列接口擴展154

12.4.2 Flash存儲器擴展155

12.4.3 LPT並行接口擴展156

12.5 整體電路原理實現157

12.6 手工焊接的一些技巧159

小結160

第13章 固件程式的設計與實現161

13.1 描述符161

13.1.1 設備描述符161

13.1.2 配置描述符162

13.1.3 接口描述符163

13.1.4 端點描述符163

13.1.5 類(HID)描述符164

13.1.6 報告描述符164

13.1.7 字元串描述符165

13.2 設備列舉流程165

13.2.1 輸入設備描述符的要求166

13.2.2 設定設備地址的要求166

13.2.3 再次輸入設備描述符的要求167

13.2.4 輸入配置描述符的要求167

13.2.5 設定配置的要求167

13.2.6 主機對設備的列舉167

13.3 固件程式的結構168

13.3.1 固件結構概述168

13.3.2 USB電氣接口驅動(D12.C)169

13.3.3 主程式171

13.3.4 中斷處理程式171

13.3.5 USB通信協定實現172

13.4 與主機交換數據172

13.4.1 概述172

13.4.2 實現方法173

小結173

第14章 驅動程式和應用程式的設計與實現174

14.1 驅動程式概述174

14.2 Windows驅動程式開發175

14.2.1 驅動程式開發常用的工具軟體175

14.2.2 用WinDriver工具軟體開發驅動程式176

14.3 USB設備接口實驗177

14.3.1 用WinDriver調試設備177

14.3.2 在控制台程式中控制設備178

14.3.3 使用驅動程式提供的接口編寫用戶應用程式控制設備178

14.4 應用程式179

14.4.1 應用程式實現的功能179

14.4.2 利用WinDriver實現應用程式179

小結181

第15章 設備擴展方法182

15.1 擴展USB設備的結構與功能182

15.2 USB鍵盤的實現184

15.2.1 一般USB鍵盤的硬體設計184

15.2.2 USB鍵盤的描述符185

15.2.3 USB鍵盤與主機交換數據的格式188

15.2.4 利用實驗電路板開發PS/2鍵盤到USB鍵盤的轉換器189

15.3 USB滑鼠的實現190

15.3.1 一般USB滑鼠的硬體設計190

15.3.2 USB滑鼠的描述符191

15.3.3 USB滑鼠與主機交換數據的格式194

15.3.4 利用實驗電路板開發PS/2滑鼠到USB滑鼠的轉換器195

15.4 USB移動存儲器的實現196

15.4.1 USB移動存儲器的硬體結構196

15.4.2 USB移動存儲器的描述符197

15.4.3 USB移動存儲器的固件開發198

15.5 利用LPT並行接口實現其它擴展設備199

小結200

本篇總結200

第4篇 IC卡讀/寫系統的開發及其套用

引言

第16章 IC卡基礎知識205

16.1 IC卡的分類205

16.1.1金融IC卡205

16.1.2 非金融IC卡206

16.1.3 接觸型IC卡206

16.1.4 非接觸型IC卡206

16.1.5 存儲卡IC卡206

16.1.6 邏輯加密IC卡206

16.1.7 CPU卡207

16.2 IC卡的選擇207

16.3 IC卡的製作過程207

16.4 IC卡的標準208

16.5 IC卡的開發過程209

16.5.1 IC卡讀/寫設備209

16.5.2 IC卡卡座209

16.5.3 單片機和存儲器210

16.5.4 接口電路和外圍設備210

第17章 AT24CXX系列存儲卡讀卡器211

17.1 AT24CXX系列記憶體概述211

17.1.1 AT24CXX系列記憶體封裝211

17.1.2 AT24CXX系列記憶體分類以及特點212

17.1.3 AT24CXX系列記憶體的內部結構213

17.1.4 AT24CXX的地址分配215

17.2 AT24CXX系列記憶體讀/寫操作216

17.2.1 啟動信號、停止信號和應答信號216

17.2.2 寫操作217

17.2.3 讀操作218

17.3 普通封裝AT24CXX系列記憶體讀/寫系統219

17.3.1 鍵盤掃描例程221

17.3.2 串口通信例程226

17.3.3 I2C軟體模擬程式228

17.3.4 AT24CXX讀/寫系統開發流程詳解及例程235

17.4 AT24CXX系列存儲卡讀/寫系統249

17.4.1 AT24CXX存儲卡的寫操作251

17.4.2 AT24CXX存儲卡的讀操作256

第18章SLE4442加密卡讀卡器259

18.1 SLE4442卡概況259

18.2 SLE4442的模式261

18.2.1 復位與復位回響(ATR)模式261

18.2.2 命令模式262

18.2.3 輸出數據模式262

18.2.4 處理模式263

18.3 SLE4442的操作命令263

18.3.1 讀主存儲器264

18.3.2 讀保護存儲器264

18.3.3 防寫存儲器265

18.3.4 讀密碼存儲器265

18.3.5 寫密碼存儲器266

18.3.6 比較校驗數據266

18.4 SLE4442讀/寫系統267

18.4.1 SLE4442卡的控制函式267

18.4.2 SLE4442的讀操作275

18.4.3 SLE4442的寫操作278

第19章 讀/寫卡系統套用實例281

19.1 卡式電話管理系統281

19.1.1 電話內計費系統281

19.1.2 寫入卡系統282

19.1.3 IC卡282

19.2 IC卡客房管理系統283

19.2.1 管理端283

19.2.2 門禁系統284

19.2.3 購物消費系統284

本篇總結284

第5篇 基於單片機的MP3播放器及隨身碟的設計與開發

引言

第20章 攜帶型MP3播放器的原理與方案分析287

20.1 攜帶型MP3播放器原理及其系統構成287

20.1.1 第3層音頻編碼標準MP3287

20.1.2 攜帶型MP3播放器的結構289

20.1.3 攜帶型MP3播放器的多種存儲器類型290

20.1.4 攜帶型MP3播放器的通信接口290

20.1.5 攜帶型MP3播放器的擴展功能290

20.2 攜帶型MP3播放器的各種方案分析291

20.2.1 基於分離晶片的MP3播放器方案291

20.2.2 基於集成MP3功能單片機的MP3播放器方案296

20.2.3 基於定製ASIC電路的MP3播放器方案296

20.2.4 採用FPGA實現MP3播放器的方案297

20.3 MP3播放器的軟體解決方案299

20.3.1 MPEG幀頭部信息詳解299

20.3.2 MP3檔案的ID3信息302

20.3.3 基於DSP軟體解碼的MP3播放器方案302

小結304

第21章 基於AT89C51SND1的MP3播放器設計開發305

21.1 系統分析設計305

21.2 系統開發環境307

21.2.1 硬體設計環境307

21.2.2 軟體設計環境315

21.3 軟體系統設計320

21.3.1 軟體模組分析320

21.3.2 Flash存儲部分320

21.3.3 MP3解碼部分327

21.3.4 MP3音頻部分333

21.4 MP3播放器的主要程式代碼分析336

21.4.1 MP3解碼部分336

21.4.2 音頻控制部分339

第22章 MPEG解碼選型和MP3播放器的硬體設計342

22.1 MAS3507D和DAC3550A晶片組342

22.1.1 晶片組概述及其內部結構圖342

22.1.2 MAS3507D的性能特點343

22.1.3 DAC3550A的性能特點344

22.2 基於MAS 3507D的MP3方案設計與套用344

22.2.1 MAS3507D和DAC3550A晶片組的典型套用方案344

22.2.2 關於MAS3507D和DAC3550A晶片的版本345

22.2.3 MAS3507D和DAC3550A數據手冊的說明345

22.2.4 MAS3507DF10版本晶片套用提示346

22.2.5 MAS3507D晶片的封裝與引腳說明347

22.2.6 DAC3550A晶片的封裝與引腳說明349

22.3 基於MAS3507D和DAC3550A的MP3播放器設計350

22.3.1 基於MAS3507D和DAC3550A的MP3解碼播放電路設計351

22.3.2 基於MAS3507D的MP3播放器方案設計與分析352

22.4 基於STA013的MP3播放器設計354

22.4.1 STA013解碼晶片介紹354

22.4.2 基於STA013的MP3解碼播放電路設計356

22.4.3 基於STA013的MP3播放器方案設計與分析357

22.5 基於VS1001K的MP3播放器設計358

22.5.1 VS1001K解碼晶片介紹358

22.5.2 基於VS1001K的MP3解碼播放電路設計360

22.5.3 基於VS1001K的MP3播放器方案設計與分析360

小結361

本篇總結362

附錄A光碟內容及使用說明363

附錄B8051單片機指令速查364

附錄CKeil C51庫函式列表369

C.1 本徵庫函式和非本徵庫函式369

C.2 重要庫函式分類370

C.3 Keil C51庫函式分類370

附錄D主要的51單片機廠商及網址375

參考文獻376

相關詞條

相關搜尋

熱門詞條

聯絡我們