首页>参考读物>计算机科学与技术>综合

零基础学AVR单片机——基于ATmega16、汇编及C语言
作者 : 徐益民 范红刚 苏凤武 编著
出版日期 : 2010-11-23
ISBN : 978-7-111-32293-1
定价 : 39.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 262
开本 : 16
原书名 : AVR单片机从入门到精通(视频实录)
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书主要内容包括15章:单片机概述、AVR 单片机开发工具、C语言基础、ATMEGA16单片机基本结构、AVR的指令系统与汇编系统、ATMEGA16的I/O端口、ATMEGA16的中断系统、复位系统及睡眠模式的设置、定时器/计数器0、定时器/计数器1、A/D转换器、同步串行SPI接口、UART串行口的应用、TWI接口的应用、综合设计实例等。

图书特色

对于入门读者,学习AVR单片机最有效的途径是什么?
第1步:宏观把握。选择AVR单片机的主流产品ATmega16,了解AVR单片机的主要性能、开发过程与开发工具,选取学习单片机必须使用的实验开发板,并通过LED小灯闪烁实验展示AVR单片机开发的基本过程。
第2步:庖丁解牛。认真学习AVR单片机的体系结构、指令系统、C语言编程及汇编系统,并通过实例展示如何进行简单的软硬件系统设计。
第3步:更上层楼。学习AVR单片机的模块功能及接口应用。
第4步:学以致用。通过两个综合案例进行实战开发,借鉴移植。
本书基于ATmega16,系统论述了AVR单片机的软件开发与硬件开发,本书具有以下鲜明特点:
硬件底层以汇编指令为主,实例设计以C语言为主;涵盖AVR主流单片机的主要功能模块;实例不但硬件电路图设计完整、程序代码完整,而且电路图和程序代码均通过调试,具有一定的工程参考价值。

●  AVR单片机的开发工具 ●  AVR单片机C语言
●  ATmega16单片机基本结构 ●  AVR的指令系统与汇编系统
●  ATmega16的I/O端口 ●  ATmega16的中断系统
●  ATmega16的复位系统及睡眠模式的设置 ●  AVR单片机的定时器/计数器0
●  AVR单片机的定时器/计数器1 ●  AVR单片机的A/D转换器
●  基于ATmega16的同步串行SPI接口 ●  USART串行口的应用
●  TWI接口的应用

●  LED小灯闪烁实验过程演示 ●  用数码管显示0~9共10个数字的系统设计
●  LED流水灯设计 ●  独立式按键设计
●  单片机与液晶显示模块的接口设计 ●  一位LED数码管显示系统设计
●  药片装瓶监控系统设计 ●  睡眠功能应用实例
●  定时器控制LED闪烁 ●  定时器控制PWM输出
●  PWM控制电机转速 ●  用计数器制作频率检测仪
●  对输入的电压进行A/D转换 ●  对输入的两路模拟电压进行A/D转换
●  同步串行口应用举例 ●  两片单片机之间串行通信
●  单片机给PC机上传数据 ●  TWI接口应用举例
●  调光灯的设计 ●  电能质量检测系统设计

图书前言

AVR单片机是ATMEL公司推出的新型高速8位单片机,运行速度高达1MIPS。AVR单片机的片上资源非常丰富,性价比很高。可用于工业实时控制、仪器仪表、家用电器等领域。
  本书非常适合初学者,从入门开始,详细讲解了AVR单片机内部的各个外设的使用方法,一步一步实现独立设计程序,直到最后设计一个综合的产品。实现了从入门到精通。
本书特点
  本书主要有以下特点。
  1.循序渐进,由浅入深
  为了方便读者学习,本书在介绍了什么是单片机、单片机的应用领域以及单片机的开发环境之后,从最基础的I/O口的使用讲起,分别介绍了LED小灯闪烁、LED数码管的使用。然后分别介绍了单片机的内部外设的使用,并结合实例分析讲解。最后,通过综合设计实例的讲解让读者系统全面地应用前文中的各个知识点。真正实现了由浅入深、理论与实践相结合。
  2.技术全面,内容充实
  本书所讲的内容在保证实用的前提下,详细分析讲解了AVR单片机的全部资源的工作原理和使用方法,并且结合实例,不但硬件电路图设计完整、程序代码完整,而且电路图和程序代码均通过调试,具有一定的工程参考价值,所举实例均与工程实践有关,内容充实。
  3.举一反三,理解深刻
  很多章节都有实例分析,以求理论与实践相结合。此外,还在每章的“实践拓展”内容中简单讲解一些与本章主要知识点相关的内容,使读者可以前后联系,自行分析,达到举一反三的效果,从而进一步加深理解。
  4.分析原理,步骤清晰
  每一部分的原理都分析得非常透彻,并且用比较清晰的步骤进行讲解,使读者不但掌握相关章节的知识点,同时也掌握设计的一般步骤。
  5.代码完整,讲解详尽
  书中的每个知识点都有相应的实例代码,并对关键的代码部分进行了注释说明。大部分程序代码的执行过程都录制了实验视频,读者可以参照运行结果阅读源程序,以便加深理解。
主要内容
  本书分为4篇,共15章。各章的主要内容如下。
第一篇 开发基础
  第1章主要让初学者了解何为单片机、单片机的应用领域以及AVR单片机都有哪些型号,最后主要讲解单片机ATmega16的主要性能指标和引脚分配情况等。
  第2章介绍了AVR单片机的开发工具,包括编程环境的安装与使用、下载软件的简介和使用、下载线和实验设备的介绍,并在最后“实践拓展”部分介绍了其他开发环境与本书中所介绍的环境有何区别及如何使用。
第二篇 结构与编程
  第3章介绍了C语言的基础知识。这一章不是单纯地讲解C语言,而是结合单片机讲解C语言的应用,使初学者很快能够掌握C语言编程。
  第4章介绍了ATmega16单片机的内部基本结构、时钟电路、复位电路,并介绍了状态寄存器。在“实践拓展”部分介绍了单片机最小系统的设计。
  第5章系统地讲解了AVR单片机的指令系统与汇编系统。从指令格式、指令的分类、寻址方式等几个方面讲解了AVR的指令系统。并在本章的最后给出了一个综合的用汇编指令编写的程序,便于读者综合练习。
  第6章介绍了单片机I/O端口的使用,并结合LED流水灯、独立按键以及液晶屏的外部元件进一步练习I/O端口的应用。
  第7章介绍了外部中断的工作原理和使用方法,详细讲解了各个相关功能寄存器的设置方法,并结合LED数码管完成了两个综合实验,帮助加深对外部中断的理解。
  第8章介绍了单片机的复位系统、看门狗定时器的工作原理和使用方法以及电源管理和睡眠模式的设置等。
第三篇 模块功能
  第9章介绍了定时器/计数器0的工作原理和使用方法,并且结合实际例程分别介绍了定时器/计数器0的普通工作模式、快速PWM模式、相位修正PWM模式和CTC模式等。
  第10章介绍了定时器/计数器1的工作原理和使用方法,并且结合实际例程分别介绍了定时器/计数器1的普通工作模式、CTC模式、快速PWM模式、相位修正PWM模式和相位与频率修正PWM模式等。
  第11章介绍了AVR单片机内部A/D转换器的工作原理和相关寄存器的设置方法,最后利用A/D转换器完成了简易电压表的设计和两路模拟信号的数据采集。
  第12章介绍了同步串行SPI接口的通信原理和设置方法,并结合实例进一步分析了SPI接口的应用。
  第13章介绍了USART串行口的工作原理和相关寄存器的设置方法,并通过实际设计编程练习了两片单片机之间通信和单片机与PC机之间通信。
  第14章分析了TWI接口的工作原理和相关寄存器的设计方法。通过两个单片机之间通信实现了练习TWI接口的目的,从而加深了对TWI接口原理的理解。
第四篇 综合设计
  第15章通过调光灯和电能质量监测系统两个综合实例的设计,达到对单片机控制系统的设计过程及电路设计、调试和软件流程的设计、程序代码的编写等内容的掌握,并把单片机内部各个外设进行了混合应用。
读者对象
  AVR单片机设计爱好者
  高等院校的学生
  社会培训班的学生
  电子工程师
本书光盘
  视频教学:集成开发环境的使用方法,部分实例的实验现象等。
  实例源代码:书中实例和综合实例的完整代码文档。
  拓展资源:包括部分常用元器件资料、常用嵌入式网址等。
  本书主要由徐益民、范红刚、苏凤武编著,其他参与资料整理的人员有宋一兵、管殿柱、赵景波、付本国、张轩、赵景伟、赵秋玲、张忠林、王献红、王臣业、张洪信、李文秋、初航、谈世哲等。
  感谢您选择了本书,希望我们的努力对您的工作和学习有所帮助,也希望您把对本书的意见和建议告诉我们。
  作者联系方式:gdz_zero@126.com
  编辑联系方式:sdl@hzbook.com

作者
2010年8月

封底文字

对于入门读者,学习AVR单片机最有效的途径是什么?
第1步:宏观把握。选择AVR单片机的主流产品ATmega16,了解AVR单片机的主要性能、开发过程与开发工具,选取学习单片机必须使用的实验开发板,并通过LED小灯闪烁实验展示AVR单片机开发的基本过程。
第2步:庖丁解牛。认真学习AVR单片机的体系结构、指令系统、C语言编程及汇编系统,并通过实例展示如何进行简单的软硬件系统的设计。
第3步:更上层楼。学习AVR单片机的模块功能及接口应用。
第4步:学以致用。通过两个综合案例进行实战开发,借鉴移植。

本书基于ATmega16,系统论述了AVR单片机的软件开发与硬件开发,本书具有以下鲜明特点:
硬件底层以汇编指令为主,实例设计以C语言为主;涵盖AVR主流单片机的主要功能模块;实例不但硬件电路图设计完整、程序代码完整,而且电路图和程序代码均通过调试,具有一定的工程参考价值。

涵盖内容
AVR单片机的开发工具
AVR单片机C语言
ATmega16单片机基本结构
AVR的指令系统与汇编系统
ATmega16的I/O端口
ATmega16的中断系统
ATmega16的复位系统及睡眠模式的设置
AVR单片机的定时器/计数器0
AVR单片机的定时器/计数器1
AVR单片机的A/D转换器
基于ATmega16的同步串行SPI接口
USART串行口的应用
TWI接口的应用

综合实例
LED小灯闪烁实验过程演示
用数码管显示0~9共10个数字的系统设计
LED流水灯设计
独立式按键设计
单片机与液晶显示模块的接口设计
一位LED数码管显示系统设计
药片装瓶监控系统设计
睡眠功能应用实例
定时器控制LED闪烁
定时器控制PWM输出
PWM控制电机转速
用计数器制作频率检测仪
对输入的电压进行A/D转换
对输入的两路模拟电压进行A/D转换
同步串行口应用举例
两片单片机之间串行通信
单片机给PC机上传数据
TWI接口应用举例
调光灯的设计
电能质量检测系统设计

作者简介

徐益民 范红刚 苏凤武 编著:暂无简介

图书目录

前言
第一篇 开发基础1
第1章 单片机概述1  
1.1 什么是单片机1  
1.2 单片机的应用2  
1.3 ATMEL的AVR单片机2  
1.4 AVR单片机的家族成员2
   1.4.1 AVR单片机的型号3
   1.4.2 AVR单片机的选型4  
1.5 ATmega16单片机概述5
   1.5.1 ATmega16单片机的主要性能5
   1.5.2 ATmega16单片机的引脚说明7  
1.6 实践拓展7  
1.7 思考与练习8
第2章 AVR单片机的开发工具9  
2.1 AVR单片机程序开发环境9
   2.1.1 GCCAVR开发环境的安装9
   2.1.2 智峰下载软件11  
2.2 AVR单片机的开发语言11  
2.3 实验设备12
   2.3.1 本书所用的实验开发板12
   2.3.2 下载线12  
2.4 LED小灯闪烁实验过程演示13  
2.5 实践拓展20  
2.6 思考与练习21
第二篇 结构与编程22
第3章 AVR单片机C语言22 
3.1 C语言的结构22  
3.2 C语言的基本字符、标识符和关键字23  
3.3 C语言的基本数据类型24  
3.4 函数25
   3.4.1 系统库函数25
   3.4.2 用户自定义函数25  
3.5 数组27
   3.5.1 一维数组27
   3.5.2 二维数组28  
3.6 指针28  
3.7 结构体30
   3.7.1 结构体类型的声明和变量的定义30
   3.7.2 结构体变量的初始化32
   3.7.3 对结构体各成员的访问与使用32  
3.8 共用体33  
3.9 实践拓展33  
3.10 思考与练习35
第4章 ATmega16单片机基本结构36  
4.1 ATmega16的内部结构36  
4.2 ATmega16的存储器结构37
   4.2.1 ATmega16的程序存储器37
   4.2.2 ATmega16的数据存储器37  
4.3 状态寄存器——SREG40  
4.4 ATmega16的封装和引脚功能41  
4.5 ATmega16的电源电路和复位电路43  
4.6 ATmega16的时钟电路43  
4.7 实践拓展——最小系统设计44  
4.8 思考与练习44
第5章 AVR的指令系统与汇编系统45  
5.1 ATmega16指令概述45
   5.1.1 指令格式45
   5.1.2 指令的表示形式45
   5.1.3 指令的分类46
   5.1.4 AVR指令系统中的名词46
   5.1.5 AVR汇编语言系统47  
5.2 AVR指令系统的寻址方式48  
5.3 数据传送指令52
   5.3.1 直接寻址数据传送指令52
   5.3.2 间接寻址数据传送指令53
   5.3.3 从程序存储器中取数装入寄存器指令55
   5.3.4 写程序存储器指令56
   5.3.5 I/O口数据传送56
   5.3.6 堆栈操作指令57  
5.4 算术和逻辑指令57
   5.4.1 加法指令57
   5.4.2 减法指令58
   5.4.3 取反码指令59
   5.4.4 取补码指令59
   5.4.5 比较指令59
   5.4.6 逻辑“与”指令60
   5.4.7 逻辑“或”指令61
   5.4.8 逻辑“异或”指令61
   5.4.9 乘法指令62  
5.5 转移指令63
   5.5.1 无条件转移指令63
   5.5.2 条件转移指令64
   5.5.3 子程序调用和返回指令69  
5.6 位操作和位测试指令70
   5.6.1 带进位逻辑操作指令70
   5.6.2 位变量传送指令71
   5.6.3 位变量修改指令71  
5.7 MCU控制指令74  
5.8 汇编伪指令及表达式75
   5.8.1 伪指令75
   5.8.2 表达式79
   5.8.3 器件定义头文件m16def.inc80  
5.9 编程实例80  
5.10 实践拓展82  
5.11 思考与练习84
第6章 ATmega16的I/O端口85  
6.1 I/O端口的结构和功能85
   6.1.1 I/O端口的内部结构85
   6.1.2 I/O端口的相关寄存器86  
6.2 I/O端口的应用举例87
   6.2.1 LED流水灯设计87
   6.2.2 独立式按键设计89
   6.2.3 单片机与液晶显示模块的接口设计93  
6.3 实践拓展98  
6.4 思考与练习99
第7章 ATmega16的中断系统100  
7.1 概述100  
7.2 中断源和中断向量101
   7.2.1 中断源101
   7.2.2 中断向量102  
7.3 相关寄存器103
   7.3.1 状态寄存器103
   7.3.2 通用中断控制寄存器103  
7.4 外部中断104
   7.4.1 外部中断相关寄存器104
   7.4.2 实例:一位LED数码管显示系统设计107
   7.4.3 实例:药片装瓶监控系统设计110  
7.5 实践拓展115  
7.6 思考与练习115
第8章 复位系统及睡眠模式的设置116  
8.1 ATmega16的复位系统116
   8.1.1 几种复位方式116
   8.1.2 复位系统硬件电路116
   8.1.3 复位的操作处理116  
8.2 看门狗定时器120
   8.2.1 看门狗电路的结构120
   8.2.2 看门狗电路的工作原理120
   8.2.3 看门狗电路的相关寄存器…120
   8.2.4 看门狗的应用121  
8.3 睡眠模式的设置124
   8.3.1 MCUCR125
   8.3.2 睡眠模式125
   8.3.3 系统功耗最小化方法126
   8.3.4 睡眠功能应用实例127  
8.4 实践拓展131  
8.5 思考与练习133
第三篇 模块功能134
第9章 定时器/计数器0134  
9.1 定时器/计数器的基本功能134  
9.2 定时器/计数器0的特点及内部结构134  
9.3 预分频器136  
9.4 输出比较单元和比较匹配输出单元137
   9.4.1 输出比较单元137
   9.4.2 比较匹配输出单元138  
9.5 定时器/计数器0的相关寄存器138 
9.6 定时器/计数器0的工作模式141
   9.6.1 普通模式142
   9.6.2 快速PWM模式142
   9.6.3 相位修正PWM模式143
   9.6.4 CTC模式144  
9.7 定时器/计数器0应用举例145
   9.7.1 定时器控制LED闪烁145
   9.7.2 定时器控制PWM输出147  
9.8 实践拓展149  
9.9 思考与练习150
第10章 定时器/计数器1151  
10.1 定时器/计数器1的内部结构151  
10.2 计数器单元152  
10.3 输入捕捉单元153  
10.4 输出比较单元154  
10.5 比较匹配输出单元155  
10.6 访问16位寄存器156  
10.7 定时器/计数器1的相关寄存器156  
10.8 定时器/计数器1的工作模式161
   10.8.1 普通模式161
   10.8.2 CTC模式162
   10.8.3 快速PWM模式162
   10.8.4 相位修正PWM模式164
   10.8.5 相位与频率修正PWM模式165  
10.9 定时器/计数器1应用举例167
   10.9.1 PWM控制电机转速167
   10.9.2 用计数器制作频率检测仪…169  
10.10 实践拓展172  
10.11 思考与练习174
第11章 A/D转换器175  
11.1 A/D转换单元结构175
   11.1.1 A/D转换器内部结构175
   11.1.2 ADC预分频器175  
11.2 相关寄存器设置177
   11.2.1 特殊功能I/O寄存器(SFIOR)177
   11.2.2 A/D控制和状态寄存器A(ADCSRA)177
   11.2.3 A/D数据寄存器(ADCH及ADCL)178
   11.2.4 A/D多工选择寄存器(ADMUX)179  
11.3 ADC工作原理180  
11.4 ADC转换时序181  
11.5 A/D转换应用实例183
   11.5.1 实例:对输入的电压进行A/D转换183
   11.5.2 实例:对输入的两路模拟电压进行A/D转换185  
11.6 实践拓展190  
11.7 思考与练习191
第12章 同步串行SPI接口192  
12.1 同步串行通信基础192 
12.2 主机和从机的连接193  
12.3 相关寄存器设置194
   12.3.1 SPI控制寄存器(SPCR)194
   12.3.2 SPI状态寄存器(SPSR)195
   12.3.3 SPI数据寄存器(SPDR)196  
12.4 数据模式196  
12.5 同步串行口应用举例197  
12.6 实践拓展200  
12.7 思考与练习204
第13章 USART串行口的应用205  
13.1 串行口工作原理205  
13.2 相关寄存器设置209   
13.2.1 USART数据寄存器(UDR)209
   13.2.2 USART控制和状态寄存器A(UCSRA)209
   13.2.3 USART控制和状态寄存器B(UCSRB)210
   13.2.4 USART控制和状态寄存器C(UCSRC)211
   13.2.5 USART波特率寄存器(UBRRL和UBRRH)212  
13.3 USART串行口应用举例212
   13.3.1 两片单片机之间串行通信213
   13.3.2 单片机给PC机上传数据216  
13.4 实践拓展218  
13.5 思考与练习219
第14章 TWI接口的应用220  
14.1 TWI通信原理220  
14.2 相关寄存器设置222
   14.2.1 TWI比特率寄存器TWBR222
   14.2.2 TWI控制寄存器TWCR222
   14.2.3 TWI状态寄存器TWSR223
   14.2.4 TWI数据寄存器TWDR223
   14.2.5 TWI(从机)地址寄存器TWAR224  
14.3 TWI接口应用举例224  
14.4 实践拓展228  
14.5 思考与练习229
第四篇 综合设计230
第15章 综合设计实例230  
15.1 调光灯的设计230
   15.1.1 任务要求与方案设计230
   15.1.2 硬件电路设计231
   15.1.3 软件设计232  1
5.2 电能质量检测系统设计239
   15.2.1 任务分析240
   15.2.2 硬件电路设计240
   15.2.3 软件设计243  
15.3 实践拓展249  
15.4 思考与练习251
参考文献252

教学资源推荐
作者: 苏仕华 魏韦巍 王敬生 刘燕君 编著
作者: [新西兰]伊恩 H. 威腾(Ian H. Witten) 埃贝·弗兰克(Eibe Frank) 马克 A. 霍尔(Mark A. Hall) [加]克里斯多夫 J. 帕尔(Christopher J. Pal)著
作者: 禹晶 孙卫东 肖创柏 编著
作者: (美)Stephen E.Derenzo
参考读物推荐
作者: [美]艾伦 B.约翰斯顿(Alan B.Johnston),丹尼尔C.伯内特(Daniel C.Burnett)著