第1章 ATmega48/ATmega16单片机概述 1
1.1 AVR系列单片机概述 1
1.1.1 单片机知识问答 1
1.1.2 单片机与嵌入式系统 2
1.1.3 当代单片机内核结构的发展趋势 3
1.1.4 AVR单片机概述 4
1.1.5 AVR系列单片机选型 5
1.2 ATmega48/ATmega16单片机及其存储器结构 7
1.2.1 ATmega48/88/168和ATmega16/32单片机性能概况 8
1.2.2 ATmega48/ATmega16内核结构 9
1.2.3 ATmega48/ATmega16存储器结构 9
1.3 ATmega48/ATmega16最小系统与系统初始配置 11
1.3.1 ATmega48/ATmega16的引脚排列 11
1.3.2 ATmega48/ATmega16最小系统设计 16
1.3.3 ATmega48/ATmega16的系统时钟源及单片机熔丝配置 19
1.3.4 AVR单片机ISP全攻略及熔丝补救方法 20
1.3.5 ATmega48/ATmega16的掉电检测电路 21
1.4 嵌入式C编程与AVR 22
1.4.1 AVR的C语言开发环境 22
1.4.2 C语言环境访问MCU寄存器 23
1.4.3 GCC编译器下EEPROM和Flash存储器的访问 24
1.4.4 C语言下EEPROM存储器的通用访问方法 27
1.4.5 AVR C编译器的在线汇编 30
1.4.6 标准C下位操作实现综述 31
1.4.7 如何优化单片机系统设计的C代码 33
1.4.8 C语言宏定义技巧及常用宏定义总结 37
1.4.9 从Keil C到AVR的C编程 38
1.4.10 前后台式嵌入式软件结构 39
1.5 AVR的开发工具与开发技巧 39
1.5.1 AVR单片机嵌入式系统的软件开发平台AVR Studio 40
1.5.2 AVR的JTAG仿真调试与ISP 40
1.5.3 基于AVR Studio和GCCAVR的AVR的单片机仿真调试步骤 42
1.5.4 只具备ISP调试条件下的AVR单片机调试技巧 48
1.6 如何成为单片机开发高手 50
1.6.1 充分了解设计需求,确定合适的解决方案 51
1.6.2 原理图设计中要注意的问题 51
1.6.3 PCB设计中要注意的问题 52
1.6.4 TQFP和LQFP器件的焊接方法 52
1.6.5 单片机与嵌入式技术的3层境界 54
第2章 ATmega48/ATmega16单片机I/O接口与人机接口技术2.1 AVR单片机通用I/O端口 56
2.1.1 AVR的通用I/O端口 56
2.1.2 通用I/O上下拉电阻的应用总结 58
2.2 人机接口——按键 59
2.2.1 机械触点按键常识 60
2.2.2 矩阵式键盘接口技术及编程 62
2.2.3 智能查询键盘程序设计与单片机测控系统的人机操作界面 64
2.3 LED显示技术原理与实现 66
2.3.1 数码管的译码显示 67
2.3.2 LED数码管的静态驱动显示和动态驱动显示 67
2.4 AVR的SPI通信接口及其应用 70
2.4.1 AVR单片机的硬件SPI通信接口 71
2.4.2 AVR单片机SPI通信的相关寄存器结构 72
2.4.3 AVR单片机SPI通信驱动程序设计 75
2.4.4 SPI总线接口8位共阴数码管驱动芯片MAX7219 76
2.4.5 两个AVR实现硬件SPI双机通信 78
2.4.6 软件模拟SPI主机程序设计 80
2.4.7 用SPI与74HC595接口驱动多共阳数码管静态显示实例 81
2.5 AVR两线串行通信接口TWI(兼容I2C)及其应用 82
2.5.1 I2C总线概述 83
2.5.2 AVR兼容I2C的两线通信接口TWI及其相关寄存器 84
2.5.3 TWI的使用方法 87
2.5.4 通过TWI(I2C)主机接口操作AT24C02 88
2.5.5 ATmega48通过I2C从机模式模拟AT24C02 89
2.5.6 软件模拟I2C主机读/写AT24C02 91
2.6 128×64 SPLC501液晶控制器及应用 95
2.6.1 128×64点阵图形液晶驱动芯片——SPLC501 96
2.6.2 SPLC501程序设计举例 99
2.7 SMC1602A液晶屏及其接口应用 101
2.7.1 SMC1602A总线方式驱动接口及读/写时序 101
2.7.2 操作SMC1602A的11条指令 102
2.7.3 AVR与SMC1602A液晶接口C代码 104
2.8 ATmega48/ATmega16片上A/D及其应用 107
2.8.1 片内基准电压 107
2.8.2 ATmega48/ATmega16与A/D有关的寄存器 108
2.8.3 AVR的A/D使用和应用方法总结 113
2.8.4 A/D键盘 114
第3章 ATmega48/ATmega16单片机中断系统与定时控制3.1 ATmega48/ATmega16的中断系统 116
3.1.1 中断的功能 116
3.1.2 ATmega48/ATmega16中断源和中断向量 117
3.1.3 AVR单片机中断响应过程 119
3.1.4 AVR单片机的中断优先级 119
3.1.5 AVR中断响应的时间 120
3.1.6 高级语言开发环境中中断服务程序的编写 120
3.2 ATmega48/ATmega16的外中断及应用实例 121
3.2.1 INT0、INT1和INT2中断控制的相关寄存器 122
3.2.2 ATmega48引脚电平变化中断寄存器 124
3.2.3 外中断实例 125
3.3 ATmega48/ATmega 16的定时器/计数器0——T/C0 127
3.3.1 ATmega48/ATmega16的定时器/计数器 127
3.3.2 T/C0概述 128
3.3.3 T/C0的输出比较功能及PWM输出模式 129
3.3.4 ATmega48/ATmega16的T/C0相关寄存器 131
3.3.5 ATmega48/ATmega16中T/C0的定时应用举例 136
3.4 ATmega48/ATmega 16的定时器/计数器1——T/C1 137
3.4.1 T/C1的输入捕捉单元 139
3.4.2 T/C1的输出比较单元 140
3.4.3 T/C1的输出比较功能及PWM输出模式 141
3.4.4 T/C1的相关寄存器 146
3.4.5 利用ICP测量方波的周期 150
3.5 ATmega48/ATmega16片上模拟比较器与ICP捕获应用 151
3.5.1 模拟比较器的相关寄存器 151
3.5.2 模拟比较器应用——超限监测 153
3.5.3 模拟比较器及ICP1综合应用——正弦波周期测量 154
3.6 ATmega48/ATmega16的定时器/计数器2——T/C2 155
3.6.1 T/C2的输出比较功能及PWM输出模式 156
3.6.2 T/C2的相关寄存器 158
3.6.3 基于T/C2的RTC系统设计 166
3.7 PWM技术应用举例 170
3.7.1 基于PWM调制的红外线遥控器的设计 170
3.7.2 基于PWM实现DAC 173
3.8 AVR单片机看门狗定时器 176
3.8.1 抗干扰与看门狗技术 176
3.8.2 AVR的看门狗及应用技巧 178
第4章 单片机测控系统与智能仪器 183
4.1 单片机测控系统与智能仪器概述 183
4.1.1 单片机测控系统及构成 184
4.1.2 电子测量与单片机检测技术 185
4.1.3 智能化测量仪表 186
4.1.4 智能传感器与自动检测技术 189
4.1.5 小结 195
4.2 信号检测的数字滤波技术 195
4.2.1 限幅滤波法 195
4.2.2 中值滤波法 196
4.2.3 算术平均滤波法 196
4.2.4 递推平均滤波法 197
4.2.5 加权递推平均滤波法 197
4.2.6 一阶滞后滤波法 198
4.2.7 高通滤波器和带通滤波器 198
4.3 系统误差校正技术 199
4.3.1 系统误差的模型校正法 199
4.3.2 利用校准曲线通过查表法修正系统误差 201
4.3.3 非线性校正 203
4.4 智能仪表量程自动转换与标度变换技术 208
4.4.1 量程自动转换技术 208
4.4.2 标度变换 209
4.5 单片机测控系统的抗干扰设计 210
4.5.1 单片机应用系统抗干扰设计的基本原则 210
4.5.2 电子线路中的屏蔽技术 211
4.5.3 单片机应用系统中PCB布线的基本原则 212
4.5.4 单片机软件抗干扰技术 214
4.6 便携式设备的低功耗设计 215
4.6.1 延长单片机系统电池供电时间的几点措施 215
4.6.2 利用单片机的休眠与唤醒功能降低单片机系统功耗 217
第5章 智能传感器与智能仪器设计 221
5.1 基于恒流源的铂电阻智能测温仪表的设计 221
5.1.1 铂电阻温度传感器 222
5.1.2 铂电阻测温的基本电路 222
5.1.3 基于双恒流源的3线式铂电阻测温探头设计 224
5.1.4 基于ICL7135的Pt100测温系统设计 225
5.1.5 基于恒流源的铂电阻智能测温仪表的设计 231
5.1.6 关于精密基准源TL431 232
5.2 真有效值仪表的设计 234
5.2.1 真有效值测量的4种途径 235
5.2.2 单片真有效值/直流变换器——AD736 236
5.2.3 真有效值仪表的智能仪表设计 238
5.3 晶体管β参数测试仪的设计 241
5.3.1 根据晶体三极管共射极放大电路测试β 242
5.3.2 晶体管β参数测试仪的工作状态设定 242
5.3.3 基于TLC2543的高精度电压测量电路及软件设计 244
5.3.4 关于液晶显示单元的说明 249
5.3.5 系统软件总体设计流程 249
5.4 精密压控恒流源的设计 249
5.4.1 几种V/I转换和恒流源电路图的比较 249
5.4.2 数控宽范围调整、大电流输出恒流源核心电路方案 250
5.4.3 系统软件设计 252
5.5 精密数控对称双极性输出直流稳压电源的设计 252
5.5.1 对称双极性数控电压源及功率驱动电路设计 253
5.5.2 过流保护单元电路的设计 255
5.5.3 系统供电电源设计 256
5.5.4 总结 256
5.6 线性网络频率响应测试仪的设计 258
5.6.1 频域测量仪器仪表概述 258
5.6.2 正弦扫频信号源 259
5.6.3 正弦信号的幅度测量 267
5.6.4 正弦信号的相位测量 268
5.6.5 频响特性测试仪的软件设计 269
5.7 基于MCU和光栅的高精度位移、速度传感器的原理及设计 269
5.7.1 光栅传感器 270
5.7.2 基于MCU和光栅的高精度位移、速度传感器的原理 270
5.8 等精度数字频率计的设计 273
5.8.1 仪器仪表中的频率测量技术 273
5.8.2 等精度频率计的实现 276
第6章 基于模糊PID控制的计算机控制系统设计与应用6.1 计算机控制技术及算法概述 279
6.1.1 传统的PID控制 280
6.1.2 自适应控制 280
6.1.3 鲁棒控制 280
6.1.4 预测控制 280
6.1.5 最优控制 281
6.1.6 智能控制 281
6.2 数字PID控制技术 282
6.2.1 PID控制技术 282
6.2.2 复合式数字PID控制技术 284
6.2.3 PID参数的整定 287
6.3 基于增量式数字PID的热水器恒温控制系统设计 289
6.3.1 恒温控制系统的构成 290
6.3.2 传感器的选择 290
6.3.3 温控器功率输出器件——过零式固态继电器 291
6.3.4 水温特性及其传递函数分析 291
6.3.5 温控器系统软件设计 292
6.4 模糊控制技术与模糊控制系统设计 300
6.4.1 模糊控制概述 300
6.4.2 模糊集合与隶属函数 301
6.4.3 模糊推理 303
6.4.4 采用增量式模糊控制器的水温控制系统 304
6.5 基于模糊PID控制的计算机控制系统设计 305
6.5.1 模糊PID控制器 306
6.5.2 智能PID控制器参数的智能调整 306
6.5.3 模糊自整定PID控制器原理 307
6.6 步进电动机的单片机控制 308
6.6.1 步进电动机的工作方式 308
6.6.2 步进电动机的控制方法 309
6.6.3 步进电动机的运行控制及程序设计 309
6.6.4 步进电动机的选用 312
第7章 分布式智能测控系统及其应用 314
7.1 AVR的串行通信接口USART 314
7.1.1 AVR的通用同步和异步串行接口USART 314
7.1.2 USART寄存器描述 315
7.1.3 自适应波特率技术 321
7.1.4 USART基本应用程序模块设计及说明 321
7.1.5 ATmega48 SPI模式下的USART——MSPIM 328
7.2 基于RS232的通信系统设计 333
7.2.1 RS232C介绍与PC硬件 333
7.2.2 UART电平协议转换芯片MAX232和MAX3232 334
7.2.3 单片机点对点UART通信设计举例 335
7.2.4 PC端Windows操作系统下RS232通信程序设计 341
7.3 基于RS485的现场总线监控系统设计 342
7.3.1 RS485驱动芯片及接口应用 343
7.3.2 RS485现场总线测控系统组成结构 343
7.3.3 PC与RS485通信接口设计 344
7.3.4 RS485网络节点的软件设计 346
7.3.5 RS485总线通信系统的可靠性分析及措施 352
7.4 基于DS18B20的多点温度巡回检测仪的设计 355
7.4.1 DS18B20概貌 356
7.4.2 DS18B20的内部构成及测温原理 357
7.4.3 DS18B20的访问协议 358
7.4.4 DS18B20的自动识别技术 360
7.4.5 DS18B20的单总线读/写时序 361
7.4.6 DS18B20使用中的注意事项 362
7.4.7 ATmega48读取单片DS18B20转换温度数据程序 362
7.5 nRF401短距离无线通信系统设计 364
7.5.1 短距离无线电通信技术简介 365
7.5.2 nRF401短距离无线通信系统介绍 367
7.5.3 nRF401无线通信模块设计 368
7.5.4 AVR单片机和nFR401接口设计 373
7.5.5 PC机和nRF401接口电路设计 373
7.5.6 AVR单片机控制nRF401通信软件设计 374
附录 ASCII表 380
参考文献 381