当前位置:首页 > 工业技术
AVR单片机开发从入门到精通
AVR单片机开发从入门到精通

AVR单片机开发从入门到精通PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:温正,何嘉扬,赵志鹏编著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2009
  • ISBN:9787508386904
  • 页数:342 页
图书介绍:本书介绍了ATMEL公司开发的AVR单片机的特点、各种AVR单片机所具有的片上资源和外设接口。并选用了一款高端AVR单片机——ATmega128单片机为主线,详细地介绍了其硬件组成和结构;讲述了ATmega128单片机的指令系统,并在书中配有大量的实例,做到边学习边调试,使读者能够真正理解各指令的功能、使用及注意事项;深入地讲解了ATmega128单片机开发工具WinAVR及集成开发环境AVR studio,并通过实例介绍了WinAVR进行ATmega128单片机系统开发的两种途径;然后讲述了ATmega128单片机片上资源和接口资源的特点、应用程序设计及应用实例;作为进一步的提高,后续章节通过有代表性的、复杂的编程和应用,给读者提供一个提升的平台。
《AVR单片机开发从入门到精通》目录

第1章 AVR单片机概述 1

1.1 AVR单片机简介 1

1.2 选择合适的AVR单片机 2

1.3 ATmega128单片机简介 3

1.3.1 ATmega128单片机的特点 3

1.3.2 ATmega128单片机的引脚配置 4

1.3.3 ATmega128单片机的总体结构 6

1.3.4 ATmega128单片机的CPU内核 6

1.3.5 ATmega128与ATmega103的兼容性 8

第2章 ATmega128单片机的硬件结构 10

2.1 ATmega128单片机的存储器组织 10

2.1.1 可编程Flash程序存储器 10

2.1.2 SRAM数据存储器 10

2.1.3 EEPROM数据存储器 11

2.1.4 I/O存储器 13

2.1.5 外部存储器接口 13

2.2 ATmega128单片机系统的时钟 15

2.2.1 ATmega128单片机时钟系统结构 16

2.2.2 时钟源的选择 16

2.3 ATmega128单片机的休眠状态 17

2.3.1 工作模式 17

2.3.2 与休眠状态工作模式相关的寄存器 18

2.4 ATmega128单片机的I/O端口 18

2.4.1 通用数字I/O端口 19

2.4.2 I/O端口的第二功能 19

2.4.3 I/O端口寄存器的说明 24

2.5 ATmega128单片机的中断 26

2.5.1 ATmega128单片机的中断向量 26

2.5.2 ATmega128单片机的外部中断 28

2.6 ATmega128单片机的定时器/计数器 29

2.6.1 8位定时器/计数器T/C0 29

2.6.2 8位定时器/计数器T/C2 33

2.6.3 16位定时器/计数器T/C1和T/C3 37

2.7 ATmega128单片机的输出比较调节器 46

2.8 同步串行口SPI 47

2.8.1 SPI工作原理 47

2.8.2 与SPI接口操作相关的寄存器说明 48

2.9 通用同步/异步串行口USART 50

2.9.1 USART概述 50

2.9.2 数据发送机理 50

2.9.3 数据接收机理 52

2.9.4 接收异步数据机理 53

2.9.5 多处理器通信模式 54

2.9.6 USART接口操作相关寄存器说明 54

2.10 ATmega128单片机的TWI总线接口 56

2.10.1 TWI协议的帧格式 57

2.10.2 TWI接口操作相关寄存器说明 59

2.11 ATmega128单片机模拟比较器 61

2.11.1 模拟比较器操作相关寄存器说明 61

2.11.2 模拟比较器多工输入 62

2.12 ATmega128单片机A/D转换 62

2.12.1 模数转换器的结构 62

2.12.2 与A/D转换相关的寄存器 63

2.13 ATmega128单片机的熔丝位 65

2.13.1 ATmega128单片机熔丝位的配置注意事项 66

2.13.2 ATmega128重要熔丝位的定义和配置方式 67

第3章 ATmega128单片机指令系统 69

3.1 ATmega128单片机的指令格式 69

3.1.1 ATmega128单片机指令系统的伪指令 70

3.1.2 ATmega128单片机指令系统的操作数 73

3.1.3 状态寄存器——SREG 73

3.2 ATmega128单片机的指令系统简述 74

3.3 寻址方式 74

3.4 数据传送指令 76

3.4.1 直接数据传输指令 76

3.4.2 间接数据传送指令 77

3.4.3 程序存储器数据传输指令 78

3.4.4 I/O端口数据传送指令 79

3.4.5 堆栈操作指令 80

3.5 算术运算指令 80

3.5.1 加法指令 80

3.5.2 减法指令 81

3.5.3 取反码指令 82

3.5.4 求补码指令 83

3.5.5 比较指令 83

3.5.6 乘法指令 84

3.6 逻辑运算指令 85

3.6.1 逻辑与指令 85

3.6.2 逻辑或指令 86

3.6.3 逻辑异或指令 87

3.7 跳转指令 87

3.7.1 无条件跳转指令 87

3.7.2 条件跳转指令 88

3.7.3 调用和返回指令 93

3.8 位指令和位测试指令 95

3.8.1 带进位逻辑操作指令 95

3.8.2 位变量传送指令 96

3.8.3 位变量修改指令 96

3.9 MCU指令 100

3.10 ATmega128单片机指令系统的应用 100

第4章 ATmega128单片机的系统开发工具 113

4.1 WinAVR软件开发工具 113

4.2 利用PN文本编辑器及make工具进行编译 115

4.2.1 源代码的编译过程 115

4.2.2 在PN中添加工具 121

4.2.3 多文件的编译 122

4.3 利用命令行方式进行编译 125

4.4 AVR Studio集成开发环境 126

4.4.1 软件仿真 127

4.4.2 JTAG在线调试 130

4.4.3 JTAG ICE简介 130

4.5 AVR-GCC支持的API函数 132

4.5.1 程序存储器的API函数 132

4.5.2 EEPROM的API函数 134

4.5.3 中断的API函数 134

4.5.4 I/O端口的API函数 135

4.5.5 看门狗API 137

4.6 AVR-GCC API函数的应用 137

4.6.1 EEPROMAPI操作函数编程 137

4.6.2 看门狗API操作函数编程 138

第5章 I/O端口的应用 140

5.1 ATmega128 I/O端口的相关知识 140

5.1.1 通用数字I/O端口 140

5.1.2 端口的第二功能 141

5.2 ATmega128 I/O端口的相关寄存器说明 141

5.3 ATmega128键盘扫描硬件电路设计 143

5.4 ATmega128 I/O端口键盘扫描设计构思 144

5.5 ATmega128 I/O端口键盘扫描程序 145

第6章 中断系统及其应用 148

6.1 ATmega128中断的相关知识 148

6.2 ATmega128中断的相关寄存器说明 149

6.3 ATmega128中断程序 151

6.3.1 基本外部中断 151

6.3.2 串口通信中断 152

第7章 定时器/计数器应用 155

7.1 ATmega128定时器/计数器的相关知识 155

7.2 ATmega128定时器/计数器的相关寄存器说明 155

7.3 ATmega128定时器/计数器程序 158

7.3.1 简单定时器程序 159

7.3.2 电子时钟 161

第8章 I/O端口应用——模拟I2C协议 166

8.1 24LC512芯片的相关知识 166

8.2 ATmega128与24LC512硬件电路设计 171

8.3 24LC512程序设计构思 171

8.4 模拟I2C协议的24LC512程序 172

第9章 ATmega128片内ADC的应用 177

9.1 ATmega128片内ADC的相关知识 177

9.1.1 A/D转换过程 177

9.1.2 A/D转换时序 178

9.1.3 A/D数据采集中的相关操作 180

9.2 ATmega128片内ADC的相关寄存器说明 182

9.3 ATmega128片内ADC数据采集程序 185

第10章 ATmega128片内EEPROM应用设计 187

10.1 ATmega128片内EEPROM的相关知识 187

10.2 ATmega128片内EEPROM的相关寄存器说明 187

10.3 ATmega128片内EEPROM程序 189

第11章 USART接口的应用 192

11.1 USART接口的基本知识 192

11.1.1 时钟产生 193

11.1.2 帧格式 193

11.2 微型打印机编程的基本知识 193

11.2.1 微型打印机的标准串口使用 194

11.2.2 微型打印机的串口设置 194

11.2.3 微型打印机的命令集 195

11.3 ATmega128的USART接口寄存器说明 196

11.4 ATmega128与微型打印机的硬件电路设计 200

11.5 微型打印机的程序 201

第12章 SPI接口的应用 204

12.1 SPI接口的基本知识 204

12.2 SPI接口的EEPROM相关知识 205

12.2.1 读命令 205

12.2.2 编程和擦除命令 209

12.2.3 其他命令 211

12.3 ATmega128的USART接口寄存器说明 211

12.4 ATmega128与AT45DB642的硬件电路设计 213

12.5 SPI接口的EEPROM程序 214

第13章 串行TWI(I2C)接口应用 219

13.1 I2C总线的基本知识 219

13.1.1 启动条件和停止条件 219

13.1.2 I2C总线的数据传输格式 220

13.1.3 应答位 220

13.2 I2C总线接口日历时钟芯片的相关知识 221

13.2.1 寄存器结构 221

13.2.2 PCF8563的I2C总线协议 222

13.3 ATmega128的I2C接口寄存器说明 223

13.4 PCF8563硬件电路设计 226

13.5 程序设计构思 226

13.6 PCF8563通信程序 228

第14章 LCD接口的应用 231

14.1 T6963C芯片的相关知识 231

14.1.1 液晶显示模块的结构特点 231

14.1.2 T6963C芯片的指令集 232

14.1.3 T6963C与ATmega128的接口时序 236

14.2 ATmega128与LCD硬件电路设计 237

14.3 LCD显示程序 238

第15章 高速AD7891的应用 244

15.1 高速AD7891芯片的相关知识 244

15.1.1 模拟信号输入 245

15.1.2 基准电压 245

15.1.3 控制寄存器 246

15.1.4 AD7891的时序 246

15.2 ATmega128与AD相关寄存器说明 247

15.3 ATmega128与AD7891的硬件电路设计 250

15.4 AD7891转换数据采集程序 251

第16章 温度传感器的应用 256

16.1 温度传感器的相关知识 256

16.1.1 温度传感器DS1620 256

16.1.2 温度传感器DS18B20 260

16.2 ATmega128与DS1620的硬件电路设计 263

16.2.1 ATmega128与DS1620的硬件电路设计 263

16.2.2 ATmega128与DS18B20的硬件电路设计 264

16.3 程序设计构思 264

16.4 温度传感器转换程序 265

16.4.1 DS1620温度传感器转换程序 265

16.4.2 DS18B20温度传感器转换程序 268

第17章 机电设备综合参数测试仪的硬件设计 271

17.1 机电设备综合参数测试仪的总体设计 271

17.1.1 硬件总体设计 271

17.1.2 软件总体设计 274

17.2 信号采集调理电路设计 281

17.2.1 模拟信号的输入调理 281

17.2.2 开关量的输入/输出 282

17.3 系统主要外围电路设计 285

17.3.1 A/D转换 285

17.3.2 液晶显示模块设计 288

17.3.3 键盘模块设计 293

17.3.4 历时钟模块设计 293

17.3.5 RAM接口电路设计 294

17.3.6 SD卡文件系统的实现 299

17.3.7 电源系统的搭建 319

17.4 机电设备综合参数测试仪的电磁兼容性设计 321

17.4.1 硬件抗干扰设计 322

17.4.2 软件抗干扰设计 327

附录 329

参考文献 339

返回顶部