8.7 P89C51RD2单片机片内FLASH在应用中编程的C51驱动程序
8.8 80C552单片机内部A/D转换器的C51驱动程序
8.8.1 80C552单片机简介
8.8.2 80C552内部ADC的应用
8.8.3 使用80C552内部ADC的C51驱动程序
9 8051单片机片外扩展的C51应用编程
9.1 LED数码管显示接口应用编程
9.1.1 软件译码和动态扫描的LED数码管显示接口应用编程
9.1.2 8位共阴极LED数码管驱动器MAX7219应用编程
9.2 非编码矩阵键盘接口应用编程
9.2.1 采用8155实现的矩阵键盘及数码管显示接口应用编程
9.2.2 采用8279实现的矩阵键盘及数码管显示接口应用编程
9.3 LCD液晶模块显示接口应用编程
9.3.1 点阵字符型LCD显示接口应用编程
9.3.2 12864点阵图形LCD显示接口应用编程
9.3.3 内置T6963C控制器的点阵图形LCD显示接口应用编程
9.4 D/A与A/D转换接口应用编程
9.4.1 DAC0832转换接口应用编程
9.4.2 串行接口DAC芯片MAX517应用编程
9.4.3 ADC0809转换接口应用编程
9.4.4 ICL7135转换接口应用编程
9.4.5 串行接口ADC芯片TLC549应用编程
9.5 单片机I2C总线扩展应用编程
9.5.1 I2C总线简介
9.5.2 I2C总线通用驱动程序
9.5.3 I2C接口器件24C04的读/写程序
9.6 8051单片机存储器扩展与测试应用编程
9.6.1 测试8051应用系统总线与扩展存储器的C51驱动程序
9.6.2 8051扩展FLASH存储器在系统编程的C51驱动程序
10 Keil C51综合应用编程实例
10.1 有关C51编程的若干实际应用技巧
10.2 C51与汇编语言混合编程与生成应用库文件
10.2.1 C51与汇编语言混合编程
10.2.2 在μVision4中生成应用库文件
10.3 在μVision4中应用硬件目标板
10.3.1 带MON51监控程序的硬件目标板
10.3.2 带FLASH MON51监控程序的硬件目标板
10.4 红外遥控系统设计
10.4.1 功能要求
10.4.2 硬件电路设计
10.4.3 软件程序设计
10.5 简易电子琴设计
10.5.1 功能要求
10.5.2 硬件电路设计
10.5.3 软件程序设计
10.6 带农历的电子万年历设计
10.6.1 功能要求
10.6.2 硬件电路设计
10.6.3 软件程序设计
10.7 电子密码锁设计
10.7.1 功能要求
10.7.2 硬件电路设计
10.7.3 软件程序设计
10.8 DS18B20多点温度监测系统设计
10.8.1 功能要求
10.8.2 硬件电路设计
10.8.3 软件程序设计
10.9 STH11数字温-湿度测量系统设计
10.9.1 功能要求
10.9.2 硬件电路设计
10.9.3 软件程序设计
10.10 单片机SD卡读/写接口设计
10.10.1 功能要求
10.10.2 硬件电路设计
10.10.3 软件程序设计
3 μVision4集成开发环境
3.1 μVision4的下拉菜单
3.1.1 File菜单
3.1.2 Edit菜单
3.1.3 View菜单
3.1.4 Project菜单
3.1.5 Flash菜单
3.1.6 Tools菜单
3.1.7 SVCS菜单
3.1.8 Window菜单
3.1.9 Help菜单
3.2 μVision4中的调试器
3.2.1 Debug状态下窗口分配与View菜单
3.2.2 通过Debug菜单进行程序代码调试
3.2.3 通过Peripherals菜单观察仿真结果
3.3 μVision4的调试命令
3.3.1 显示和更新存储器内容命令
3.3.2 程序执行控制命令
3.3.3 断点管理命令
3.3.4 其他通用命令
3.4 μVision4的表达式
3.4.1 表达式的组成
3.4.2 μVision4表达式与C语言表达式之间的差别
3.4.3 μVision4表达式应用举例
3.5 μVision4的函数
3.5.1 内部函数
3.5.2 用户函数
3.5.3 信号函数
3.5.4 μVision4函数与C51函数的差别
4 C51编译器
4.1 C51编译器简介
4.2 C51编译器控制命令详解
4.2.1 源控制命令
4.2.2 列表控制命令
4.2.3 目标控制命令
4.3 Keil C51编译器对ANSI C的扩展
4.3.1 存储器类型与编译模式
4.3.2 关于bit,sbit,sfr,sfr16数据类型
4.3.3 一般指针与基于存储器的指针及其转换
4.3.4 C51编译器对ANSI C函数定义的扩展
4.4 C51编译器的数据调用协议
4.4.1 数据在内存中的存储格式
4.4.2 目标代码的段管理
4.5 C51编译器的特殊支持
4.5.1 Analog Device公司的Aduc8xxB2系列
4.5.2 Atmel 89x8252及衍生产品
4.5.3 Dallas 80C320/420/520/530
4.5.4 Dallas 80C390/400/5240及衍生产品
4.5.5 Infineon 80517/509/537及衍生产品
4.5.6 NXP 8xC750/751/752
4.5.7 NXP 8xC51Mx
4.5.8 NXP和Atmel WM系列的双数据指针
4.6 用户配置文件
4.6.1 启动代码文件
4.6.2 变量初始化文件
4.6.3 基本I/O函数文件
4.6.4 分组配置文件
4.7 与汇编语言程序的接口
4.8 与PL/M51程序的接口
4.9 绝对地址访问
4.9.1 采用扩展关键字“_at_”或指针定义变量的绝对地址
4.9.2 采用预定义宏指定变量的绝对地址
4.9.3 采用链接定位控制命令指定变量的绝对地址
4.10 C51的库函数
4.10.1 字符函数CTYPE.H
4.10.2 标准I/O函数STDIO.H
4.10.3 字符串函数STRING.H
4.10.4 标准函数STDLIB.H
4.10.6 绝对地址访问ABSACC.H
4.10.7 内部函数INTRINS.H
4.10.8 变量参数表STDARG.H
4.10.9 全程跳转SETJMP.H
4.10.10 计算结构体成员的偏移量STDDEF.H
4.10.11 创建测试条件ASSERT.H
6 BL51/Lx51链接定位器与实用工具
6.1 BL51/Lx51的链接定位方式
6.1.1 链接定位中的数据段处理
6.1.2 链接定位器的引用
6.1.3 应用程序在存储器空间中的定位
6.1.4 数据覆盖
6.1.5 代码分组
6.1.6 分组配置
6.2 链接定位控制命令详解
6.2.1 列表文件控制命令
6.2.2 输出文件控制命令
6.2.3 段与存储器定位控制命令
6.2.4 高级语言控制命令
6.3 符号转换工具
6.3.1 Intel HEX文件格式与符号转换工具
6.3.2 引用符号转换工具OH51/OHX51
6.3.3 引用分组目标文件转换工具OC51
6.4 库管理器LIBx51