标题：51单片机工程师是怎样炼成的
基本信息
  51单片机工程师是怎样炼成的作者：老杨(作者) 
出版社:电子工业出版社; 第1版 (2012年1月1日) 
丛书名: 角色系列 
其他:408页 
ISBN:9787121154676
内容简介
本书完整展现了一个51单片机工程师成长的经历。51单片机共有21个特殊功能寄存器，而需要重点掌握的只有6个（需要熟练掌握对其位的操作），因而学习单片机其实很简单：学会6个寄存器就学会了单片机程序设计。这样如果一天掌握一个寄存器，那么6天就能学会单片机。 
目录
第1篇 入 门 篇
第1章 走近单片机 2
1.1 我们身边的单片机 2
1.2 认识单片机 5
1.3 了解51单片机 8
1.3.1 51单片机的由来 8
1.3.2 51单片机的特点 9
1.3.3 51单片机的代表AT89C51 10
第2章 练练我们的刀和剑：Proteus、Keil C51 13
2.1 Proteus介绍 13
2.1.1 安装Proteus 13
2.1.2 运行Proteus 15
2.1.3 学用Proteus 17
2.2 Keil C51介绍 22
2.2.1 安装Keil C51 22
2.2.2 运行Keil C51 23
2.2.3 学用Keil C51 27
2.3 刀剑合并 31
2.3.1 安装VDM51.DLL 31
2.3.2 设置Keil C51和Proteus 33
2.3.3 联合调试 37
第3章 让你的单片机眨眨眼睛 42
3.1 我们的第一个单片机程序 42
3.1.1 先画出我们要用的电路 42
3.1.2 用程序点亮我们的灯 47
3.1.3 分析代码 52
3.2 不仅仅是让它亮起来 55
3.2.1 怎么让发亮的灯闪烁呢 55
3.2.2 代码分析 56
3.2.3 调试分析 57
3.2.4 优化程序 58
3.3 做些程序的改动 60
3.3.1 改动延时时间 60
3.3.2 做个众人皆知的跑马灯 60
3.4 能不能连点花样呢 64
3.4.1 想想你能画什么 64
3.4.2 用代码显示数字 65
第4章 让数字显示出来 66
4.1 引入数码管的概念 66
4.1.1 数码管介绍 66
4.1.2 写段程序让它亮起来 67
4.1.3 数码管的驱动方式 69
4.2 多显示几个数字看看 70
4.2.1 电路实现 70
4.2.2 程序实现 72
4.2.3 你的眼睛欺骗了你 73
4.3 仿真万年历 75
4.3.1 电路实现 75
4.3.2 程序实现 76
4.3.3 优化程序 77
第5章 用按键告诉单片机你想做什么 83
5.1 能不能让闪烁的灯停下来 83
5.1.1 让跑马灯停下来 83
5.1.2 认识我们用的按键 86
5.2 如何实现软件消抖 87
5.3 如何实现按键的复用 90
第6章 如何实时控制单片机 97
6.1 中断的引入 97
6.1.1 中断允许寄存器IE 97
6.1.2 定时/计数器控制寄存器TCON 98
6.1.3 中断操作流程 99
6.2 原来按键还可以这样用 100
6.2.1 写个程序实现按键的中断 100
6.2.2 不同的触发方式 104
6.3 中断的优先级 106
6.3.1 中断优先级 106
6.3.2 了解更多中断的概念 107
6.3.3 比较4个I/O口 108
第7章 让定时更精确 110
7.1 定时/计数器概念 110
7.1.1 T0、T1介绍 110
7.1.2 复习寄存器IE、TCON、IP 110
7.1.3 介绍几个专用寄存器 111
7.2 工作方式0的应用 112
7.3 工作方式1的应用 116
7.4 工作方式2的应用 119
7.5 工作方式3的应用 121
7.6 计数器介绍 124
第8章 单片机与外界的 联系——串口通信 128
8.1 串口通信的概念 128
8.2 先试试如何发送 129
8.2.1 与串口通信有关的寄存器 129
8.2.2 先写个示例程序 132
8.2.3 补充一点51单片机的串口知识 135
8.3 收发都能实现 138
8.3.1 将Proteus中的串口连接到硬件上 138
8.3.2 实现串口收发通信 143
8.3.3 用中断的方式实现串口收发 146
第9章 让单片机“响”起来 149
9.1 单片机还会响呢 149
9.1.1 了解一下蜂鸣器 149
9.1.2 写个程序让它响起来 149
9.2 用定时器模拟门铃 152
9.3 用蜂鸣器演奏曲子 155
9.4 重新认识AT89C51 158
9.4.1 AT89C51的总体认识 158
9.4.2 AT89C51的引脚 160
9.4.3 有关AT89C51的寄存器 161
第2篇 提 高 篇
第10章 再说数码管 168
10.1 使用扩展芯片驱动数码管 168
10.1.1 认识扩展芯片74LS138 169
10.1.2 74LS138的应用 170
10.1.3 应用74HC154 172
10.1.4 有关译码器 174
10.2 显示译码器 175
10.2.1 显示译码器74LS48 175
10.2.2 显示译码器的应用 176
第11章 按键多了怎么办 180
11.1 看一个密码键盘 180
11.1.1 矩阵键盘的实现 180
11.1.2 矩阵按键的扫描 181
11.2 是否可以扩展呢 185
11.2.1 了解编码器 185
11.2.2 应用编码器74LS148 187
第12章 深入串口通信 190
12.1 通信协议的引入 190
12.1.1 协议制定 190
12.1.2 样例实现 191
12.2 让单片机和PC真正通信 202
12.2.1 新建一个VC工程 202
12.2.2 添加VC控件 203
12.2.3 添加控件到界面 204
12.2.4 添加变量、完成代码编写 207
12.2.5 运行、调试 214
第13章 I2C总线及其应用 217
13.1 I2C总线介绍 217
13.1.1 初步了解I2C总线 217
13.1.2 I2C总线上的信号 218
13.2 认识E2PROM 24C02 222
13.2.1 认识AT24C02 222
13.2.2 AT24C02的操作地址 222
13.2.3 AT24C02的读/写操作 224
13.3 写一个I2C通信的例子 226
第14章 SPI总线及其应用 236
14.1 SPI总线介绍 236
14.2 一款SPI接口的E2PROM 237
14.2.1 认识25AA040 238
14.2.2 25AA040的工作原理 239
14.3 应用25AA040 247
第15章 A/D转换、D/A转换 256
15.1 了解A/D转换器的相关知识 256
15.1.1 A/D转换器的分类 256
15.1.2 A/D转换器的主要技术指标 257
15.2 看两个A/D转换器的例子 258
15.2.1 了解ADC0809 258
15.2.2 应用ADC0808 260
15.2.3 了解ADC0832 264
15.2.4 应用ADC0832 267
15.3 再看看D/A转换器 271
15.3.1 了解D/A转换器 271
15.3.2 D/A转换器的主要技术指标 272
15.3.3 了解DAC0832 273
15.3.4 应用DAC0832 276
第16章 LCD显示 279
16.1 先认识LED点阵屏 279
16.1.1 有关LED点阵屏 279
16.1.2 LED点阵的应用 280
16.2 使用字符LCD 283
16.2.1 了解LCD 283
16.2.2 认识LCD1602 284
16.2.3 LCD1602的指令说明 285
16.2.4 使用LCD1602 290
16.3 使用LCD12864 293
16.3.1 认识HDG12864L-6 294
16.3.2 HDG12864L-6指令说明 296
16.3.3 LCD12864的并行应用 307
16.3.4 LCD12864的串行应用 314
第3篇 应 用 篇
第17章 简易万年历 324
17.1 电路设计 324
17.2 认识时钟芯片DS1302 326
17.3 系统设计 332
第18章 温度自动控制系统 348
18.1 系统模型 348
18.2 分析电路 350
18.2.1 电路分解 350
18.2.2 认识DS18B20 353
18.2.3 了解液晶AMPIRE128×64 364
18.3 系统设计 368
18.3.1 嵌入式系统设计 368
18.3.2 PC端软件设计 379
附录A AT89C51特殊功能寄存器速查表 384
附录B Proteus 7.5元件库分类表 386
附录C 书籍、网站推荐 394
参考文献 395
结束语 396