avr单片机用什么编程?avr单片机编程方式是什么

avr单片机用什么编程?avr单片机编程方式是什么,第1张

  本节将详细介绍AVR单片机的流行编程方式,并略述其工作原理,旨在让AVR爱好者根据自己的需要选择或制作恰当的编程工具。下面我们一起来看看avr单片机编程方式讲解。

  1、avr单片机用什么编程?

  AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced InstrucTIon Set CPU) 精简指令集高速8位单片机。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR单片机是 Atmel 公司 1997 年推出的 RISC 单片机。RISC(精简指令系统计算机)是相对于CISC(复杂指令系统计算机)而言的。RISC 并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。

  对于初学者,建议使用ICC AVR.用ICC编辑了工程文件,然后在下载并在线仿真调试时,要用AVR studio。JTAG仿真器,作为AVR最小系统版和电脑的串口的链接点,能做到在线仿真和下载程序。这是常用的组合。

  2、AVR编程方式介绍

  本节将详细介绍AVR单片机的流行编程方式,并略述其工作原理,分析其优缺点,旨在让AVR爱好者根据自己的需要选择或制作恰当的编程工具。

  2.1 STK200/300并口ISP编程方式

  这是比较常用的编程方式,目前大多台式机都有打印口(并口),如图2-1所示:

  图2.1 PC机的打印口

  既然是通过串行方式编程,则需要使用AVR的SPI串行外设接口。有兴趣的朋友可以学习一下通过SPI接口下载编程的时序图(如图2.2所示)。在这里就不赘述了。

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第2张

  图2.2 SPI下载编程时序图

  了解了下载编程的时序,我们就可以在PC端编写相应的上位机,通过并口模拟这个时序,利用AVR单片机的SPI接口对其进行编程,当下比较流行的上位机软件是双龙公司http://www.sl.com.cn),目前的版本为1.7.0.16,除了支持利用并口进行ISP编程(AVRISP)外,还支持USBISP,JTAGMKII等方式。如图2.3所示。

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第3张

  图2.3 双龙ISP编程软件

  从其界面可以看出,SLISP实现了完整的下载功能:配置熔丝位,烧录Flash,烧录EEPROM等。在配置熔丝位的时候要尤其注意与AVR时钟相关的熔丝设置,避免因选择了错误的时钟源而锁死MCU

  有了现成的上位机软件,那么这个工具的硬件是如何设计的呢?千万不要想得太复杂,既然上位机已经替我们完成了SPI下载时序的模拟和数据的读写,我们只要搭好并口和AVR 硬件SPI接口之间的“桥梁”就可以了。

  目前常见的并口下载线都有一块74HC244(如图2.4所示),该芯片为八缓冲器,三态输出,由目标机电源供电。该芯片有两个输出使能(OE)引脚(低电平有效),这样,我们可以做到在下载时使能输出,而下载完成后,拉高两个OE引脚,使74HC244各缓冲器处于高阻态,相当于拔除了下载线,从而真正实现了在线编程;除此之外,74HC244还有增大并口驱动能力的作用,如果没有74HC244,若AVR的SPI硬件接口上接有负载元件,很有可能导致下载失败,而有了缓冲器,驱动能力变大,就能成功下载程序。并口的引脚定义如图2.4所示。

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第4张

  图2.4 74HC244和并口DB25引脚定义

  并口和AVR SPI接口的连接方式要符合PC端所使用的上位机对硬件连接的定义。双龙SLISP要求的硬件连接方式如图2.5所示。

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第5张

  图2.5 并口ISP硬件接口连接
avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第6张

  图2.6 并口ISP编程器硬件原理图

  注意,硬件图中使用并口的PIN4和PIN5作为74HC244的使能信号,以达到编程完成后隔离AVR和下载器的目的。

  STK200/STK300是ATMEL公司早期推出的一种烧写程序的方式,故而支持的AVR型号比较少,烧录速度也比较低,且不支持AVR Studio;此外,随着笔记本的普及和USB技术的发展,PC并口的使用频率越来越低,所以,此类烧录方法将会最终退出历史舞台。不过,由于其硬件电路简单,编程方式实现容易,至今仍有很多AVR爱好者使用该方式。

  2.2 STK500/AVRISP编程方式

  STK500是ATMEL最推荐的编程方式,由于采用了ATMEL官方的STK500固件,该类编程工具可以烧写全系列的AVR,烧写速度相对并口ISP方式来说要快不少,并且,基于STK500烧录方式的编程工具支持AVR Studio。在这里,我们介绍国外AVR发烧友制作的一款基于ATmega8和STK500烧写方式的编程工具。

  在Our AVR论坛上,马潮老师有一篇帖子详细说明了该工具的制作,并提供了全部资料,有兴趣的朋友可以访问AVRISP制作完整资料以获得更多信息。该工具不支持BaseCOM AVR,ICCAVR,CodeVisionAVR直接下载,而并口ISP则可以,这不能不说是一个遗憾。基于STK500的这款编程工具只支持AVR Studio,并且编程下载速度无法自动调节,但是,时下的大多笔记本都没有并口,所以这还是一个比较好的方案。此外,该工具需要在系统中安装上层驱动,有XP和VISTA的驱动。经测试,能够完美支持。注意,大家要安装微软原版的,未经阉割的 *** 作系统,否则可能造成安装了驱动文件,但编程工具无法使用。

  该编程工具的硬件电路图如图2.7所示。

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第7张

  图2.7 AVRISP硬件电路原理图

  从硬件电路可以看出,该工具需要的外设较少:电源芯片HT7536一片,Mega8一片,晶振一枚,电阻电容若干,完全可以自制,在AVRISP制作完整资料一文中,马潮老师也给出了固件和上层驱动,把固件烧录入Mega8,安装好上层驱动以后即可使用。制作完成的实物如图2.8所示。

  图2.8 AVRISP实物图

  硬件电路制作完成后,将JP短接,使用其他的编程器(如并口ISP),将10PIN的编程接口插入AVRISP的编程口。编程前注意配置熔丝位:掉电检测电压为2.7V,开启BOD,系统时钟选为高频外部晶体,满幅振荡。如图2.9所示

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第8张

  图2.9 AVRISP熔丝位设置

  设置好熔丝位,将程序烧录入ATmega8后,将AVRISP的USB口和PC相连,系统会提示发现新硬件,这里以Windows XP SP3为例说明驱动安装方法,如图2.10,图2.11,图2.12所示。注意选择“从列表或指定位置安装”

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第9张

  图2.10 AVRISP驱动安装步骤一
avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第10张

  图2.11 AVRISP驱动安装步骤二
avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第11张

  图2.12 AVRISP驱动安装步骤三

  安装好驱动好以后,我们可以在设备管理器中看到名为“USBASP-ISP”这个设备,也就是AVRISP编程器,该设备在“端口(COM和LPT)”分支下,上层驱动将编程器虚拟为一个串口,使用时注意将其串口号的范围更改至“COM1~COM9”中的任意一个,如图2.13所示。因为AVR Studio仅支持这9个串口编程设备。注意不要使用USB HUB(USB集线器)连接AVRISP,否则会造成安装好驱动后,编程器却无法使用的后果。

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第12张

  图2.13 设备管理器中的USBASP-ISP

  双击这个设备,可以在“端口设置”选项卡中的“高级”选项中修改其串口号。安好驱动,设置好串口以后,我们就可以使用AVR Studio来下载程序了。打开AVR Studio,选择STK500编程方式,选择串口号,如图2.14所示(或点击Tools→Program AVR→Auto Connect)。

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第13张

  图2.14 使用AVR Studio下载程序

  成功连接后,将d出如图2.15所示的对话框,注意,上文提到,该工具不能自动调节下载速度,因此,我们要手动修改下载速率,注意下载速度不能超过被编程的AVR芯片的时钟速率的1/4,否则AVR Studio会d出错误对话框提示你降低编程速度。在下拉菜单中修改好下载速度后,注意点击Write按钮保存设置,然后单击Close退出。

avr单片机用什么编程?avr单片机编程方式是什么,avr单片机用什么编程?avr单片机编程方式是什么,第14张

  图2.15 AVRISP下载速率的设置

  设置完成后,单击“Program”选项卡,在“Flash”一栏,浏览到需要下载的*.hex文件,单击Program,即可完成编程 *** 作,速度还是比较快的。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2717268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存