第1章 单片机的开发环境1.1 仿真机 1
1.2 编程器 2
1.3 其他开发工具 5
1.3.1 ISP工具 6
1.3.2 JTAG工具 7
第2章 测速表的制作2.1 脉冲信号的获得 9
2.1.1 霍尔传感器 9
2.1.2 光电传感器 11
2.1.3 光电编码器 11
2.2 硬件连接 12
2.3 软件编程 13
思考与实践 18
第3章 多路输入电压表的制作 18
3.1 模/数转换简介 19
3.2 TLC1543特性简介 19
3.3 单片机与TLC1543芯片的接口 20
3.4 TLC1543驱动程序编写 21
3.5 多路输入电压表程序的编写 24
第4章 步进电机驱动4.1 步进电机常识 29
4.2 永磁式步进电机的控制 30
4.3 步进电机的驱动实例 32
4.3.1 要求分析 32
4.3.2 程序实现 33
4.4 使用步进电机驱动器 40
4.4.1 步进电机驱动器 40
4.4.2 用步进电机驱动器驱动步进电机 42
思考与实践 43
第5章 温度的测量与控制5.1 使用DS18B20制作温度计 44
5.1.1 1-Wire总线介绍 44
5.1.2 DS18B20器件 44
5.1.3 用单片机控制DS18B20制作温度计 49
5.2 使用数字PID控制温度 54
5.2.1 数字PID的原理 54
5.2.2 使用数字PID控制加热器 57
思考与实践 66
第6章 使用单片机控制机械手6.1 外形与结构 67
6.2 动作过程描述 68
6.3 单片机控制电路 69
6.4 程序编写 73
6.4.1 控制板与控制对象的关系 73
6.4.2 工作状态细分 74
6.4.3 控制程序分析 76
思考与实践 88
第7章 使用单片机控制加工站 88
7.1 加工过程描述 89
7.2 硬件电路 90
7.3 控制对象分析 91
7.3.1 控制板与控制对象的关系 91
7.3.2 工作状态细分 92
7.4 控制程序 93
第8章 通用显示器的开发8.1 硬件电路 100
8.2 软件部分 102
8.3 显示器的使用 108
8.4 设计改进 110
8.4.1 硬件设计的改进 110
8.4.2 软件设计的改进 112
第9章 电子荧火虫 115
9.1 荧火虫发光与PWM技术 115
9.1.1 PWM技术 115
9.1.2 STC12C56S2的PWM发生器模块 116
9.1.3 用单片机生成PWM波形 120
9.2 用按键改变占空比 121
9.3 将占空比显示出来 124
9.3.1 字符型液晶显示屏 124
9.3.2 字符型液晶显示器的驱动程序 126
9.3.3 液晶显示程序与现有程序的组合 130
9.4 电子荧火虫的制作 132
9.4.1 基本功能的实现 132
9.4.2 真实荧火虫发光的模拟 133
第10章 红外遥控 136
10.1 红外遥控知识 136
10.2 红外遥控信号检测 138
10.2.1 STC12C5A56S2的串行通信 138
10.2.2 测试程序 143
10.3 遥控器的制作 150
第11章 “星际飞船”控制器11.1 “星际飞船”状态与功能 154
11.1.1 运行状态描述 154
11.1.2 功能描述 155
11.1.3 设置状态描述 156
11.2 硬件设计 157
11.3 模块化编程 159
11.4 程序分析 162
第12章 智能仪器设计12.1 设计任务分析 195
12.2 浮点数 195
12.2.1 浮点数的基本知识 196
12.2.2 C51中的浮点数 196
12.2.3 浮点数转化为整型数 201
12.3 智能仪器设计的实现 202
第13章 便携式无线抢答器13.1 便携无线抢答器方案选择 217
13.2 点阵型液晶屏简介 218
13.2.1 FM12864I及其控制芯片HD61202 218
13.2.2 HD61202及其兼容控制驱动器的特点 220
13.2.3 HD61202及其兼容控制驱动器的指令系统 221
13.2.4 字模的产生 222
13.2.5 LCM驱动程序 227
13.3 无线模块 233
13.4 手持式终端的软件设计 235
思考与实践 252
第14章 开放式PLC的开发14.1 PLC简介 255
14.2 梯形图转换方法分析 256
14.2.1 LD类指令 257
14.2.2 AND和ANI类指令 258
14.2.3 OR和ORI类指令 258
14.2.4 ANB、ORB、MPS、MRD、MPP、INV指令 259
14.2.5 MC指令与MCR指令 259
14.2.6 OUT类指令 259
14.2.7 SET与RST类指令 260
14.2.8 LDP和LDF指令 261
14.2.9 NOP和END指令 261
14.3 使用单片机处理PLC程序 262
14.3.1 整体流程 262
14.3.2 输入采样 265
14.3.3 FLC指令的分解 266
14.3.4 系统变量设计 267
14.3.5 计数器类指令 269
14.3.6 定时器类指令 270
14.3.7 输出处理 273
14.4 较高代码效率的程序 274
14.4.1 指令代码分析 274
14.4.2 区分指令类别 276
14.4.3 内存单元分配 277
14.4.4 对各软元件进行操作 278
14.4.5 锁存类指令处理 279
14.4.6 沿跳变指令处理 280
14.4.7 拓展与思考 283
14.5 上位机软件编写 284
14.5.1 Visual Basic 2008 Express简介 284
14.5.2 上位机程序的实现 285
第15章 全数字信号发生器15.1 仪器性能分析 293
15.2 初步设计 293
15.2.1 显示部分 293
15.2.2 键盘部分 294
15.2.3 工作过程总体描述 294
15.3 硬件电路的设计 294
15.3.1 整体电路设计 295
15.3.2 原理图设计 296
15.3.3 面板与印刷线路板设计 299
15.3.4 仪器装配 300
15.4 软件设计 301
15.4.1 键盘程序 301
15.4.2 小数点处理 303
15.4.3 AT24C01A的读/写 304
15.4.4 信号产生 304
参考文献 307