标题：8位单片机开发：技术、技巧与规范
图书信息
出版社: 机械工业出版社; 第1版 (2008年9月1日)
平装: 265页
正文语种: 简体中文
开本: 16
ISBN: 9787111247722
条形码: 9787111247722
尺寸: 25.4 x 18.2 x 1.4 cm
重量: 422 g
内容简介
《8位单片机开发:技术、技巧与规范》介绍了完整的单片机开发流程与系统设计方法；利用Multisim、Proteus等工具软件进行开发前的仿真评估；使用Protel绘制原理图及PcB图，并进行信号完整性分析；使用Keil单片机开发工具进行工程开发与组织；单片机开发中重要的C语言特性；Cx5l高级语言特性以及如何使用RTX51。高质量的单片机开发首先需要开发者的经验与技巧，但也需要正确的开发规范与流程保证。《8位单片机开发:技术、技巧与规范》也介绍了如何使用工具软件(如使用CVS、PC—L,int等)来保证代码质量，同时在附录中给出了遵循，MISRAC：2004的Cx51编程规范。
目录
前言
第1章 单片机开发基础
1.1 单片机基础
1.1.1 单片机的发展过程
1.1.2 单片机的发展趋势
1.1.3 单片机主流产品系列
1.2 8051内核结构
1.3 8051存储器
1.3.1 8051存储器分类
1.3.2 典型8051单片机存储器
1.3.3 扩展80C51单片机存储器
1.3.4.Philips80C5lMx单片机存储器
1.3.5 数据存储器
1.3.6 程序存储器
1.4 单片机系统设计方法
1.4.1 单片机系统的生命周期
1.4.2 单片机系统开发过程
1.5 单片机系统硬件设计
1.5.1 硬件设计内容
1.5.2 硬件设计要点
1.6 本章回顾
第2章 电路仿真
2.1 Multisim简介
2.2 Multisim功能简介
2.3 Mulltisim电路仿真实例
2.3.1 绘制仿真电路图
2.3.2 仿真电路
2.3.3 分析电路
2.3.4 生成报告
2.4 Protel99电路仿真
2.5 本章回顾
第3章 单片机系统仿真
3.1 Proteus简介
3.2 ProteusISIS功能简介
3.3 ProteusISIS单片机仿真实例
3.3.1 绘制仿真原理图
3.3.2 程序设计
3.3.3 程序调试
3.4 其他仿真方式
3.4 1Muhisim10单片机仿真
3.4.2 KeilixVision3单片机仿真
3.5 本章回顾
第4章 原理图与PCB设计
4.1 Protel99简介
4.2 原理图设计
4.2.1 原理图设计步骤
4.2.2 原理图设计规则
4.2.3 Protel99设计环境
4.2.4 Protel99原理图设计
4.3 PCB设计
4.3.1 PCB设计步骤
4.3.2.Protel99PCB设计
4.4 PCB信号完整性分析
4.4.1 信号完整性简介
4.4.2 Protel99信号完整性分析工具
4.4.3 Protel99信号完整性分析步骤
4.5 本章回顾
第5章 Keil开发工具
5.1 Keil开发工具简介
5.2 KeilixVision3IDE
5.2.1 使用Keil~~Vision3IDE的开发步骤
5.2.2 利用KeiltxVision3IDE进行工程组织
5.2.3 KeiltxVision3IDE其他功能
5.2.4 KeiltrVision3.IDE使用技巧
5.2.5 Keil“Vision3IDE支持的文件类型
5.3 CxSl优化编译器
5.3.1 使用e语言开发的优势
5.3.2 Cx51控制命令
5.4 Ax51宏汇编器
5.5 BL51/Lx51链接/重定位器
5.5.1 链接/重定位器的作用
5.5.2 代码分组
5.5.3 数据覆盖
5.6 LIBx51库管理器
5.7 目标HEX转换器
5.7.1 OH5I/OHx5l目标HEX转换器
5.7.2 0C51分组目标文件转换器
5.8 uVision3调试器
5.9 Monitor-51
5.10 RTX-51实时操作系统
5.11 本章回顾
第6章 CxSl语言扩展及预处理
6.1 存储区。
6.1.1 ROM-
6.1.2 片上RAM
6.1.3 片外RAM
6.1.4 Far存储区
6.1.5 SFR存储区
6.2 存储模式
6.2.1 Small
6.2.2 CompactI
6.2.3 Large
6.3 存储类型
6.3.1 明确指定存储类型
6.3.2 使用默认存储类型
6.4 Cx51扩展的关键字
6.5 类型限定词
6.5.1 const
6.5.2 volatile
6.6 数据类型
6.7 指针
6.7.1 通用指针
6.7.2 指定存储区的指针
6.8 函数声明
6.8.1 参数与堆栈
6.8.2 参数与寄存器
6.8.3 返回值
6.8.4 存储模式
6.8.5 寄存器组
6.8.6 访问寄存器组
6.8.7 qp断函数
6.8.8 可重人函数
6.8.9 alien（PIJM-51）函数
6.8.10 实时任务函数
6.9 预处理器
6.9.1 预处理命令
6.9.2 宏定义
6.9.3 文件包含
6.9.4 条件编译
6.10 本章回顾
第7章 重要的C语言特性
7.1 跳转辅助手段
7.1.1 continue
7.1.2 break
7.1.3 goto
7.2 关jptypedef
7.2.1 区别于#define
7.2.2 使用typedef
7.3 指针
7.3.1 基本概念
7.3.2 指针运算
7.3.3 指针与数组
7.3.4 指针与结构体
7.3.5 指针与函数
7.4 变量的作用域
7.5 变量的生存期
7.6 关于static
7.7 理解复杂的C语言声明
7.8 位操作
7.8.1 位运算符
7.8.2 位操作的作用
7.8.3 位段
7.8.4 位段与位运算符的比较
7.9 本章回顾
第8章 Cx5l高级编程
8.1 文件定制
8.1.1 启动代码
8.1.2 变量初始化文件
8.1.3 低级流I/O处理文件
8.1.4 存储器分配文件
8.2 Cx51优化器
8.2.1 指定优化等级
8.2.2 使用绝对寄存器寻址
8.2.3 利用寄存器传递函数参数
8.2.4 代码优化等级
8.2.5 链接器代码封装
8.3 编写适宜的代码
8.3.1 选择合适的存储模式
8.3.2 显式声明存储类型
8.3.3 使用最小长度类型
8.3.4 使用无型号数据类型
8.3.5 尽量使用局部变量
8.3.6 其他优化方式
8.4 与汇编程序的接口
8.5 与PL/M-51的接口
8.6 数据存储格式
8.6.1 处理器大小端
8.6.2 bit、char、int、long存储格式
8.6.3 浮点数存储格式
8.6.4 指针存储格式
8.7 绝对地址访问
8.7.1 使用可访问绝对地址的宏
8.7.2 使用_at_关键字
8.7.3 使用链接控制命令
8.8 8051堆栈
8.9 本章回顾
第9章 RTX51实时操作系统
9.1 RTX51基础
9.1.1 RTOS简介
9.1.2 前后台系统
9.1.3 多任务系统
9.1.4 RTX51多任务系统
9.2 RTX51基本概念
9.2.1 RTX51任务管理
9.2.2 RTX51i扣断管理
9.2.3 RTX51任务间通信
9.2.4 信号
9.2.5 邮箱
9.2.6 信号量
9.2.7 动态存储器管理争2.8 时间管理
9.3.RqN51技术参数
9.4 RTX51编程参考
9.4.1 函数总览
9.4.2 系统初始化
9.4.3 任务管理
9.4.4 扣断管理
9.4.5 等待函数
9.4.6 信号函数
9.4.7 消息函数
9.4.8 信号量函数
9.4.9 存储器管理
9.4.10 系统时钟管理
9.5 使用RTX51Tiny
9.5.1 要求与限定
9.5.2 配置RTX51tiny
9.5.3 RTX51Tiny配置原则
9.5.4 RTX51Tiny例程
9.6 使用RTX51Full
9.6.1 配置RTX51Full
9.6.2 RTX51FuU例程
9.7 本章回顾
第10章 编写高质量的Cx51代码
10.1 一定需要高质量的Cx51代码吗
10.2 有ANSIC就足够了吗
10.2.1 K&RC与ANSIC
10.2.2 K&RC与ANSIC的区别
10.2.3 不仅仅需要ANSIC
10.3 不得不提的MISRA
10.3.1 关于MISRAC
10.3.2 MISRAC规范的主要内容
10.3.3 对MISRAc的思考
10.4 利用PC-Lint进行代码检查
10.4.1 PC-Lint简介
10.4.2 安装与设置PC-Lint
10.4.3 集成PC-Lint到特定的工具
10.4.4 对PC-Lint的思考
10.5 代码质量的保证
10.5.1 代码的正确性
10.5.2 代码的可靠性
10.5.3 代码的可维护性
10.5.4 代码的高效性
10.5.5 代码的可测试性
10.5.6 代码的可移植性
10.5.7 代码的可扩展性
10.6 软件版本控制系统
10.6.1 软件版本控制
10.6.2 CVS简介
10.6.3 CVS与TortoiseCVS的获取及安装
10.6.4 CVS操作的基本概念
10.6.5 配置CVS服务器端
10.6.6 测试CVS服务器端
10.6.7 TortoiseCVS客户端操作
10.6.8 使用KeiluVision的CVS配置接口
10.7 本章回顾
附录
附录A Cx51编程规范
A.1 导言
A.1.1 编写目的
A.1.2 规范的主要内容
A.1.3 缩写和术语
A.2 命名规则
A.3 文件组织
A.3.1 头文件的结构
A.3.2 源文件的结构
A.3.3 目录结构
A.3.4 其他
A.4 程序版式
A.4.1 空行
A.4.2 代码行
A.4.3 代码行内的空格
A.4.4 对齐
A.4.5 长行拆分
A.4.6 修饰符的位置
A.4.7 注释
A.5 编程规则和建议
A.5.1 表达式
A.5.2 声明和定义
A.5.3 整数数据类型及操作
A.5.4 字符操作
A.5.5 浮点型
A.5.6 语句
A.5.7 类型转换
A.5.8 常量
A.5.9 指针
A.5.10 数组
A.5.11 函数与宏
A.5.12 控制语句
A.5.13 内存分配
A.5.14 错误处理
A.5.15 断言
A.5.16 标准库
A.5.17 通用规则和建议
附录B Cx51运行库参考
B.1 宏
B.2 本征库函数
B.3 缓冲区处理库函数
B.4 字符类库函数
B.5 数据转换类库函数
B.6 数学计算类库函数
B.7 存储器分配类库函数
B.8 I/O流类库函数
B.9 字符串库函数
B.10 变长参数库函数
B.11 其他库函数
参考文献