第1章 Keil C編程
1.1 Keil C快速入門1
1.1.1 文件載入1
1.1.2 端口硬件操作5
1.1.3 中斷操作7
1.1.4 存儲空間分配11
1.1.5 指針13
1.2 Keil C集成軟件設(shè)置20
1.2.1 Medwin設(shè)置和C51芯片燒寫20
1.2.2 Silabs集成軟件設(shè)置22
1.2.3 在μVision51中調(diào)試Silabs單片機24
1.2.4 其他深入學(xué)習(xí)資料24
1.3 優(yōu)化程序24
1.4 Keil C庫函數(shù)25
1.4.1 CTYPE.H字符函數(shù)25
1.4.2 STDIO.H標準I/O函數(shù)27
1.4.3 STRING.H字符串函數(shù)31
1.4.4 STDLIB.H標準庫函數(shù)33
1.4.5 MATH.H數(shù)學(xué)函數(shù)34
1.4.6 ABSACC.H絕對地址訪問函數(shù)35
1.4.7 INTRINS.H內(nèi)部函數(shù)35
1.4.8 STDARG.H變量參數(shù)表36
1.4.9 SETJMP.H全程跳轉(zhuǎn)函數(shù)37
第2章 CIP51處理器
2.1 CIP51處理器特性38
2.2 存儲組織結(jié)構(gòu)41
2.3 中斷系統(tǒng)43
2.4 電源管理模式45
2.5 CIP51寄存器46
2.5.1 SFRPGCN(SFR Page Control Register)46
2.5.2 SFRPAGE(SFR Page Register)47
2.5.3 SFRNEXT(SFR Next Register)47
2.5.4 SFRLAST(SFR Last Register)47
2.5.5 SP(Stack Pointer)48
2.5.6 DPL(Data Pointer Low)48
2.5.7 DPH(Data Pointer High)48
2.5.8 PSW(Program Status Word)49
2.5.9 ACC(Accumulator)50
2.5.10 B(B Register)50
2.5.11 IE(Interrupt Enable)50
2.5.12 IP(Interrupt Priority)51
2.5.13 EIE1(Extended Interrupt Enable 1)52
2.5.14 EIE2(Extended Interrupt Enable 2)53
2.5.15 EIP1(Extended Interrupt Priority 1)54
2.5.16 EIP2(Extended Interrupt Priority 2)54
2.5.17 PCON(Power Control)55
第3章 12位模/數(shù)轉(zhuǎn)換器ADC0
3.1 模擬通道選擇器和PGA可調(diào)增益56
3.1.1 AMUX模擬輸入配置57
3.1.2 HVDA高壓差動放大器58
3.2 ADC0工作模式60
3.2.1 ADC0啟動方式60
3.2.2 ADC0跟蹤模式61
3.2.3 ADC0信號建立時間62
3.3 內(nèi)部溫度傳感器63
3.4 ADC0可編程監(jiān)控模塊63
3.5 ADC0電氣參數(shù)67
3.6 參考電壓68
3.6.1 參考電壓工作原理68
3.6.2 參考電壓設(shè)置寄存器70
3.7 ADC0寄存器71
3.7.1 AMX0CF(AMUX0 Configuration Register)71
3.7.2 AMX0SL(AMUX0 Channel Select Register)71
3.7.3 HVA0CN(High Voltage Difference Amplifier Control Register)72
3.7.4 ADC0CF(ADC0 Configuration Register)73
3.7.5 ADC0CN(ADC0 Control Register)74
3.7.6 ADC0H(ADC0 Data Word MSB Register)75
3.7.7 ADC0L(ADC0 Data Word LSB Register)75
3.7.8 ADC0GTH(ADC0 Greater Than Data High Byte Register)76
3.7.9 ADC0GTL(ADC0 Greater Than Data Low Byte Register)76
3.7.10 ADC0LTH(ADC0 Less Than Data High Byte Register)76
3.7.11 ADC0LTL(ADC0 Less Than Data Low Byte Register)77
3.8 ADC0調(diào)試例程77
例程 31內(nèi)部溫度傳感器77
例程 32利用過采樣實現(xiàn)16位ADC轉(zhuǎn)換80
例程 33ADC0單端輸入模式86
例程 34ADC0差動輸入模式90
例程 35高差壓輸入ADC0轉(zhuǎn)換94
例程 36ADC0監(jiān)控中斷101
第4章 8位模/數(shù)轉(zhuǎn)換器ADC2
4.1 ADC2操作模式106
4.1.1 ADC2啟動模式107
4.1.2 ADC2跟蹤模式107
4.1.3 ADC2信號建立時間107
4.2 ADC2可編程監(jiān)控模塊108
4.3 ADC2電氣參數(shù)109
4.4 ADC2寄存器111
4.4.1 AMX2CF(AMUX2 Configuration Register)111
4.4.2 AMX2SL(AMUX2 Channel Select Register)111
4.4.3 ADC2CF(ADC2 Configuration Register)112
4.4.4 ADC2CN(ADC2 Control Register)113
4.4.5 ADC2(ADC2 Data Word Register)114
4.4.6 ADC2GT(ADC2 Greater Than Data Register)115
4.4.7 ADC2LT(ADC2 Less Than Data Register)116
4.5 ADC2調(diào)試例程116
第5章 12位數(shù)/模轉(zhuǎn)換器DAC
5.1 DAC輸出調(diào)度121
5.2 DAC操作寄存器122
5.2.1 DAC0H(DAC0 High Byte Register)122
5.2.2 DAC0L(DAC0 Low Byte Register)123
5.2.3 DAC0CN(DAC0 Control Register)123
5.2.4 DAC1H(DAC1 High Byte Register)124
5.2.5 DAC1L(DAC1 Low Byte Register)124
5.2.6 DAC1CN(DAC1 Control Register)125
5.3 DAC電氣參數(shù)126
5.4 DAC調(diào)試例程127
第6章 比較器
6.1 比較器工作寄存器132
6.1.1 CPTnCN(Comparator 0, 1 and 2 Control Register)132
6.1.2 CPTnMD(Comparator Mode Selection Register)133
6.2 比較器電氣參數(shù)133
6.3 比較器調(diào)試例程134
第7章 RESET復(fù)位源
7.1 上電復(fù)位(Poweron Reset)140
7.2 失電復(fù)位(Powerfail Reset)141
7.3 外部復(fù)位(External Reset)141
7.4 時鐘失步監(jiān)測復(fù)位(Missing Clock Detector Reset) 141
7.5 比較器0復(fù)位(Comparator0 Reset)142
7.6 外部CNVSTR0復(fù)位(External CNVSTR0 Pin Reset)142
7.7 看門狗復(fù)位(Watchdog Timer Reset)142
7.8 看門狗與復(fù)位源寄存器143
7.8.1 WDTCN(Watchdog Timer Control Register)143
7.8.2 RSTSRC(Reset Source Register)144
7.9 復(fù)位電氣參數(shù)145
第8章 晶振
8.1 可編程內(nèi)部晶振147
8.2 內(nèi)部晶振電氣參數(shù)149
8.3 外部晶振驅(qū)動電路149
第9章 閃存
9.1 閃存編程153
9.2 閃存安全技術(shù)154
9.3 閃存操作寄存器154
9.3.1 FLSCL(Flash Memory Control)154
9.3.2 PSCTL(Program Store Read/Write Control)155
9.3.3 FLACL(Flash Access Limit)155
9.4 閃存調(diào)試例程156
第10章 內(nèi)存
10.1 內(nèi)存訪問方式159
10.2 XRAM接口選擇與配置160
10.3 XRAM數(shù)據(jù)地址復(fù)用模式與非復(fù)用模式161
10.3.1 數(shù)據(jù)地址復(fù)用模式161
10.3.2 數(shù)據(jù)地址非復(fù)用模式162
10.4 XRAM訪問控制時序162
10.4.1 數(shù)據(jù)地址非復(fù)用模式時序162
10.4.2 數(shù)據(jù)地址復(fù)用模式時序165
10.5 內(nèi)存控制寄存器168
10.5.1 EMI0CN(External Memory Interface Control)168
10.5.2 EMI0CF(External Memory Configuration)169
10.5.3 EMI0TC(External Memory Timing Control)170
10.6 外部內(nèi)存接口時序參數(shù)171
第11章 輸入/輸出端口
11.1 P0~P3交叉開關(guān)配置173
11.2 I/O端口配置176
11.2.1 I/O端口輸出模式配置178
11.2.2 I/O端口輸入模式配置179
11.3 I/O端口寄存器179
11.3.1 XBR0(Port I/O Crossbar Register 0)179
11.3.2 XBR1(Port I/O Crossbar Register 1)180
11.3.3 XBR2(Port I/O Crossbar Register 2)181
11.3.4 XBR3(Port I/O Crossbar Register 3)182
11.3.5 P0(Port0 Data Register)183
11.3.6 P0MDOUT(Port0 Output Mode Register)183
11.3.7 P1(Port1 Data Register)184
11.3.8 P1MDIN(Port1 Input Mode Register)184
11.3.9 P1MDOUT(Port1 Output Mode Register)185
11.3.10 P2(Port2 Data Register)185
11.3.11 P2MDIN(Port2 Input Mode Register)185
11.3.12 P2MDOUT(Port2 Output Mode Register)186
11.3.13 P3(Port3 Data Register)186
11.3.14 P3MDIN(Port3 Input Mode Register)187
11.3.15 P3MDOUT(Port3 Output Mode Register)187
11.3.16 P4(Port4 Data Register)187
11.3.17 P4MDOUT(Port4 Output Mode Register)188
11.3.18 P5(Port5 Data Register)188
11.3.19 P5MDOUT(Port5 Output Mode Register)189
11.3.20 P6(Port6 Data Register)189
11.3.21 P6MDOUT(Port6 Output Mode Register)189
11.3.22 P7(Port7 Data Register)190
11.3.23 P7MDOUT(Port7 Output Mode Register)190
第12章 CAN
12.1 CAN簡介191
12.2 CAN協(xié)議192
12.2.1 數(shù)據(jù)幀194
12.2.2 遠程幀197
12.2.3 錯誤幀197
12.2.4 過載幀198
12.2.5 幀間空間199
12.2.6 CAN總線其他相關(guān)定義和要求200
12.3 CAN控制器寄存器204
12.3.1 CAN Control Register (addresses 0x01 & 0x00)205
12.3.2 Status Register (addresses 0x03 & 0x02)206
12.3.3 Error Counter (addresses 0x05 & 0x04)207
12.3.4 Bit Timing Register (addresses 0x07 & 0x06)207
12.3.5 Test Register (addresses 0x0B & 0x0A)208
12.3.6 BRP Extension Register (addresses 0x0D & 0x0C)208
12.3.7 IFx Command Request Registers209
12.3.8 IFx Command Mask Registers209
12.3.9 IFx Mask Registers211
12.3.10 IFx Arbitration Registers212
12.3.11 IFx Message Control Registers212
12.3.12 IFx Data A and Data B Registers214
12.3.13 Interrupt Register (addresses 0x09 & 0x08)214
12.3.14 Transmission Request Registers215
12.3.15 New Data Registers215
12.3.16 Interrupt Pending Registers215
12.3.17 Message Valid 1 Register216
12.3.18 內(nèi)存數(shù)據(jù)幀報文結(jié)構(gòu)示意圖216
12.4 CAN測試模式216
12.4.1 靜音模式216
12.4.2 回路模式217
12.4.3 回路靜音模式217
12.4.4 基本模式218
12.5 CAN波特率設(shè)置218
12.6 CAN調(diào)試例程223
例程121CAN雙節(jié)點通信223
例程122CAN多消息通信231
例程123CAN交互收/發(fā)通信236
例程124CAN遠程幀控制244
12.7 CAN外圍電路252
第13章 SMBUS總線
13.1 I2C總線簡介255
13.2 SMBUS概述257
13.3 SMBUS器件連接257
13.4 SMBUS協(xié)議258
13.4.1 SMBUS時序258
13.4.2 SMBUS仲裁259
13.4.3 SMBUS傳輸模式260
13.5 SMBUS寄存器262
13.5.1 SMB0CN(SMBUS0 Control Register)263
13.5.2 SMB0CR(SMBUS0 Clock Rate Register)265
13.5.3 SMB0DAT(SMBUS0 Data Register)265
13.5.4 SMB0ADR(SMBUS0 Address Register)266
13.5.5 SMB0STA(SMBUS0 Status Register)266
13.6 SMBUS調(diào)試例程268
13.6.1 利用配置向?qū)瓿蒘MBUS初始化268
13.6.2 SMBUS主發(fā)從收調(diào)試過程280
13.6.3 SMBUS主收從發(fā)調(diào)試過程285
13.6.4 應(yīng)用SMBUS實現(xiàn)內(nèi)存互訪290
第14章 SPI總線
14.1 SPI信號描述301
14.1.1 MOSI控制線301
14.1.2 MISO控制線301
14.1.3 SCK時鐘線301
14.1.4 NSS片選線302
14.2 SPI0傳輸模式303
14.2.1 SPI0主機模式303
14.2.2 SPI0從機模式304
14.3 SPI0中斷源304
14.4 SPI0時鐘305
14.5 SPI寄存器306
14.5.1 SPI0CFG(SPI0 Configuration Register)307
14.5.2 SPI0CN(SPI0 Control Register)308
14.5.3 SPI0CKR(SPI0 Clock Rate Register)309
14.5.4 SPI0DAT(SPI0 Data Register)309
14.6 SPI調(diào)試例程310
第15章 UART0串行通信
15.1 UART0工作模式316
15.1.1 模式0316
15.1.2 模式1317
15.1.3 模式2318
15.1.4 模式3319
15.2 UART0多機通信319
15.2.1 屏蔽地址控制320
15.2.2 廣播地址控制320
15.3 UART0標準波特率設(shè)置321
15.4 UART0寄存器322
15.4.1 SCON0(UART0 Control Register)323
15.4.2 SSTA0(UART0 Status and Clock Selection Register)324
15.4.3 SBUF0(UART0 Data Buffer Register)325
15.4.4 SADDR0(UART0 Slave Address Register)325
15.4.5 SADEN0(UART0 Slave Address Enable Register)325
15.5 UART0調(diào)試例程326
例程151UART0模式1全雙工通信326
例程152UART0模式3多機通信332
第16章 UART1串行通信
16.1 UART1增強型波特率產(chǎn)生器340
16.2 UART1工作模式344
16.2.1 8位工作模式345
16.2.2 9位工作模式345
16.3 UART1多機通信346
16.4 UART1寄存器346
16.4.1 SCON1(Serial Port 1 Control Register)346
16.4.2 SBUF1(Serial UART1 Port Data Buffer Register)347
16.5 UART1調(diào)試例程348
例程161UART1 8位模式雙機通信348
例程162UART1多機通信353
第17章 定時器
17.1 T0和T1359
17.1.1 13位定時/計數(shù)模式(MODE0)359
17.1.2 16位定時/計數(shù)器(MODE 1)363
17.1.3 8位自動重載定時/計數(shù)器(MODE 2)363
17.1.4 8位雙定時/計數(shù)器(MODE3)364
17.2 T0和T1寄存器365
17.2.1 TCON(Timer Control Register)365
17.2.2 TMOD(Timer Mode Register)366
17.2.3 CKCON(Clock Control Register)367
17.2.4 TL0(Timer 0 Low Byte)368
17.2.5 TL1(Timer 1 Low Byte)368
17.2.6 TH0(Timer 0 High Byte)368
17.2.7 TH1(Timer 1 High Byte)368
17.3 T2,T3和T4定時/計數(shù)器369
17.3.1 T2,T3和T4雙向計數(shù)369
17.3.2 捕捉模式369
17.3.3 自動重載模式370
17.3.4 方波輸出模式371
17.4 T2,T3和T4寄存器371
17.4.1 TMRnCN(Timer n Control Registers)371
17.4.2 TMRnCF(Timer n Configuration Registers)372
17.4.3 RCAPnL(Timer n Capture Register Low Byte)373
17.4.4 RCAPnH(Timer n Capture Register High Byte)374
17.4.5 TMRnL(Timer n Low Byte)374
17.4.6 TMRnH(Timer n High Byte)374
17.5 定時器調(diào)試例程375
例程171T3可調(diào)頻率方波輸出375
例程172T法測頻377
例程173T4捕捉測脈寬387
第18章 PCA可編程計數(shù)器陣列
18.1 PCA定時/計數(shù)器393
18.2 捕捉/比較模塊394
18.2.1 邊沿捕捉模式395
18.2.2 定時模式396
18.2.3 高速輸出模式397
18.2.4 頻率輸出模式397
18.2.5 8位PWM輸出模式398
18.2.6 16位PWM輸出模式398
18.3 PCA0寄存器399
18.3.1 PCA0CN(PCA Control Register)399
18.3.2 PCA0MD(PCA0 Mode Register)400
18.3.3 PCA0CPMn(PCA0 Capture/Compare Mode Registers)401
18.3.4 PCA0L(PCA0 Counter/Timer Low Byte)402
18.3.5 PCA0H(PCA0 Counter/Timer High Byte)402
18.3.6 PCA0CPLn(PCA0 Capture Module Low Byte)402
18.3.7 PCA0CPHn(PCA0 Capture Module High Byte)403
18.4 PCA調(diào)試例程403
例程181PCA捕捉測脈寬403
例程182 PCA高速輸出模式408
例程183PCA可調(diào)頻率方波輸出413
例程184PCA 8位PWM脈寬調(diào)制416
例程185可變周期PWM脈寬調(diào)制418
例程186用PCA檢測UART0波特率421
第19章 LCD輸入/輸出子系統(tǒng)
19.1 LCD控制器LC1621428
19.2 LC1621操作原理432
19.3 LC1621指令描述436
19.4 LC1621單片機接口操作439
19.5 LCD調(diào)試例程443
例程191LCD虛擬時序?qū)崿F(xiàn)和顯示操作444
例程192用庫函數(shù)printf()實現(xiàn)LCD顯示操作449
例程193輸入/輸出子系統(tǒng)與LCD菜單操作實現(xiàn)454
第20章 單片機應(yīng)用
20.1 串行可擦寫ROM AT24C256操作469
20.2 HT1380時鐘芯片控制477
20.3 直流電機驅(qū)動控制488
20.4 步進電機控制493
20.5 舵機控制499
20.6 超聲波傳感器測距505
20.7 紅外編碼/解碼510
20.7.1 紅外遙控原理510
20.7.2 紅外編碼/解碼電路512
20.7.3 紅外編碼/解碼調(diào)試代碼513
20.7.4 用MCS51實現(xiàn)紅外遙控521 附錄ACIP51指令集
附錄BC8051F040封裝及引腳說明
附錄C中斷矢量表
附錄D隨書光盤內(nèi)容、各種資料資源及軟件安裝說明
附錄EC8051F單片機開發(fā)工具
參考文獻