当前位置:首页 > 工业技术
AVR单片机原理与应用实例
AVR单片机原理与应用实例

AVR单片机原理与应用实例PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:三恒星科技编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121090790
  • 页数:429 页
图书介绍:本书对目前流行的AVR芯片MEGA64的结构,存储器,I/O资源,寄存器,编译环境和编程方法,以及AVR应用系统开发的流程、方法与设计思想等进行了详细的介绍,同时选择了几个比较典型的实例进行了细致的分析。本书语言简洁,层次清晰,具有很强的工程性、实用性和指导性。
《AVR单片机原理与应用实例》目录

第1章 AVR单片嵌入式系统 1

1.1 嵌入式系统概述 1

1.1.1 嵌入式系统简介 1

1.1.2 嵌入式系统的基本架构 3

1.1.3 嵌入式系统的特点 6

1.1.4 嵌入式系统的应用 6

1.1.5 嵌入式系统的展望 8

1.2 单片嵌入系统 9

1.2.1 单片嵌入系统简介 9

1.2.2 单片嵌入系统的结构 9

1.2.3 单片机 10

1.3 AVR单片嵌入系统 14

1.3.1 AVR单片机简介 14

1.3.2 AVR系列单片机特点 14

1.3.3 AVR系列单片机 15

1.3.4 SHX—AVR128开发板简介 18

1.3.5 AVR单片机的开发工具 18

1.3.6 AVR单片机的应用 19

第2章 AVR单片机系统结构 20

2.1 AVR单片机系统简介 20

2.1.1 AVR单片机基本结构 20

2.1.2 ATmega128单片机的内部结构 22

2.1.3 ATmega128的特点 23

2.1.4 ATmega128与ATmega103的兼容性 25

2.1.5 ATmega128引脚说明 26

2.2 ATmega128的微控制器MCU 28

2.2.1 算术逻辑单元ALU 28

2.2.2 状态寄存器 28

2.2.3 通用工作寄存器文件 29

2.2.4 X、Y、Z地址指针寄存器 30

2.2.5 堆栈指针寄存器(SP) 30

2.2.6 RAM页面的Z选择寄存器(RAMPZ) 30

2.3 ATmega128的存储器组织 31

2.3.1 程序存储器Flash 31

2.3.2 数据存储器SRAM 31

2.3.3 EEPROM存储器 32

2.4 系统的时钟部件 39

2.4.1 时钟系统及其分布 39

2.4.2 系统时钟源 40

2.4.3 定时器/计数器振荡器 44

2.4.4 内部看门狗时钟 44

2.4.5 CPU的工作时序 44

2.4.6 ATmega128单片机的系统复位 45

2.5 ATmega128单片机的节电方式和电源管理 49

2.6 ATmega128单片机最小系统 53

第3章 AVR单片机的指令系统 55

3.1 AVR单片机指令系统简介 55

3.1.1 AVR单片机的指令系统的特点 55

3.1.2 AVR单片机的指令系统 55

3.2 AVR单片机的指令格式 56

3.2.1 指令符号 56

3.2.2 函数表达式 57

3.2.3 AVR指令与标志位的关系 58

3.3 AVR单片机的寻址方式 58

3.3.1 程序直接寻址 59

3.3.2 程序间接寻址 59

3.3.3 程序相对寻址 60

3.3.4 程序取常量寻址 60

3.3.5 单寄存器直接寻址 61

3.3.6 双寄存器直接寻址 61

3.3.7 堆栈寄存器间接寻址 62

3.3.8 I/O寄存器直接寻址 62

3.3.9 数据存储器直接寻址 63

3.3.10 数据存储器间接寻址 63

3.3.11 程序存储器数据寻址 64

3.3.12 数据存储器带预减量间接寻址 64

3.3.13 数据存储器带后增量间接寻址 65

3.3.14 数据存储器带位移的间接寻址 65

3.3.15 程序存储器带后增量的空间取常量寻址 66

3.4 算术和逻辑指令 66

3.4.1 加法指令 67

3.4.2 减法指令 68

3.4.3 乘法指令 70

3.4.4 逻辑与指令 74

3.4.5 逻辑或指令 75

3.4.6 逻辑异或指令 76

3.4.7 取反码指令 77

3.4.8 取补码指令 77

3.5 比较和转移指令 77

3.5.1 无条件转移指令 78

3.5.2 调用及返回指令 79

3.5.3 条件转移指令 81

3.6 数据传输指令 89

3.6.1 数据传输到寄存器的指令 90

3.6.2 数据传输到SRAM中的指令 96

3.6.3 写程序存储器指令 99

3.6.4 堆栈操作指令 99

3.7 位和位测试指令 100

3.7.1 位变量修改指令 101

3.7.2 带进位逻辑操作指令 105

3.7.3 位变量传送指令 107

3.8 MCU控制指令 108

第4章 ATmega128可编程I/O端口 109

4.1 ATmega128的I/O端口 109

4.1.1 I/O端口的基本结构 109

4.1.2 数字输入使能和睡眠模式 112

4.1.3 I/O端口的第二功能 112

4.1.4 I/O端口的特点 113

4.1.5 I/O端口使用注意事项 114

4.2 I/O寄存器 114

4.2.1 I/O寄存器操作的特点 114

4.2.2 I/O寄存器的C语言程序 114

4.2.3 特殊功能I/O寄存器(SFIOR) 115

4.3 各个端口说明 115

4.3.1 PA口 115

4.3.2 PB口 116

4.3.3 PC口 118

4.3.4 PD口 119

4.3.5 PE口 120

4.3.6 PF口 122

4.3.7 PG口 123

4.4 I/O口的应用 124

4.4.1 I/O口寄存器的常用操作指令 124

4.4.2 I/O口的编程 125

第5章 定时器/计数器 133

5.1 定时/计数器的预分频器 133

5.1.1 T/C0的预分频器 133

5.1.2 T/C1、T/C2和T/C3的预分频器 134

5.1.3 特殊功能寄存器 134

5.2 8 位定时/计数器0 135

5.2.1 定时/计数器0的组成结构 135

5.2.2 与T/C0相关的寄存器 138

5.2.3 工作模式 142

5.2.4 T/C0时序图 143

5.3 16位定时/计数器1 144

5.3.1 定时/计数器的组成结构 145

5.3.2 与T/C1有关的寄存器 149

5.3.3 工作模式 155

5.3.4 T/C1时序图 156

5.3.5 对16位寄存器的访问以及编程 157

5.4 定时/计数器的应用 160

第6章 AVR单片机的EEPROM 169

6.1 EEPROM简介 169

6.1.1 EEPROM的读/写访问 169

6.1.2 EEPROM相关的I/O寄存器 170

6.2 EEPROM的读/写编程 172

6.2.1 存储器编程 172

6.2.2 EEPROM的C编程 180

6.2.3 EEPROM的汇编程序 183

6.3 EEPROM的C编程实例 183

6.3.1 记录开机次数 183

第7章 AVR单片机中断系统 185

7.1 中断系统简介 185

7.1.1 中断源与中断向量 186

7.1.2 MCU控制寄存器(MCUCR) 190

7.2 中断处理 191

7.2.1 中断的作用 191

7.2.2 中断处理过程 191

7.3 外部中断 193

7.3.1 外部中断简介 193

7.3.2 外部中断寄存器 193

7.4 中断系统的编程 196

7.4.1 ICCAVR语言中断服务程序的编写 196

7.4.2 汇编语言中断服务程序的编写 198

7.5 中断应用实例 201

7.5.1 AVR单片机外部中断INT0 201

7.5.2 数码管对数字的显示 201

第8章 AVR单片机模拟信号输入接口 203

8.1 模/数转换器ADC 203

8.1.1 ADC简介 203

8.1.2 ADC的操作 205

8.1.3 ADC相关的I/O寄存器 214

8.1.4 ADC的编程应用 217

8.2 模拟比较器 230

8.2.1 模拟比较器件简介 230

8.2.2 与模拟比较器有关的寄存器 230

8.2.3 模拟比较器的多路输入 232

8.2.4 模拟比较器的应用举例 232

第9章 AVR单片机的SPI 236

9.1 同步串行通信 236

9.1.1 同步串行通信简介 236

9.1.2 串行通信接口 237

9.1.3 同步串行接口SPI 238

9.2 ATmega128单片机的同步串行接口 239

9.2.1 同步串行接口的特点 239

9.2.2 同步串行接口的操作 239

9.2.3 SPI的工作模式 241

9.3 SPI相关的I/O寄存器 242

9.4 SPI的编程 244

9.4.1 SPI函数 244

9.4.2 SPI初始化与数据传送编程 245

9.4.3 SPI应用实例 246

第10章 串行TWI接口 259

10.1 串行通信的基础概念 259

10.2 I2C总线协议 259

10.2.1 I2C总线的基本结构 260

10.2.2 I2C总线时序 261

10.2.3 I2C总线的数据传送 261

10.2.4 I2C总线的竞争仲裁 262

10.3 ATmega128单片机的两线串行接口TWI 263

10.3.1 两线串行接口的定义 263

10.3.2 TWI模块 264

10.3.3 TWI相关寄存器 266

10.3.4 使用TWI 268

10.3.5 多主机系统和仲裁 275

10.3.6 应用TWI接口的简单例子 276

10.4 TWI接口的应用 278

第11章 USART接口 292

11.1 异步串行通信基础 292

11.2 ATmega128的USART异步串行传输接口 293

11.2.1 基本结构 293

11.2.2 USART与UART的兼容性 294

11.2.3 USART时钟 295

11.2.4 数据帧格式 297

11.3 访问USART 297

11.3.1 USART初始化 298

11.3.2 发送数据 298

11.3.3 接收数据 301

11.3.4 异步数据接收 304

11.3.5 多处理器通信模式 306

11.4 与USART相关的寄存器 307

11.5 USART的应用 311

第12章 集成开发环境ICC AVR 323

12.1 用C语言开发单片机 323

12.1.1 C语言开发入门 323

12.1.2 C程序的剖析 324

12.1.3 C语言的运行结构 325

12.2 ICC AVR简介 327

12.2.1 ICC AVR介绍 327

12.2.2 ICC AVR中文件类型及其扩展名 327

12.2.3 附注和扩充 328

12.3 ICC AVR的安装和注册 329

12.3.1 ICC AVR的安装 329

12.3.2 ICC AVR的运行 330

12.3.3 ICC AVR的注册 330

12.4 ICC AVR的IDE环境 331

12.4.1 工程管理 331

12.4.2 编译一个单独的文件 332

12.4.3 创建一个新的工程 332

12.4.4 应用构筑向导生成工程文件 333

12.5 ICC AVR的设置与使用 335

12.5.1 ICC AVR的Compiler Options设置 335

12.5.2 ICC AVR的Environment Options设置 338

12.5.3 ICC AVR的使用 339

12.5.4 创建初始化程序和源程序框架 341

12.5.5 下载程序文件 343

12.6 ICC AVR的库函数 344

12.6.1 头文件 345

12.6.2 字符类型函数 345

12.6.3 浮点运算函数 346

12.6.4 标准输入/输出函数 346

12.6.5 读/写内置EEPROM函数 347

12.6.6 标准库和内存分配函数 348

12.6.7 字符串函数 348

12.6.8 变量参数函数 349

12.6.9 堆栈检查函数 350

12.7 对AVR的编程 351

12.7.1 访问AVR底层设置 351

12.7.2 位操作 351

12.7.3 程序存储器和常量数据 352

12.7.4 字符串 353

12.7.5 堆栈 353

12.7.6 在线汇编 354

12.7.7 I/O寄存器 354

12.7.8 绝对内存地址 355

12.7.9 C任务 356

12.7.10 中断操作 356

12.7.11 访问UART 357

12.7.12 访问EEPROM 357

第13章 集成开发环境AVR Studio 359

13.1 AVR Studio的简介 359

13.1.1 AVR Studio支持的工具与器件 359

13.1.2 安装AVR Studio 362

13.1.3 运行AVR Studio 365

13.2 AVR Studio的IDE 368

13.2.1 菜单栏(Menu) 368

13.2.2 工具栏(Toolbars) 371

13.2.3 编辑区 372

13.2.4 工程区 373

13.2.5 状态区 373

13.2.6 I/O区 374

13.2.7 存储器区 375

13.2.8 寄存器区 377

13.2.9 反汇编区 377

13.2.10 输出区 378

13.3 设置AVR tudio 378

13.3.1 汇编器的选择 378

13.3.2 调试的设置 380

13.3.3 断点的设置 383

13.4 查看和修改状态 386

13.4.1 查看和修改机器状态 386

13.4.2 查看和修改寄存器与变量的值 387

13.5 AVR的汇编 387

13.5.1 AVR汇编语句格式 387

13.5.2 AVR汇编器 388

13.5.3 AVR下载线 392

第14章 AVR综合应用实例 396

14.1 基于ATmega128的MP3播放机设计 396

14.1.1 系统整体设计 396

14.1.2 硬件设计 397

14.1.3 软件设计 399

14.2 基于ATmega128 CAN-GPRS网关的设计 419

14.2.1 系统整体设计 419

14.2.2 硬件设计 420

14.2.3 软件设计 421

14.3 基于ATmega128的电机调速系统设计 422

14.3.1 系统整体设计 422

14.3.2 硬件设计 423

14.3.3 软件设计 424

14.4 基于ATmega128的智能跑步机控制器设计 426

14.4.1 系统整体设计 426

14.4.2 硬件设计 427

14.4.3 软件设计 428

相关图书
作者其它书籍
返回顶部