好文档 - 专业文书写作范文服务资料分享网站

AVR单片机开发工具介绍 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

AVR单片机开发工具介绍

1.1 概述

单片机应用系统开发包括硬件(电路)系统开发和软件系统开发,硬件系统的开发一般包括电路原理设计,PCB(印刷电路板)设计制作两个部分,使用Protel等软件实现。由于现在单片机系统的一个未来的发展趋势就是外围电路最简化,最终实现单片系统,某些高档单片机已经集成了很多的外部设备的功能,如AVR单片机集成了ROM、RAM、RC震荡电路、PWM波输出功能、AD转换器功能、模拟比较器功能等,如ATmega8单片机,所以单片机的外围电路变得非常的简单,简单的单片机系统只要一片单片机便足够了,所以对单片机的硬件系统开发,我们在此不在进行详细的讲解。典型单片机应用系统框图如图6-1。

图6-1 典型单片机应用系统框图

1.2 单片机软件系统开发流程

开发单片机软件系统,一般来说都要经历以下的过程:

编写代码—〉编译器编译—〉仿真器仿真—〉烧写器烧写/在线下载。

对于AVR系列单片机,可以使用汇编编程,也可以使用C语言和BASIC语言开发,我们选择C语言编程开发,Atmel公司和它的合作伙伴提供了一整套开发工具:

C语言编写: ICCAVR 仿真软件: AVR Studio 下载软件: PONYPROG(或用ICCAVR直接烧写FLASH) 开发流程大致如图6-2(括号中所注为所使用的软件名)。

图6-2 单片机软件系统开发流程

1.3 编程:C语言编程环境

1.3.1 AVR单片机编译软件ICCAVR简介

1、ImageCraft 的ICCAVR 介绍

ImageCraft 的ICCAVR 是一种使用符合ANSI 标准的C 语言来开发微控制器MCU 程序的一个工具。它有以下几个主要特点:

ICCAVR 是一个综合了编辑器和工程管理器的集成工作环境IDE,其可在以下系统 WINDOWS9X/NT中应用,源文件全部被组织到工程之中。文件的编辑和工程的构筑也在这个环境中完成,编译错误显示在状态窗口中,并且当你用鼠标单击编译错误时,光标会自动跳转到编辑窗口中引起错误的那一行。

2、ICCAVR 中的主要文件类型及其扩展名

文件类型是由它们的扩展名决定的。IDE 和编译器可以使用以下几种类型的文件: .c 扩展名----表示是C 语言源文件 .h 扩展名----表示是C 语言的头文件

.prj 扩展名----工程文件,这个文件保存由IDE 所创建和修改的一个工程的有关信息; .hex扩展名----INTEL HEX 格式文件,器件目标文件,这个文件可被大多数的编程器所支持,用于下载程序到芯片中去使得单片机上电开始执行。

.cof扩展名----AVRStudio仿真文件格式,在AVRStudio的仿真时使用;

1.3.2 ICCAVR使用方法

打开ICCAVR主界面,在主窗口中选择打开、编辑、查找、视图、工程、RCS、工具、终端、帮助等菜单,进入相应的子菜单。其中保存、打开、关闭文件等的操作都在打开菜单中。

1、打开工程或者新建工程。在工程中创建文件。

图6-3 新建工程

2、建立源文件。

建立源文件可以用两种方式,一种是自己编写全部代码,另外一种是使用应用程序向导建立初始化代码,而后添加自己的代码,这样可以省去查阅寄存器的麻烦,而且格式比较好。下面介绍第二种方式:

点击

(应用程序向导)打开器件初始设置窗口,这里包括CPU设置,I/O端口初

始设置,Timer0、Timer1、Timer2设置窗口,UART设置窗口以及同步串行口SPI和模拟比较器设置窗口。

在这里选择M8 在这里填写11.0592晶振频率

在这里修改IO口数据方向

图6-4 设置器件初始参数

样例:

建立好的代码如下: 说明部分:

//ICC-AVR application builder : 2005-3-7 é??? 10:27:19 // Target : M8

// Crystal: 11.059Mhz 头文件包含: #include #include I/O口初始化设置: void port_init(void) { PORTB = 0xFF; DDRB = 0x00;

PORTC = 0x7F; //m103 output only DDRC = 0x00; PORTD = 0xFF; DDRD = 0x00; }

定时器初始化设置:

//TIMER0 initialisation - prescale:Stop // WGM: Normal // desired value: 1Hz

// actual value: Out of range void timer0_init(void) { TCCR0 = 0x00; //stop

TCNT0 = 0x00 /*INVALID SETTING*/; //set count TCCR0 = 0x00; //start timer }

定时器中断入口函数:

#pragma interrupt_handler timer0_ovf_isr:10 void timer0_ovf_isr(void)

{ TCNT0 = 0x00 /*INVALID SETTING*/; //reload counter value //插入中断处理代码处 }

初始化函数:

//call this routine to initialise all peripherals void init_devices(void)

{ //stop errant interrupts until set up CLI(); //disable all interrupts port_init(); timer0_init();

MCUCR = 0x00; GICR = 0x00;

TIMSK = 0x01; //timer interrupt sources SEI(); //re-enable interrupts

//all peripherals are now initialised }

主函数

void main(void) { init_devices();

//插入主函数代码处 }

3、向工程中添加文件。

图6-5 向工程中增添文件

图6-6 添加完毕

4、编译工程,生成目标文件。 工程编译设置:

在Project\\Options…中选择器件型号、输出文件类型、保存目录。在显示的主界面中完成程序编制或者修改,保存所做的工作。

选择器件我们选择ATMega8 库目录 输出文件保存格式选择COF/HEX

图6-7 工程编译设置

编译: 单击

或者按下图使用菜单操作。*.hex这种文件可以被PonyProg下载软件识别并通

过烧写器或者下载线,在线下载入单片机的程序FLASH ROM中。另外生成的.cof文件可以

被AVR Studio打开进行仿真。

AVR单片机开发工具介绍 - 图文

AVR单片机开发工具介绍1.1概述单片机应用系统开发包括硬件(电路)系统开发和软件系统开发,硬件系统的开发一般包括电路原理设计,PCB(印刷电路板)设计制作两个部分,使用Protel等软件实现。由于现在单片机系统的一个未来的发展趋势就是外围电路最简化,最终实现单片系统,某些高档单片机已经集成了很多的外部设备的功能,如AVR单片机集成了ROM、RAM、RC震荡
推荐度:
点击下载文档文档为doc格式
6omad7tc2s62a888eeas
领取福利

微信扫码领取福利

微信扫码分享