译者序
前言
第1章 嵌入系统中的C语言编程
1.1 简介
1.2 什么是”嵌入式系统”?
1.3 应选用何种处理器?
1.4 应该使用哪种编程语言?
1.5 应选用何种操作系统?
1.6 怎样开发嵌入式软件?
1.7 结论
第2章 8051系列微控制器简介
2.1 简介
2.2 芯片命名的含义是什么?
2.3 标准8051芯片的外围接口
2.4 复位的要求
2.5 时钟频率和性能
2.6 存储器的问题
2.7 I/O管脚
2.8 定时器
2.9 中断
2.10 串行接口
2.11 能耗
2.12 结论
第3章 你好: 嵌入式世界
3.1 介绍
3.2 安装Keil软件以及装载项目
3.3 配置仿真器
3.4 创建目标程序
3.5 运行仿真
3.6 解析程序
3.7 其他: 建造硬件
3.8 结论
第4章 读取开关值
4.1 介绍
4.2 读取端口管脚的基本技巧
4.3 举例: 字节读写
4.4 举例: 位读写(简单的版本)
4.5 举例: 位读写(通用版本)
4.6 需要上拉电阻
4.7 开关跳变的处理
4.8 举例: 读开关输入(基本代码)
49 举例: 数山羊
4.10 结论
第5章 为代码添加结构
5.1 介绍
5.2 面向对象的C语言编程
5.3 项目头文件
5.4 端口头文件
5.5 举例: 重新构造例程”Hello, Embedded World”
5.6 举例: 重新构造数山羊的例程
5.7 更多例子
5.8 结论
第6章 满足实时性的限制条件
6.1 介绍
6.2 利用定时器0和定时器1来创建”硬件延时”
6.3 举例: 产生50ms的精确延时
6.4 举例: 创建可移植的硬件延时
6.5 为何不用定时器
6.6 “定时溢出”机制的需要
6.7 创建循环定时溢出
6.8 举例: 测试循环溢出
6.9 举例: 可靠性较高的开关接口
6.10 创建硬件定时溢出
6.11 举例: 测试硬件定时溢出
6.12 结论
第7章 创建嵌入式操作系统
7.1 介绍
7.2 简单嵌入式OS的基础
7.3 介绍sEOS
7.4 使用定时器0或定时器1
7.5 此方法可移植吗
7.6 其他系统架构
7.7 使用eEOS时重要的设计思路
7.8 举例: 牛奶巴斯德杀菌
7.9 结论
第8章 多状态系统和函数序列
8.1 介绍
8.2 实现多状态(时间驱动式)系统
8.3 举例: 交通灯顺序排列
8.4 举例: 电动恐龙
8.5 实现多状态(输入/时间驱动式)系统
8.6 举例: 洗衣机的控制器
8.7 结论
第9章 使用串行接口
9.1 介绍
9.2 什么是RS-232?
9.3 RS-232仍然重要吗?
9.4 基本的RS-232协议
9.5 异步数据传输以及波特率
9.6 数据流控制
9.7 软件架构
9.8 使用片上UART进行RS-232通信
9.9 存储器的要求
9.10 举例: 在PC机上显示经过的时间
9.11 串行菜单架构
9.12 举例: 数据采集
9.13 举例: 遥控机器人
9.14 结论
第10章 案例分析: 入侵者警报系统
10.1 介绍
10.2 软件架构
10.3 本例中使用的主要软件组件
10.4 运行程序
10.5 软件
10.6 结论
第11章 学习总结
11.1 介绍
11.2 我们达到目标了吗?
11.3 更深入学习的建议
11.4 《Patterns for Time-Triggered Embedded Systems》
11.5 《Embedded Operating Systems》
11.6 结论