MCS-51 單片機技術項目驅動教程 (C語言), 2/e

牛軍、黃大勇、薛曉、曹原、陳華敏

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • ISBN: 7302633029
  • ISBN-13: 9787302633020
  • 相關分類: C 程式語言
  • 下單後立即進貨 (約4週~6週)

  • MCS-51 單片機技術項目驅動教程 (C語言), 2/e-preview-1
  • MCS-51 單片機技術項目驅動教程 (C語言), 2/e-preview-2
  • MCS-51 單片機技術項目驅動教程 (C語言), 2/e-preview-3
MCS-51 單片機技術項目驅動教程 (C語言), 2/e-preview-1

商品描述

《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