在介绍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单片机开发工具
参考文献