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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(avr单片机_教程_实例_附电路图.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

avr单片机_教程_实例_附电路图.doc

1、AVR单片机特点 每种MCU都有自身的优点与缺点,与其它8-bit MCU相比,AVR 8-bit MCU最大的特点是: ● 哈佛结构,具备1MIPS / MHz的高速运行处理能力; ● 超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采用单一ACC进行处理造成的瓶颈现象; ● 快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发; ● 作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的

2、能力; ● 片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠; ● 大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等; ● 大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。 ● 性价比高。 开发AVR单片机,需要哪些编译器、调试器? 软件名称 类型 简介 官方网址 AVR Studio IDE、汇编编译器   ATMEL AVR Studio集成开发环境(IDE),可使用汇编语言进行开发(使用其它语言

3、需第三方软件协助),集软硬件仿真、调试、下载编程于一体。ATMEL官方及市面上通用的AVR开发工具都支持AVRStudio。 GCCAVR (WinAVR) C编译器   GCC是Linux的唯一开发语言。GCC的编译器优化程度可以说是目前世界上民用软件中做的最好的,另外,它有一个非常大优点是,免费!在国外,使用它的人几乎是最多的。但,相对而言,它的缺点是,使用操作较为麻烦。 ICC AVR C编译器 (集烧写程序功能)   市面上(大陆)的教科书使用它作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便。虽然ICCAVR软件不是免费的,

4、但,它有Demo版本,在45天内是完全版。 CodeVision AVR C编译器 (集烧写程序功能)   与KeilC51的代码风格最为相似,集成较多常用外围器件的操作函数,集成代码生成向导,有软件模块,不是免费软件,Demo版为限2KB版。 www.hpinfotech.ro ATman AVR C编译器 支持多个模块调试(AVRStudio不支持多个模块调试)。 IAR AVR C编译器   IAR实际上在国外比较多人使用,但它的价格较为昂贵,所以,中国大陆内,使用它的开发人员较少,只有习惯用IAR的工程师才会去使用它。 AVR的仿真方式

5、 一般来说,AVR有三种仿真方式: (1)JTAG仿真方式,适用于具备JTAG仿真接口的AVR。如:Atmega16/32,Atmega64/128等。 JTAG是IEEE的标准规范, 通过这个标准,可对具有JTAG接口的芯片的硬件电路进行边界扫描和故障检测。部分AVR型号带JTAG仿真调试接口,可使用JTAG仿真方式。 (2)debugWIRE仿真方式,适用于具备debugWIRE仿真接口的AVR。如:Attiny13/24/2313,Atmega48/88/168等。 debugWIRE 是用以降低成本和调试引脚的开销,ATMEL在AVR器件上使用的新的调试接口:debugWIRE

6、与JTAG相比其主要区别在于仅使用一根信号线(RESET),即可完成调试信息的交互,达到控制程序流向,执行指令以及编程熔丝位的功能。它的总的连接图如下: 这里的 RESET 信号被用于传递调试信息。 (3)采用仿真头替代AVR MCU仿真方式,适用于不带仿真接口的AVR。如Attiny26,Atmega8,Atmega8515等 AVR单片机基本硬件电路设计包括:AVR复位电路和下载电路的设计,另外AVR晶振电路可以不加。 ● AVR复位电路的设计   与传统的51单片机相比,AVR单片机内置复位电路,并且在熔丝位里,可以控制复位时间,所以,AVR单片机可以不设外部

7、上电复位电路,依然可以正常复位,稳定工作。   若是系统需要设置按键复位电路,那么注意,AVR单片机是低电平复位,如下图,设计按键复位电路:    ● AVR下载电路的设计   一般来说,AVR的编程方式有:   (1)串行编程,ISP编程   (2)高压/并行编程   (3)JTAG编程   (4)IAP编程   一般情况,系统板都需要设计下载线路,对AVR进行编程。目前的AVR芯片基本上都具备ISP接口,可通过ISP接口进行编程。所以,最常见的是,在系统板上留ISP接口。   那么什么是ISP呢?   ISP是In System Program的缩写,意思是在系

8、统编程,亦即是在线编程。它一共使用了两条电源线:VCC、GND,三条信号线:SCK、MOSI、MISO,以及复位线:RESET。由于仅仅使用了几条数据线,所以我们亦常将其称为串行编程。   值得注意的是:大部分AVR的ISP数据端口亦为 SCK、MOSI、MISO引脚(如tiny13/24/2313,mega48/88/168/8,mega16/32/162等),如下: [调试器] [目标MCU] VCC -------- VCC GND -------- GND RESET -------- RESET SCK -------- SCK MOSI -------- MOSI

9、MISO -------- MISO  ● AVR晶振电路的设计   与传统的51单片机相比,AVR单片机内置RC振荡电路。出厂时,未进行时钟源设置的AVR,其时钟源使用的是内部RC振荡,一般情况使用的是1M频率。   通过对熔丝位的设置,可以设置MCU的内部RC振荡频率。例如:4M、8M等。   不过,内置RC振荡,在一致性方面存在差异,它因生产的批次有所差异,亦与温度等因素有较大的相关性。所以,在一些对时钟要求较高的场合,如:精确定时,RS232通信等,这些场合,建议使用外部的晶振线路。 AVR教程(1):AVR单片机介绍 作者:微雪电子 文章来源:

10、点击数: 478 更新时间:2008-4-1 23:58:21 AVR,它来源于:1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR。 AVR单片机特点 每种MCU都有自身的优点与缺点,与其它8-bit MCU相比,AVR 8-bit MCU最大的特点是: ● 哈佛结构,具备1MIPS / MHz的高速运行处理能力; ● 超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采用单一ACC进行处理造成的瓶颈现象; ● 快速的存取寄存器组、单周期指令系

11、统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发; ● 作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力; ● 片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠; ● 大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等; ● 大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。

12、 ● 性价比高。 开发AVR单片机,需要哪些编译器、调试器? 软件名称 类型 简介 官方网址 AVR Studio IDE、汇编编译器   ATMEL AVR Studio集成开发环境(IDE),可使用汇编语言进行开发(使用其它语言需第三方软件协助),集软硬件仿真、调试、下载编程于一体。ATMEL官方及市面上通用的AVR开发工具都支持AVRStudio。 GCCAVR (WinAVR) C编译器   GCC是Linux的唯一开发语言。GCC的编译器优化程度可以说是目前世界上民用软件中做的最好的,另外,它有一个非常大优点是,免费!在国外,使用它的人几乎是最多的。但,相

13、对而言,它的缺点是,使用操作较为麻烦。 ICC AVR C编译器 (集烧写程序功能)   市面上(大陆)的教科书使用它作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便。虽然ICCAVR软件不是免费的,但,它有Demo版本,在45天内是完全版。 CodeVision AVR C编译器 (集烧写程序功能)   与KeilC51的代码风格最为相似,集成较多常用外围器件的操作函数,集成代码生成向导,有软件模块,不是免费软件,Demo版为限2KB版。  www.hpinfotech.ro ATman AVR C编译器 支持多个模

14、块调试(AVRStudio不支持多个模块调试)。 IAR AVR C编译器   IAR实际上在国外比较多人使用,但它的价格较为昂贵,所以,中国大陆内,使用它的开发人员较少,只有习惯用IAR的工程师才会去使用它。 AVR的仿真方式 一般来说,AVR有三种仿真方式: (1)JTAG仿真方式,适用于具备JTAG仿真接口的AVR。如:Atmega16/32,Atmega64/128等。 JTAG是IEEE的标准规范, 通过这个标准,可对具有JTAG接口的芯片的硬件电路进行边界扫描和故障检测。部分AVR型号带JTAG仿真调试接口,可使用JTAG仿真方式。 (2)debugWIR

15、E仿真方式,适用于具备debugWIRE仿真接口的AVR。如:Attiny13/24/2313,Atmega48/88/168等。 debugWIRE 是用以降低成本和调试引脚的开销,ATMEL在AVR器件上使用的新的调试接口:debugWIRE,与JTAG相比其主要区别在于仅使用一根信号线(RESET),即可完成调试信息的交互,达到控制程序流向,执行指令以及编程熔丝位的功能。它的总的连接图如下: 这里的 RESET 信号被用于传递调试信息。 (3)采用仿真头替代AVR MCU仿真方式,适用于不带仿真接口的AVR。如Attiny26,Atmega8,Atmega8515等。 AVR

16、的烧写方式 一般来说,AVR的编程方式有: (1)串行编程(即ISP编程) ISP是In System Program的缩写,意思是在系统编程。目前的AVR芯片基本上都具备ISP接口,可通过ISP接口进行编程。它一共使用了两条电源线:VCC、GND,三条信号线:SCK、MOSI、MISO,以及复位线:RESET。由于仅仅使用了几条数据线,所以我们亦常将其称为串行编程。值得注意的是,虽然下载器端使用的信号线名为SCK、MOSI、MISO,但AVR MCU的信号端不一定是名为SCK、MOSI、MISO。 AVR的串行编程方式有很多种,如: (1)STK200/STK300:并口下载器多采

17、用该烧写方式,最早期的一种烧写方式,支持型号少,烧写速度低,不支持AVR Studio。 (2)STK500:ATMEL最推荐的编程方式,由于采用ATMEL官方的STK500固件,使得它可烧写全系列AVR(若对固件进行升级亦可支持未来的AVR型号),烧写速度非常快,支持AVR Studio。 (3)AVRISP(准STK500):由于采用ATMEL官方的STK500固件,使得它可烧写大部分AVR(若对固件进行升级亦可支持未来的AVR型号),烧写速度非常快,支持AVR Studio。 (4)AVRISPmkII:由于采用ATMEL官方的AVRISPmkII固件,使得它可烧写大部分AVR(若

18、对固件进行升级亦可支持未来的AVR型号),烧写速度非常快,支持AVR Studio。 (5)当然还有其它的ISP方式,但已经那些均不是最为常见的串行编程方式,在此不在作一一介绍。 (2)高压/并行编程 AVR的高压编程/并行编程,实际上是更早出现的编程方法,它功能强大,但需要: 1)连接较多的引脚(故称“并行编程”) 2)使用12V电压(故称“高压编程”) 联合起来一般叫高压/并行编程。实际上,有些编程是高压/串行编程,如Attiny13。(Attiny13端口非常少)高压/并行编程(理论上)能修复任何熔丝位,例如: 1)Attiny13/24/2313、Atmega8/48/8

19、8/168等AVR的RESET端口与IO端口是共用的,由于这类AVR的引脚一般较少,(如Attiny13仅有6个IO口),经常出现IO不够用的情况,需要将RESET端口设置为IO端口使用,然而,一旦将RESET设置为IO,便无法再进行ISP编程了,更无法使用ISP恢复RESET功能,因为ISP编程需要RESET功能。然而,这种情况下,使用高压/并行编程,可以恢复RESET功能,(注意:RESET端口与IO端口是共用的AVR,具备debugWIRE功能,“dW”熔丝位必须为启动状态)因为高压/并行编程不需要RESET功能。 2)当设置错了熔丝位导致芯片锁死,这种情况下,使用高压/并行编程,可恢

20、复熔丝位。 (3)JTAG编程 JTAG烧写方式仅适用于带JTAG接口的AVR,另外,JTAG对比ISP烧写方式主要有个缺点:必须占用JTAG对应的IO端口。例如,ATMEGA16必须占用PC2-PC5这几个端口。然而,有时候,缺点也是优点,因为对于IO够用的AVR来说,在产品开发过程,可以用JTAG接口来仿真调试,产品量产后,产品板预留的JTAG接口还可以用来烧写程序。 (4)IAP编程 AVR MCU的ISP功能和debugWIRE功能是互斥的,也就是说,使能了AVR MCU的 debugWIRE 功能后ISP功能就无法使用,使能了ISP功能后debugWIRE功能就无法使用。

21、   那么,怎样确定AVR的RESET引脚 为ISP功能使用还是debugWIRE功能使用呢?   在具备debugWIRE 的AVR 器件中,有一个可编程的熔丝位DWEN,如果该熔丝被编程(且lockbits未被编程),则debugWIRE 功能被启用,AVR的RESET 引脚将被作为debugWIRE 功能使用,可与调试器进行debugWIRE仿真通信(此时,ISP 功能被禁用)。AVR芯片出厂时,DWEN熔丝位是未编程的,也即是说ISP 功能是使能的,debugWIRE 被禁用。使用ISP 功能时,通过调试器对debugWIRE熔丝进行编程使能,可启用debugWIRE功能;使用de

22、bugWIRE功能时,对通过调试器对debugWIRE熔丝禁止,可使能ISP 功能。 编程语言建议使用C而不是汇编开发AVR 首先说说C的优点。 1、直观,可读性强:这点很重要。对于一个产品,周期是很长的,即使出第一台产品之后,还有很长的维护时间。这中间维护人员可能经常变动,如果可读性强,将给维护工作省下很大的成本。即使是在开发,可读性强的程序也便于查错。 2、模块化可以做的很好:这点也是很重要的。模块化做得好,当然程序得重用性就高。对于公司来说,这一点是关系到公司长远发展的。程序可以重用,说明下一次开发的投入就可以减少,时间也可以加快,多好的事呀。    还有很多有点,当然也就是

23、高级语言相对于汇编语言的优点,这里就不一一列举了。    再来看看汇编的优点:应该来说,汇编语言操作硬件直观,对于硬件非常熟悉的人来说,直接操作很方便。另外可能就是很多人说的效率要高了。    针对以上两点我来说说,首先“汇编语言操作硬件直观”,这是在代码编写阶段,对于整个产品周期来说,应该是要避免使用汇编语言的,这个在C语言的优点中已经说明。对于第二点,效率问题,目前C语言的编译器优化也做的很好,对于一个汇编不是很熟练的来说,C编出来的程序应该不会效率比汇编低。当然这样就对开发人员的要求降低了很多,人员的限制也就没有那么严格。另外是否真的是效率问题呢。我觉得应该是一个整体效率和局部效率

24、的均衡问题。需要提高的是整体的效率。一个好的软件架构,远远比一个好的函数效率要高的多。因此主要的精力应该放在软件的架构上。另外现在CPU的速度不停的往上提,CPU越来越快,这点应该也可以弥补程序的效率吧。    当然,我的意思不是不学习汇编。汇编对于熟悉硬件有很大的好处,应此汇编语言在学习初期一定是要学习的。在基本的硬件熟悉之后,就可以转向C了。 AVR教程(2):AVR单片机基本硬件设计 作者:微雪电子 文章来源: 点击数: 315 更新时间:2008-4-1 23:57:33 AVR单片机基本硬件电路设计包括:AVR复位电路和下载电路的设计,

25、另外AVR晶振电路可以不加。 ● AVR复位电路的设计   与传统的51单片机相比,AVR单片机内置复位电路,并且在熔丝位里,可以控制复位时间,所以,AVR单片机可以不设外部上电复位电路,依然可以正常复位,稳定工作。   若是系统需要设置按键复位电路,那么注意,AVR单片机是低电平复位,如下图,设计按键复位电路:    ● AVR下载电路的设计   一般来说,AVR的编程方式有:   (1)串行编程,ISP编程   (2)高压/并行编程   (3)JTAG编程   (4)IAP编程   一般情况,系统板都需要设计下载线路,对AVR进行编程。目前的AVR芯片基本上都具

26、备ISP接口,可通过ISP接口进行编程。所以,最常见的是,在系统板上留ISP接口。   那么什么是ISP呢?   ISP是In System Program的缩写,意思是在系统编程,亦即是在线编程。它一共使用了两条电源线:VCC、GND,三条信号线:SCK、MOSI、MISO,以及复位线:RESET。由于仅仅使用了几条数据线,所以我们亦常将其称为串行编程。   值得注意的是:大部分AVR的ISP数据端口亦为 SCK、MOSI、MISO引脚(如tiny13/24/2313,mega48/88/168/8,mega16/32/162等),如下: [调试器] [目标MCU] VCC ---

27、 VCC GND -------- GND RESET -------- RESET SCK -------- SCK MOSI -------- MOSI MISO -------- MISO  ● AVR晶振电路的设计   与传统的51单片机相比,AVR单片机内置RC振荡电路。出厂时,未进行时钟源设置的AVR,其时钟源使用的是内部RC振荡,一般情况使用的是1M频率。   通过对熔丝位的设置,可以设置MCU的内部RC振荡频率。例如:4M、8M等。   不过,内置RC振荡,在一致性方面存在差异,它因生产的批次有所差异,亦与温度等因素有较大的相关性。所以,在一些对

28、时钟要求较高的场合,如:精确定时,RS232通信等,这些场合,建议使用外部的晶振线路。 AVR教程(3):ICCAVR快速使用 作者:微雪电子 文章来源: 点击数: 267 更新时间:2008-4-1 23:56:44  ICCAVR快速使用 1、在ICCAVR中建立工程、C文件   A、从“Project”菜单中选择“New”命令,如下图:   B、选择文件路径,并输入工程文件的名称,如“ATmega16_Led_Test”,如下图:   C、点击“NewFile”控件,建立新文件,如下图:   D、将文件另存为“.C”文件,

29、如下图:   E、输入“.C”文件的名称,如“ATmega16_Led_Test.C”,如下图:   F、点击“Files”->“Add File(s)”,如下图:   G、找到您的“.C”文件,将它添加到您的“Project”下面,如下图:   2、在ICCAVR编写自己的C代码,并进行编译   A、在您“.C”文件中输入您的代码,如下图:   B、点击“Project Options”控件,如下图:   C、打开第三个面板“Target”,选择您的AVR器件型号,如下图:   D、打开第二个面板“Compiler”,选择与您实际相符的选型,一般

30、进行如下设置,如下图:   E、配置完成后,您就可以编译您的ICCAVR工程了,点击“Builder Project”控件,如下图: AVR教程(4):AVRStudio仿真调试快速入门 作者:微雪电子 文章来源: 点击数: 211 更新时间:2008-4-1 23:55:11 AVRStudio仿真调试快速入门  ● AVRStudio的安装   到 ATMEL 官方网站: 下载安装。   ● AVRStudio之建立、打开相关调试文件   --使用汇编语言,软件仿真   若使用汇编语言进行源代码的编写,由于AVRSTU

31、DIO自带ASM编译器,可以直接建立、打开。   接着,进行代码编写,之后按进行编译。   --使用ICCAVR,软件仿真   若使用C进行编写,由于AVRSTUDIO不带C编译器,所以需要打开相应的调试文件。   打开*.COF(使用ICCAVR编译器编写源代码)或*.D90文件(使用IAR编译器编写源代码)。这类文件与您需要调试的*.C文件所处同一文件夹。下面以ICCAVR为例,进行介绍。 接着,保存*.aps文件,改文件将记录目标芯片、文件路径等信息。   在打开项目文件的时候,如下图:选择“AVR Simulator”,右边选择实际使用的器件型

32、号,之后点击“Finish”即可进行软件仿真。   选择完成后,即可进行仿真调试了。     --使用JTAGICE仿真器,硬件仿真   与软件仿真不同的是:在打开项目文件的时候,如下图:选择“JTAG ICE”,其它的步骤与软件仿真一致,见上。 --使用JTAG ICE mkII仿真器,硬件仿真   与软件仿真不同的是:在打开项目文件的时候,如下图:选择“JTAG ICE”,其它的步骤与软件仿真一致,见上。     ● AVRStudio之调试程序 下面简单介绍使用AVRStudio进行仿真调试 调试控制栏 调试控制栏可以控制程序的执行状态,所有的

33、调试控制都可以由菜单,快捷键和调试工具栏实现。 注意!如果在目标文件中含有有效的源码级信息,所有的调试操作将一直继续执行,直到到达第一条用户源代码语句.如果没有遇到用户源代码语句,程序将继续执行。如果要停止程序的运行,必须在发出停止命令前转换到反汇编模式。 1.开始调试(Start Debugging) 此命令将启动调试模式,并使所有的调试控制命令处于有效。通常在调试模式下不能编辑程序。此命令将连接调试平台,装载目标文件并执行复位操作。 2.停止调试(Stop Debugging) 此命令将停止调试过程,并断开与调试平台的连接,进入编辑模式. 3.复位(Reset)(S

34、HIFT+F5) 此命令可以让目标程序复位。当程序正在运行时,执行此命令的话程序将停止运行。如果用户是在源级模式中,程序会在复位完成后,继续运行直到第一条用户的源代码语句处。复位命令执行后,所有窗口中的信息都将更新。 4.运行(Run)(F5) 调试菜单中的运行命令将启动(重启动)程序。程序将一直运行直到被用户停止或遇到一个断点。只有当程序处于停止运行状态时才能执行此命令。 5.暂停(Break)(CTRL-F5) 调试菜单中的暂停命令将停止程序运行。当程序停止时,所有窗口中的信息都将更新。只有当程序处在运行状态时才能执行此命令。 6.单步执行(Single step,

35、 Trace Into)(F11) 调试菜单中的跟踪命令将控制程序只执行一条指令。当 AVR Studio 是在源代码级模式时,可执行一条源代码语句。当在反汇编级模式时,可执行一条反汇编指令。当指令执行完成后,所有窗口中的信息都将更新。 7.逐过程(Step Over)(F10) 调试菜单中的逐过程命令只执行一条指令。如果此条指令包含一个函数调用/子程序调用,该函数/子程序也会同时执行。如果在逐过程命令中遇到用户设置的断点,程序运行将被挂起。在逐过程命令执行完毕后,所有窗口中的信息才会被更新。 8.跳出(Step Out)(SHIFT+F11) 调试菜单中的跳出命令会使程序一直

36、运行,直到当前函数结束。如果遇到用户设置的断点,程序运行将被挂起。当程序处在最外层(如主函数)时,此时执行跳出命令,程序将继续运行,直到遇到一个断点或被用户停止。在该命令执行完成后,所有窗口中的信息都将更新。 a.运行到光标处(Run To Cursor)(F7) 调试菜单中的运行到光标处命令,将使程序运行到源代码窗口中光标指示的语句处停止。此时如果遇到用户的断点,程序的运行将不会被挂起。如果程序运行永远达不到光标指示处的语句,程序将一直继续运行,直到被用户停止。当此命令结束后,所有窗口中的信息都将更新。由于此命令是与光标位置有关,所以只有当源代码窗口激活时才有效。 b.自动运行(

37、Auto Step) 调试菜单中的的自动运行命令将重复执行跟踪指令。当 AVR Studio 处在源代码级模式时,每次执行一条源指令,处在反汇编级模式时,每次执行一条汇编指令,随后所有窗口中的信息都将更新,接者自动执行下一条语句或指令。使用自动运行命令时,程序的运行将一直持续的单步运行,直到遇到一个用户设置的断点或被用户停止。 c.设置清除断点 d.清除所有断点 e.快速观察窗口 AVR教程(5):使用AVRStudio设置AVR熔丝位及烧写程序 作者:微雪电子 文章来源: 点击数: 190 更新时间:2008-4-1 23:53:17

38、使用AVRStudio设置AVR熔丝位及烧写程序 AVR Studio是ATMEL指定用于开发AVR MCU的官方软件,其编程功能最为强大。下面介绍使用AVRStudio烧写程序及熔丝快速入门。   ● 使用AVRISP方式烧写程序及配置熔丝位   对软硬件进行初始配置,并正确设备连接,就可使用AVRISP进行联机了。   打开AVRStudio,点击主窗口中的图标前面标有Con的那个图标。出现如下图画面: 在左边,选择“STK500 or AVRISP”,在右边,选择“Auto”(或具体的COM口),点击“Connect”进行联机。   正常联机后,将弹出如下窗口:  

39、 (1)程序编程面板: ● Device里面选择好对应的芯片类型,后面的Erase Device可以擦除芯片。 ● Programming mode编程模式:注意这里必须是ISP mod,表示用的ISP编程模式;Erase Device Before 选项:编程前先擦除芯片,建议选上,如果不选芯片内部残留的程序可能会对新的程序造成干扰。Verity Device After Program:下载完毕后校验程序内容,建议选上。 ● Flash 下载区:Input HEX File,找到要写的hex文件格式为*.hex、*.e90。Program,编程点此按钮,将会把Input HEX

40、File对应文件下载到芯片中去,如果路径有错误或者文件格式不正确会有提示报警。Verify 校验命令,用于检测芯片内程序是否和文件中的一致。Read读命令,此命令可以读出未加密芯片内的程序,自动弹出一个对话框提示保存。 ● EEPROM下载区,和Flash 下载区类似,格式为.hex、.e90和.eep,此功能用于下载比较多的需要存在EEPROM中的内容时使用。Program、Verify、Read于Flash下载区有对应EEPROM的同样的功能,不在赘述。 ● 状态指示区,这里显示目前的操作状态。   (2)熔丝位设置面板: ● 配置熔丝位有一定的危险性,可能锁死芯片,在不知道具

41、体在做什么操作之前,请不要急于动手。 ● 熔丝位状态显示框,显示芯片的各个熔丝位的详细状况,AVR的熔丝位打勾表示0,表示启用该选项;取消表示1,表示不启用该选项,需要注意。 ● Auto Verity 选项选中时,程序会自己进行校验,建议选中。Smart Warning选项选中时,在对一些特殊的具有一定危险性的熔丝位进行编程时会弹出警告信息,建议选中。 ● Program、Verify和Read分别对应编程、校验和读取,正确的配置熔丝的方法是先读取,先后修改需要修改的地方,再编程写回。在Auto Verity选项选中时无需再点Verify按钮进行校验。 ● 为了安全起见,在ISP模式

42、下,SPEEN熔丝是不允许编程的。 ● 芯片锁死的主要原因是设错熔丝位,主要有两种情况: (1)JTAGEN和SPIEN两个熔丝位都为1(不打勾),不能再进行编程,此时只能用高压并行编程或者有源晶振恢复。 (2)将熔丝位选择了外部晶振或外部RC振荡,而没有接外部晶振或外部RC振荡,或者外接的振荡频率不匹配,导致芯片不能工作,这种情况,需要外挂相应晶体才能再次操作芯片,用户应尽量记起当时设错熔丝的情况,比如错误设置成了外部3-8M晶振,那么外挂一个3-8M晶振即可进行相应操作。   当然还有其它方面的原因导致芯片锁死,在此处不再一一赘述。   下面以ATmega16为例,对其熔丝位

43、进行简单描述: (3)锁定位设置面板: ● 通过编程锁定位,允许用户对AVR芯片内数据进行加密,不同的锁定位对应不同的加密保护程度,加密位共有三位,每位的数越大加密程度越高,否则越低。 ● 被加密后的芯片依然可以读出熔丝位和加密位的情况,一旦试图对加密位进行修改,芯片内的程序将会被修改或擦除,不能再使用。 ● 加密位可以通过编程界面的芯片擦除功能擦除到初始状态,使得芯片可以重复使用。 ● 锁定位编程界面有与熔丝位编程界面相同的选项和操作按钮,功能类似,不再赘述。 ● 锁定位编程应该在熔丝位编程之后进行,通常编程锁定位是生产过程中写芯片环节的最后一步。   下面以ATme

44、ga16为例,对其所定位进行简单描述: (4)高级设置面板: ● Signature Bytes,芯片型号标识位,点右边的Read读按钮可以读出芯片内的ID。如果在编程面板里面选的芯片型号与读出的芯片型号对应,下面会提示Signature matches selected device,如果不匹配会出现WARNING: Signature does not match selected device! ● Oscillator Calibration byte,内部RC振荡校准。这里选择不同的频率,点Read Cal. Byte ,可以读出对应的频率下的校准值,然后将这个值复

45、制到Write区,选择将校准值写到Flash还是EEPROM,点击Write to Memory写按钮,即可完成对应频率下的内部RC振荡校准。 ● 写入到flash区域的校准字芯片启动时自动读取并校准RC振荡,如果写到EEPROM中,需要程序中进行处理。 ● Communication Settings串行通讯设定。   (5)对目标板控制面板: ● Voltages 通过本面板可以查看目标板的电压和写参考电压,参考电压需要实际测得,再写入,可以帮助仿真器准确读取目标板电压值以供参考。本功能在ISP编程模式下不可用,需要在JTAG模式下使用。 ● Oscillator and I

46、SP Clock 读写速率设定,这里可以读写仿真器内ISP编程的速率,ISP模式下STK500选项为灰色。注意速率一定要小于芯片时钟频率的1/4,否则无法正确下载。 ● Revision 版本号及升级,这里显示当前hex文件的版本号,如果AVR studio内的软件版本高于仿真器的版本,右边的Upgrade会可用,如果匹配则该按钮为灰色。 ● 当Upgrade按钮为可用状态时,可以点击它进入自动升级,在此之前请确认仿真器是否支持自动升级,以免造成麻烦。   (5)自动烧写面板: ● 自动烧写面板在生产的时候非常管用,程序会记录上次进行批处理的各个选项,一旦设置好之后,可以连续进行烧

47、写。 ● 请慎用本功能,在不知情的情况下使用本功能,锁死芯片的几率将大大增加。 ● 自动处理:擦除芯片、检测芯片ID号、写flash、写EEPROM、写熔丝位、写锁定位以及他们对应的校验,一次完成,状态栏会显示正在进行的操作。 ● 所有的操作需要在前面对应的面板设置好,比如选择好下载的HEX及EEPROM文件,选好熔丝位,选好锁定位,写好内部RC校正位等。请一定确保各个选项正确,特别是熔丝需要格外小心,可以先在每个面板里面进行操作确认没有问题再进行批处理操作。 ● 在进行批处理之前,请先在高级选项里面设置好通讯速率,确保速率小于晶振的四分之一,否则会出错。 ● 可以选中右边的Log

48、to file选项从而记录操作日志。   ● 使用JTAG方式烧写程序及熔丝位   对软硬件进行初始配置,并正确设备连接,就可使用JTAG进行联机了。   打开AVRStudio,点击主窗口中的图标前面标有Con的那个图标。出现如下图画面: 在左边,选择“JTAG ICE”,在右边,选择“Auto”(或具体的COM口),点击“Connect”进行联机。 下面步骤基本与上面AVRISP方式相同。 AVR教程(6):ATmega16 简介(一) 作者:微雪电子 文章来源: 点击数: 150 更新时间:2008-4-1 23:52:28   ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。 ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。 ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服