您现在的位置是:源码地带 > 资源下载

AVR高速嵌入式单片机原理与应用(修订版)

资 源 简 介

AVR高速嵌入式单片机原理与应用(修订版)详细介绍ATMEL公司开发的AVR高速嵌入式单片机的结构;讲述AVR单片机的开发工具和集成开发环境(IDE),包括Studio调试工具、AVR单片机汇编器和单片机串行下载编程;学习指令系统时,每条指令均有实例,边学习边调试,使学习者看得见指令流向及操作结果,真正理解每条指令的功能及使用注意事项;介绍AVR系列多种单片机功能特点、实用程序设计及应用实例;作为提高篇,讲述简单易学、适用AVR单片机的高级语言BASCOMAVR及ICC AVR C编译器。

AVR高速嵌入式单片机原理与应用(修订版) 目录
第一章ATMEL单片机简介
1.1ATMEL公司产品的特点1
1.2AT90系列单片机简介2
1.3AT91M系列单片机简介2
第二章AVR单片机系统结构
2.1AVR单片机总体结构4
2.2AVR单片机中央处理器CPU6
2.2.1结构概述7
2.2.2通用寄存器堆9
2.2.3X、Y、Z寄存器9
2.2.4ALU运算逻辑单元9
2.3AVR单片机存储器组织10
2.3.1可下载的Flash程序存储器10
2.3.2内部和外部的SRAM数据存储器10
2.3.3EEPROM数据存储器11
2.3.4存储器访问和指令执行时序11
2.3.5I/O存储器13
2.4AVR单片机系统复位16
2.4.1复位源17
2.4.2加电复位18
2.4.3外部复位19
2.4.4看门狗复位19
2.5AVR单片机中断系统20
2.5.1中断处理20
2.5.2外部中断23
2.5.3中断应答时间23
2.5.4MCU控制寄存器 MCUCR23
2.6AVR单片机的省电方式24
2.6.1休眠状态24
2.6.2空闲模式24
2.6.3掉电模式25
2.7AVR单片机定时器/计数器25
2.7.1定时器/计数器预定比例器25
2.7.28位定时器/计数器025
2.7.316位定时器/计数器127
2.7.4看门狗定时器33
2.8AVR单片机EEPROM读/写访问34
2.9AVR单片机串行接口35
2.9.1同步串行接口 SPI35
2.9.2通用串行接口 UART40
2.10AVR单片机模拟比较器45
2.10.1模拟比较器45
2.10.2模拟比较器控制和状态寄存器ACSR46
2.11AVR单片机I/O端口47
2.11.1端口A47
2.11.2端口 B48
2.11.3端口 C54
2.11.4端口 D55
2.12AVR单片机存储器编程61
2.12.1编程存储器锁定位61
2.12.2熔断位61
2.12.3芯片代码61
2.12.4编程 Flash和 EEPROM61
2.12.5并行编程62
2.12.6串行下载66
2.12.7可编程特性67
第三章AVR单片机开发工具
3.1AVR实时在线仿真器ICE20069
3.2JTAG ICE仿真器69
3.3AVR嵌入式单片机开发下载实验器SL?AVR70
3.4AVR集成开发环境(IDE)75
3.4.1AVR Assembler编译器75
3.4.2AVR Studio77
3.4.3AVR Prog78
3.5SL?AVR系列组态开发实验系统79
3.6SL?AVR*.ASM源文件说明81
第四章AVR单片机指令系统
4.1指令格式84
4.1.1汇编指令84
4.1.2汇编器伪指令84
4.1.3表达式87
4.2寻址方式89
4.3数据操作和指令类型92
4.3.1数据操作92
4.3.2指令类型92
4.3.3指令集名词92
4.4算术和逻辑指令93
4.4.1加法指令93
4.4.2减法指令97
4.4.3乘法指令101
4.4.4取反码指令101
4.4.5取补指令102
4.4.6比较指令103
4.4.7逻辑与指令105
4.4.8逻辑或指令107
4.4.9逻辑异或指令110
4.5转移指令111
4.5.1无条件转移指令111
4.5.2条件转移指令114
4.6数据传送指令135
4.6.1直接数据传送指令135
4.6.2间接数据传送指令137
4.6.3从程序存储器直接取数据指令144
4.6.4I/O口数据传送指令145
4.6.5堆栈操作指令146
4.7位指令和位测试指令147
4.7.1带进位逻辑操作指令147
4.7.2位变量传送指令151
4.7.3位变量修改指令152
4.7.4其它指令161
4.8新增指令(新器件)162
4.8.1EICALL-- 延长间接调用子程序162
4.8.2EIJMP--扩展间接跳转163
4.8.3ELPM--扩展装载程序存储器164
4.8.4ESPM--扩展存储程序存储器164
4.8.5FMUL--小数乘法166
4.8.6FMULS--有符号数乘法166
4.8.7FMULSU--有符号小数和无符号小数乘法167
4.8.8MOVW--拷贝寄存器字168
4.8.9MULS--有符号数乘法169
4.8.10MULSU--有符号数与无符号数乘法169
4.8.11SPM--存储程序存储器170

第五章AVR单片机AT90系列
5.1AT90S1200172
5.1.1特点172
5.1.2描述173
5.1.3引脚配置174
5.1.4结构纵览175
5.2AT90S2313183
5.2.1特点183
5.2.2描述184
5.2.3引脚配置185
5.3ATmega8/8L185
5.3.1特点186
5.3.2描述187
5.3.3引脚配置189
5.3.4开发实验工具190
5.4AT90S2333/4433191
5.4.1特点191
5.4.2描述192
5.4.3引脚配置194
5.5AT90S4414/8515195
5.5.1特点195
5.5.2AT90S4414和AT90S8515的比较196
5.5.3引脚配置196
5.6AT90S4434/8535197
5.6.1特点197
5.6.2描述198
5.6.3AT90S4434和AT90S8535的比较198
5.6.4引脚配置200
5.6.5AVR RISC结构201
5.6.6定时器/计数器212
5.6.7看门狗定时器 217
5.6.8EEPROM读/写217
5.6.9串行外设接口SPI217
5.6.10通用串行接口UART217
5.6.11模拟比较器 217
5.6.12模数转换器218
5.6.13I/O端口223
5.7ATmega83/163228
5.7.1特点228
5.7.2描述229
5.7.3ATmega83与ATmega163的比较231
5.7.4引脚配置231
5.8ATtiny10/11/12232
5.8.1特点232
5.8.2描述233
5.8.3引脚配置235
5.9ATtiny15/L237
5.9.1特点237
5.9.2描述237
5.9.3引脚配置239
5 .10ATmega128/128L239
5.10.1特点240
5.10.2描述241
5.10.3引脚配置243
5.10.4开发实验工具245
5.11ATmega161246
5.11.1特点246
5.11.2描述247
5.11.3引脚配置247
5.12AVR单片机替代MCS51单片机249
第六章实用程序设计
6.1程序设计方法250
6.1.1程序设计步骤250
6.1.2程序设计技术250
6.2应用程序举例251
6.2.1内部寄存器和位定义文件251
6.2.2访问内部 EEPROM254
6.2.3数据块传送254
6.2.4乘法和除法运算应用一255
6.2.5乘法和除法运算应用二255
6.2.616位运算255
6.2.7BCD运算255
6.2.8冒泡分类算法255
6.2.9设置和使用模拟比较器255
6.2.10半双工中断方式UART应用一255
6.2.11半双工中断方式UART应用二256
6.2.128位精度A/D转换器256
6.2.13装载程序存储器256
6.2.14安装和使用相同模拟比较器256
6.2.15CRC程序存储的检查256
6.2.164×4键区休眠触发方式257
6.2.17多工法驱动LED和4×4键区扫描257
6.2.18I2C总线257
6.2.19I2C工作258
6.2.20SPI软件258
6.2.21验证SLAVR实验器及AT90S1200的口功能1259
6.2.22验证SLAVR实验器及AT90S1200的口功能2259
6.2.23验证SLAVR实验器及具有DIP40封装的口功能
第七章AVR单片机的应用
7.1通用延时子程序260
7.2简单I/O口输出实验266
7.2.1SLAVR721.ASM 266
7.2.2SLAVR722.ASM267
7.2.3SLAVR723.ASM268
7.2.4SLAVR724.ASM270
7.2.5SLAVR725.ASM271
7.2.6SLAVR726.ASM272
7.2.7SLAVR727.ASM273
7.3综合程序274
7.3.1LED/LCD/键盘扫描综合程序274
7.3.2LED键盘扫描综合程序275
7.3.3在LED上实现字符8的循环移位显示程序275
7.3.4电脑放音机277
7.3.5键盘扫描程序285
7.3.6十进制计数显示286
7.3.7廉价的A/D转换器289
7.3.8高精度廉价的A/D转换器294
7.3.9星星灯297
7.3.10按钮猜数程序298
7.3.11汉字的输入304
7.4复杂实用程序306
7.4.110位A/D转换306
7.4.2步进电机控制程序309
7.4.3测脉冲宽度312
7.4.4LCD显示8字循环318
7.4.5LED电脑时钟324
7.4.6测频率330
7.4.7测转速332
7.4.8AT90S8535的A/D转换334
第八章BASCOMAVR的应用
8.1基于高级语言BASCOMAVR的单片机开发平台340
8.2BASCOMAVR软件平台的安装与使用341
8.3AVR I/O口的应用345
8.3.1LED发光二极管的控制345
8.3.2简易手控广告灯346
8.3.3简易电脑音乐放音机347
8.4LCD显示器349
8.4.1标准LCD显示器的应用349
8.4.2简单游戏机--按钮猜数351
8.5串口通信UART352
8.5.1AVR系统与PC的简易通信353
8.5.2PC控制的简易广告灯354
8.6单总线接口和温度计356
8.7I2C总线接口和简易IC卡读写器359
第九章ICC AVR C编译器的使用
9.1ICC AVR的概述365
9.1.1介绍ImageCraft的ICC AVR365
9.1.2ICC AVR中的文件类型及其扩展名365
9.1.3附注和扩充366
9.2ImageCraft的ICC AVR编译器安装367
9.2.1安装SETUP.EXE程序367
9.2.2对安装完成的软件进行注册367
9.3ICC AVR导游368
9.3.1起步368
9.3.2C程序的剖析369
9.4ICC AVR的IDE环境370
9.4.1编译一个单独的文件370
9.4.2创建一个新的工程370
9.4.3工程管理371
9.4.4编辑窗口371
9.4.5应用构筑向导371
9.4.6状态窗口371
9.4.7终端仿真371
9.5C库函数与启动文件372
9.5.1启动文件372
9.5.2常用库函数372
9.5.3字符类型库373
9.5.4浮点运算库374
9.5.5标准输入/输出库375
9.5.6标准库和内存分配函数376
9.5.7字符串函数377
9.5.8变量参数函数379
9.5.9堆栈检查函数379
9.6AVR硬件访问的编程380
9.6.1访问AVR的底层硬件380
9.6.2位操作380
9.6.3程序存储器和常量数据381
9.6.4字符串382
9.6.5堆栈383
9.6.6在线汇编383
9.6.7I/O寄存器384
9.6.8绝对内存地址384
9.6.9C任务385
9.6.10中断操作386
9.6.11访问UART387
9.6.12访问EEPROM387
9.6.13访问SPI388
9.6.14相对转移/调用的地址范围388
9.6.15C的运行结构388
9.6.16汇编界面和调用规则389
9.6.17函数返回非整型值390
9.6.18程序和数据区的使用390
9.6.19编程区域391
9.6.20调试391
9.7应用举例*392
9.7.1读/写口392
9.7.2延时函数392
9.7.3读/写EEPROM392
9.7.4AVR的PB口变速移位393
9.7.5音符声程序393
9.7.68字循环移位显示程序394
9.7.7锯齿波程序395
9.7.8正三角波程序396
9.7.9梯形波程序396
附录1AT89系列单片机简介398
附录2AT94K系列现场可编程系统标准集成电路401
附录3指令集综合404
附录4AVR单片机选型表408
参 考 文 献412

相 关 资 源