目录 1
第1章 AVR单片机简介 1
1.1 AVR单片机硬件结构 1
1.1.1 AVR单片机主要特点 1
1.1.2 ATmega8结构概要 2
1.1.3 ATmega8的存储器和寄存器组织 5
1.2 AVR单片机指令系统 9
1.3 SL-MEGA8A开发实验器 12
习题一 14
第2章 初识BASCOM-AVR 15
2.1 BASCOM-AVR集成开发环境 15
2.2 BASCOM-AVR仿真器 17
2.2.1 工具条 18
2.2.2 仿真选项卡 19
2.2.3 终端仿真子窗口 20
2.2.4 源程序代码执行子窗口 20
练习 21
2.3 程序下载 21
2.3.1 选择编程器 22
2.3.2 BASCOM-AVR下载软件介绍 23
习题二 24
第3章 BASCOM-AVR语言基础 25
3.1 字符集、标识符和保留字 25
3.1.1 字符集 25
3.1.2 标识符和保留字 25
3.2 二进制、数据类型和变量 26
3.2.1 二进制简介 26
3.2.2 数据类型和变量声明 27
3.3 变量赋值 28
练习3.1 29
练习3.2 29
练习3.3 30
3.4 实验操作1 31
3.4.1 BASCOM-AVR编程环境设置 31
3.4.2 SLISP下载软件 32
3.4.3 硬件实验 33
3.4.4 SL-MEGA8A——PC实验连接简图 35
习题三 35
第4章 运算 37
4.1 标准LCD显示器 37
4.1.1 硬件接线 37
4.1.2 软件语句 38
练习4.1 39
4.2 算术运算 41
4.2.1 算术运算符 41
练习4.2 41
4.2.2 数值函数 42
练4.3 43
4.3 逻辑运算 43
4.4 字符串处理 45
4.4.1 字符串运算 45
练习4.4 45
4.4.2 字符串函数 46
练4.5 46
练习4.6 48
4.4.3 输出格式函数 48
4.4.4 取子串函数 49
练习4.7 49
4.4.5 其他字符串处理函数 50
4.5 实验操作2 50
习题四 51
第5章 程序结构 52
5.1 顺序结构 52
5.2 分支结构 53
5.2.1 IF…THEN 53
练习5.1 54
练习5.2 55
练习5.3 57
5.2.2 SELECT CASE 57
5.2.3 ON…GOSUB/GOTO 58
练习5.4 59
练习5.5 60
5.3 循环结构 60
5.3.1 FOR…NEXT 61
练习5.6 62
5.3.2 DO…LOOP 62
练习5.7 63
5.3.3 WHILE…WEND 63
练习5.8 64
习题五 64
6.1.2 GOTO和GOSUB的区别 66
6.1.1 转子语句和子程序的格式 66
6.1 子程序 66
第6章 子程序、子过程和函数过程 66
练习6.1 67
练习6.2 67
6.2 子过程 68
练习6.3 69
6.3 函数过程 71
练习6.4 71
6.4 PonyProg2000简要 73
习题六 76
第7章 通用I/O端口 77
7.1 端口硬件配置和软件操作 77
7.1.1 端口配置和特性 77
7.1.2 通用I/O的操作语句 78
练习7.1 80
7.2 通用I/O端口的应用 81
7.2.1 电气连接 81
7.2.2 十六键小键盘 81
7.23 LED七段数码管 83
练习7.2 84
练习7.3 86
7.2.4 步进电机驱动 87
练习7.4 88
习题七 91
第8章 中断 92
8.1 什么是中断 92
8.2 怎样使用中断 93
8.3.1 理由 94
8.3 为何使用中断 94
练习8.1 95
8.3.2 小制作 98
练习8.2 98
8.3.3 中断的优先级 99
练习8.3 100
习题八 101
第9章 定时器/计数器 103
9.1 定时器/计数器0 103
9.1.1 定时器功能 103
9.1.2 计数器功能 104
9.1.3 定时器和计数器的使用 105
练习9.1 106
练习9.2 108
练习9.3 110
9.2 定时器/计数器1 112
9.2.1 定时器/计数器功能 112
练习9.4 114
练习9.5 116
9.2.2 输入捕获功能 119
练习9.6 120
9.2.3 比较匹配输出功能 122
练习9.7 124
练习9.8 126
9.2.4 数字PWM功能 127
练习9.9 130
练习9.10 132
9.3 定时器/计数器2 132
9.3.1 定时器功能 132
9.3.2 比较匹配输出功能 134
练习9.11 135
9.3.3 数字PWM功能 137
练习9.12 137
习题九 139
第10章 模/数转换 140
10.1 传感器和运算放大器简介 140
10.1.1 传感器 140
10.1.2 运算放大器 141
10.2 模/数转换器 143
10.2.1 模/数转换原理简介 143
10.2.2 AVR单片机的内置模/数转换器 146
练习10.1 147
练习10.2 150
练习10.3 151
10.3 模拟比较器 154
10.3.1 模拟比较器简介 154
10.3.2 模拟比较器的配置 155
10.3.3 模拟比较器应用 156
练习10.4 156
10.3.4 制作逐次比较模/数转换器 158
练习10.5 159
习题十 161
11.1 同/异步串行接口USART 163
11.1.1 异步串行通信简介 163
第11章 串行通信 163
11.1.2 异步通信的程序语句 164
11.1.3 异步通信的应用 166
练习11.1 166
练习11.2 167
练习11.3 168
11.1.4 USART的同步串行通信 169
11.2 同步串行接口SPI 170
11.2.1 SPI简介 170
11.2.2 SPI同步通信语句结构 171
11.2.3 SPI总线应用 173
练习11.4 175
练习11.5 176
11.3.1 TWI总线概述 177
11.3 TWI串行接口 177
11.3.2 分析AT24C02 178
11.3.3 BASCOM-AVR的软件I2C语句 180
11.3.4 AT24C02的写/读操作 181
练习11.6 181
练习11.7 182
习题十一 184
第12章 其他 185
12.1 EEPROM 185
12.1.1 EEPROM读/写操作 185
练习12.1 186
练习12.2 187
练习12.3 189
12.1.2 EEPROM和查表技术 191
练习12.4 192
12.2 看门狗 194
12.2.1 看门狗看哪个门 194
练习12.5 194
12.2.2 浅谈抗干扰措施 196
12.3 低功耗设计 197
习题十二 198
第13章 设计与开发阶段 199
13.1 设计开发 199
13.1.1 设计过程 199
13.1.2 开发实验器 201
13.2.1 ASM和BASIC混合编程 203
练习13.1 203
13.2 语言混合编程 203
13.2.2 建立自己的库 205
练习13.2 206
13.2.3 调用库文件和过程 207
练习13.3 207
练习13.4 208
13.3 ATtiny单片机编程特点 208
练习13.5 209
附录A ASIC字符码 211
附录B 部分AVR单片机的引脚图 214
附录C AVR部分常用型号参数表 225
附录D BASCOM-AVR保留字 228
参考文献 230
后记 231