首页 理论教育 AVR单片机程序下载方法

AVR单片机程序下载方法

时间:2023-10-17 理论教育 版权反馈
【摘要】:AVR单片机支持多种形式的编程下载方式。高压并行编程方式对于外围引脚数大于20的AVR芯片,一般都支持这种高压并行编程方式。这种编程方式也是最传统的单片机的程序下载方式,其优点是编程速度快。串行编程方式还细分成SPI、JTAG方式,前者表示通过芯片的SPI串口实现对AVR芯片的编程操作,后者则是通过JTAG串口来实现的。

AVR单片机程序下载方法

单片机系统程序的编写、开发和调试都需要借助于通用计算机PC来完成。用户首先在PC上通过使用专用单片机开发软件平台,编写由汇编语言或高级语言构成的系统程序(源程序),再由编译系统将源程序编译成单片机能够识别和执行的运行代码(目标代码)。运行代码的本身是一组二进制的数据,在PC中对于纯二进制码的数据文件一般是采用BIN格式保存的,以“bin”作为文件的扩展名。但是实际使用中,通常使用的是一种带定位格式的二进制文件:HEX格式的文件,一般以“hex”作为文件的扩展名。

978-7-111-35161-0-Chapter03-1.jpg

图3-1 ATmega16最小系统电路图

对单片机的编程操作是指以特殊手段和软硬件工具,对单片机进行特殊的操作,以实现下面的3种功能:

●将在PC上生成的该单片机系统程序的运行代码写入单片机的程序存储器中。

●用于对片内的Flash、EEPROM进行擦除、数据的写入(包括运行代码)和数据的读出。

●实现对AVR配置熔丝位的设置;芯片型号的读取;加密位的锁定等。

AVR单片机支持多种形式的编程下载方式。

(1)高压并行编程方式(www.xing528.com)

对于外围引脚数大于20的AVR芯片,一般都支持这种高压并行编程方式。这种编程方式也是最传统的单片机的程序下载方式,其优点是编程速度快。但使用这种编程方式需要占用芯片众多的引脚和12V的电压,所以必须采用专用的编程器单独对芯片操作。这样AVR芯片必须从PCB板上取下来,不可以实现芯片在线(板)的编程操作,因此这种方式不适合系统调试过程以及产品的批量生产需要。

(2)串行编程方式(ISP)

串行编程方式是通过AVR芯片本身的SPI或JTAG串行口实现的,由于编程时只需要占用比较少的外围引脚,所以可以实现芯片的在线编程(In System Programmable),不需要将芯片从PCB上取下来,所以串行编程方式也是最方便和最常用的编程方式。

串行编程方式还细分成SPI、JTAG方式,前者表示通过芯片的SPI串口实现对AVR芯片的编程操作,后者则是通过JTAG串口来实现的。AVR的许多芯片都同时集成有SPI和JTAG两种串口,因此可以同时支持SPI和JTAG的编程。使用JTAG方式编程的优点是通过JTAG口还可以实现系统的在片实时仿真调试(On Chip Debug),缺点是需要占用AVR的4个I/O引脚。而采用SPI方式编程,只需要一根简单的编程电缆,同时可以方便地实现I/O口的共用,因此是经常使用的方式。其不足之处是不能实现系统的在片实时仿真调试。

(3)其他编程方式

一些型号的AVR还支持串行高压编程方式和IAP(In Application Programmable)在运行编程方式。串行高压编程是替代并行高压编程的一种方式,主要针对8个引脚的Tiny系列的AVR使用。IAP在运行编程方式则是采用了ATMEL称为自引导加载(Boot Load)技术实现的,往往在一些需要进行远程修改更新系统程序或动态改变系统程序的应用中才采用。

ATmega16片内集成了16KB的支持系统在线可编程(ISP)和在应用可编程(IAP)的Flash程序存储器,以及512B的EEPROM数据存储器。另外在它的内部,还有一些专用的可编程单元——熔丝位,用于加密锁定和对芯片的配置等。对ATmega16编程下载操作,就是在片外对上述的存储器和熔丝单元进行读/写(烧录)以及擦除的操作。

由于ATmega16片内含有SPI和JTAG口,所以对ATmega16能使用3种编程的方式:高压并行编程、串行SPI编程、串行JTAG编程。在本书中将主要介绍和采用串行SPI编程方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈