在介紹C8051Fxxx單片機工作原理的基礎上,對單片機外設ADC、DAC、比較器、定時器、PWM、方波輸出和定時器捕捉等均給出調試代碼;在總線方面,對CAN,SMBUS I2C,SPI和UART均給出雙機調試代碼和一些高層應用,以幫助讀者更好地理解單片機工作原理;還增加了LCD、紅外編碼解碼、步進電機、直流電機、舵機、超聲測距、I2C ROM及串行時鐘等方面的應用,以提高實用性。
本書實例較多,而且采用C語言編程,程序代碼可讀性和移植性強,大部分代碼稍加修改即可成為其他型號單片機的子程序;含光盤一張,內含各章節調試代碼,以方便讀者學習。
本書可作為使用C8051F系列單片機進行產品開發的工程技術人員的硬件和軟件設計參考書,部分內容對其他類型單片機的開發也具有一定的參考價值。
第1章 Keil C編程
1.1 Keil C快速入門
1.1.1 文件載入
1.1.2 端口硬件操作
1.1.3 中斷操作
1.1.4 存儲空間分配
1.1.5 指針
1.2 Keil C集成軟件設置
1.2.1 Medwin設置和C51芯片燒寫
1.2.2 Silabs集成軟件設置
1.2.3 在μVision51中調試Silabs單片機
1.2.4 其他深入學習資料
1.3 優化程序
1.4 Keil C庫函數
1.4.1 CTYPE.H字符函數
1.4.2 STDIO.H標準I/O函數
1.4.3 STRING.H字符串函數
1.4.4 STDLIB.H標準庫函數
1.4.5 MATH.H數學函數
1.4.6 ABSACC.H地址訪問函數
1.4.7 INTRINS.H內部函數
1.4.8 STDARG.H變量參數表
1.4.9 SETJMP.H全程跳轉函數
第2章 CIP51處理器
2.1 CIP51處理器特性
2.2 存儲組織結構
2.3 中斷系統
2.4 電源管理模式
2.5 CIP51寄存器
2.5.1 SFRPGCN(SFR Page Control Register)
2.5.2 SFRPAGE(SFR Page Register)
2.5.3 SFRNEXT(SFR Next Register)
2.5.4 SFRLAST(SFR Last Register)
2.5.5 SP(Stack Pointer)
2.5.6 DPL(Data Pointer Low)
2.5.7 DPH(Data Pointer High)
2.5.8 PSW(Program Status Word)
2.5.9 ACC(Accumulator)
2.5.10 B(B Register)
2.5.11 IE(Interrupt Enable)
2.5.12 IP(Interrupt Priority)51
2.5.13 EIE1(Extended Interrupt Enable 1)
2.5.14 EIE2(Extended Interrupt Enable 2)
2.5.15 EIP1(Extended Interrupt Priority 1)
2.5.16 EIP2(Extended Interrupt Priority 2)
2.5.17 PCON(Power Control)
第3章 12位模/數轉換器ADC0
3.1 模擬通道選擇器和PGA可調增益
3.1.1 AMUX模擬輸入配置
3.1.2 HVDA高壓差動放大器
3.2 ADC0工作模式
3.2.1 ADC0啟動方式
3.2.2 ADC0跟蹤模式
3.2.3 ADC0信號建立時間
3.3 內部溫度傳感器
3.4 ADC0可編程監控模塊
3.5 ADC0電氣參數
3.6 參考電壓
3.6.1 參考電壓工作原理
3.6.2 參考電壓設置寄存器
3.7 ADC0寄存器
3.7.1 AMX0CF(AMUX0 Configuration Register)
3.7.2 AMX0SL(AMUX0 Channel Select Register)
3.7.3 HVA0CN(High Voltage Difference Amplifier Control Register)
3.7.4 ADC0CF(ADC0 Configuration Register)
3.7.5 ADC0CN(ADC0 Control Register)
3.7.6 ADC0H(ADC0 Data Word MSB Register)
3.7.7 ADC0L(ADC0 Data Word LSB Register)
3.7.8 ADC0GTH(ADC0 Greater Than Data High Byte Register)
3.7.9 ADC0GTL(ADC0 Greater Than Data Low Byte Register)
3.7.10 ADC0LTH(ADC0 Less Than Data High Byte Register)
3.7.11 ADC0LTL(ADC0 Less Than Data Low Byte Register)
3.8 ADC0調試例程
例程3-1 內部溫度傳感器
例程3-2 利用過采樣實現16位ADC轉換
例程3-3 ADC0單端輸入模式
例程3-4 ADC0差動輸入模式
例程3-5 高差壓輸入ADC0轉換
例程3-6 ADC0監控中斷
第4章 8位模/數轉換器ADC2
……
第5章 12位數/模轉換器DAC
第6章 比較器
第7章 RESET復位源
第8章 晶振
第9章 閃存
第10章 內存
第11章 輸入/輸出端口
第12章 CAN
第13章 SMBUS總線
第14章 SPI總線
第16章 UART1串行通信
第17章 定時器
第18章 PCA可編程計數器陣列
第19章 LCD輸入/輸出子系統
第20章 單片機應用
附錄A CIP51指令集
附錄B C8051F040封裝及引腳說明
附錄C 中斷矢量表
附錄D 隨書光盤內容、各種資料資源及軟件安裝說明
附錄E C8051F單片機開發工具
參考文獻