2010年出版圖書
內容簡介
本書首先詳細講解AVR單片機的基礎知識,包括硬體基礎、指令系統、開發環境以及AVR單片機C語言基礎;然後講解其I/O口印表機接口、定時器/計數器、中斷、串列口、程式存儲器擴展、數據存儲器擴展等模組;接著講解其鍵盤接口、LCD接口、印表機接口、A/D接口、D/A接口、可程式器件接口、I2C匯流排接口、SPI匯流排接口、CAN匯流排接口的硬體設計和程式設計;最後講解了MP3播放器設計、小型印表機系統、智慧型充電器、直流電機的控制、溫濕度感測器、手持無線遙控器等綜合實例的軟硬體開發全過程,使讀者對前面的知識融會貫通。
本書適合想了解和進行AVR單片機實際系統開發的讀者和工程技術人員使用,也適合大中專院校電子類專業的學生使用。
2009年出版圖書
內容簡介
《AVR單片機C語言開發入門與典型實例》首先詳細講解AVR單片機的基礎知識,包括硬體基礎、指令系統、開發環境以及AVR單片機C語言基礎;然後講解其I/O口印表機接口、定時器/計數器、中斷、串列口、程式存儲器擴展、數據存儲器擴展等模組;接著講解其鍵盤接口、LCD接口、印表機接口、A/D接口、D/A接口、可程式器件接口、I2C匯流排接口、SPI匯流排接口、CAN匯流排接口的硬體設計和程式設計;最後講解了MP3播放器設計、小型印表機系統、智慧型充電器、直流電機的控制、溫濕度感測器、手持無線遙控器等綜合實例的軟硬體開發全過程,使讀者對前面的知識融會貫通。
《AVR單片機C語言開發入門與典型實例》適合想了解和進行AVR單片機實際系統開發的讀者和工程技術人員使用,也適合大中專院校電子類專業的學生使用。
編輯推薦
從AVR單片機指令和單片機C語言講起。引導讀者快速入門
9大接口。詳細講解接口電路器件使用、硬體設計、軟體設計
6個綜合實例,可直接用於項目開發
目錄
第1篇AVR單片機基礎
第1章AVR單片機概述 3
1.1 AVR單片機及其發展 3
1.1.1AVR單片機簡介 3
1.1.2AVR單片機的特點 4
1.1.3AVR單片機的分類 5
1.2ATmega128(L)單片機 5
1.2.1ATmega128(L)結構和主要特點 5
1.2.2ATmega128(L)的主要性能 7
1.2.3ATmega128(L)的封裝與引腳 8
1.3本章小結 12
第2章ATmega128(L)單片機硬體結構 13
2.1ATmega128(L)的核心 13
2.2ATmega128(L)的存儲器 14
2.2.1ATmega128(L)的內部存儲器 14
2.2.2ATmega128(L)的外部存儲器 15
2.3ATmega128(L)的系統時鐘及電源管理 15
2.3.1系統時鐘 15
2.3.2電源管理與休眠模式 18
2.4ATmega128(L)的復位及中斷 19
2.4.1ATmega128(L)的復位邏輯 19
2.4.2ATmega128(L)的中斷及中斷回響 20
2.5ATmega128(L)的定時器/計數器 22
2.5.18位定時器/計數器T/C0 22
2.5.28位定時器/計數器T/C2 26
2.5.316位定時器/計數器T/C1和T/C3 26
2.6ATmega128(L)的匯流排接口 31
2.6.1同步外設接口SPI 31
2.6.2通用同步/異步串列接口USART0和USART1 32
2.6.3兩線串列TWI匯流排接口 35
2.7本章小結 37
第3章ATmega128(L)的指令系統 38
3.1 ATmega128(L)的指令系統概述 38
3.2ATmega128(L)的指令運算元的定址方式 43
3.3算術和邏輯運算指令 45
3.3.1加法指令 45
3.3.2減法指令 46
3.3.3取反碼和補碼指令 48
3.3.4乘法指令 48
3.3.5邏輯與指令 50
3.3.6邏輯或指令 51
3.3.7邏輯異或指令 52
3.4比較和轉移指令 53
3.4.1比較指令 53
3.4.2無條件轉移指令 54
3.4.3條件轉移指令 54
3.4.4子程式調用與返回指令 60
3.5數據傳輸指令 61
3.5.1直接數據傳輸指令 62
3.5.2間接數據傳輸指令 63
3.5.3與程式存儲器有關的數據傳輸指令 65
3.5.4I/O口數據傳輸指令 67
3.5.5堆疊操作指令 68
3.6位操作指令 68
3.6.1帶進位的位操作指令 68
3.6.2位變數傳輸指令 70
3.6.3位修改指令 70
3.7MCU控制指令 74
3.8ATmega128(L)的彙編語言 75
3.8.1彙編語言語句格式及偽指令 75
3.8.2表達式 76
3.9本章小結 77
第4章AVR單片機硬體電路設計工具 78
4.1Protel99SE中典型元器件的原理圖符號和PCB封裝繪製 78
4.1.1元器件封裝的概念 78
4.1.2電阻的原理圖符號和PCB封裝 79
4.1.3電容的原理圖符號和PCB封裝 80
4.1.4二極體和三極體的原理圖符號和PCB封裝 81
4.1.5典型積體電路的原理圖符號和PCB封裝 83
4.2原理圖和PCB圖的繪製流程 84
4.2.1繪製原理圖 84
4.2.2繪製PCB圖 86
4.3地線 90
4.3.1地線的概念及分類 90
4.3.2PCB設計中地線的處理 91
4.4本章小結 91
第5章AVR單片機軟體開發環境 92
5.1軟體開發環境 92
5.2AVRStudio4.13SP2開發環境 94
5.2.1AVRStudio4.13SP2開發環境獲取與安裝 94
5.2.2AVRStudio4.13SP2的選單 95
5.2.3使用AVRStudio4.13SP2 101
5.3本章小結 103
第6章AVR單片機C語言開發 104
6.1C語言基礎知識 104
6.1.1標識符和關鍵字 104
6.1.2基本數據類型、常量和變數 104
6.1.3常見運算符 106
6.1.4程式中的語句種類 107
6.2C語言高級編程 110
6.2.1數組 110
6.2.2指針 112
6.2.3結構、共用體和枚舉 115
6.2.4函式 119
6.2.5預處理 122
6.3AVRStudio4.13SP2對ANSIC的擴展 125
6.3.1I/O暫存器和連線埠操作 125
6.3.2AVR單片機存儲器中數據的訪問 126
6.3.3AVR單片機的中斷服務程式 130
6.4本章小結 132
第2篇AVR單片機典型模組C語言套用實例
第7章I/O的套用 135
7.1I/O連線埠概述 135
7.2I/O口控制發光二極體 136
7.2.1實例功能 136
7.2.2典型器件介紹 136
7.2.3硬體設計 136
7.2.4程式設計及詳解 137
7.2.5經驗總結 138
7.3I/O口控制八段數碼管 138
7.3.1實例功能 138
7.3.2典型器件介紹 138
7.3.3硬體設計 138
7.3.4程式設計及詳解 139
7.3.5經驗總結 140
7.4I/O模擬1-Wire匯流排控制DS18B20 140
7.4.1實例功能 140
7.4.2典型器件介紹 140
7.4.3硬體設計 141
7.4.4程式設計及詳解 142
7.4.5經驗總結 145
7.5本章小結 145
第8章定時器/計數器套用 146
8.1定時器/計數器概述 146
8.2利用定時器實現方波輸出 146
8.2.1實例功能 146
8.2.2硬體設計 146
8.2.3程式設計及其詳解 147
8.2.4經驗總結 148
8.3利用定時器/計數器實現按鍵的復用 148
8.3.1實例功能 148
8.3.2硬體設計 148
8.3.3程式設計及詳解 149
8.3.4經驗總結 150
8.4本章小結 150
第9章中斷的套用 151
9.1中斷概述 151
9.2利用定時器中斷報警 151
9.2.1實例功能 151
9.2.2典型器件介紹 151
9.2.3硬體設計 152
9.2.4程式設計及詳解 152
9.2.5經驗總結 153
9.3利用中斷實現對按鍵的回響 153
9.3.1實例功能 153
9.3.2典型器件介紹 153
9.3.3硬體設計 154
9.3.4程式設計及詳解 154
9.3.5經驗總結 155
9.4本章小結 155
第10章串列口的套用 156
10.1串列通信概述 156
10.2RS-232匯流排接口 157
10.2.1實例功能 157
10.2.2典型器件介紹 157
10.2.3硬體設計 158
10.2.4程式設計及詳解 159
10.2.5經驗總結 160
10.3RS-485匯流排接口 160
10.3.1實例功能 160
10.3.2典型器件介紹 160
10.3.3硬體設計 161
10.3.4程式設計及詳解 162
10.3.5經驗總結 164
10.4單片機之間的通信 164
10.4.1實例功能 164
10.4.2典型器件介紹 164
10.4.3硬體設計 164
10.4.4程式設計及詳解 164
10.4.5經驗總結 167
10.5本章小結 167
第11章程式存儲器擴展 168
11.1程式存儲器概述 168
11.2擴展EPROM 169
11.2.1實例功能 169
11.2.2典型器件介紹 170
11.2.3硬體設計 171
11.2.4程式設計及詳解 171
11.2.5經驗總結 172
11.3擴展E2PROM 173
11.3.1實例功能 173
11.3.2典型器件介紹 173
11.3.3硬體設計 175
11.3.4程式設計及詳解 175
11.3.5經驗總結 177
11.4擴展Flash存儲器 177
11.4.1實例功能 177
11.4.2典型器件介紹 177
11.4.3硬體設計 179
11.4.4程式設計及詳解 179
11.4.5經驗總結 181
11.5本章小結 181
第12章數據存儲器擴展 182
12.1數據存儲器概述 182
12.2擴展SRAM 182
12.2.1實例功能 182
12.2.2典型器件介紹 183
12.2.3硬體設計 184
12.2.4程式設計及詳解 185
12.2.5經驗總結 186
12.3擴展NVSRAM 186
12.3.1實例功能 186
12.3.2典型器件介紹 187
12.3.3硬體設計 188
12.3.4程式設計及詳解 189
12.3.5經驗總結 190
12.4本章小結 190
第3篇AVR單片機接口典型套用
第13章鍵盤接口 193
13.1鍵盤概述 193
13.2外接4個鍵盤 193
13.2.1實例功能 193
13.2.2硬體設計 193
13.2.3程式設計及詳解 194
13.2.4經驗總結 195
13.3與4×4鍵盤的接口設計 195
13.3.1實例功能 196
13.3.2硬體設計 196
13.3.3程式設計及詳解 196
13.3.4經驗總結 202
13.4本章小結 202
第14章LCD接口 203
14.1LCD概述 203
14.2外接字元點陣LCD 205
14.2.1實例功能 205
14.2.2典型器件介紹 205
14.2.3硬體設計 207
14.2.4程式設計及詳解 208
14.2.5經驗總結 211
14.3外接圖像點陣LCD 211
14.3.1實例功能 211
14.3.2典型器件介紹 211
14.3.3硬體設計 216
14.3.4程式設計及詳解 216
14.3.5經驗總結 219
14.4本章小結 219
第15章印表機接口 220
15.1微型印表機概述 220
15.2外接串列印表機 221
15.2.1實例功能 221
15.2.2典型器件介紹 221
15.2.3硬體設計 223
15.2.4程式設計及詳解 224
15.2.5經驗總結 225
15.3外接並行印表機 225
15.3.1實例功能 225
15.3.2典型器件介紹 225
15.3.3硬體設計 226
15.3.4程式設計及詳解 227
15.3.5經驗總結 228
15.4本章小結 228
第16章A/D接口 229
16.1A/D轉換器概述 229
16.2外接逐次比較型A/D 231
16.2.1實例功能 231
16.2.2典型器件介紹 231
16.2.3硬體設計 233
16.3.4程式設計及詳解 233
16.2.5經驗總結 235
16.3外接半閃爍型高速A/D 235
16.3.1實例功能 235
16.3.2典型器件介紹 236
16.3.3硬體設計 239
16.3.4程式設計及詳解 239
16.3.5經驗總結 242
16.4外接Σ→Δ型A/D 242
16.4.1實例功能 242
16.4.2典型器件介紹 242
16.4.3硬體設計 246
16.4.4程式設計及詳解 246
16.4.5經驗總結 249
16.5本章小結 249
第17章D/A接口實例 250
17.1D/A轉換器概述 250
17.2外接倒T型D/A 251
17.2.1實例功能 251
17.2.2典型器件介紹 251
17.2.3硬體設計 254
17.2.4程式設計及詳解 255
17.2.5經驗總結 256
17.3外接權電流型D/A 256
17.3.1實例功能 256
17.3.2典型器件介紹 257
17.3.3硬體設計 259
17.3.4程式設計及詳解 259
17.3.5經驗總結 261
17.4本章小結 262
第18章可程式器件接口 263
18.1可程式器件概述 263
18.2可程式並行接口晶片接口 263
18.2.1實例功能 263
18.2.2典型器件介紹 264
18.2.3硬體設計 266
18.2.4程式設計及詳解 267
18.2.5經驗總結 269
18.3可程式中斷控制器接口 270
18.3.1實例功能 270
18.3.2典型器件介紹 270
18.3.3硬體設計 273
18.3.4程式設計及詳解 273
18.3.5經驗總結 276
18.4可程式計數器/定時器接口 276
18.4.1實例功能 276
18.4.2典型器件介紹 276
18.4.3硬體設計 278
18.4.4程式設計及詳解 279
18.4.5經驗總結 281
18.5本章小結 281
第19章I2C匯流排接口 282
19.1I2C匯流排接口概述 282
19.2與AT24C64接口 283
19.2.1實例功能 283
19.2.2典型器件介紹 283
19.2.3硬體設計 286
19.2.4程式設計及詳解 286
19.2.5經驗總結 288
19.3與溫濕度感測器SHT75接口 289
19.3.1實例功能 289
19.3.2典型器件介紹 289
19.3.3硬體設計 292
19.3.4程式設計及詳解 292
19.3.5經驗總結 297
19.4本章小結 297
第20章SPI匯流排接口 298
20.1SPI匯流排接口概述 298
20.2SPI接口的Flash的訪問 299
20.2.1實例功能 299
20.2.2典型器件介紹 299
20.2.3硬體設計 301
20.2.4程式設計及詳解 301
20.2.5經驗總結 307
20.3利用SPI匯流排實現單片機之間的通信 307
20.3.1實例功能 307
20.3.2典型器件介紹 307
20.3.3硬體設計 307
20.3.4程式設計及詳解 308
20.3.5經驗總結 309
20.4本章小結 309
第21章CAN匯流排接口 310
21.1CAN匯流排接口概述 310
21.2利用SIA1000實現數據傳輸 311
21.2.1實例功能 311
21.2.2典型器件介紹 311
21.2.3硬體設計 315
21.2.4程式設計及詳解 316
21.2.5經驗總結 320
21.3利用CAN匯流排實現單片機間的通信 320
21.3.1實例功能 320
21.3.2典型器件介紹 320
21.3.3硬體設計 320
21.3.4程式設計及詳解 320
21.3.5經驗總結 325
21.4本章小結 325
第4篇綜合系統實例
第22章MP3播放器設計 329
22.1硬體電路設計 329
22.1.1實例背景 329
22.1.2硬體設計流程 330
22.1.3典型器件選型及介紹 330
22.1.4硬體電路 333
22.2軟體設計 337
22.2.1軟體設計流程 337
22.2.2軟體模組分析 337
22.2.3程式設計及詳解 337
22.3經驗總結 341
22.4本章小結 342
第23章小型印表機系統 343
23.1硬體電路設計 343
23.1.1實例背景 343
23.1.2硬體設計流程 344
23.1.3典型器件選型及介紹 347
23.1.4硬體電路 347
23.2軟體設計 350
23.2.1 軟體設計流程 350
23.2.2軟體模組分析 351
23.2.3程式設計及詳解 351
23.3經驗總結 354
23.4本章小結 355
第24章智慧型充電器 356
24.1硬體電路設計 356
24.1.1實例背景 356
24.1.2硬體設計流程 357
24.1.3典型器件選型及介紹 357
24.1.4硬體電路 360
24.2軟體設計 362
24.2.1軟體設計流程 362
24.2.2軟體模組分析 363
24.2.3程式設計及詳解 363
24.3經驗總結 368
24.4本章小結 368
第25章直流電機的控制 369
25.1硬體電路設計 369
25.1.1實例背景 369
25.1.2硬體設計流程 369
25.1.3典型器件選型及介紹 370
25.1.4硬體電路 373
25.2軟體設計 376
25.2.1軟體設計流程 376
25.2.2軟體模組分析 377
25.2.3程式設計及詳解 377
25.3經驗總結 383
25.4本章小結 383
第26章溫濕度感測器 384
26.1硬體電路設計 384
26.1.1實例背景 384
26.1.2硬體設計流程 385
26.1.3典型器件選型及介紹 385
26.1.4硬體電路 387
26.2軟體設計 390
26.2.1軟體設計流程 390
26.2.2軟體模組分析 390
26.2.3程式設計及詳解 390
26.3經驗總結 399
26.4本章小結 399
第27章手持無線遙控器 400
27.1硬體電路設計 400
27.1.1實例背景 400
27.1.2硬體設計流程 401
27.1.3典型器件選型及介紹 402
27.1.4硬體電路 405
27.2軟體設計 408
27.2.1軟體設計流程 408
27.2.2軟體模組分析 408
27.2.3程式設計及詳解 408
27.3經驗總結 418
27.4本章小結 418
……