ImageVerifierCode 换一换
格式:DOCX , 页数:61 ,大小:1.20MB ,
资源ID:3732681      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3732681.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AVR入门.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AVR入门.docx

1、AVR入门AVR 性能简介AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点:1:在相同的系统时钟下AVR运行速度最快;2: 芯片内部的Flsah、EEPROM、SRAM容量较大;3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。目前支持AVR单

2、片机编译器的语言主要有汇编语言、C语言、BASIC语言等。其中C编译器主要有CodeVisionAVR、AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、 运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR的主要特性高可靠性、功能强、高速度、低功耗和低价位 , 一直是衡量单片

3、机性能的重要指标,也是单片机占领市场、赖以生存的必要条件。早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的 CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观(51以及51兼容)。此间虽有某些精简指令集单片机(RISC)问世,但依然沿袭对时钟分频的作法。 AVR单片机的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周

4、期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。当然这种速度上的升跃,是以高可靠性为其后盾的。AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软/硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。 AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于

5、产品的调试、开发、生产、更新。内嵌长寿命的EEProm可长期保存关键数据,避免断电丢失。片内大容量的RAM不仅能满足一般场合的使用,同时也更有效的支持使用高级语言开发系统程序,并可像MCS-51单片机那样扩展外部 RAM。 AVR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入/输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使的得I/O口资源灵活、功能强大、可充分利用。 AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI使用。其中与8/16位定时器配合的具有多达10 位的预分频器,可通过软件设定分频系数提供多种档次的定时时间。AVR单片机独

6、有的“以定时器/计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波的设计方法(即脉宽调制输出PWM)”更是令人耳目一新。增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。 面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK信号硬件发送与识别、地址识别、总线

7、仲裁等功能,能实现主/从机的收/发全部4种组合的多机通信。SPI支持主/从机等4种组合的多机通信。 AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。 AVR单片机具有多种省电休眠模式,且可宽电压运行(5-2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。 AVR单片机技术体现了单片机集多种器件(包括FLASH程序存储器、看门狗、EEPROM、同/异步串行口、TWI、SPI、A/D模数转换器、定时器/计数器等)和多种功能(增

8、强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具输入捕获和比较匹配输出等多样化功能的定时器/计数器、具替换功能的I/O端口 )于一身,充分体现了单片机技术的从“片自为战”向“片上系统SoC”过渡的发展方向。综上所述,AVR单片机博采众长,又具独特技术,不愧为8位机中的佼佼者。AVR系列单片机的选型AVR单片机系列齐全,可适用于各种不同场合的要求。AVR单片机有3个档次: 低档Tiny系列AVR单片机: 主要有Tiny11/12/13/15/26/28等; 中档AT90S系列AVR 单片机: 主要有AT90S1200/2313/8515/8535等; (正在淘汰或转型到M

9、ega中)高档ATmega系列AVR单片机: 主要有ATmega8/16/32/64/128( 存储容量为8/16/32/64/128 KB)以及ATmega8515/8535等。 AVR器件引脚从8脚到64脚, 还有各种不同封装供选择。详细的选型信息可以参考本网站的AVR单片机全系列性能参数表。 AVR芯片入门知识ATmel 挪威设计中心的A先生与V先生,于97年设计出一款使用RISC指令集的8位单片机,起名为AVR。AVR 芯片的主要特性,及与其它单片机比较的优点,相信我不用多说了,大家随便找一本参考书就可以看到洋洋洒洒的十几页的介绍。如果你想看到只有一页的介绍,可以参考我们网站上的资料:

10、 AVR单片机性能简介。 我就 AVR单片机分3个档次,四种封装做一个介绍。AVR单片机系列齐全,可适用于各种不同场合的要求。AVR单片机有3个档次:低档Tiny系列AVR单片机: 主要有Tiny11/12/13/15/26/28等; 中档AT90S系列AVR 单片机: 主要有AT90S1200/2313/8515/8535等; (正在淘汰或转型到Mega中)查看详细情况高档ATmega系列AVR单片机: 主要有ATmega8/16/32/64/128( 存储容量为8/16/32/64/128 KB)以及ATmega8515/8535。 新的型号还有 ATmega48/88/168 (存储容量

11、为4/8/16K) 等。如果你想获得最新的AVR芯片资料,可以下载: 2006-11 AVR 芯片选型指南,包含所有AVR芯片的参数信息。AVR器件引脚从8脚到64脚(新的芯片高达100脚), 还有各种不同封装供选择。FLASH,RAM 及配置的不同,形成比较宽的产品线系列。详细的选型信息可以参考本网站的AVR单片机全系列性能参数表 。 AVR前几年已经显示了进军中国市场的决心。几乎所有的AVR主流芯片,都已经有了官方正规翻译的中文 DataSheet(数据手册)。我们网站整理了国内最完整的中文datasheet供大家下载学习:点击打开AVR数据手册下载界面。虽然我们网站也收录了双龙翻译的一些

12、旧芯片资料,但建议大家不要使用,错误较多,并且严重的偷工减料。官方翻译的中文手册比较严谨,但仍可能存在一些小缺陷。有需要时,请参考英文版本:点击打开AVR数据手册下载界面。AVR 芯片型号的解释, 以 ATmega48V-10AI 为例:ATmega48 代表产品. V 代表低/宽电压版本。新出的AVR(M48/88/168,Tiny13/2313.)产品系列来说, -V 是1.8-5.5V 工作范围。 不带V是2.7-5.5V 工作范围 。 老的系列以L表示, 2.7-5.5V 工作范围 , 不带L是4.5-5.5V 工作范围 。 -10, 表示最高工作频率, 10MHz A, 表示封装 。

13、AVR芯片有四种封装: (如果你不熟悉封装,请参考我们为你准备的资料: AVR封装图例)1. A: TQFP 2. P: PDIP 3. S: SOIC 4. M: MLF I, 表示温度范围, 将来还表示 ROHS1. I, 工业级 2. C, 商业级 3. A, 汽车级 4. E, 扩展级 (-40-105C) 5. U, 符合ROHS,工业级, 将来会以这个后缀为主, 商业级不作新的标示 AVR ICC 使用快速入门 菜单解释 下一页:新手的第一个程序,实现红绿灯不断闪烁。ICC AVR是一款非常好用的AVR编译软件,官方网站:目前最新版为7.0,本站的所有例程都以ICC AVR为开发平

14、台。如果你还没有配置好开发环境,请参看:AVR 开发环境ICC+AVRstudio配置 。 如果你有时间看很多理论的没有实际操作价值的说明,请下载ICCavr中文使用说明。如果你想快速进入使用,请参看本文档。1、关于窗口设置: 如图 如上图:这是ICC avr 6.31 版本的窗口,分为5大区。1. 菜单项 1. 文件 新建,打开,打印文件等常规选项。很别扭的一件事关闭文件在菜单里。 2. 编辑 复制,粘贴,删除,撤销,重做等常规操作,一看就明白。 3. 搜索 搜索功能,书签功能,可以使用添加标签,删除标签,下一个标签,转到标签。你可以直接点击左侧快速添加或删除标签。 4. 视图 对新手几乎没

15、有用处,你可以用它显示或者隐藏工程文件窗口,编译状态窗口。查看输出文件,makefile文件,Map文件。 5. Project Menu 工程菜单 New. 创建一个新的工程文件 Open 打开一个已经存在的工程文件 Open All Files. 打开工程的全部源文件 Close All Files 关闭全部打开的文件 Reopen. 重新打开一个最近打开过的工程文件 Make Project 解释和编译已经修改的文件为输出文件*注意与7Rebuild All的区别 Rebuild All 重新构筑全部文件注意在版本升级后对原有工程最好全部重新构筑* Add File(s) 添加一个文件到

16、工程中这个文件可以是非源文件 Remove Selected Files 从工程中删除选择的文件 Option. 打开工程编译选项对话框 Close 关闭工程 Save As. 将工程换一个名称存盘 6. Tools Menu 工具菜单 Environment Options 打开环境和终端仿真器选项对话框 Editor and Print Options 打开编辑和打印选项对话框 AVR Calc 打开AVR 计算器可以计算 UART 的波特率定时器的定时常数 Application Builder 打开应用向导程序生成硬件的初始化代码cool,对新手非常有用 Configure Tools

17、 允许你添加自己的内容到工具菜单 Run 以命令行方式运行一个程序 7. Terminal 电脑终端 使用很少 ,串口调试 终端 8. Help 帮助 不用我说了。 快捷菜单图标 从左到右依次为:新建,打开,保存,打印,剪切,复制,粘贴,查找,编译,停止,工程属性,到第一个错误,下一个错误,应用向导程序Application Builder,ISP对话框。 o 程序编辑区 所有的程序编辑工作在这里完成。 点右键有快捷菜单,最常用的事新建一个文件编辑之后,加入到工程。 o 编译状态显示栏图中为报错的情况 显示编译状态,查看报错情况进行相应修改。 o 文件列表框 文件分类管理查看,这里的分类只是为

18、了方便管理,并没有实际的分开。 文件分为.c程序文件,.h头文件,说明文档。 下一页:新手的第一个程序,实现红绿灯不断闪烁。上一页:ICCavr的菜单与界面解释 新手的第一个程序 下一页:ICCavr生成程序文件解释论坛链接: ICCavrstudio下的第一个程序。本页和论坛内容相同,欢迎你到论坛参与讨论。本例实现红绿灯不断闪烁的效果。如果你还没有配置好开发环境,请首先看: avr 开发环境配置 【icc + AVRStudio】第一步:运行iccavr,运行projectnew,新建一个工程,保存为main.prj,保存在新文件夹avr_first下。第二步:运行ToolsApplicat

19、ion Builder 建立工程的工具。看到如下图的设置界面。icc建立avr工程属性设置将Targat CPU 改为M16,因为我们使用的芯片是mega16将Xtal speed 改为1.0000 ,我们使用内部晶振,内部晶振频率为1Mhz。切换到Ports选项,作如下图所示的更改。Ports选项意思是使用单片机的端口A,使用0和1两个脚输出高电平,因为我们所用二极管是低电平驱动的。其他项不做更改,点OK完成。第三步:FileSave as 保存到你刚才第一步建立的工程的文件夹中。注意:保存的文件名必须输入后缀名,形式如main.c。第四步:右键add to project你将看到如下效果:

20、 工程建立完成第五步:在编辑区添加如下程序代码,CODE:void Delay(void)unsigned char i,j;for(i=200;i0;i-) for(j=200;j0;j-) ; void main(void)init_devices(); /初始化while(1)PORTA = 0x02; /1脚为高,0脚为低,0脚灯亮Delay(); /延时PORTA = 0x01; /0脚为高,1脚为低,1脚灯亮Delay(); /延时其中Delay为延时程序,main为主程序,保存程序。第六步:Projectoptions ,将Device configuration改为ATmega

21、16,其他不变,点击ok,如下图编译器环境配置第七步:Projectrebuild all 或者直接使用快捷键 shift f9 ,编译工程。成功即可看到下图所示的样子。编译完成在状态区看到这样的代码:D:Program Filesiccbinimakew -f main.mak iccavr -c -ID:PROGRA1iccinclude -e -DATMEGA -DATMega16 -l -g -Mavr_enhanced D:桌面avr_firstmain.c iccavr -o main -LD:PROGRA1icclib -g -ucrtatmega.o -bfunc_lit:0x

22、54.0x4000 -dram_end:0x45f -bdata:0x60.0x45f -dhwstk_size:16 -beeprom:1.512 -fihx_coff -S2 main.lk -lcatmegaDevice 0% full.Done.第八步:此时打开第一步建立工程的文件夹,可以看到如下文件。文件列表至此,在ICC AVR下的工作完成,请继续下一步,ICCavr生成程序文件解释。上一页:使用ICC+AVRstudio编写第一个程序 ICCavr生成程序文件解释ICC avr 编译成功后会生成很多文件,对我们普通用户以及新手,有用的只有一个文件,*.cof 调试用,*.hex

23、机器码。首先看图:1. main._c main.c修改并保存时,程序自动备份的文件,如果确认main.c没有问题了,可以删除。 2. main.c 主程序文件 3. main.cof COFF 格式输出文件用于在ATMEL 的AvrStudio 环境下进行程序调试 4. main.dbg ImageCraft 调试命令文件 5. main.dp2 6. main.hex INTEL HEX 格式文件其中包含了程序的机器代码 7. main.lis 8. main.lk 9. main.lst 列表文件在这个文件中列举出了目标代码对应的最终地址 10. main.mak 11. main.mp

24、 内存映象文件它包含了您程序中有关符号及其所占内存大小的信息 12. main.o 由汇编文件汇编产生的目标文件多个目标文件可以链接成一个可执行文件 13. main.prj 工程文件 14. main.s 表示是汇编语言源文件 15. MAIN.SRC 工程配置记录 16. main_cof.aps 使用AvrStudio调试后保存的调试环境相关信息。 下一步,要把程序写到芯片里面去了:1. 如果你用的是本站的豪华版JTAG&ISP二合一(AVR JTAG & ISP v3.0)或者是企业版JTAG&ISP二合一(AVR JTAG & ISP v3.0),请查看使用说明书: 2. 只是下载程

25、序,你可以:STK500/ISPJTAG 烧录快速入门 3. 要使用JTAG仿真:AVR JTAG在线访真调试快速入门 4. 或者使用ICC和并口ISP下载线下载程序 AVRstudio 快速入门AVRstudio 是Atmel官方发行的免费软件,其强大的功能和正中的血统,使其成为绝大部分AVR开发者必不可少的工具。 如果你还想了解其他的开发软件,请参考:AVR 开发软件的介绍 ,如果你没有配置好开发环境,请看ICC avr + AVRstudio 开发环境的配置。按照本站提供的方法,安装好AVRstudio后可以看到如下界面:功能介绍:工程功能一:编写、编译汇编工程项目。 (不推荐使用)操作

26、方法:在菜单 Project - New Project 打开如下界面。输入项目名按Fishish后出现汇编代码的编辑窗口。 注意:由于本功能仅适合于汇编语言。我们不推荐使用汇编开发AVR,故不推荐大家使用这个功能。为何开发AVR使用C而不是使用汇编?1、直观,可读性强:这点很重要。对于一个产品,周期是很长的,即使出第一台产品之后,还有很长的维护时间。这中间维护人员可能经常变动,如果可读性强,将给维护工作省下很大的成本。即使是在开发,可读性强的程序也便于查错。2、模块化可以做的很好:这点也是很重要的。模块化做得好,当然程序得重用性就高。对于公司来说,这一点是关系到公司长远发展的。程序可以重用,

27、说明下一次开发的投入就可以减少,时间也可以加快,多好的事呀。 团队合作也需要用模块化的程序去快速融合。功能二: 使用STK500、JTAG或JTAG mkII 下载Connect 与 Auto Connect 的区别,是每次都会提示选择的设备名称与连接端口。 Auto Conect 会自动使用上一次的设置,提高操作效率。 使用Connect 会弹出如下的界面:Port 口为硬件连接端口,如果使用本站的下载器,usb设备会默认模拟到com3,如果你不清楚,选择 Auto 即可。 如果你没有连接 STK500、JTAG、mkII 等设备,可以使用 Disconnected Mode (脱机模式)进

28、入查看操作界面。 详细的下载方法,请参考本网站新手入门范例的有关介绍:AVR下载烧录快速入门。 功能三: 仿真调试可以使用软件仿真、JTAG仿真或 JTAG mkII 仿真三种方式。论坛文章链接:【icc + AVRStudio】下的第一个程序【三】用【AVR-stdio】下载程序 可以在线仿真是AVR的一大优势,开发成本低,方便,快捷。详细的仿真方法,请参考本网站新手入门范例的有关介绍:JTAG在线仿真调试快速入门。STK500 JTAG下载烧录快速入门导读:本文介绍AVR官方唯一推荐的下载方法:STK500。也介绍了 AVR Studio 同时支持的JTAG下载,如果要仿真的话,还是少不了

29、JTAG,所以JTAG下载也很常用。 并口下载由于速度很慢,AVR Studio 也不支持并口下载,(仅能使用第三方的软件下载) 故我们不推荐使用。 我们的感觉:用过STK500下载后,就不会再使用并口下载了。感觉是两种完全不同档次的方式,不过并口下载成本要低很多。如果你没有配置好开发环境,请看ICC avr + AVRstudio 开发环境的配置。请确保你已经了解AVR Studio: AVR Studio 快速入门 。一:STK500 下载支持的芯片:支持全系列的AVR芯片。并且,支持未来的AVR新芯片。实际生产过程中,很多情况下是不留JTAG电路的,因为JTAG电路要占用IO口,并且并不

30、是所有的芯片都支持JTAG下载,所以使用STK500下载很重要。操作方法:打开 AVR Studio 软件,按下图操作。Connect 与 Auto Connect 的区别,是每次都会提示选择的设备名称与连接端口。 Auto Conect 会自动使用上一次的设置,提高操作效率。 使用Connect 会弹出如下的界面:Port 口为硬件连接端口,如果使用本站的下载器,usb设备会默认模拟到com3,如果你不清楚,选择 Auto 即可。 如果你没有连接 STK500、JTAG、mkII 等设备,可以使用 Disconnected Mode (脱机模式)进入查看操作界面。 如果你已经按下图连接好,就能按Connect进行连接了:(注意:JTAG下载时接JTAG,ISP下载时接ISP,普通的编程器如果接错了,有可能会烧坏芯片或者丢失程序,本战的编程器有极强的保护功能,不会有这个危险。)连接成功后,进入如下的界面: 存储器锁定位(从上到下,一一对应)保护类型lb模式lb2lb

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1