第1篇 入门篇
第1章 走近单片机
1.1 我们身边的单片机
1.2 认识单片机
1.3 了解51单片机
1.3.1 51单片机的由来
1.3.2 51单片机的特点
1.3.3 51单片机的代表AT89C51
第2章 练练我们的刀和剑:Proteus、Keil C51
2.1 Proteus介绍
2.1.1 安装Proteus
2.1.2 运行Proteus
2.1.3 学用Proteus
2.2 Keil C51介绍
2.2.1 安装Keil C51
2.2.2 运行Keil C51
2.2.3 学用Keil C51
2.3 刀剑合并
2.3.1 安装VDM51.DLL
2.3.2 设置Keil C51和Proteus
2.3.3 联合调试
第3章 让你的单片机眨眨眼睛
3.1 我们的第一个单片机程序
3.1.1 先画出我们要用的电路
3.1.2 用程序点亮我们的灯
3.1.3 分析代码
3.2 不仅仅是让它亮起来
3.2.1 怎么让发亮的灯闪烁呢
3.2.2 代码分析
3.2.3 调试分析
3.2.4 优化程序
3.3 做些程序的改动
3.3.1 改动延时时间
3.3.2 做个众人皆知的跑马灯
3.4 能不能连点花样呢
3.4.1 想想你能画什么
3.4.2 用代码显示数字
第4章 让数字显示出来
4.1 引入数码管的概念
4.1.1 数码管介绍
4.1.2 写段程序让它亮起来
4.1.3 数码管的驱动方式
4.2 多显示几个数字看看
4.2.1 电路实现
4.2.2 程序实现
4.2.3 你的眼睛欺骗了你
4.3 仿真万年历
4.3.1 电路实现
4.3.2 程序实现
4.3.3 优化程序
第5章 用按键告诉单片机你想做什么
5.1 能不能让闪烁的灯停下来
5.1.1 让跑马灯停下来
5.1.2 认识我们用的按键
5.2 如何实现软件消抖
5.3 如何实现按键的复用
第6章 如何实时控制单片机
6.1 中断的引入
6.1.1 中断允许寄存器IE
6.1.2 定时/计数器控制寄存器TCON
6.1.3 中断操作流程
6.2 原来按键还可以这样用
6.2.1 写个程序实现按键的中断
6.2.2 不同的触发方式
6.3 中断的优先级
6.3.1 中断优先级
6.3.2 了解更多中断的概念
6.3.3 比较4个I/O口
第7章 让定时更精确
7.1 定时/计数器概念
7.1.1 T0、T1介绍
7.1.2 复习寄存器IE、TCON、IP
7.1.3 介绍几个专用寄存器
7.2 工作方式0的应用
7.3 工作方式1的应用
7.4 工作方式2的应用
7.5 工作方式3的应用
7.6 计数器介绍
第8章 单片机与外界的 联系--串口通信
8.1 串口通信的概念
8.2 先试试如何发送
8.2.1 与串口通信有关的寄存器
8.2.2 先写个示例程序
8.2.3 补充一点51单片机的串口知识
8.3 收发都能实现
8.3.1 将Proteus中的串口连接到硬件上
8.3.2 实现串口收发通信
8.3.3 用中断的方式实现串口收发
第9章 让单片机“响”起来
9.1 单片机还会响呢
9.1.1 了解一下蜂鸣器
9.1.2 写个程序让它响起来
9.2 用定时器模拟门铃
9.3 用蜂鸣器演奏曲子
9.4 重新认识AT89C51
9.4.1 AT89C51的总体认识
9.4.2 AT89C51的引脚
9.4.3 有关AT89C51的寄存器
第2篇 提高篇
第10章 再说数码管
10.1 使用扩展芯片驱动数码管
10.1.1 认识扩展芯片74LS138
10.1.2 74LS138的应用
10.1.3 应用74HC154
10.1.4 有关译码器
10.2 显示译码器
10.2.1 显示译码器74LS48
10.2.2 显示译码器的应用
第11章 按键多了怎么办
11.1 看一个密码键盘
11.1.1 矩阵键盘的实现
11.1.2 矩阵按键的扫描
11.2 是否可以扩展呢
11.2.1 了解编码器
11.2.2 应用编码器74LS148
第12章 深入串口通信
12.1 通信协议的引入
12.1.1 协议制定
12.1.2 样例实现
12.2 让单片机和PC真正通信
12.2.1 新建一个VC工程
12.2.2 添加VC控件
12.2.3 添加控件到界面
12.2.4 添加变量、完成代码编写
12.2.5 运行、调试
第13章 I2C总线及其应用
13.1 I2C总线介绍
13.1.1 初步了解I2C总线
13.1.2 I2C总线上的信号
13.2 认识E2PROM 24C02
13.2.1 认识AT24C02
13.2.2 AT24C02的操作地址
13.2.3 AT24C02的读/写操作
13.3 写一个I2C通信的例子
第14章 SPI总线及其应用
14.1 SPI总线介绍
14.2 一款SPI接口的E2PROM
14.2.1 认识25AA040
14.2.2 25AA040的工作原理
14.3 应用25AA040
第15章 A/D转换、D/A转换
15.1 了解A/D转换器的相关知识
15.1.1 A/D转换器的分类
15.1.2 A/D转换器的主要技术指标
15.2 看两个A/D转换器的例子
15.2.1 了解ADC0809
15.2.2 应用ADC0808
15.2.3 了解ADC0832
15.2.4 应用ADC0832
15.3 再看看D/A转换器
15.3.1 了解D/A转换器
15.3.2 D/A转换器的主要技术指标
15.3.3 了解DAC0832
15.3.4 应用DAC0832
第16章 LCD显示
16.1 先认识LED点阵屏
16.1.1 有关LED点阵屏
16.1.2 LED点阵的应用
16.2 使用字符LCD
16.2.1 了解LCD
16.2.2 认识LCD1602
16.2.3 LCD1602的指令说明
16.2.4 使用LCD1602
16.3 使用LCD12864
16.3.1 认识HDG12864L-6
16.3.2 HDG12864L-6指令说明
16.3.3 LCD12864的并行应用
16.3.4 LCD12864的串行应用
第3篇 应用篇
第17章 简易万年历
17.1 电路设计
17.2 认识时钟芯片DS1302
17.3 系统设计
第18章 温度自动控制系统
18.1 系统模型
18.2 分析电路
18.2.1 电路分解
18.2.2 认识DS18B20
18.2.3 了解液晶AMPIRE128×64
18.3 系统设计
18.3.1 嵌入式系统设计
18.3.2 PC端软件设计
附录A AT89C51特殊功能寄存器速查表
附录B Proteus 7.5元件库分类表
附录C 书籍、网站推荐
参考文献
结束语