AVR单片机开发从入门到精通

出版时间:2009-6  出版社:中国电力出版社  作者:温正,何嘉扬,赵志鹏 编著  页数:339  
Tag标签:无  

前言

  随着嵌入式系统应用技术的不断发展,对于核心处理器性能的要求也越来越高,一些传统控制芯片已经难以胜任许多复杂的任务。使用传统的5l系列单片机设计应用系统常常会带来种种限制,甚至影响到整个系统的性能水平。随着微控制器技术的快速发展,我们有必要紧跟电子技术发展的前沿,研究单片机技术的最新进展,熟悉新型高性能芯片的性能,掌握其应用技巧,为设计出有竞争力的高性价比的高端嵌入式系统创造条件。  近年来单片机技术得到快速发展,出现了一批新型高性能单片机,为高端应用提供了选择空间,AVR系列单片机就是其中的一类。AVR单片机是ATMEL公司推出的配置精简指令集单片机系列。其片内程序存储器采用Flash存储器,可反复编程修改上千次,多数指令仅用一个周期完成,从而能高效迅速地开发新产品。  本书主要以ATMEL推出的AVR单片机中的高档产品——ATmegal28单片机为主线进行介绍,其间也穿插介绍了各种AVR单片机所具有的特点、片上资源和外设接口。ATmegal28单片机具有高速低功耗、超强功能、精简指令的特点,能够同时读、写。在执行指令的同时,可通过SPI、UART或两线接口对快闪存储器进行编程或重新编程。ATmegal28在实际应用中有着非常强大的功能。  ATmegal28单片机吸收了DSP双总线的特点,采用Haryard总线结构,因此单片机的程序存储器和数据存储器是分离的,并且可对具有相同地址的程序存储器和数据存储器进行独立寻址。在ATmegal28单片机中,CPu执行当前指令时取出将要执行的下一条指令放入寄存器中,从而可以避免传统MCS一5l系列单片机中多指令周期的出现。而且ATmegal28单片机的寄存器由32个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了传统的MCS.51系列单片机所有的数据处理由于基于一个累加器的瓶颈效应,提高了系统的性能。这些结构提高了代码效率,使AVR的运行速度比普通CISC单片机高出10倍,具有1MIPs/MHz的处理能力。  ATmegal28单片机采用低功率、非挥发性CMOS工艺制造,内部分别集成Flash、EEPROM和SRAM三种不同性能和用途的存储器。除了可以通过SPI口和一般的编程器对单片机的Flash程序存储器和EEPROM数据存储器进行编程外,还具有在线编程(ISP)的特点。  在程序设计上,ATmegal28的结构适宜采用汇编语言和高级语言来编写嵌入式系统的系统程序,支持C语言的开发。并且ATmegal28单片机具有多种开发工具,如IAR、WinAVR、ICCAVR、CodeVision、BASCOM:一AVR等。开发者无须昂贵的开发工具(开发板或评估板),只要在WinAVR编译环境下把应用程序编译好,再结合它本身的在线可编程特性,就可以把程序下载到单片机的存储器里。

内容概要

本书介绍了ATMEL公司开发的AVR单片机的特点、各种AVR单片机所具有的片上资源和外设接口。并选用了一款高端AVR单片机——ATmega128单片机为王线,详细地介绍了其硬件组成和结构;讲述了ATmega128单片机的指令系统,并在书中配有大量的实例,做到边学习边调试,使读者能够真正理解各指令的功能、使用及注意事项;深入地讲解了ATmega128单片机开发工具WinAVR及集成开发环境AVR studio,并通过实例介绍了WinAVR进行ATmega128单片机系统开发的两种途径;然后讲述了ATmega128单片机片上资源和接口资源的特点、应用程序设计及应用实例;作为进一步的提高,后续章节通过有代表性的、复杂的编程和应用,给读者提供一个提升的平台。    本书有较强的系统性和实用性,适合于开发ATmega128单片机的工程技术人员阅读,也可作为高等院校自动化、计算机、电子信息等专业的教学参考书和ATmega128单片机应用技术的培训教材。

书籍目录

前言第1章 AVR单片机概述  1.1 AVR单片机简介  1.2 选择合适的AVR单片机  1.3 ATmega128单片机简介    1.3.1 ATmega128单片机的特点    1.3.2 ATmega128单片机的引脚配置    1.3.3 ATmega128单片机的总体结构    1.3.4 ATmega128单片机的CPU内核    1.3.5 ATmega128与ATmega103的兼容性第2章 ATmega128单片机的硬件结构  2.1 ATmega128单片机的存储器组织    2.1.1 可编程Rash程序存储器    2.1.2 SRAM数据存储器    2.1.3 EEPROM数据存储器    2.1.4 I/O存储器    2.1.5 外部存储器接口  2.2 ATmega128单片机系统的时钟    2.2.1 ATmega128单片机时钟系统结构    2.2.2 时钟源的选择  2.3 ATmega128单片机的休眠状态    2.3.1 工作模式    2.3.2 与休眠状态工作模式相关的寄存器  2.4 ATmegal28单片机的I/O端口    2.4.1 通用数字I/O端口    2.4.2 I/O端口的第二功能    2.4.3 I/O端口寄存器的说明  2.5 ATmegal28单片机的中断    2.5.1 ATmegal28单片机的中断向量    2.5.2 ATmegal28单片机的外部中断  2.6 ATmegal28单片机的定时器/计数器    2.6.1 8位定时器/计数器T/CO    2.6.2 8位定时器/计数器T/C2    2.6.3 16位定时器/计数器1T/C1和T/C3  2.7 ATmega128单片机的输出比较调节器  2.8 同步串行口SPI    2.8.1 SPI工作原理    2.8.2 与SPI接口操作相关的寄存器说明  2.9 通用同步/异步串行口USART    2.9.1 USART概述    2.9.2 数据发送机理    2.9.3 数据接收机理    2.9.4 接收异步数据机理    2.9.5 多处理器通信模式    2.9.6 USART接口操作相关寄存器说明  2.10 ATmega128单片机的TWI总线接口    2.10.1 TWI协议的帧格式    2.10.2 TWI接口操作相关寄存器说明  2.11 ATmega128单片机模拟比较器    2.11.1 模拟比较器操作相关寄存器说明    2.11.2 模拟比较器多工输入  2.12 ATmega128单片机A/D转换    2.12.1 模数转换器的结构    2.12.2 与A/D转换相关的寄存器  2.13 ATmega128单片机的熔丝位    2.13.1 ATmega128单片机熔丝位的配置注意事项    2.13.2 ATmega128重要熔丝位的定义和配置方式第3章 ATmega128单片机指令系统  3.1 ATmega128单片机的指令格式    3.1.1 ATmega128单片机指令系统的伪指令    3.1.2 ATmega128单片机指令系统的操作数    3.1.3 状态寄存器——SREG  3.2 ATmega128单片机的指令系统简述  3.3 寻址方式  3.4 数据传送指令    3.4.1 直接数据传输指令    3.4.2 间接数据传送指令    3.4.3 程序存储器数据传输指令    3.4.4 I/O端口数据传送指令    3.4.5 堆栈操作指令  3.5 算术运算指令    3.5.1 加法指令    3.5.2 减法指令    3.5.3 取反码指令    3.5.4 求补码指令    3.5.5 比较指令    3.5.6 乘法指令  3.6 逻辑运算指令    3.6.1 逻辑与指令    3.6.2 逻辑或指令    3.6.3 逻辑异或指令  3.7 跳转指令    3.7.1 无条件跳转指令    3.7.2 条件跳转指令    3.7.3 调用和返回指令  3.8 位指令和位测试指令    3.8.1 带进位逻辑操作指令    3.8.2 位变量传送指令    3.8.3 位变量修改指令  3.9 MCU指令  3.10 ATmega128单片机指令系统的应用第4章 ATmega128单片机的系统开发工具  4.1 WinAVR软件开发工具  4.2 利用PN文本编辑器及make工具进行编译    4.2.1 源代码的编译过程    4.2.2 在PN中添加工具    4.2.3 多文件的编译  4.3 利用命令行方式进行编译  4.4 AVR Studio集成开发环境    4.4.1 软件仿真    4.4.2 JTAG在线调试    4.4.3 JTAGICE简介  4.5 AVR-GCC支持的API函数    4.5.1 程序存储器的API函数    4.5.2 EEPROM的API函数    4.5.3 中断的API函数    4.5.4 I/O端口的API函数    4.5.5 看门狗API  4.6 AVR-GCC API函数的应用    4.6.1EEPROM API操作函数编程    4.6.2 看门狗API操作函数编程第5章 I/O端口的应用  5.1 ATmega128 I/O端口的相关知识    5.1.1 通用数字I/O端口    5.1.2 端口的第二功能  5.2 ATmega128 I/O端口的相关寄存器说明  5.3 ATmega128键盘扫描硬件电路设计  5.4 ATmega128 I/O端口键盘扫描设计构思  5.5 ATmega128 I/O端口键盘扫描程序第6章 中断系统及其应用  6.1 ATmega128中断的相关知识  6.2 ATmega128中断的相关寄存器说明  6.3 ATmega128中断程序    6.3.1 基本外邵中断    6.3.2 串口通信中断第7章 定时器/计数器应用  7.1 ATmega128定时器/计数器的相关知识  7.2 ATmega128定时器/计数器的相关寄存器说明  7.3 ATmega128定时器/计数器程序    7.3.1 简单定时器程序    7.3.2 电子时钟第8章 I/O端口应用——模拟I2C协议  8.1 24LC512芯片的相关知识  8.2 ATmega128与24LC512硬件电路设计  8.3 24LC512程序设计构思  8.4 模拟I2C协议的24LC512程序第9章 ATmega128片内ADC的应用  9.1 ATmega128片内ADC的相关知识    9.1.1 A/D转换过程    9.1.2 A/D转换时序    9.1.3 A/D数据采集中的相关操作  9.2 ATmega128片内ADC的相关寄存器说明  9.3 Armega128片内ADC数据采集程序第10章 ATmega128片内EEPROM应用设计  10.1 ATmega128片内EEPROM的相关知识  10.2 ATmega128片内EEPROM的相关寄存器说明  10.3 ATmega128片内EEPROM程序第11章 USART接口的应用  11.1 USART接口的基本知识    11.1.1 时钟产生    11.1.2 帧格式  11.2 微型打印机编程的基本知识    11.2.1 微型打印机的标准串口使用    11.2.2 微型打印机的串口设置    11.2.3 微型打印机的命令集  1l.3 ATmega128的USART接口寄存器说明  11.4 ATmega128与微型打印机的硬件电路设计  11.5 微型打印机的程序第12章 SPI接口的应用  12.1 SPI接口的基本知识  12.2 SPI接口的EEPROM相关知识    12.2.1 读命令    12.2.2 编程和擦除命令    12.2.3 其他命令  12.3 ATmega128的USART接口寄存器说明  12.4 ATmega128与AT45DB642的硬件电路设计  12.5 SPI接口的EEPROM程序第13章 串行TWI(I2C)接口应用  13.1 I2C总线的基本知识    13.1.1 启动条件和停止条件    13.1.2 I2C总线的数据传输格式    13.1.3 应答位  13.2 I2C总线接口日历时钟芯片的相关知识    13.2.1 寄存器结构    13.2.2 PCF8563的I2C总线协议  13.3 ATmega128的I2C接口寄存器说明  13.4 PCF8563硬件电路设计  13.5 程序设计构思  13.6 PCF8563通信程序第14章 LCD接口的应用  14.1 T6963C芯片的相关知识    14.1.1 液晶显示模块的结构特点    14.1.2 T6963C芯片的指令集    14.1.3 T6963C与ATmega128的接口时序  14.2 ATmega128与LCD硬件电路设计  14.3 LCD显示程序第15章 高速AD7891的应用  15.1 高速AD7891芯片的相关知识    15.1.1 模拟信号输入    15.1.2 基准电压    15.1.3 控制寄存器    15.1.4 AD7891的时序  15.2 ATmega128与AD相关寄存器说明  15.3 ATmega128与AD7891的硬件电路设计  15.4 AD7891转换数据采集程序第16章 温度传感器的应用  16.1 温度传感器的相关知识    16.1.1 温度传感器DS1620    16.1.2 温度传感器DS18820  16.2 ATmega128与DS1620的硬件电路设计    16.2.1 ATmega128与Ds1620的硬件电路设计    16.2.2 ATmega128与DS18820的硬件电路设计  16.3 程序设计构思  16.4 温度传感器转换程序    16.4.1 DS1620温度传感器转换程序    16.4.2 DS18B20温度传感器转换程序第17章 机电设备综合参数测试仪的硬件设计  17.1 机电设备综合参数测试仪的总体设计    17.1.1 硬件总体设计    17.1.2 软件总体设计  17.2 信号采集调理电路设计    17.2.1 模拟信号的输入调理    17.2.2 开关量的输入/输出  17.3 系统主要外围电路设计    17.3.1 A/D转换    17.3.2 液晶显示模块设计    17.3.3 键盘模块设计    17.3.4 日历时钟模块设计    17.3.5 RAM接口电路设计    17.3.6 SD卡文件系统的实现    17.3.7 电源系统的搭建  17.4 机电设备综合参数测试仪的电磁兼容性设计    17.4.1 硬件抗干扰设计    17.4.2 软件抗干扰设计附录参考文献

编辑推荐

  《AVR单片机开发从入门到精通》由浅入深,循序渐进,以初中级开发人员为对象,先从ATmega128单片机的硬件结构、指令系统讲起,再介绍ATmega128单片机的开发工具和开发环境,然后介绍了初级和常规AVR单片机的应用设计,最后通过有代表性的、复杂的应用设计实例,给读者提供一个提升的平台学习,让读者真正精通AVR单片机的开发。《AVR单片机开发从入门到精通》讲解过程中步骤详尽,版式新颖,并附有大量的图形说明,让读者在阅读中一目了然,从而快速把握书中内容。

图书封面

图书标签Tags

评论、评分、阅读与下载


    AVR单片机开发从入门到精通 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7