当前位置:首页 > 工业技术
ATMEGA系列单片机原理及应用  C语言教程
ATMEGA系列单片机原理及应用  C语言教程

ATMEGA系列单片机原理及应用 C语言教程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:海涛主编;李啸骢,龙军,骆武宁副主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:9787111227816
  • 页数:336 页
图书介绍:本书包括ATmega16的内部结构及接口特点,模拟接口及使用方法。
《ATMEGA系列单片机原理及应用 C语言教程》目录

第1章 单片机综述 1

1.1 微机发展史简介 1

1.2 单片机与微机 1

1.3 嵌入式系统 2

1.3.1 嵌入式系统的定义与特点 2

1.3.2 嵌入式系统与单片机 3

1.4 AVR单片机简介 4

1.4.1 AVR单片机的主要特点 5

1.4.2 AVR单片机系列产品 6

1.5 单片机的应用特点 9

1.6 用C语言开发单片机的优势 10

本章小结 11

习题 12

第2章 ATmega的内部结构及接口特点 13

2.1 ATmega16单片机综述 13

2.1.1 ATmega16的主要特性 13

2.1.2 引脚配置 13

2.1.3 ATmega单片机内部结构框图 14

2.1.4 引脚功能描述 16

2.2 AVR CPU内核 17

2.2.1 结构综述 17

2.2.2 ALU算术逻辑单元 18

2.2.3 状态寄存器 18

2.2.4 通用寄存器文件 19

2.2.5 X、Y、Z寄存器 20

2.2.6 堆栈指针 20

2.2.7 指令执行时序 20

2.2.8 中断与中断处理 21

2.3 AVR ATmega16的存储器 22

2.3.1 系统内可编程的Flash程序存储器 22

2.3.2 SRAM数据存储器 23

2.3.3 数据存储器访问时序 24

2.3.4 EEPROM数据存储器 24

2.3.5 I/O存储器 27

2.4 系统时钟及时钟选项 27

2.4.1 时钟系统及其分配 27

2.4.2 时钟源 28

2.4.3 默认时钟源 28

2.4.4 晶体振荡器 28

2.4.5 低频晶体振荡器 29

2.4.6 外部RC振荡器 30

2.4.7 标定的片内RC振荡器 31

2.5 电源管理及睡眠模式 31

2.5.1 MCU控制寄存器 31

2.5.2 最小化功耗 32

2.6 系统控制和复位 32

2.6.1 复位AVR 32

2.6.2 片内基准电压 34

2.7 看门狗定时器 35

2.8 中断 36

2.8.1 ATmega16的中断向量 36

2.8.2 通用中断控制寄存器(GICR) 37

2.9 I/O端口描述 38

2.9.1 端口使用介绍 38

2.9.2 作为通用数字I/O的端口 39

2.9.3 配置引脚 39

2.9.4 读取引脚上的数据 40

2.9.5 未连接引脚的处理 43

本章小结 43

习题 43

第3章 ATmega单片机的指令系统 45

3.1 ATmega指令系统概述 45

3.1.1 ATmega指令系统的分类 45

3.1.2 ATmega指令系统的寻址方式和寻址空间 45

3.2 ATmega指令分类介绍 49

3.2.1 算术和逻辑指令 49

3.2.2 转移指令 54

3.2.3 子程序调用和返回指令 60

3.2.4 数据传送指令 61

3.2.5 位操作和位测试指令 65

3.2.6 MCU控制指令 68

本章小结 69

习题 69

第4章 ATmega单片机的中断系统及定时器 71

4.1 ATmega单片机的中断系统 71

4.1.1 中断处理 71

4.1.2 外部中断 72

4.1.3 中断响应 74

4.2 定时器/计数器的使用方法 76

4.2.1 8位定时器/计数器0——T/C0 76

4.2.2 16位定时器/计数器1——T/C1 78

4.2.3 8位定时器/计数器2——T/C2 84

4.3 T/C0与T/C1共用的预分频器的使用方法 88

4.4 具有PMW功能与异步操作的定时器/计数器使用方法 89

4.4.1 T/C1的应用 89

4.4.2 T/C2的应用 92

4.4.3 T/C2的异步操作方式 94

4.5 ATmega单片机的时钟综合实例 96

本章小结 118

习题 118

第5章 ATmega16单片机的串行通信接口 120

5.1 串行外设接口SPI 120

5.1.1 ATmega16 SPI的特点 120

5.1.2 主机和从机之间的SPI连接 120

5.2 全双工的串行设备接口SPI的功能及使用方法 123

5.2.1 从机模式 123

5.2.2 主机模式 123

5.2.3 数据模式 124

5.3 USART描述 126

5.3.1 USART的主要特点 126

5.3.2 AVR USART和AVR UART的兼容性 127

5.3.3 时钟 128

5.3.4 帧格式 130

5.3.5 USART的初始化 130

5.3.6 数据发送——USART发送器 131

5.3.7 数据接收——USART接收器 132

5.3.8 多处理器通信模式 136

5.4 两线串行接口TWI 143

5.4.1 TWI的主要特点 143

5.4.2 TWI模块综述 147

5.4.3 总线接口单元 148

5.4.4 地址匹配单元 148

5.4.5 控制单元 148

5.4.6 使用TWI 151

本章小结 159

习题 160

第6章 ATmega单片机的模拟接口及使用方法 161

6.1 模拟比较器 161

6.2 模数转换器 163

6.2.1 主要特点 163

6.2.2 ADC的工作原理 164

6.2.3 启动ADC转换 165

6.2.4 预分频及ADC转换时序 166

6.2.5 差分增益信道 168

6.2.6 通道或基准源的选择 168

6.2.7 ADC输入通道 169

6.2.8 ADC基准电压源 169

6.2.9 ADC噪声抑制器 170

6.2.10 模拟输入电路 170

6.2.11 ADC转换结果 171

6.3 脉冲宽度调制输出PWM(D/A)功能特点及功能 183

6.4 数字滤波方法 185

本章小结 191

习题 191

第7章 ATmega C语言实用程序控制流 193

7.1 C语言的结构化程序设计 193

7.2 选择语句 194

7.2.1 if语句 194

7.2.2 switch分支 197

7.2.3 选择语句的嵌套 198

7.3 循环语句 199

7.3.1 while语句 199

7.3.2 do while语句 200

7.3.3 for语句 200

7.3.4 循环语句嵌套 201

7.3.5 break语句和continue语句 202

本章小结 203

习题 204

第8章 ATmega硬件和实用程序 205

8.1 ATmega I/O接口实验 205

8.2 数码管应用和部分元件介绍 209

8.2.1 数码管公共端和接法的判断 209

8.2.2 74HC595描述 210

8.2.3 光电隔离晶体管阵列及通信接口 211

8.2.4 ATmega16与数码管的连接 214

8.3 基于ATmega的12864LCD液晶串行显示 217

8.3.1 中文液晶显示模块功能描述 217

8.3.2 ATmega单片机与12864LCD液晶显示器的连接 218

8.3.3 串行接口数据传输描述 218

8.3.4 液晶串行接口数据传输程序 220

8.4 单片机发送数据到上位机 221

8.4.1 单片机发送数据到上位机原理图 221

8.4.2 程序编写步骤 223

8.5 RTC4553时钟芯片在单片机ATmega16中的应用 225

8.5.1 RTC4553的内部结构 225

8.5.2 RTC4553的工作原理 227

8.5.3 RTC4553与单片机连接及编程 228

8.6 DS1302时钟芯片在ATmega8单片机中的应用 231

8.6.1 DS1302的主要功能 231

8.6.2 DS1302的工作原理 231

8.6.3 DS1302与单片机的接口电路及相关程序 232

8.7 基于ATmega8TWI访问程序在24xx中的应用 236

8.8 ATmega单片机测量并网前的相位差参数 240

8.8.1 频率及相位差测量的电路原理图 240

8.8.2 相位差的测量方法 242

8.8.3 测量相位差的流程框图和软件 243

8.9 多个ATmega单片机系统在电容分相补偿中的应用 244

8.9.1 分相补偿技术要求 244

8.9.2 系统硬件构成 245

8.9.3 分相补偿多CPU通信软件组成 245

8.10 ATmega单片机在液位自动控制中的应用 252

8.10.1 液位自动控制装置技术要求 252

8.10.2 单片机控制原理图 253

8.10.3 液位控制及远程控制程序 253

8.11 ATmega单片机在三相晶闸管触发电路中的应用 268

8.11.1 三相半控桥的触发原理 268

8.11.2 触发延时时间与电压的关系 269

8.11.3 ATmega单片机触发晶闸管电路原理图 270

8.11.4 晶闸管触发主程序 270

8.12 基于ATmega单片机的高精度三相电能测量系统 276

8.12.1 ATT7022B功能简要说明 277

8.12.2 ATT7022B的内部结构及封装形式 277

8.12.3 串行Flash芯片AT45DB161功能简介 279

8.12.4 ATmega单片机和ATIT022B电能芯片构成的高精度三相电能测量系统 279

8.12.5 ATmega和ATIT022B电能芯片控制软件 279

8.13 基于MAX125的多通道同步采样数据采集系统 282

8.13.1 ADC转换器MAX125的工作原理 282

8.13.2 系统结构及硬件、软件设计 285

8.14 基于TEA1622P的通用开关电源 287

本章小结 290

习题 290

第9章 编译器和集成开发环境 292

9.1 单片机程序下载及集成开发环境 292

9.2 单片机编译器和集成环境的介绍 296

9.3 ATMANAVR编译器简介 298

9.4 AVR存储器的使用 299

9.5 启动文件 301

9.6 ATMANAVR菜单解释 302

9.7 工程的建立 305

9.8 ATMANAVR 5.8.1支持的库函数介绍 310

9.8.1 C标准库函数 310

9.8.2 数学函数 311

9.8.3 字符函数 311

9.8.4 字符串函数 312

9.8.5 存储器API函数 312

9.8.6 中断API函数 313

9.8.7 I/O API函数 313

9.8.8 看门狗API函数 314

9.8.9 LCD库函数 314

9.8.10 其他函数 315

9.9 单片机调试小工具 315

本章小结 316

附录 318

附录A ATmega指令纵览 318

附录B C语言相关表格 322

附录C ATmega单片机部分寄存器 324

附录C.1 ATmega I/O寄存器描述 324

附录C.2 ATmega定时、中断寄存器描述 325

附录C.3 ATmega串行通信寄存器 330

附录C.4 ATmega模拟比较器寄存器 333

参考文献 336

返回顶部