《輕鬆成為設計高手:51單片機設計實戰》從實際開發與套用入手,以實驗過程和工程項目為主導,循序漸進地介紹了51單片機的最小系統、外中斷、定時/計數控制、串列通信、LED靜態/動態顯示、獨立鍵盤檢測、行列式鍵盤檢測、LCD顯示字元/漢字、A/D、D/A及I2C匯流排通信、溫度檢測18B20、步進電機、紅外解碼等各種實例的C語言編程方法。《輕鬆成為設計高手:51單片機設計實戰》的特點是深入淺出,闡述透徹、清晰,可讀性好,實用性強,收集並整理了大量C51單片機實戰開發的程式;這些程式既可以讓讀者開拓思路,又可直接套用於相同的開發系統上。
基本介紹
- 書名:輕鬆成為設計高手:51單片機設計實戰
- 出版社:北京航空航天大學出版社
- 頁數:191頁
- 開本:16
- 定價:29.00
- 作者:深圳信盈達電子有限公司
- 出版日期:2013年1月1日
- 語種:簡體中文
- ISBN:9787512409989
- 品牌:北京航空航天大學出版社
內容簡介,圖書目錄,
內容簡介
《輕鬆成為設計高手:51單片機設計實戰》適合從事單片機項目開發與套用的工程技術人員閱讀,可作為大專院校有關專業本科生的教學參考書以及各類培訓班的教材。
圖書目錄
第1課單片機概述及內外部結構分析1
1.1單片機概述1
1.1.1何謂單片機1
1.1.2單片機引腳、價格及套用1
1.1.3MCS51單片機與其他單片機的關係2
1.1.4未來單片機的發展趨勢2
1.2單片機的內部、外部結構3
1.2.1單片機引腳3
1.2.2單片機的套用電路4
1.2.3單片機最小系統4
1.3單片機內部結構分析5
1.3.1存儲器5
1.3.28051單片機存儲結構5
1.3.3單片機內部RAM分析6
1.3.4特殊功能暫存器6
1.4總結8
第2課常用基本電路定理、公式及元器件9
2.1常用基本電路定理9
2.1.1歐姆定理9
2.1.2節點電流定理9
2.1.3迴路電壓定理9
2.2常用電子線路公式9
2.3常用元器件介紹10
2.4常用進制的轉換10
2.5第一個小程式:跑馬燈程式11
2.6位和位元組12
2.7總結12
第3課C51語言簡介13
3.1單片機C語言的發展歷史13
3.2C語言的主要特點13
3.3單片機的彙編語言與C51語言比較14
3.4單片機C語言與標準C語言異同15
3.5總結16
第4課單片機C程式的基本結構17
4.1單片機C語言入門實例17
4.2源程式18
4.3單片機C程式的基本結構20
4.3.1頭檔案20
4.3.2主函式20
4.3.3函式20
4.4C51基本數據類型21
4.4.1基本數據類型21
4.4.2常量與變數22
4.58051片內資源及位變數24
4.5.1特殊功能暫存器的C51定義24
4.5.2自定義變數類型typedef26
4.6運算符與表達式26
4.6.1賦值運算26
4.6.2算術運算26
4.6.3關係運算28
4.6.4邏輯運算28
4.6.5位運算29
4.6.6自增減運算及複合運算30
4.6.7條件運算符30
4.6.8逗號運算符31
4.7總結31
第5課C51基本結構程式設計32
5.1順序結構32
5.2選擇結構32
5.2.1if語句32
5.2.2switch—case語句35
5.3break語句36
5.4循環結構37
5.4.1while語句38
5.4.2do—while語句38
5.4.3for語句38
5.4.4循環嵌套40
5.5其他語句41
5.5.1循環語句中的break語句41
5.5.2continue語句41
5.5.3goto語句42
5.5.4return語句42
5.6總結42
第6課函式43
6.1函式的聲明與定義、調用43
6.1.1函式的聲明43
6.1.2函式定義44
6.1.3函式的調用44
6.2函式作用範圍與變數作用域48
6.3總結49
第7課數組和指針50
7.1一維數組50
7.1.1一維數組的定義50
7.1.2一維數組元素的引用51
7.1.3一維數組的初始化51
7.2二維數組51
7.2.1二維數組的定義51
7.2.2二維數組元素的引用51
7.2.3二維數組的初始化52
7.3字元數組52
7.4C51中數組進行初始化的規則53
7.5數組總結53
7.6指針53
7.6.1指針變數的定義54
7.6.2指針變數的引用54
7.6.3地址運算56
7.6.4指針和數組56
7.6.5字元指針57
7.6.6指針數組58
7.7總結58
第8課8051內部資源編程——I/O連線埠的套用59
8.1I/O連線埠59
8.1.1P0口的結構59
8.1.2P1口的結構60
8.1.3P2口的結構60
8.1.4P3口的結構60
8.2I/O口套用總結61
第9課8051內部資源編程——定時器63
9.1計數的概念63
9.1.1計數器的容量63
9.1.2定時的概念63
9.1.3任意計數及溢出64
9.2定時/計數器的工作原理及控制65
9.2.1控制計數/定時器常用的暫存器65
9.2.2定時/計數器的4種工作方式67
9.2.3定時/計數器的定時/計數範圍68
9.3定時/計數器的使用68
9.3.1計數初值的計算68
9.3.2程式初始化步驟68
9.3.3套用實例——用定時的方式實現閃燈程式69
9.4總結69
第10課8051內部資源編程——中斷70
10.1有關中斷的概念70
10.1.1中斷的嵌套與優先權處理70
10.1.2中斷的回響過程71
10.28051的中斷系統71
10.2.18051的中斷源71
10.2.2控制中斷的幾個暫存器73
10.2.3中斷源序號及中斷入口地址74
10.3C51中斷程式設計75
10.3.1C51編譯器支持在C源程式中直接嵌入中斷服務程式75
10.3.2C51中斷服務程式的注意事項76
10.3.3中斷程式步驟76
10.3.4中斷程式範例76
10.4總結77
第11課8051內部資源編程——通信78
11.1串列通信的基本概念78
11.1.1異步傳送78
11.1.2同步傳送79
11.1.3串列通信的數據傳送方向79
11.28051單片機的串口結構80
11.2.1串列通行模組的設定81
11.2.2波特率計算82
11.3串口程式設計82
11.3.1串口設定步驟82
11.3.2軟體設計83
11.4總結84
第12課人機界面接口技術——數碼管和矩陣鍵盤85
12.1數碼管85
12.1.1動態掃描顯示接口86
12.1.2程式範例87
12.2鍵盤接口88
12.2.1按鍵開關的抖動問題88
12.2.2程式範例89
12.3總結92
第13課人機界面接口技術——字元型液晶屏93
13.1LCD顯示器基本原理93
13.2電子產品設計或電子模組驅動設計步驟94
13.3總結98
第14課人機界面接口技術——點陣型液晶屏99
14.1點陣型液晶屏LCD1286499
14.2點陣型液晶屏硬體連線99
14.3軟體設計100
14.4總結104
第15課數據採集編程——A/D105
15.1模數轉換ADC105
15.1.1ADC0804105
15.1.2硬體連線106
15.1.3ADC0804套用實例106
15.1.4A/D接口設計要點108
15.2數模轉換DAC109
15.2.1DAC性能指標109
15.2.2DAC0832引腳功能110
15.2.3DAC0832的套用110
15.2.4DAC0832的時序圖110
15.2.5程式範例112
15.3總結114
第16課I2C匯流排及AT24C02的套用115
16.1I2C匯流排115
16.2AT24C02晶片115
16.3I2C協定編程步驟116
16.3.1對AT24C02進行讀操作116
16.3.2對AT24C02進行寫操作116
16.4AT24C02套用實例117
16.5總結126
第17課步進電機的套用127
17.1步進電機127
17.2套用範例128
17.3總結134
第18課紅外遙控135
18.1紅外編碼135
18.1.1紅外與藍牙的差別135
18.1.2編碼原理136
18.2案例程式137
18.3總結143
第19課單匯流排協定——DS18B20溫度感測器144
19.1DS18B20概述144
19.2特點144
19.3內部結構145
19.4指令碼147
19.5時序148
19.6操作流程150
19.7與單片機的典型接口設計150
19.8精確延時問題151
19.9案例程式151
19.10總結156
第20課ModBus中CRC16循環冗餘校驗157
20.1CRC概念157
20.2工業匯流排ModBus158
20.2.1ModBus串列通信數據格式158
20.2.2ModBus串列通信功能碼159
20.2.3ModBus串列通信CRC16校驗160
第21課通信的SPI概念168
21.1SPI168
21.2接口的硬體連線169
21.3性能特點170
21.4SPI協定170
21.5舉例170
21.6SPI工作原理及工作方式172
21.7總結173
第22課KeilC51編譯、連結、仿真調試方法174
22.1安裝軟體174
22.2KeilC51使用方法174
22.3KeilC51仿真調試方法177
第23課C51程式編寫規範179
23.1C51的編程規範——編程總原則179
23.2規範範例181
23.3命名183
23.4編輯風格184
23.5項目管理知識185
23.6電子產品開發流程186
附錄ZC600開發板原理圖188
參考文獻191
1.1單片機概述1
1.1.1何謂單片機1
1.1.2單片機引腳、價格及套用1
1.1.3MCS51單片機與其他單片機的關係2
1.1.4未來單片機的發展趨勢2
1.2單片機的內部、外部結構3
1.2.1單片機引腳3
1.2.2單片機的套用電路4
1.2.3單片機最小系統4
1.3單片機內部結構分析5
1.3.1存儲器5
1.3.28051單片機存儲結構5
1.3.3單片機內部RAM分析6
1.3.4特殊功能暫存器6
1.4總結8
第2課常用基本電路定理、公式及元器件9
2.1常用基本電路定理9
2.1.1歐姆定理9
2.1.2節點電流定理9
2.1.3迴路電壓定理9
2.2常用電子線路公式9
2.3常用元器件介紹10
2.4常用進制的轉換10
2.5第一個小程式:跑馬燈程式11
2.6位和位元組12
2.7總結12
第3課C51語言簡介13
3.1單片機C語言的發展歷史13
3.2C語言的主要特點13
3.3單片機的彙編語言與C51語言比較14
3.4單片機C語言與標準C語言異同15
3.5總結16
第4課單片機C程式的基本結構17
4.1單片機C語言入門實例17
4.2源程式18
4.3單片機C程式的基本結構20
4.3.1頭檔案20
4.3.2主函式20
4.3.3函式20
4.4C51基本數據類型21
4.4.1基本數據類型21
4.4.2常量與變數22
4.58051片內資源及位變數24
4.5.1特殊功能暫存器的C51定義24
4.5.2自定義變數類型typedef26
4.6運算符與表達式26
4.6.1賦值運算26
4.6.2算術運算26
4.6.3關係運算28
4.6.4邏輯運算28
4.6.5位運算29
4.6.6自增減運算及複合運算30
4.6.7條件運算符30
4.6.8逗號運算符31
4.7總結31
第5課C51基本結構程式設計32
5.1順序結構32
5.2選擇結構32
5.2.1if語句32
5.2.2switch—case語句35
5.3break語句36
5.4循環結構37
5.4.1while語句38
5.4.2do—while語句38
5.4.3for語句38
5.4.4循環嵌套40
5.5其他語句41
5.5.1循環語句中的break語句41
5.5.2continue語句41
5.5.3goto語句42
5.5.4return語句42
5.6總結42
第6課函式43
6.1函式的聲明與定義、調用43
6.1.1函式的聲明43
6.1.2函式定義44
6.1.3函式的調用44
6.2函式作用範圍與變數作用域48
6.3總結49
第7課數組和指針50
7.1一維數組50
7.1.1一維數組的定義50
7.1.2一維數組元素的引用51
7.1.3一維數組的初始化51
7.2二維數組51
7.2.1二維數組的定義51
7.2.2二維數組元素的引用51
7.2.3二維數組的初始化52
7.3字元數組52
7.4C51中數組進行初始化的規則53
7.5數組總結53
7.6指針53
7.6.1指針變數的定義54
7.6.2指針變數的引用54
7.6.3地址運算56
7.6.4指針和數組56
7.6.5字元指針57
7.6.6指針數組58
7.7總結58
第8課8051內部資源編程——I/O連線埠的套用59
8.1I/O連線埠59
8.1.1P0口的結構59
8.1.2P1口的結構60
8.1.3P2口的結構60
8.1.4P3口的結構60
8.2I/O口套用總結61
第9課8051內部資源編程——定時器63
9.1計數的概念63
9.1.1計數器的容量63
9.1.2定時的概念63
9.1.3任意計數及溢出64
9.2定時/計數器的工作原理及控制65
9.2.1控制計數/定時器常用的暫存器65
9.2.2定時/計數器的4種工作方式67
9.2.3定時/計數器的定時/計數範圍68
9.3定時/計數器的使用68
9.3.1計數初值的計算68
9.3.2程式初始化步驟68
9.3.3套用實例——用定時的方式實現閃燈程式69
9.4總結69
第10課8051內部資源編程——中斷70
10.1有關中斷的概念70
10.1.1中斷的嵌套與優先權處理70
10.1.2中斷的回響過程71
10.28051的中斷系統71
10.2.18051的中斷源71
10.2.2控制中斷的幾個暫存器73
10.2.3中斷源序號及中斷入口地址74
10.3C51中斷程式設計75
10.3.1C51編譯器支持在C源程式中直接嵌入中斷服務程式75
10.3.2C51中斷服務程式的注意事項76
10.3.3中斷程式步驟76
10.3.4中斷程式範例76
10.4總結77
第11課8051內部資源編程——通信78
11.1串列通信的基本概念78
11.1.1異步傳送78
11.1.2同步傳送79
11.1.3串列通信的數據傳送方向79
11.28051單片機的串口結構80
11.2.1串列通行模組的設定81
11.2.2波特率計算82
11.3串口程式設計82
11.3.1串口設定步驟82
11.3.2軟體設計83
11.4總結84
第12課人機界面接口技術——數碼管和矩陣鍵盤85
12.1數碼管85
12.1.1動態掃描顯示接口86
12.1.2程式範例87
12.2鍵盤接口88
12.2.1按鍵開關的抖動問題88
12.2.2程式範例89
12.3總結92
第13課人機界面接口技術——字元型液晶屏93
13.1LCD顯示器基本原理93
13.2電子產品設計或電子模組驅動設計步驟94
13.3總結98
第14課人機界面接口技術——點陣型液晶屏99
14.1點陣型液晶屏LCD1286499
14.2點陣型液晶屏硬體連線99
14.3軟體設計100
14.4總結104
第15課數據採集編程——A/D105
15.1模數轉換ADC105
15.1.1ADC0804105
15.1.2硬體連線106
15.1.3ADC0804套用實例106
15.1.4A/D接口設計要點108
15.2數模轉換DAC109
15.2.1DAC性能指標109
15.2.2DAC0832引腳功能110
15.2.3DAC0832的套用110
15.2.4DAC0832的時序圖110
15.2.5程式範例112
15.3總結114
第16課I2C匯流排及AT24C02的套用115
16.1I2C匯流排115
16.2AT24C02晶片115
16.3I2C協定編程步驟116
16.3.1對AT24C02進行讀操作116
16.3.2對AT24C02進行寫操作116
16.4AT24C02套用實例117
16.5總結126
第17課步進電機的套用127
17.1步進電機127
17.2套用範例128
17.3總結134
第18課紅外遙控135
18.1紅外編碼135
18.1.1紅外與藍牙的差別135
18.1.2編碼原理136
18.2案例程式137
18.3總結143
第19課單匯流排協定——DS18B20溫度感測器144
19.1DS18B20概述144
19.2特點144
19.3內部結構145
19.4指令碼147
19.5時序148
19.6操作流程150
19.7與單片機的典型接口設計150
19.8精確延時問題151
19.9案例程式151
19.10總結156
第20課ModBus中CRC16循環冗餘校驗157
20.1CRC概念157
20.2工業匯流排ModBus158
20.2.1ModBus串列通信數據格式158
20.2.2ModBus串列通信功能碼159
20.2.3ModBus串列通信CRC16校驗160
第21課通信的SPI概念168
21.1SPI168
21.2接口的硬體連線169
21.3性能特點170
21.4SPI協定170
21.5舉例170
21.6SPI工作原理及工作方式172
21.7總結173
第22課KeilC51編譯、連結、仿真調試方法174
22.1安裝軟體174
22.2KeilC51使用方法174
22.3KeilC51仿真調試方法177
第23課C51程式編寫規範179
23.1C51的編程規範——編程總原則179
23.2規範範例181
23.3命名183
23.4編輯風格184
23.5項目管理知識185
23.6電子產品開發流程186
附錄ZC600開發板原理圖188
參考文獻191