没有公告
本书以Keil公司最新版本的C51编译器为核心,本书阐述了在Windows环境下采用单片机高级语言C51进行应用系统程序设计的基本原理和方法,详细介绍了Keil C51的Windows集成开发环境Vision51和软件仿真器dScope51的强大功能和具体使用方法。在Windows集成开发环境Vision51中,可以完成从源程序编写、编译、连接定位到目标文件的仿真调试等的全部工作。dScope51是一种基于Windows的多窗口软件仿真器,它可以在完全没有8051单片机硬件的情况下模拟调试各种应用程序,即使对单片机内部特殊集成功能的编程,也可以找到对应的模拟窗口。本书对最新版本C51编译器新增加的控制命令作了全面介绍;给出了最新C51运行库函数及其应用范例。对Keil C51的各种应用工具,如BL51连接定位器、A51宏汇编器、LIB51库管理程序以及OH51符号转换程序等进行了详细介绍;还介绍了单片机实时多任务操作系统RTX51及其子集RTX51 TINY的具体功能与应用方法。 本书强调先进性和实用性,全书各章列举了大量程序实例,并附赠一张配套光盘。因此本书既适合广大从事单片机应用系统开发研制的工程技术人员的阅读,也可以作为高等工科院校相应专业大学生或研究生的教学用书。
第1章 8051单片机与C51语言的基础1.1 8051单片机的基本结构与存储器组织1.2 C51语言的特点1.2.1 概述1.2.2 C51的基本程序结构1.2.3 Windows环境下的编程和调试第2章 C51程序设计基础2.1 标识符与关键字2.2 C51程序设计的基本语法2.2.1 数据类型2.2.2 常量2.2.3 变量及其存储模式2.2.4 用typedef重新定义数据类型2.2.5 运算符与表达式2.2.6 基本语句2.3 函数2.3.1 函数的定义2.3.2 函数的调用2.3.3 函数的递归调用与再入函数2.3.4 中断服务函数与寄存器组定义2.3.5 函数变量的存储方式2.3.6 函数的参数和局部变量的存储器模式2.4 数组与指针2.4.1 数组的定义与引用2.4.2 字符数组2.4.3 数组作为函数的参数2.4.4 指针的概念2.4.5 数组的指针2.4.6 指针的地址计算2.4.7 函数型指针2.4.8 返回指针型数据的函数2.4.9 指针数组与指针型指针2.4.10 抽象型指针2.5 结构与联合2.5.1 结构变量的定义与引用2.5.2 结构变量的初值2.5.3 结构数组2.5.4 结构型指针2.5.5 结构与函数2.5.6 联合变量的定义与引用2.6 预处理器2.6.1 宏定义2.6.2 文件包含2.6.3 条件编译2.6.4 其他预处理命令第3章 Windows集成开发环境3.1 文件管理编译环境uVision513.2 uVision51的下拉菜单3.2.1 File菜单3.2.2 Edit菜单3.2.3 Project菜单3.2.4 Run菜单3.2.5 Options菜单3.2.6 Tools菜单3.2.7 Window菜单3.2.8 Help菜单3.3 软件仿真器dScope513.3.1 File菜单3.3.2 View菜单3.3.3 Setup菜单3.3.4 Peripherals菜单3.3.5 Help菜单3.4 CPU动态驱动库文件3.4.1 8051.DLL/8052.DLL3.4.2 8051Fx.DLL3.4.3 80515.DLL/80515A.DLL3.4.4 80517.DLL/80517A.DLL3.4.5 80552.DLL3.4.6 80751.DLL3.4.7 80781.DLL3.4.8 80410.DLL3.4.9 80320.DLL3.5 dScope51的命令3.5.1 显示和更新存储器内容命令3.5.2 用户程序执行控制命令3.5.3 断点管理命令3.5.4 其他通用命令3.6 dScope51的表达式3.6.1 表达式的组成3.6.2 dScope51表达式与C语言表达式之间的差别3.6.3 dScope51表达式应用示例3.7 dScope51的函数3.7.1 用户函数3.7.2 内部函数3.7.3 信号函数3.7.4 dScope51函数与C51函数的差别第4章 C51编译器4.1 C51编译器控制命令详解4.1.1 源控制命令4.1.2 列表控制命令4.1.3 目标控制命令4.2 C51编译器的数据调用协议4.2.1 数据在内存中的存储格式4.2.2 目标代码的段管理4.2.3 再入函数的栈结构4.2.4 与汇编语言程序的接口4.2.5 与PL/M51语言程序的接口4.2.6 配置文件4.2.7 C51编译器的限制4.3 C51的库函数4.3.1 字符函数CTYPE.H4.3.2 一般I/O函数STDIO.H4.3.3 字符串函数STRING.H4.3.4 标准函数STDLIB.H4.3.5 数学函数MATH.H4.3.6 绝对地址访问ABSACC.H4.3.7 内部函数INTRINS.H4.3.8 变量参数表STDARG.H4.3.9 全程跳转SETJMP.H4.3.10 访问SFR和SFR_bit地址的REGxxx.H4.4 C51编译器的特殊支持4.4.1 具有双数据指针的AMD/DALLAS单片机4.4.2 具有高速算术处理器的SIEMENS单片机4.4.3 具有2KB片内ROM的PHILIPS单片机第5章 宏汇编器A515.1 符号与表达式5.2 汇编伪指令5.2.1 符号定义指令5.2.2 保留和初始化存储器空间的指令5.2.3 控制程序连接的指令5.2.4 控制汇编状态的指令5.2.5 段选择指令5.3 宏处理5.3.1 宏定义5.3.2 宏调用5.3.3 应用实例5.4 汇编控制命令5.4.1 首要控制命令5.4.2 一般控制命令5.4.3 条件汇编命令第6章 目标文件的连接与转换6.1 连接定位器BL516.2 连接定位控制命令样解6.2.1 列表控制命令6.2.2 连接控制命令6.2.3 定位控制命令6.2.4 高级语言控制命令6.2.5 分组控制命令6.2.6 BL51的分组配置6.2.7 RTX51控制命令6.3 符号转换程序6.3.1 Intel HEX文件转换程序OH516.3.2 分组目标文件转换程序OC516.4 库管理器LIB51第7章 RTX51实时多任务操作系统7.1 RTX51一般介绍7.2 RTX51技术参数7.3 使用RTX51 TINY的要求和限定7.4 RTX51 TINY的任务管理7.5 RTX51 TINY的配置7.6 RTX51 TINY的系统函数7.7 RTX51 TINY的系统调试第8章 Window环境下C51应用编程技巧与实例8.1 Windows集成开发环境的基本应用8.1.1 工作环境与控制命令设置8.1.2 编写C51应用程序的基本原则8.2 C51应用中的一些常见问题与解决方法8.2.1 C51程序设计中容易出错的地方8.2.2 有关C51的若干实际应用技巧8.3 8051单片机串行接口扩展应用编程8.3.1 用8051串行口扩展的矩阵键盘8.3.2 利用8051串行口实现多机通信8.3.3 串行接口5位LED驱动器MC14489的应用8.4 软件模拟I2C总线的C51读写程序8.4.1 I2C总线简介8.4.2 I2C总线通用读写程序8.5 8051单片机并行接口扩展应用编程8.5.1 打印输出接口及其驱动程序8.5.2 D/A及A/D转换接口及其驱动程序8.5.3 用可编程芯片8155实现I/O接口扩展8.6 80C552单片机中A/D转换器的应用8.6.1 80C552单片机简介8.6.2 80C552内部ADC的应用8.6.3 使用80C552内部ADC时印刷电路板的设计要点8.6.4 使用80C552内部ADC的C51驱动程序8.7 87C752单片机在气流量测量中的应用8.7.1 87C752单片机简介8.7.2 气流量测量仪表的硬件设计8.7.3 气流量测量仪表的软件设计附录A Keil C51与ANSI C的差别附录B Keil C51不同版本的差别附录C 代码优化附录D 关于配套光盘及硬件评估板参考文献