《AVR单片机入门与速成攻略》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:高显生著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111461555
  • 页数:307 页
图书介绍:本书是介绍AVR单片机C语言开发的入门书。全书共三篇,计22章。所有章节都配有实践环节,每一个模块都给出了相应的实验电路和C语言代码。第一篇(1-6章),主要是介绍的是AVR单片机的片内资源配置及开发AVR单片机所需的软硬件环境;第二篇(7-15章),从介绍AVR单片机的单元模块入手,详细介绍了AVR单片机的中断、定时器、ADC模块、模拟比较器及USART模块的内容,同时介绍了如何使用AVR单片机面向字节的高速硬件串行接口TWI、SPI实现与DS1307实时时钟和存储器93C46的通信;第三篇(16-22章),主要介绍了AVR单片机的扩展应用,主要包括如何使用AVR单片机驱动步进电机、实现红处线的解码和发射、与单一总线的数字温度传感器DS18B20和湿度传感器DHT11的通信,以及如何使用AVR单片机驱动1602液晶显示器和基于COG技术的新型12864点阵型液晶显示器。

第一篇 片上功能和开发环境 2

第1章 认识AVR 2

1.1 AVR系列单片机 2

1.1.1系出名门的AVR 2

1.1.2 AVR系列产品家族 3

1.1.3 AVR的特色功能 3

1.1.4 AVR的产品型号 5

1.2 ATmega32单片机简介 6

1.2.1片内资源配置 6

1.2.2 ATmega32的内部结构 7

1.2.3 ATmega32的封装 8

1.2.4 1/O端口的构成 11

第2章 C语言入门 13

2.1数据和运算 13

2.1.1数的进制 13

2.1.2码制 14

2.1.3数据类型 14

2.1.4常量 15

2.1.5变量 15

2.1.6运算符 16

2.1.7复合赋值运算符 18

2.2语句 19

2.2.1控制语句 19

2.2.2其他语句 24

2.3函数 24

2.3.1自定义函数 25

2.3.2函数的声明和调用 26

2.4程序 26

2.4.1程序的构成 26

2.4.2程序的注释 27

2.4.3局部变量和全局变量 28

2.4.4变量修饰关键词 29

2.5预处理命令 30

2.5.1宏定义 30

2.5.2文件包含 30

2.6构造类型数据 31

2.6.1数组 31

2.6.2结构体 32

2.6.3共用体 32

第3章 AVR的开发环境 34

3.1 AVR的硬件资源 34

3.1.1搭建AVR系统板 34

3.1.2 AVR单片机的编程 35

3.1.3编程/仿真接口设计 37

3.2 Atmel Studio 6集成开发环境 37

3.2.1 Atmel Studio 6的功能 38

3.2.2 Atmel Studio 6的安装 38

3.3第一个AVR程序 45

3.3.1新建AVR项目 45

3.3.2程序的编辑和编译 49

3.3.3连接编程器和系统板 51

3.3.4编程目标单片机 52

第4章 AVR的仿真 59

4.1 AVR的位操作 59

4.1.1打开已有的项目 59

4.1.2位操作 61

4.2 AVR CPU模拟器 65

4.2.1程序的调试 66

4.2.2设立观察窗口 69

4.2.3添加断点 71

4.2.4更改模拟CPU的时钟频率 72

第5章 系统控制与复位 74

5.1熔丝位 74

5.1.1熔丝位的功能 74

5.1.2熔丝位的设定 76

5.1.3熔丝位的错误设置 78

5.2锁定位 80

5.2.1锁定位的功能 80

5.2.2锁定位的应用 81

5.3复位 83

5.3.1复位源 83

5.3.2复位的相关寄存器 86

5.4看门狗定时器 87

5.4.1看门狗定时器的结构 87

5.4.2看门狗定时器的控制 88

第6章 时钟和电源管理 89

6.1时钟源 89

6.1.1时钟的来源 89

6.1.2时钟的分布 90

6.1.3时钟的设置 91

6.2睡眠模式 93

6.2.1睡眠模式的分类 93

6.2.2睡眠模式的应用 94

6.3片内存储器 95

6.3.1存储器的结构 95

6.3.2 E2PROM数据存储器 96

6.3.3 E2PROM的读写实例 98

第二篇 单元模块 102

第7章 外部中断 102

7.1中断系统 102

7.1.1中断的类型 102

7.1.2中断的控制 103

7.1.3中断的处理 103

7.2外部中断 104

7.2.1外部中断的控制寄存器 105

7.2.2外部中断的编程应用 107

第8章 定时/计数器0 112

8.1认识T/C0 112

8.1.1 T/C0的内部结构 112

8.1.2认识PWM 113

8.1.3 T/C0的工作模式 114

8.2 T/C0的控制 117

8.2.1 T/C0的相关寄存器 117

8.2.2 T/C0的预分频器 119

8.3 T/C0的编程应用 120

8.3.1基于T/C0的时钟 120

8.3.2基于T/C0的PWM调光灯 123

第9章 定时/计数器1 127

9.1认识T/C 1 127

9.1.1 T/C1的内部结构 127

9.1.2 T/C 1的工作模式 129

9.1.3捕捉模式的应用 133

9.2 T/C 1的控制 134

9.2.1 T/C 1的16位读写方式 134

9.2.2 T/C 1的控制寄存器 134

9.3 T/C 1的编程应用 139

9.3.1基于T/C 1的秒计时器 139

9.3.2基于T/C 1的2路快速PWM调光 143

9.3.3基于T/C 1的频率计 146

第10章 定时/计数器2 150

10.1认识T/C2 150

10.1.1 T/C2的内部结构 150

10.1.2 T/C2的工作模式 151

10.2 T/C2的控制 154

10.2.1 T/C2的相关寄存器 154

10.2.2 T/C2的预分频器 157

10.3 T/C2的编程应用 158

第11章 ADC模块 161

11.1 ADC模块的功能 161

11.1.1逐次逼近型A/D转换器 161

11.1.2 ADC模块的内部结构 162

11.1.3 ADC模块的基准电压 163

11.1.4 ADC模块的转换结果 164

11.1.5模拟通道的等效电路 165

11.1.6 A/D转换的时钟 165

11.2 ADC模块的控制 167

11.2.1 ADC模块的工作方式 167

11.2.2 ADC模块的控制寄存器 167

11.3 ADC模块的编程应用 170

第12章 模拟比较器 174

12.1模拟比较器 174

12.1.1比较器的功能 174

12.1.2比较器模块的工作原理 174

12.1.3比较器模块的相关寄存器 175

12.1.4配置比较器输入引脚 176

12.2比较器模块的编程应用 177

第13章SPI模块 179

13.1 SPI模块 179

13.1.1 SPI总线接口 179

13.1.2 SPI模块的功能 179

13.2 SPI模块的设置 181

13.2.1 SPI模块的引脚配置 181

13.2.2 SPI模块的控制寄存器 181

13.2.3 SPI的数据传输时序 183

13.2.4 SPI模块设置向导 184

13.3存储器93C46 184

13.3.1 93C46的引脚功能 184

13.3.2 93C46的操作指令 185

13.3.3 93C46的数据传输时序 187

13.4 SPI模块的编程应用 187

第14章 TWI模块 191

14.1 TWI模块介绍 191

14.1.1 TWI总线 191

14.1.2 TWI总线的数据传输格式 192

14.1.3 TWI模块的内部结构 194

14.2 TWI模块的应用 196

14.2.1 TWI模块的控制寄存器 196

14.2.2 TWI模块的编程向导 198

14.3 DS1307实时时钟 200

14.3.1 DS1307的功能 200

14.3.2 DS1307的寄存器 201

14.3.3 DS1307的数据格式 202

14.3.4 TWI模块编程实例 203

第15章 USART模块 209

15.1 USART模块介绍 209

15.1.1串行通信方式 209

15.1.2 USART模块的功能特点 210

15.1.3串行通信的数据帧格式 211

15.1.4接收器FIFO队列 211

15.2 USART模块的控制 212

15.2.1波特率发生器 212

15.2.2 USART模块的控制寄存器 213

15.3 USART模块的应用 217

15.3.1 USART模块的应用向导 217

15.3.2 USART模块自收自发实验 218

15.3.3 USART模块与PC的通信 221

第三篇 扩展应用实例 228

第16章 步进电机的驱动 228

16.1步进电机的特点 228

16.1.1步进电机的分类 228

16.1.2步进电机的工作原理 229

16.1.3步距角的计算方法 229

16.2 28BYJ48型步进电机 230

16.2.1 28BYJ48电机性能指标 230

16.2.2 28BYJ48电机绕组结构 230

16.3步进电机的驱动 231

16.3.1步进电机的励磁方式 231

16.3.2步进电机的驱动电路 231

16.3.3步进电机编程实例 232

第17章 DS 1302实时时钟 235

17.1 DS1302的功能 235

17.1.1 DS1302的引脚 235

17.1.2 BCD码 236

17.1.3 DS1302的内部结构 237

17.1.4 DS1302的寄存器 238

17.1.5 DS1302的控制指令 239

17.1.6 DS1302数据传输格式 240

17.2 DS1302的应用实例 240

17.2.1 DS1302初始化 240

17.2.2 DS1302数显时钟 241

第18章 红外线解码及发射 246

18.1红外线遥控的编码方式 246

18.1.1编码的帧结构 246

18.1.2编码的方式 246

18.1.3编码的调制与解调 247

18.2红外线解码与发射 248

18.2.1红外线解码的方法 248

18.2.2红外线发射的方法 249

18.3红外线遥控编程实例 249

18.3.1红外线解码器 249

18.3.2红外线发射器 253

第19章 DS18B20数字温度传感器 257

19.1 DS18B20的功能介绍 257

19.1.1 DS18B20的特点 257

19.1.2 DS 18B20的引脚定义 258

19.1.3 DS18B20的内部结构 258

19.1.4 温度值的存储方式 260

19.2 DS 18B20的读写方式 260

19.2.1 DS18B20的初始化时序 260

19.2.2 DS 18B20的写时序 261

19.2.3 DS 18B20的读时序 262

19.3 DS 18B20的通信协议 262

19.3.1 ROM指令 262

19.3.2 RAM指令 263

19.4 DS18B20的应用 263

19.4.1 DS18B20的供电方式 263

19.4.2 DS18B20的编程向导 265

19.4.3 DS 18B20的使用要点 265

19.4.4 DS 18B20编程实例 266

第20章 DHT11数字温湿度传感器 271

20.1 DHT11数字温湿度传感器的功能 271

20.1.1 DHT11的性能指标 271

20.1.2 DHT11的典型应用 272

20.1.3 DHT11的通信时序 272

20.2 DHT11的编程应用 273

第21章 1602字符型液晶显示器 277

21.1 1602液晶概述 277

21.1.1 1602液晶的特点 277

21.1.2 1602液晶的引脚功能 277

21.1.3 1602液晶与单片机的接口 278

21.2 1602液晶的功能 278

21.2.1 1602液晶的显示数据RAM 278

21.2.2 1602液晶的字符发生器 278

21.2.3 1602液晶的操作时序 280

21.2.4 1602液晶的操作指令 281

21.2.5 1602液晶的初始化 283

21.3 1602液晶编程实例 283

第22章 12864点阵型液晶显示器 287

22.1 12864点阵型液晶介绍 287

22.1.1 JLX12864G-086液晶的特点 287

22.1.2 JLX 12864G-086液晶的引脚功能 288

22.2 12864点阵型液晶显示方式 289

22.2.1显示屏与显存的对应关系 289

22.2.2显存的组织结构 289

22.2.3读写时序 290

22.2.4 UC1701X指令集 291

22.3 12864点阵型液晶应用实例 292

22.3.1液晶显示器的接口电路 292

22.3.2汉字的取模方法 292

22.3.3图像的取模方法 293

22.3.4汉字和图形显示 294

附录A ATmega32单片机系统板原理图 303

附录B 搭建系统板所需材料清单 304

附录C 时钟源及启动时间选择 305

附录D AVR bronco实验板 307