基礎篇
第1章LPC178x系列微控制器概述3
1.1CortexM3處理器概述3
1.1.1CortexM3配置選項3
1.1.2LPC178x/177x系列微控制器型號與分類4
1.1.3LPC178x/177x系列微控制器主要特點5
1.1.4LPC178x/177x系列微控制器結構概述7
1.1.5LPC178x/177x系列微控制器存儲器映射9
1.1.6片上存儲器10
1.1.7片上外設及基址10
1.2CMSIS軟件接口標準12
1.2.1CMSIS層與軟件架構13
1.2.2CMSIS文件結構14
第2章開發(fā)工具概述22
2.1常用開發(fā)工具概覽22
2.1.1RealView MDK開發(fā)環(huán)境22
2.1.2IAR EWARM開發(fā)環(huán)境23
2.1.3JLink仿真器24
2.1.4ULINK2仿真器25
2.2LPC1788評估板簡述26
2.2.1開發(fā)板概覽26
2.2.2開發(fā)板外設接口I/O分配29
2.3RealView MDK開發(fā)環(huán)境快速入門31
2.3.1工程項目的建立31
2.3.2工程項目的配置33
2.3.3編寫演示代碼35
2.3.4工程項目的編譯36
2.3.5程序下載與調試37
2.4IAR開發(fā)環(huán)境快速入門40
2.4.1IAR工程項目的快速建立40
2.4.2編譯和鏈接應用程序46
2.4.3仿真調試48
入門篇
第3章GPIO端口應用55
3.1I/O端口配置概述55
3.1.1I/O端口配置描述55
3.1.2I/O端口控制寄存器功能描述58
3.2GPIO端口概述62
3.2.1引腳描述63
3.2.2GPIO寄存器描述63
3.3GPIO及I/O配置常用庫函數(shù)72
3.3.1GPIO端口庫函數(shù)功能詳解72
3.3.2引腳連接配置庫函數(shù)功能詳解82
3.4GPIO端口應用實例88
3.4.1設計目標88
3.4.2硬件電路設計88
3.4.3實例軟件設計89
3.5實例總結96
第4章實時時鐘應用97
4.1實時時鐘(RTC)概述97
4.1.1RTC基本配置98
4.1.2RTC引腳描述99
4.2RTC寄存器描述99
4.2.1RTC中斷100
4.2.2混合寄存器組101
4.2.3完整時間寄存器組103
4.2.4時間計數(shù)器組104
4.2.5通用寄存器組106
4.2.6報警寄存器組106
4.3RTC常用庫函數(shù)107
4.4RTC應用實例118
4.4.1設計目標118
4.4.2硬件電路設計119
4.4.3實例軟件設計119
4.5實例總結124
第5章定時器應用125
5.1定時器(Timer)概述125
5.1.1定時器的基本配置126
5.1.2定時器的引腳描述127
5.2Timer寄存器描述127
5.2.1中斷寄存器128
5.2.2定時器控制寄存器129
5.2.3定時器/計數(shù)器129
5.2.4預分頻寄存器129
5.2.5預分頻計數(shù)器129
5.2.6匹配控制寄存器130
5.2.7匹配寄存器0~3131
5.2.8捕獲寄存器0~1131
5.2.9捕獲控制寄存器131
5.2.10外部匹配寄存器132
5.2.11計數(shù)控制寄存器132
5.2.12DMA操作133
5.3Timer常用庫函數(shù)134
5.4Timer應用實例142
5.4.1設計目標142
5.4.2硬件電路設計142
5.4.3實例軟件設計143
5. 5實例總結151
第6章模/數(shù)轉換器應用152
6.1模/數(shù)轉換器(ADC)概述152
6.1.1ADC的基本配置153
6.1.2ADC的引腳描述153
6.1.3ADC的操作153
6.2ADC寄存器描述154
6.2.1ADC控制寄存器155
6.2.2ADC全局數(shù)據寄存器156
6.2.3ADC中斷使能寄存器157
6.2.4ADC數(shù)據寄存器0~7158
6.2.5ADC狀態(tài)寄存器159
6.2.6ADC調節(jié)寄存器159
6.3ADC常用庫函數(shù)160
6.4ADC應用實例165
6.4.1設計目標165
6.4.2硬件電路設計165
6.4.3實例軟件設計166
6. 5實例總結173
第7章數(shù)/模轉換器應用174
7.1數(shù)/模轉換器(DAC)概述174
7.1.1DAC的基本配置175
7.1.2DAC的引腳描述175
7.1.3DAC的操作175
7.2DAC寄存器描述176
7.2.1D/A轉換器寄存器176
7.2.2D/A轉換器控制寄存器177
7.2.3D/A轉換器計數(shù)器值寄存器177
7.3常用庫函數(shù)178
7.3.1DAC驅動庫178
7.3.2通用DMA控制器常用庫函數(shù)180
7.4DAC應用實例183
7.4.1設計目標183
7.4.2硬件電路設計184
7.4.3實例軟件設計184
7. 5實例總結191
第8章脈寬調制器應用192
8.1脈寬調制器(PWM)概述192
8.1.1脈寬調制器的基本配置194
8.1.2脈寬調制器的引腳描述195
8.1.3單沿和雙沿控制規(guī)則的采樣波形195
8.2PWM寄存器描述197
8.2.1PWM中斷寄存器197
8.2.2PWM定時器控制寄存器198
8.2.3PWM計數(shù)控制寄存器199
8.2.4PWM定時器/計數(shù)器199
8.2.5PWM預分頻寄存器200
8.2.6PWM預分頻計數(shù)器寄存器200
8.2.7PWM匹配控制寄存器200
8.2.8PWM匹配寄存器202
8.2.9PWM捕獲控制寄存器202
8.2.10PWM捕獲寄存器203
8.2.11PWM控制寄存器203
8.2.12PWM鎖存使能寄存器204
8.3PWM常用庫函數(shù)205
8.4PWM應用實例211
8.4.1設計目標211
8.4.2硬件電路設計211
8.4.3實例軟件設計212
8. 5實例總結219
第9章電機控制脈寬調制器應用220
9.1電機控制脈寬調制器概述220
9.1.1電機控制脈寬調制器的基本配置220
9.1.2電機控制脈寬調制器的引腳描述222
9.2電機控制脈寬調制器寄存器描述222
9.2.1MCPWM控制寄存器223
9.2.2MCPWM捕獲控制寄存器225
9.2.3MCPWM中斷寄存器227
9.2.4MCPWM計數(shù)控制寄存器229
9.2.5MCPWM定時器/計數(shù)器0~2寄存器231
9.2.6MCPWM界限0~2寄存器231
9.2.7MCPWM匹配0~2寄存器232
9.2.8MCPWM死區(qū)時間寄存器233
9.2.9MCPWM通信格式寄存器234
9.2.10MCPWM捕獲寄存器234
9.3MCPWM的應用操作235
9.3.1脈寬調制236
9.3.2映射寄存器和同時更新238
9.3.3快速中止(ABORT)238
9.3.4捕獲事件238
9.3.5外部事件計數(shù)(計數(shù)器模式)239
9.3.6三相直流模式239
9.3.7三相交流模式240
9.3.8中斷源240
9.4MCPWM常用庫函數(shù)241
9.5MCPWM應用實例248
9.5.1設計目標248
9.5.2硬件電路設計248
9.5.3實例軟件設計249
9. 6實例總結255
第10章通用異步收發(fā)器應用256
10.1通用異步收發(fā)器(UART)概述256
10.1.1通用異步收發(fā)器的基本配置260
10.1.2通用異步收發(fā)器的引腳描述261
10.2UART寄存器描述262
10.2.1UARTn接收緩沖寄存器(RBR)263
10.2.2UARTn發(fā)送保持寄存器(THR)263
10.2.3UARTn除數(shù)鎖存器LSB/MSB寄存器(DLL,DLM)264
10.2.4UARTn中斷使能寄存器(IER)264
10.2.5UARTn中斷標識寄存器(IIR)265
10.2.6UARTn FIFO控制寄存器(FCR)266
10.2.7UARTn線控制寄存器(LCR)267
10.2.8UARTn Modem控制寄存器(MCR)268
10.2.9UARTn線狀態(tài)寄存器(LSR)268
10.2.10UARTn Modem狀態(tài)寄存器(MSR)270
10.2.11UARTn高速緩存寄存器(SCR)271
10.2.12UARTn自動波特率控制寄存器(ACR)271
10.2.13UARTn分數(shù)分頻器寄存器(FDR)271
10.2.14UARTn發(fā)送使能寄存器(TER)272
10.2.15UARTn的RS485控制寄存器(RS485CTRL)273
10.2.16UARTn的RS485地址匹配寄存器(RS485ADRMATCH)274
10.2.17UARTn的RS485延時值寄存器(RS485DLY)274
10.2.18UART4過采樣寄存器OSR274
10.2.19UART4智能卡接口控制寄存器SCICTRL275
10.2.20UART4同步模式控制寄存器(SYNCCTRL)276
10.2.21UART4 IrDA控制寄存器276
10.3UART常用庫函數(shù)277
10.4UART應用實例289
10.4.1設計目標289
10.4.2硬件電路設計289
10.4.3實例軟件設計291
10.5實例總結298
第11章串行同步端口控制器應用299
11.1串行同步端口概述299
11.1.1串行同步端口基本配置299
11.1.2串行同步端口的引腳描述300
11.2SSP寄存器描述300
11.2.1SSPn 控制寄存器0(CR0)301
11.2.2SSPn 控制寄存器1(CR1)301
11.2.3SSPn數(shù)據寄存器(DR)302
11.2.4SSPn狀態(tài)寄存器(SR)302
11.2.5SSPn時鐘預分頻寄存器(CPSR)303
11.2.6SSPn中斷使能置位/清零寄存器(IMSC)303
11.2.7SSPn原始中斷狀態(tài)寄存器(RIS)304
11.2.8SSPn 使能中斷狀態(tài)寄存器(MIS)304
11.2.9 SSPn中斷清零寄存器(ICR)304
11.2.10SSPn DMA控制寄存器(CMACR)305
11.3SSP常用庫函數(shù)305
11.4SSP外設應用實例312
11.4.1設計目標312
11.4.2硬件電路設計312
11.4.3實例軟件設計315
11. 5實例總結318
第12章I2S數(shù)字音頻接口應用319
12.1I2S總線接口概述319
12.1.1I2S總線接口的基本配置321
12.1.2I2S接口的引腳描述321
12.2I2S寄存器描述322
12.2.1數(shù)字音頻輸出寄存器(I2SDAO)322
12.2.2數(shù)字音頻輸入寄存器(I2SDAI)323
12.2.3發(fā)送緩沖寄存器(I2STXFFO)324
12.2.4接收緩沖寄存器(I2SRXFIFO)324
12.2.5狀態(tài)反饋寄存器(I2SSTATE)324
12.2.6DMA配置寄存器1(I2SDMAI)324
12.2.7DMA配置寄存器2(I2SDMA2)325
12.2.8中斷請求控制寄存器(I2SIRQ)325
12.2.9發(fā)送時鐘速率寄存器(I2STXRATE)326
12.2.10接收時鐘速率寄存器(I2SRXRATE)326
12.2.11發(fā)送時鐘位速率寄存器(I2STXBITRATE)327
12.2.12接收時鐘位速率寄存器(I2SRXBITRATE)327
12.2.13發(fā)送模式控制寄存器(I2STXMODE)327
12.2.14接收模式控制寄存器(I2SRXM0DE)328
12.3I2S常用庫函數(shù)328
12.4I2S數(shù)字音頻接口播放器應用實例337
12.4.1設計目標337
12.4.2硬件電路設計337
12.4.3實例軟件設計343
12.5實例總結351
第13章SD卡接口應用352
13.1SD卡接口概述352
13.1.1SD卡接口的基本配置353
13.1.2SD卡接口的引腳描述353
13.2SD卡接口寄存器描述353
13.2.1電源控制寄存器(MCOPower)354
13.2.2時鐘控制寄存器(MCIClock)355
13.2.3參數(shù)寄存器(MCIArgument)355
13.2.4命令寄存器(MCICommand)356
13.2.5命令響應寄存器(MCIRespCommand)356
13.2.6響應寄存器0~3(MCIResponse0~3)357
13.2.7數(shù)據定時器寄存器357
13.2.8數(shù)據長度寄存器(MCIDataLength)357
13.2.9數(shù)據控制寄存器(MCIDataCtrl)358
13.2.10數(shù)據計數(shù)器寄存器(MCIDataCnt)358
13.2.11狀態(tài)寄存器(MCIStatus)359
13.2.12清零寄存器(MCIClear)360
13.2.13中斷屏蔽寄存器(MCIMask)360
13.2.14FIFO計數(shù)器寄存器(MCIFifoCnt)361
13.2.15數(shù)據FIFO寄存器(MCIFIFO)361
13.3SD卡接口的常用庫函數(shù)361
13.4基于SD卡接口的文件系統(tǒng)實例373
13.4.1設計目標373
13.4.2硬件電路設計373
13.4.3實例軟件設計374
13. 5實例總結400
第14章LCD控制器與觸摸應用401
14.1LCD控制器概述401
14.1.1LCD上電與掉電順序403
14.1.2LCD控制器的基本配置404
14.1.3LCD控制器的引腳描述404
14.2LCD控制器寄存器描述404
14.2.1LCD配置和計時控制寄存器(LCD_CFG)405
14.2.2水平時序控制寄存器(LCD_TIMH)405
14.2.3垂直時序控制寄存器(LCD_TIMV)406
14.2.4時鐘與信號極性控制寄存器(LCD_POL)407
14.2.5線端控制寄存器(LCD_LE)408
14.2.6上面板幀基址寄存器(LCD_UPBASE)409
14.2.7下面板幀基址寄存器(LCD_LPBASE)409
14.2.8LCD控制寄存器(LCD_CTRL)409
14.2.9中斷屏蔽寄存器(LCD_INTMSK)411
14.2.10原始中斷屏蔽寄存器(LCD_INTRAW)411
14.2.11中斷屏蔽狀態(tài)寄存器(LCD_INTSTAT)412
14.2.12中斷清零寄存器(LCD_INTCLR)412
14.2.13上面板當前地址寄存器(LCD_UPCURR)413
14.2.14下面板當前地址寄存器(LCD_LPCURR)413
14.2.15彩色調色板寄存器(LCD_PAL)413
14.2.16光標圖像寄存器(CRSR_IMG)414
14.2.17光標控制寄存器(CRSR_CTRL)414
14.2.18光標配置寄存器(CRSR_CFG)415
14.2.19光標調色板寄存器0(CRSR_PAL0)415
14.2.20光標調色板寄存器1(CRSR_PAL1)416
14.2.21光標XY位置寄存器(CRSR_XY)416
14.2.22光標剪裁位置寄存器416
14.2.23光標中斷屏蔽寄存器(CRSR_INTMSK)417
14.2.24光標中斷清零寄存器(CRSR_INTCLR)417
14.2.25光標原始中斷狀態(tài)寄存器(CRSR_INTRAW)417
14.2.26光標中斷屏蔽狀態(tài)寄存器(CRSR_INTSTAT)418
14.3LCD控制器的常用庫函數(shù)418
14.4LCD控制器應用實例422
14.4.1設計目標422
14.4.2硬件電路設計422
14.4.3文字顯示實例軟件設計427
14.4.4觸摸屏校準實例軟件設計435
14.5實例總結440
第15章以太網接口應用441
15.1以太網接口概述441
15.1.1以太網模塊的內部結構與特性441
15.1.2以太網數(shù)據包443
15.1.3以太網接口的基本配置444
15.1.4以太網接口的引腳描述445
15.2以太網接口寄存器描述446
15.2.1MAC寄存器組447
15.2.2控制寄存器組454
15.2.3接收過濾寄存器組461
15.2.4模塊控制寄存器組463
15.2.5描述符與狀態(tài)465
15.3以太網接口的常用庫函數(shù)471
15.4以太網接口應用實例479
15.4.1設計目標480
15.4.2硬件電路設計480
15.4.3簡易網頁瀏覽實例軟件設計492
15.4.4μIP實例軟件設計505
15.5實例總結523
進階篇
第16章嵌入式實時操作系統(tǒng)μC/OSII的移植與應用527
16.1嵌入式系統(tǒng)μC/OSII概述527
16.1.1μC/OSII系統(tǒng)特點527
16.1.2μC/OSII系統(tǒng)內核529
16.1.3任務管理538
16.1.4時間管理 540
16.1.5任務之間的通信與同步 540
16.1.6內存管理542
16.2如何在LPC1788微處理器上移植μC/OSII系統(tǒng)543
16.2.1移植μC/OSII系統(tǒng)必須滿足的條件543
16.2.2初識μC/OSII嵌入式系統(tǒng)544
16.2.3重提μC/OSII嵌入式系統(tǒng)移植要點559
16.3應用實例560
16.3.1設計目標560
16.3.2硬件電路設計560
16.3.3μC/OSII系統(tǒng)軟件設計560
16.4實例總結564
第17章LwIP移植與應用實例565
17.1以太網概述565
17.1.1以太網的網絡傳輸介質565
17.1.2以太網數(shù)據幀格式568
17.1.3嵌入式系統(tǒng)的以太網協(xié)議570
17.2LwIP協(xié)議棧概述572
17.2.1LwIP協(xié)議棧的整體架構和進程模型572
17.2.2LwIP協(xié)議棧的API接口573
17.2.3LwIP內存管理591
17.3LwIP協(xié)議?;讦藽/OSII系統(tǒng)的移植592
17.3.1LwIP協(xié)議棧的源文件結構593
17.3.2LwIP協(xié)議棧的移植593
17.4應用實例607
17.4.1設計目標607
17.4.2系統(tǒng)軟件設計607
17.5實例總結613
第18章嵌入式實時操作系統(tǒng)FreeRTOS應用614
18.1嵌入式系統(tǒng)FreeRTOS概述614
18.1.1FreeRTOS系統(tǒng)的特點614
18.1.2FreeRTOS系統(tǒng)的任務管理615
18.1.3FreeRTOS系統(tǒng)的隊列管理626
18.1.4FreeRTOS系統(tǒng)的信號量629
18.1.5FreeRTOS系統(tǒng)的資源管理633
18.1.6FreeRTOS系統(tǒng)的內存管理635
18.1.7聯(lián)合程序638
18.2如何在LPC1788微控制上器移植FreeRTOS系統(tǒng)644
18.2.1初識FreeRTOS嵌入式系統(tǒng)645
18.2.2FreeRTOS系統(tǒng)的移植646
18.2.3FreeRTOS系統(tǒng)的可配置參數(shù)項654
18.3FreeRTOS應用實例657
18.4實例總結660
第19章嵌入式圖形系統(tǒng)μC/GUI的移植與應用661
19.1嵌入式圖形系統(tǒng)μC/GUI661
19.1.1μC/GUI系統(tǒng)的軟件結構661
19.1.2文本顯示662
19.1.3數(shù)值顯示664
19.1.42D圖形庫666
19.1.5字體671
19.1.6顏色672
19.1.7存儲設備674
19.1.8視窗管理器674
19.1.9窗口對象676
19.1.10對話框687
19.1.11抗鋸齒688
19.1.12輸入設備690
19.1.13時間函數(shù)692
19.2μC/GUI系統(tǒng)的移植692
19.2.1初識μC/GUI系統(tǒng)692
19.2.2細說μC/GUI系統(tǒng)的移植701
19.2.3μC/GUI系統(tǒng)的觸摸屏驅動704
19.2.4μC/OSII系統(tǒng)環(huán)境下支持μC/GUI系統(tǒng)705
19.3設計目標708
19.4系統(tǒng)軟件設計708
19.5實例總結719
第20章嵌入式實時操作系統(tǒng)μC/OSIII的移植與應用720
20.1嵌入式系統(tǒng)μC/OSIII概述720
20.1.1μC/OSIII系統(tǒng)的特點720
20.1.2代碼的臨界段725
20.1.3任務管理726
20.1.4任務就緒表740
20.1.5任務調度742
20.1.6上下文切換748
20.1.7時間管理749
20.1.8資源管理750
20.1.9信號量754
20.1.10事件標志組765
20.1.11消息傳遞772
20.1.12內存管理782
20.2如何在LPC1788處理器上移植μC/OSIII系統(tǒng)784
20.2.1移植μC/OSIII系統(tǒng)必須滿足的條件784
20.2.2初識μC/OSIII嵌入式系統(tǒng)785
20.3設計目標808
20.4μC/OSIII系統(tǒng)軟件設計808
20.5實例總結814
參考文獻815