欢迎来到天天文库
浏览记录
ID:5875719
大小:58.50 KB
页数:6页
时间:2017-12-27
《atmega128--avr教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、AVR教程(1):AVR单片机介绍作者:微雪电子文章来源:www.waveshare.net点击数:478更新时间:2008-4-123:58:21AVR,它来源于:1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR。AVR单片机特点每种MCU都有自身的优点与缺点,与其它8-bitMCU相比,AVR8-bitMCU最大的特点是:●哈佛结构,具备1MIPS/MHz的高速运行处理能力;●超功能精简指令集(RISC),具有32个通用
2、工作寄存器,克服了如8051MCU采用单一ACC进行处理造成的瓶颈现象;●快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发;●作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力;●片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠;●大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,U
3、ART,TWI,ISP,AD,AnalogComparator,WDT等;●大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。●性价比高。开发AVR单片机,需要哪些编译器、调试器?软件名称类型简介官方网址AVRStudioIDE、汇编编译器 ATMELAVRStudio集成开发环境(IDE),可使用汇编语言进行开发(使用其它语言需第三方软件协助),集软硬件仿真、调试、下载编程于一体。ATMEL官方及市面上通用的AVR开发工具都支持AVRStudio。www.atmel.comGCCAVR(WinAVR
4、)C编译器sourceforge.net GCC是Linux的唯一开发语言。GCC的编译器优化程度可以说是目前世界上民用软件中做的最好的,另外,它有一个非常大优点是,免费!在国外,使用它的人几乎是最多的。但,相对而言,它的缺点是,使用操作较为麻烦。ICCAVRC编译器(集烧写程序功能) 市面上(大陆)的教科书使用它作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便。虽然ICCAVR软件不是免费的,但,它有Demo版本,在45天内是完全版。www.imagecraft.comCodeVisi
5、onAVRC编译器(集烧写程序功能) 与KeilC51的代码风格最为相似,集成较多常用外围器件的操作函数,集成代码生成向导,有软件模块,不是免费软件,Demo版为限2KB版。 www.hpinfotech.roATmanAVRC编译器支持多个模块调试(AVRStudio不支持多个模块调试)。www.atmanecl.comIARAVRC编译器 IAR实际上在国外比较多人使用,但它的价格较为昂贵,所以,中国大陆内,使用它的开发人员较少,只有习惯用IAR的工程师才会去使用它。www.iar.comAVR的仿真方式一般来说,A
6、VR有三种仿真方式:(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器件上使
7、用的新的调试接口:debugWIRE,与JTAG相比其主要区别在于仅使用一根信号线(RESET),即可完成调试信息的交互,达到控制程序流向,执行指令以及编程熔丝位的功能。它的总的连接图如下:这里的RESET信号被用于传递调试信息。(3)采用仿真头替代AVRMCU仿真方式,适用于不带仿真接口的AVR。如Attiny26,Atmega8,Atmega8515等。AVR的烧写方式一般来说,AVR的编程方式有:(1)串行编程(即ISP编程)ISP是InSystemProgram的缩写,意思是在系统编程。目前的AVR芯片基本上都具备I
8、SP接口,可通过ISP接口进行编程。它一共使用了两条电源线:VCC、GND,三条信号线:SCK、MOSI、MISO,以及复位线:RESET。由于仅仅使用了几条数据线,所以我们亦常将其称为串行编程。值得注意的是,虽然下载器端使用的信号线名为SCK、MOSI、MISO,但AVRMCU的信号端不
此文档下载收益归作者所有