扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

AVR单片机C语言轻松学(配视频教程)

综合评级:
★★★★★

定价:
¥58.00

作者:
严雨 编著

出版社:
电子工业出版社

出版日期:
2015年10月

页数:
308

字数:
492800

ISBN:
9787121273728

书籍介绍

本书分为ATmega16单片机基础知识、ATmga16单片机模块应用以及ATmega16单片机的应用系统三大部分。本书具有基础内容丰富、循序渐进、由浅入深的特点,涉及了ATmega16单片机从硬件模块基础到软件设计各个方面的知识的特点,并且基于Proteus硬件仿真环境提供了大量的仿真实例,还提供了17个详细讲解的视频供读者深入理解ATmega16单片机的使用。

作者简介

严雨 嵌入式开发工程师,具有丰富的开发经验,曾就职于多家世界知名公司,从事嵌入式开发工作。对于单片机的学习,融入了作者自身多年积累的经验和技巧。

目录

第1章ATmega16单片机基础

1.1AVR系列单片机

1.2ATmega16单片机的特点、硬件结构和封装

1.3ATmega16单片机的内核

1.3.1算术逻辑单元ALU

1.3.2状态寄存器SREG

1.3.3通用寄存器

1.3.4堆栈

1.3.5中断和复位处理模块

1.4ATmega16单片机的存储器体系

1.4.1程序存储器

1.4.2数据存储器

1.4.3E2PROM存储器

1.5ATmega16单片机的系统时钟

1.5.1ATmega16的系统时钟组成

1.5.2ATmega16的时钟源选择

1.5.3晶体振荡器

1.5.4低频晶体振荡器

1.5.5外部RC振荡器

1.5.6片内RC振荡器

1.5.7外部时钟源

1.6ATmega16单片机的电源管理

1.7ATmega16单片机的复位

1.7.1ATmega16的复位源

1.7.2上电复位

1.7.3外部复位

1.7.4掉电检测复位

1.7.5看门狗复位

1.7.6ATmega16的复位控制寄存器

1.7.7片内基准电压

1.8ATmega16单片机的中断系统

第2章ATmega16单片机的指令和C语言

2.1ATmega16单片机的指令系统

2.1.1ATmega16单片机的指令集

2.1.2ATmega16单片机的寻址方式

2.2ATmega16单片机C语言的数据类型、运算符号和表达式

2.2.1常量和变量

2.2.2算术运算、赋值、逻辑运算以及关系运算

2.2.3自增减、复合和逗号运算

2.2.4位运算

2.2.5运算的优先级

2.3ATmega16单片机C语言的结构

2.4ATmega16单片机C语言的函数

2.4.1函数的定义、参数和返回值

2.4.2函数的调用

2.4.3局部变量和全局变量

2.5ATmega16单片机C语言的数组和指针

2.6ATmega16单片机C语言的自构造类型

2.6.1结构体

2.6.2联合体

2.6.3枚举

第3章ATmega16单片机的ICC AVR软件开发环境

3.1ATmega16单片机的软件开发环境

3.2安装ICC AVR

3.3ICC AVR的工作界面

3.4ICC AVR的菜单栏和快捷工具栏

3.4.1ICC AVR的菜单栏

3.4.2ICC AVR的快捷工具栏

3.5ICC AVR的扩展关键字

3.5.1中断关键字

3.5.2非挥发寄存器关键字

3.5.3数据段关键字

3.6ICC AVR的文件

3.6.1ICC AVR的常用文件类型

3.6.2ICC AVR的库函数文件

3.6.3ICC AVR的启动文件

3.7“Hello World!”——ICC AVR的应用实例

第4章ATmega16单片机的硬件开发和Proteus硬件仿真环境

4.1ATmega16单片机的硬件系统开发流程和开发工具

4.1.1ATmega16单片机的硬件系统开发流程

4.1.2ATmega16单片机的硬件开发工具

4.2Proteus应用基础

4.2.1Proteus的界面和支持的文件

4.2.2Proteus的菜单

4.2.3Proteus的快捷工具栏和工具箱

4.3Proteus的使用流程

4.4Proteus中的ATmega16及其使用

4.5Proteus和ICC AVR联合使用

第5章ATmega16单片机的I/O引脚和外部中断

5.1ATmega16外部引脚基础使用方法

5.1.1ATmega16的I/O引脚的结构

5.1.2ATmega16的I/O引脚配置

5.1.3ATmega16的I/O引脚电平读取

5.1.4ATmega16的I/O引脚低功耗处理

5.2ATmega16外部引脚的第二功能

5.3ATmega16的外部中断

5.3.1MCU控制寄存器(MCUCR)

5.3.2MCU控制与状态寄存器(MCUCSR)

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

5.3.4通用中断标志寄存器(GIFR)

5.4ATmega16的I/O引脚和中断的应用实例

5.4.1I/O引脚输出高低脉冲电平实例

5.4.2I/O引脚驱动发光二极管(LED)实例

5.4.3I/O引脚驱动单位数码管实例

5.4.4I/O引脚驱动独立按键实例

5.4.5I/O引脚驱动行列键盘实例

5.4.6外部中断控制I/O引脚输出实例

第6章ATmega16单片机的定时计数器

6.1定时计数器T/C0

6.1.1T/C0的相关寄存器

6.1.2T/C0的工作模式

6.2定时计数器T/C1

6.2.1T/C1的相关寄存器

6.2.2T/C1的工作模式

6.3定时计数器T/C2

6.3.1T/C2的相关寄存器

6.3.2T/C2的工作模式

6.4ATmega16的定时计数器的应用实例

6.4.1T/C0控制I/O引脚输出方波

6.4.2T/C1控制I/O引脚输出PWM

6.4.3外部晶体秒定时

第7章ATmega16单片机的串口

7.1ATmega16串口的结构

7.2ATmega16串口的寄存器

7.2.1串口数据寄存器(UDR)

7.2.2串口控制和状态寄存器A(UCSRA)

7.2.3串口控制和状态寄存器B(UCSRB)

7.2.4串口控制和状态寄存器C(UCSRC)

7.2.5串口波特率寄存器(UBRRL和UBRRH)

7.3ATmega16串口的使用方法

7.3.1选择ATmega16串口的时钟源

7.3.2选择ATmega16串口的数据帧格式

7.3.3ATmega16串口的数据收发

7.3.4ATmega16串口的多机通信

7.4ATmega16串口的应用实例

7.4.1ATmega16串口数据发送

7.4.2和PC进行串行通信

第8章ATmega16单片机的TWI和SPI总线接口

8.1TWI总线基础

8.1.1TWI总线的数据交互过程

8.1.2TWI总线的地址

8.2TWI总线模块相关寄存器

8.2.1比特率控制寄存器(TWBR)

8.2.2TWI控制寄存器(TWCR)

8.2.3TWI状态寄存器(TWSR)

8.2.4TWI数据寄存器(TWDR)

8.2.5TWI从机地址寄存器(TWAR)

8.3TWI总线模块的使用

8.4TWI总线模块的数据传输方式

8.4.1主机发送模式(MT)

8.4.2主机接收模式(MR)

8.4.3从机发送模式(ST)

8.4.4从机接收模式(SR)

8.5TWI总线的仲裁

8.6SPI总线基础

8.7SPI总线模块相关寄存器

8.7.1SPI控制寄存器SPCR

8.7.2SPI状态寄存器SPSR

8.7.3SPI数据寄存器SPDR

8.8SPI总线接口的工作模式

8.9TWI和SPI总线模块应用实例

8.9.1ATmega16双机使用TWI总线模块进行通信

8.9.2ATmega16双机使用SPI总线模块进行通信

第9章ATmega16单片机的比较器和ADC模块

9.1ATmega16单片机的比较器

9.1.1模拟比较器基础

9.1.2模拟比较器的寄存器

9.1.3模拟比较器的输入通道

9.2ATmega16单片机的ADC模块

9.2.1ADC模块基础

9.2.2ADC模块的寄存器

9.2.3ADC模块的转换过程

9.2.4ADC模块的输入通道和参考电源

9.2.5ADC模块的转换结果和精度定义

9.3ATmega16比较器的应用实例

9.3.1双通道模拟信号比较应用实例

9.3.2多通道模拟信号比较应用实例

9.4ATmega16 ADC模块的应用实例

9.4.1单通道模拟信号采集实例

9.4.2多通道模拟信号采集实例

9.4.3增益放大模拟信号采集实例

9.4.4差分模拟信号比较采集实例

第10章ATmega16的其他内部资源

10.1看门狗(WDT)

10.1.1看门狗基础

10.1.2看门狗的寄存器

10.1.3看门狗的启动和关闭

10.2内部E2PROM

10.2.1E2PROM的操作

10.2.2E2PROM的寄存器

10.2.3E2PROM的操作函数

10.3内置看门狗和E2PROM应用实例

10.3.1内置看门狗模块测试应用实例

10.3.2E2PROM读写应用实例

第11章ATmega16的应用系统

11.1单I/O引脚扩展多按键

11.1.1应用系统背景

11.1.2设计思路

11.1.3硬件系统设计

11.1.4软件系统设计

11.1.5应用系统的仿真和总结

11.2简易电子琴

11.2.1应用系统背景

11.2.2设计思路

11.2.3硬件系统设计

11.2.4软件系统设计

11.2.5应用系统的仿真和总结

11.3商场灯光控制

11.3.1应用系统背景

11.3.2设计思路

11.3.3硬件系统设计

11.3.4软件系统设计

11.3.5应用系统的仿真和总结

前言

前言

行业背景

ATmega16是ATMEL公司研发的增强型内置FLASH的RISC(Reduced Instruction Set CPU)精简指令集高速8位单片机(AVR,其得名于设计师A先生和V先生),具有体积小、功能强、价格低的特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域有着广泛的应用,其应用可以大大提高生产、生活的自动化水平。

关于本书

本书基于ICCAVR集成开发环境和Proteus硬件仿真环境分章节介绍了ATmega16单片机的基础构成、内部资源以及外部器件的使用方法,包括其体系结构、C语言、定时计数器等内部资源以及LED、独立按键、继电器等外部资源。

本书提供了ATmega16单片机的多个应用实例,在Proteus中读者观察到这些应用实例的仿真执行情况。本书还制作了17个和章节内容对应的讲解视频,以便于读者更好地理解ATmega16单片机的使用。

本书分为ATmega16单片机基础知识、ATmga16单片机模块应用以及ATmega16单片机的应用系统三大部分。

● ATmega16单片机基础知识:第1章至第4章,介绍了AVR系列单片机的内部结构、C语言、ICCAVR集成开发环境的使用方法以及Proteus硬件仿真环境的使用方法。

● ATmega16单片机模块应用:第5章至第10章,介绍了ATmega16单片机的外部引脚、外部中断、定时计数器、串口、SPI和TWI接口、模拟比较器和ADC模块以及看门狗和内部E2PROM的使用方法。

● ATmega16单片机的应用系统:第11章,介绍了单引脚扩展多按键、简易电子琴以及商场灯光控制系统三个基于ATmega16的实际应用系统。

本书提供的视频内容及其长度说明如下。

● 【视频1】ICCAVR的基础使用方法(32分钟)。

● 【视频2】Proteus的基础使用方法(30分钟)。

● 【视频3】Proteus中的ATmega16(13分钟)。

● 【视频4】Proteus和ICCAVR的联合使用(13分钟)。

● 【视频5】ATmega16的外部引脚和Proteus中的示波器使用(15分钟)。

● 【视频6】发光二极管LED的应用(17分钟)。

● 【视频7】单位数码管的应用(12分钟)。

● 【视频8】按键和行列扫描键盘的应用(20分钟)。

● 【视频9】ATmega16的外部中断及其应用(8分钟)。

● 【视频10】ATmega16的定时计数器应用(20分钟)。

● 【视频11】ATmega16单片机的串口及其应用(26分钟)。

● 【视频12】ATmega16单片机的比较器及其应用(12分钟)。

● 【视频13】ATmega16单片机的ADC及其应用(20分钟)。

● 【视频14】ATmega16单片机的看门狗和E2PROM的使用方法及其应用(12分钟)。

● 【视频15】单I/O引脚扩展多按键应用系统(16分钟)。

● 【视频16】简易电子琴应用系统(24分钟)。

● 【视频17】商场灯光控制系统(25分钟)。

AVR单片机C语言轻松学(配视频教程)前言本书特色

● 基础内容丰富、循序渐进、由浅入深,涉及了ATmega16单片机从硬件模块基础到软件设计各个方面的知识。

● 基于Proteus硬件仿真环境提供了大量仿真实例。

● 提供了17个详细讲解的视频供读者深入理解ATmega16单片机的使用。

作者介绍

本书由严雨、李佳、秦文海编著。参与本书编写的还有李若谷、刘洋洋、王闯、严安国、何世兰、姚宗旭、葛祥磊、徐慧超、张玉梅、夏宁和韩敏等人。在此,对以上人员致以诚挚的谢意。由于时间仓促,程序较多,受学识水平所限,错误之处在所难免,请广大读者给予批评指正。