第1章 AVR单片机的硬件结构 1
1.1 AVR系列单片机简介 1
1.2 AT90S8535单片机的特点 3
1.3 AT90S8535单片机的引脚配置 4
1.4 AT90S8535单片机的总体结构 6
1.5 AT90S8535单片机的中央处理器 8
1.6 AT90S8535单片机的存储器组织 9
1.6.1 程序存储器Flash 9
1.6.2 数据存储器SRAM 10
1.6.3 EEPROM 12
1.7 AT90S8535单片机的系统复位 13
1.7.1 上电复位 13
1.7.2 外部复位 14
1.7.3 看门狗复位 15
1.8 AT90S8535单片机的最小系统 15
1.9 本章小结 16
第2章 AVR单片机内部资源的C编程 17
2.1 I/O端口的C语言编程 17
2.1.1 AT90S8535单片机的I/O口 17
2.1.2 I/O 口寄存器 18
2.1.3 AT90S8535单片机的I/O口应用范例 20
2.2 定时/计数器的C语言编程 24
2.2.1 T/C0 24
2.2.2 T/C1 31
2.2.3 T/C2 44
2.3.2 与EEPROM相关的寄存器 51
2.3.1 AT90S8535单片机的EEPROM 51
2.3 EEPROM的C语言编程 51
2.3.3 AT90S8535单片机的EEPROM应用范例 52
2.4 A/D转换的C语言编程 54
2.4.1 AT90S8535单片机的ADC 54
2.4.2 A/D转换器的工作方式 55
2.4.3 与A/D转换相关的寄存器 57
2.4.4 A/D转换器应用范例 59
2.5 模拟比较器的C语言编程 61
2.5.1 AT90S8535单片机的模拟比较器 61
2.5.2 与模拟比较器相关的寄存器 61
2.5.3 AT90S8535单片机的模拟比较器应用范例 62
2.6.1 异步串行通信基础 63
2.6 异步串行接口UART的C语言编程 63
2.6.2 AT90S8535单片机的异步串行传输接口 64
2.6.3 与UART相关的寄存器 65
2.6.4 RS-232通信接口标准 68
2.6.5 异步串行接口UART应用范例 69
2.7 同步串行接口SPI的C语言编程 71
2.7.1 同步串行通信基础 71
2.7.2 AT90S8535单片机的同步串行传输接口 72
2.7.3 与SPI相关的寄存器 73
2.7.4 同步串行接口SPI应用范例 75
2.8 看门狗定时器的C语言编程 77
2.8.1 AT90S8535单片机的看门狗 77
2.8.2 与看门狗相关的寄存器 78
2.8.3 看门狗定时器应用范例 79
2.9.1 中断系统概述 80
2.9 中断系统的C语言编程 80
2.9.2 AT90S8535单片机的中断系统 81
2.9.3 与中断相关的寄存器 82
2.9.4 AT90S8535单片机的中断操作 84
2.9.5 AT90S8535单片机的中断编程 87
2.10 本章小结 88
第3章 AVR单片机的集成开发环境 89
3.1 集成开发环境ICCAVR简介 89
3.2 ICCAVR的安装和注册 89
3.2.1 安装ICCAVR 89
3.2.2 注册ICCAVR 91
3.3.1 菜单栏 92
3.3 ICCAVR的IDE 92
3.3.2 工具栏 95
3.3.3 编辑区 95
3.3.4 编译区 95
3.3.5 工程区 96
3.4 设置ICCAVR 96
3.5 创建一个工程项目 99
3.6 ICCAVR的库函数 101
3.6.1 寄存器说明头文件 101
3.6.2 宏定义头文件 102
3.6.3 库函数头文件 102
3.7 ICCAVR硬件访问的C编程 107
3.7.1 ICCAVR支持的数据类型 107
3.7.2 访问程序存储器和数据存储器 107
3.7.4 访问UART 108
3.7.3 位操作 108
3.7.5 访问EEPROM 109
3.7.6 中断操作 109
3.8 本章小结 110
第4章 AVR单片机系统开发典型流程 111
4.1 需求分析 111
4.2 系统总体设计 112
4.2.1 设计方案描述 112
4.2.2 绘制工作总框图 112
4.2.3 总体结构设计 113
4.2.4 设计工作的筹备 113
4.3 系统硬件设计 113
4.3.1 元器件选择 113
4.3.2 电路设计 114
4.3.3 硬件电路的计算机辅助设计 116
4.3.4 单片机应用技术 118
4.3.5 硬件可靠性设计 121
4.4 系统软件设计 123
4.4.1 软件总体设计 123
4.4.2 程序设计 125
4.4.3 软件可靠性设计 125
4.5 单片机系统仿真 127
4.5.1 软件调试 127
4.5.2 系统仿真 130
4.6 AVR单片机程序下载 135
4.7 本章小结 136
第5章 公交车语音报站系统设计实例 137
5.1 系统功能说明 137
5.2.2 设备选型 138
5.2.1 应用系统结构设计 138
5.2 系统总体设计 138
5.3 硬件设计 140
5.3.1 语音芯片接口设计 141
5.3.2 键盘及数字显示接口设计 146
5.3.3 点阵LED显示接口设计 154
5.4 软件设计 155
5.4.1 系统程序结构 155
5.4.2 系统程序 156
5.5 系统集成与测试 166
5.6 本章小结 168
第6章 食堂IC卡售饭机系统设计实例 169
6.1 系统功能说明 169
6.2.2 设备选型 170
6.2 系统总体设计 170
6.2.1 应用系统结构设计 170
6.3 硬件设计 173
6.3.1 IC卡接口设计 174
6.3.2 键盘和显示接口设计 182
6.3.3 蜂鸣报警器接口设计 184
6.3.4 IC卡上电检测电路设计 185
6.4 软件设计 185
6.4.1 软件结构设计 185
6.4.2 系统程序 186
6.5 系统集成与测试 203
6.6 本章小结 203
7.1 系统功能说明 205
第7章 地税局自动开票盖章系统设计实例 205
7.2 系统总体设计 206
7.2.1 应用系统结构设计 206
7.2.2 设备选型 206
7.3 硬件设计 210
7.3.1 电源设计 211
7.3.2 步进电机接口电路设计 211
7.3.3 键盘接口电路设计 212
7.3.4 传感器接口电路设计 212
7.3.5 继电器接口电路设计 213
7.4.2 主程序 214
7.4.3 键盘扫描程序 214
7.4.1 系统程序结构 214
7.4 软件设计 214
7.4.4 盖章程序 215
7.4.5 打印页码程序 216
7.4.6 进/出仓程序 216
7.4.7 中断服务程序 217
7.4.8 系统程序 218
7.5 系统集成与调试 227
7.5.1 电机驱动电路的测试 227
7.5.2 其他电路单元的测试 228
7.6 本章小结 228
第8章 寻迹机器人系统设计实例 229
8.1 系统功能说明 229
8.2 系统总体设计 230
8.2.1 应用系统结构设计 230
8.2.2 设备选型 230
8.3 硬件设计 231
8.3.2 电源变换电路设计 232
8.3.1 主机控制电路设计 232
8.3.3 光电检测电路设计 233
8.3.4 电机控制电路设计 235
8.4 软件设计 237
8.4.1 软件结构设计 237
8.4.2 系统程序 238
8.5 系统集成与测试 248
8.6 本章小结 248
9.2 系统总体设计 249
9.2.1 应用系统结构设计 249
9.2.2 设备选型 249
9.1 系统功能说明 249
第9章 直流电机驱动器系统设计实例 249
9.3 硬件设计 251
9.3.1 传感器接口电路设计 252
9.3.2 H桥功率驱动电路设计 253
9.3.3 串行通信接口电路设计 255
9.4 软件设计 255
9.4.1 软件结构设计 255
9.4.2 系统程序 260
9.5 系统集成与测试 265
9.6 本章小结 265
第10章 万年历挂钟系统设计实例 267
10.1 系统功能说明 267
10.2 应用系统设计 267
10.2.1 系统方案设计 267
10.2.3 设备选型 268
10.2.2 应用系统结构设计 268
10.2.4 控制面板设计 269
10.3 硬件设计 270
10.3.1 实时时钟电路设计 271
10.3.2 温度检测电路设计 281
10.3.3 显示电路设计 285
10.3.4 键盘及闹铃电路设计 286
10.4 软件设计 286
10.4.1 软件结构设计 286
10.4.2 系统程序 288
10.5 系统集成与测试 297
10.6 本章小结 298
11.2.1 应用系统结构设计 299
11.2.2 设备选型 299
11.1 系统功能说明 299
11.2 系统总体设计 299
第11章 人机界面系统设计实例 299
11.3 硬件设计 300
11.3.1 液晶模块接口电路设计 301
11.3.2 PS/2键盘接口电路设计 305
11.3.3 电压测量电路设计 307
11.3.4 报警电路设计 308
11.4 软件设计 309
11.4.1 软件结构设计 309
11.4.2 系统程序 311
11.5 系统集成与测试 323
11.6 本章小结 324