欢迎访问华乐美文网

毕业设计(论文)用纸(模板)1

毕业设计2019-07-08 22:32书业网

四川信息职业技术学院

基于单片机控制的温度采集与测量

系 别: 电气工程系

专 业: 电气自动化

班 级: 电气09-1

姓 名: 宋学杰

学 号: 0940024

指导教师: 王刚

2011年 5 月 20 日

摘 要

近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中

的冰箱、彩电,单片机都可以大显其能。

单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、

安装、调试及维修方便。

本设计是基于单片机ATMAGE16设计的实时温度采集仪,通过本次设

计,我成功的实现了利用单片机对温度的采集和测量。

关键词

单片机 ATMAGE16 DS18B20 ICCAVR

目 录

1 绪论 .............................................................................................................. 4

1.1 课题背景 ................................................................................................... 5

1.2 设计目的及系统功能 .............................................................................. 6

2 ATMAGE16特性 ........................................................................................ 7

2.1 ATMAGE16产品特性 ............................................................................. 7

2.2 引脚配置 ................................................................................................... 9

3 DS18B20的设计 ....................................................................................... 12

3.1 总体通信流程及通信协议 .................................................................... 12

3.2 DS18B20温度测量软件的设计 ............................................................ 15

3.3 多机通信软件的设计 ............................................................................ 15

3.4 DS18B20工作时序问题 ........................................................................ 18

4 电路的设计 ................................................................................................ 20

4.1 温度测量电路的设计 ............................................................................ 20

4.2 串口通信电路的设计 ............................................................................ 21

5 分布式温度采集系统设计 ....................................................................... 24

6 ICCAVR制作环境及介绍 ......................................................................... 26

6.1 ICCAVR 介绍 ........................................................................................ 26

6.2 ICCAVR 向导 ........................................................................................ 30

6.3 ICCAVR 的IDE 环境 .......................................................................... 30

结 论 .............................................................................................................. 33

参考文献.......................................................................................................... 34

致 谢 .............................................................................................................. 35

附件1:总系统的原理图如下: .................................................................. 36

附件2:单片机ATMAGE16控制DS18B20的程序: ............................... 39

1 绪论

自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、

成本低,制造、安装、调试及维修方便。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片

机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。

1.1 课题背景

分布式温度采集系统广泛应用在使用了中央空调的大型商场、厂房、办公大楼等大型建筑内。本课题主要用温度传感器对环境温度实施实时监测,各结点控制单元可将有关信息上传给计算机,本课题研究主要解决

的问题为分布式控制结构设计、多单

片机串行通信、温度的采集与处理。

本设计是基于单片机ATMAGE16设计的实时温度采集仪,采用DS18B20可以采集多路温度数据(本设计只用了2路),同时实时显示所采集到的温度值。在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DSl8B20,具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在-10~+85℃温度范围内具有±O.01℃精度;用户可编程设定9~12

位的分辨率。以上特性使得DSl8B20非常适用于构建高精度、多点温度

测量系统。

1.2 设计目的及系统功能

本设计的目的是以单片机为核心设计出一个分布式温度采集系统。在传统测量系统中,传感器与计算机接口的连接是通过若干条导线连接。当传感器数量较多时,尤其是信号线的长距离传输时,相互容易产生干扰。一个室内多点温度测量中,系统的接线会非常多,导线往往不易铺设,使得测量工作非常困难。采用总线结构数字式传感器,配合单片机及PC机串口进行长距离数据通信,则可以很容易解决这个问题,该系统最多可以检测256 路温度信号,在室内多点温度测量控制中能达到很好的效果。通过本课题设计,综合运用单片机及接口技术、微机原理、通信协议,锻炼动手操作能力,综合运用能力,学习论文的写作方

法和步骤。

设计的温度控制系统有以下功能及特点:

(a)实现在一条数据总线上接多个DS18B20器件;

(b)测温范围0℃~99℃;

(c)温度显示:采用2个4位数码管,显示采样温度值; 并在电脑上一同显

示;

(d)精度±0.01℃。

2 ATMAGE16特性

本章介绍了ATMAGE16的产品特性和ATmega16的结构。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达

1MIPS MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。

2.1 ATMAGE16产品特性

1、 高性能、低功耗的 8 位 AVR 微处理器

2、 先进的RISC结构

(a)131 条指令

(b)32 个8 位通用工作寄存器

(c)全静态工作

(d)工作于16 MHz 时性能高达16 MIPS

(e)只需两个时钟周期的硬件乘法器

(f)大多数指令执行时间为单个时钟周期

3、 非易失性程序和数据存储器

(a)16K 字节的系统内可编程 Flash擦写寿命: 10,000 次

(b) 具有独立锁定位的可选Boot 代码区通过片上Boot 程序实现系统

内编程真正的同时读写操作

(c)512 字节的EEPROM擦写寿命: 100,000 次

(d)1K 字节的片内SRAM

(e)可以对锁定位进行编程以实现用户程序的加密

4、 JTAG 接口( 与IEEE 1149.1标准兼容 )

(a)符合JTAG标准的边界扫描功能

(b)支持扩展的片内调试功能

(c)通过JTAG接口实现对 Flash、EEPROM、熔丝位和锁定位的编程

5、 外设特点

(a)两个具有独立预分频器和比较器功能的8 位定时器/计数

(b)一个具有预分频器、比较功能和捕捉功能的16 位定时器/计数

(c)具有独立振荡器的实时计数器RTC

(d)四通道PWM

(e)8路 10 位ADC8 个单端通道TQFP 封装的7 个差分通道2个具有可

编程增

益(1x, 10x, 或200x)的差分通道

(f)面向字节的两线接口

(g) 两个可编程的串行USART

(h) 可工作于主机/从机模式 SPI串行接口

(i) 具有独立片内振荡器的可编程看门狗定时器

(j) 片内模拟比较器

6、 特殊的处理器特点

(a)上电复位以及可编程的掉电检测

(b)片内经过标定的RC 振荡器

(c)片内/片外中断

(d)6种睡眠模式 : 空 ADC噪声抑制模式、省电模式、掉电模式、

Standby 、式以扩展的Standby 模式

7、 I/O和封装

(a)32 个可编程的I/O口

(b)40 引脚PDIP封装 , 44 引脚 TQFP 封装,与 44 引脚MLF封装

8、 工作电压:

(a)ATmega16L:2.7 - 5.5V

(b)ATmega16:4.5 - 5.5V

9、速度等级

(a)0 - 8 MHz ATmega16L

(b)0 - 16 MHz ATmega16

10、 ATmega16L在 1 MHz, 3V, 25 C时的功耗

(a)正常模式: 1.1 mA

(b)空 : 0.35 mA

(c)掉电模式: < 1 μA

2.2 引脚配置

ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达 1MIPS MHz,从而可以缓减系统在功耗和处理速度之间的矛

盾。ATMAGE16引脚分布如图2.1所示。

AVR 内核具有丰富的指令集和 32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的 CISC微控制器最高至 10倍的数据吞吐率。ATmega16 有如下特点 16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),

图2.1 ATMAGE16引脚分布

AVR 内核具有丰富的指令集和 32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的 CISC微控制器最高至 10倍的数据吞吐率。ATmega16 有如下特点 16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节 EEPROM,1K字节 SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的 JTAG 接口,支持片内调试与编程,三

个具有比较模式的灵活的定时器/计数(T/C),片内/外中断,可编程

USART,有起始条件检测

器的通用串行接口,8路10位具有可选差分输入级可编程增益 (TQFP 封装 ) 的 ADC ,具有片内振荡器的可编程看门狗定时器,一个 SPI串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时 CPU 停止工作,而 USART、两线接口、 A/D 转换器、 SRAM、 T/C、 SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU 和除了异步定时器与ADC以外所有 I/O 模块的工作,以降低 ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式下则允许振荡器和异步定时器继续工作。本芯片是以 Atmel 高密度非易失性存储器技术生产的。片内 ISP Flash 允许程序存储器通过 ISP 串行接口,或者通用编程器进行编程,也可以通过运行于 AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了 RWW 操作。 通过 8 位 RISC CPU 与系统内可编程的 Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了

灵活而低成本的解决方案。

3 DS18B20的设计

本章介绍了系统软件设计,并具体介绍了实现和调试的方法,以及分布

式温度采集系统的通信流程和DS18B20温度测量软件的设计思路、

DS18B20工作的时序问题。

3.1 总体通信流程及通信协议

总体通信流程体现在PC机,单片机主机及各从机的通信,信号接受及发送,这个设计中,通信协议是一个非常重要也很复杂的部分,在由PC 机与单片机组成的系统中,常要涉及通信问题,如果没有统一的通信协议,

PC机与单片机之间的信息传递就无法识别。

通信协议是指通信各方事前约定规则,我们可以简单地理解为各计算机之间进行相互会话所使用的共同语言.PC机与单片机在进行通信时,必须

使用的通信协议。

首先,在设计中自定义几个数据通信协议,如下问提到的“a”、“b”、“c”、“d”、“g”、“h”。这些协议一旦定义,在后面的执行过程中就代表了固定的含义,不再改变,PC机、单片机、从机都靠识别这个协议来执行程序,发送一个字节的数据,接受几个字节的数据,所有的数据协议全都建立

在这2个操作方法上。

本设计中自定义“a”为PC机与单片机主机间的数据协议,意思为要求主

机发送一号从机的温度给PC机;

自定义“b”为PC机与单片机主机间的数据协议,意思为要求主机发送二

号从机的温度给PC机;

自定义“c”为从机与主机间的数据协议,它代表从机向主机发送完四位当

前采集的温度,这里一号从机和二号从机采集的温度,都定义为“c”; 自定义“d”为PC机与单片机主机之间的数据协议,意思为开始和完成命

令的信号;

自定义“g”为一号从机和单片机主机之间的数据协议,意思为主机表示要采集一号从机的温度数据,一号从机要求单片机主机准备接收; 自定义“h”为二号从机和单片机主机之间的数据协议,意思为主机表示要采集二号从机的温度数据,二号从机要求单片机主机准备接收。

具体流程如下:

1、PC机向单片机主机发送“d”:

这步是流程的开始,PC机向单片机主机发送数据协议,要求主机把接

收的温度发送给PC机显示;

2、单片机主机向一号从机发送“g”:

单片机主机在接收到PC机发送的“d”信号后,会立即向一号从机发送

“g”,要求一号从机采集温度并且将温度发回单片机主机;

3、一号从机回发“g”:

一号从机接收到单片机主机的命令后,会立即向单片机主机回发信号,

要求单片机主机做好接收准备;

4、向主机发送四位当前采集的温度,并回发发送完成标记“c”;

一号从机回发信号后,向主机发送四位采集的温度,这个温度在前文已

提到标记为“c”;

5、主机发送“h”给2号从机:

主机在接收到一号从机发来的“c”命令后,会立刻发送“h”信号给二号从

机,表示要采集二号从机的数据;

6、2号从机回发“h”:

二号从机接收到单片机主机的命令后,会立即向单片机主机回发信号,

要求单片机主机做好接收准备;

7、向主机发送四位当前采集的温度,并回发发送完成标记“c”:

二号从机向单片机主机回发完信号后,向主机发送四位当前采集的温

度,这个温度标记为“c”;

8、主机发送“d”给PC机:

单片机主机在接收到二号从机发送来的信号后,立刻发送信号给PC机,

表示完成PC机的前一指令;

9、PC发送“a”给主机:

PC机在接收到单片机主机发送的信号后,发送新一个指令给单片机主

机,要求单片机主机发送一号从机采集的温度数据;

10、主机将一号从机温度数据发送给PC机:

单片机主机接收到PC机的命令后将一号从机发送过来的四位当前温度数据转换成ASCII码后,发送给PC机,因为PC机只能读取ASCII码;

11、PC机发送“b”给主机:

PC机接收到单片机主机发送的即时温度后会立即发送另一指令给单片

机主机,要求单片机主机发送二号从机采集的温度数据;

12、主机将二号从机温度数据发送给PC机,发送完成后,返回(1): 单片机主机接收到PC机的命令后将二号从机发送过来的四位当前温度数据同样也转换成ASCII码后,发送给PC机。此时一个完整过程结束,

将返回(1)开始另一轮采集。

3.2 DS18B20温度测量软件的设计

由于DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM 功能命令→发存储器操作命令→处理数据。主机控制DS18B20完成温度转换的程序必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写3个子程序:INIT为初始化子程序,WRITE 为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。主程序的主要功能是负责温度的实时显示、读出并处理DS18B20

的测量温度值,温度测量每1s 进行一次,流程图如图3.1所示 。 读出温度子程序的主要功能是读出RAM中的9个字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写,其程序流程图如图3.2

所示。

从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符的显示。因为DS18B20的转换精度为9~12 位可选,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温

度值。

3.3 多机通信软件的设计

ATMAGE16单片机有串行发送缓冲器/接收缓冲器(SBUF)、串行口控制寄存器(SCON)、特殊功能寄存器(PCON)。通过设置SCON可以有四种

工作方式,其中工作方式2、3 适用于多机通信。在串行通信前,通过程序预先将各从机串行口设置为方式2或方式3,并使SM2和REN(允许串行接收控制位)为1,允许串行口中断。主机与从机通信时,将SM2置0,准备接收数据,否则维持SM2为1,这样在主机发送数据时(此时主机发

送数据中第9 位为0),只有地址相符的从机可接收数据,

图3.1 DS18B20温度主程序流程图 图3.2 读出温度子

程序流程图

其余从机对数据信息不予理睬,从而可以实现多机通信集散型控制系统将各控制单元分散到现场各控制点。从机主程序和串行口中断服务程序

如图3.3所示。

PC 机与单片机的串口通信中,ATMAGE16单片机的Pl.3和Pl.4口分别模拟串行通信的发送和接收端,其接口程序主要由发送子程序和接收子程序组成。通信速率9600bps,帧格式为N.8.l。发送时,先发送一个起始位(低电平),接着 按低位在先的顺序发送8位数据,最后发送停止位。接收时,先判断P1.4接收端口是否有起始低电平出现,如有则按低位在先的顺序接收8位数,最后判断P1.4 口是否有停止高电平出现,如有则完成一个数据接收,否则继续等待。其中软件编写要严格按照异步通信

的时序进行。

图3.3 从机主程序和串行口中断服务程序

3.4 DS18B20工作时序问题

DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。 主机即单片机首先发480us---960us的低电平,进行复位,然后释放总线,之后总线被外部上拉电阻电阻抬高,大约等待15—60us之后,DS18B20发出60到240us的低电平信号,以示存在,至此初始化结束。 写“0“的时候,首先单片机发复位信号,然后发“0”于是低电平持续60us就完成了写“0”写“1”的时候首先单片机发复位信号,持续时间大于1us小于15us然后

发“1”持续50us以上即可。 读时序也是主机先发低电平,然后在15us内

检测连接DS18B20的数据线的引脚,从而读得相应值。

4 电路的设计

本章分析了分布式温度采集系统的各主要功能模块的设计与实现,具体

包括温度测量电路模块和串口通信电路模块。

4.1 温度测量电路的设计

温度测量采用DS18B20 数字式温度传感器。由DS18B20 构成的智能温度测量装置由三部分组成:DS18B20 温度传感器、ATMAGE16、显示模块。产品的主要技术指标:①测量范围:-55℃~+125℃,②测量精度:0.5℃,③反应时间≤500ms。为了达到更高的精度,则在对DSl8B20测温原理进行详细分析的基础上,采取直接读取DSl8B20内部暂存寄存器的方法,将DSl8B20 的测温分辨率提高到0.01℃~0.1℃,DSl8B20内部暂存寄存器的分布如表4-1所列,其中第7字节存放的是当温度寄存器停止增值时计数器l的计数剩余值,第8字节存放的是每度所对应的计数值。这样,就可以通过下面的方法获得高分辨率的温度测量结果。

表4-1 DS18B20内部暂存器

基于DS18B20的温度测量装置电路图如图4.1所示:

图4.1 温度测量电路

温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),传感器可置于离装置150米以内的任何地方,输出脚I/O直接与单片机的P1.1 相连,R1为上拉电阻,传感器采用外部电源供电。ATMAGE16 是整个装置的控制核心,ATMAGE16内带1K字节的FlashROM,用户程序存放在这里。显示器模块由四位一体的共阳数码管和4个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是

在程序控制下,完成对传感器的读写和对温度的显示。

4.2 串口通信电路的设计

为了增加单片机多机通信的距离,该部分电路采用RS232标准接口,通信距离可以达到15米;如果采用RS422 或是RS485 接口,通信距离会更远。多机通信接口原理图见图1 。在数据传输过程中采用的是RS232 电平,提高了抗干扰能力。需要在主机串行接口和从机串行接口进行电平转换:TTL-RS232-TTL。这都是用MAX232 接口芯片实现的,具体

的电路如图4.2所示。

图4.2 TTL-RS232-TTL电平转换电路

通信电路是本设计的重要组成部分,负责温度数据的采集和数据的上传。包括单片机多机串口通信电路,PC 机与ATMAGE16的串口通信电路。其中主单片机ATMAGE16既要和从机通信,还要负责将数据通过串口发送到PC机上。而ATMAGE16 单片机只有一个串行通信口,这就需要用硬件或是软件扩展一个串行通信口。本设计采用一种用单片机普通I/O口和

相应软件实现串行通信的方法。

5 分布式温度采集系统设计

数字式传感器一般采用单总线技术(1-WIREBUS),即在单片机或计算机接口中只用一根导线(输入/ 输出信号线),美国Dallas公司最新推出的1-WireBus数字式温度传感器DS18B20,与传统的温度传感器不同,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,可以分别在93.75ms 和750ms内将温度值转化为9 位和12位的数字量,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃;为实现与PC机串口长距离数据通信,系统采用了RS232 串行接口,通信距离可以达到15m,如果采用RS422或RS485串行接口可以达到1000m。串口通信由PC机与单片机的通信和单片机多机通信组成,每个从机负责温度的测量然后通过多机通信把温度数据发送到主单片机上,最后PC机通过VB程序控制串口把主单片机上的所有温度数据收

集起来。系统框图如图5.1所示。

图5.1 系统框图

6 ICCAVR制作环境及介绍

本章介绍了ICCAVR的制作环境,ICCAVR 中的文件类型及其文件的扩展名、附注和扩充,并介绍了IAR 或其它ANSI C 编译系统的代码转换。

6.1 ICCAVR 介绍

本节主要介绍了ICCAVR文件的基本特点、类型、扩展名等。

6.1.1 ImageCraft 的ICCAVR 介绍

ImageCraft 的ICCAVR 是一种使用符合ANSI 标准的C 语言来开发微

控制器(MCU)程序的一个工具,它有以下几个主要特点:

ICCAVR 是一个综合了编辑器和工程管理器的集成工作环境(IDE),

其可在WINDOWS9X/NT 下工作。

源文件全部被组织到工程之中,文件的编辑和工程的构筑也在这个环境中完成。编译错误显示在状态窗口中,并且当你用鼠标单击编译错误时,光标会自动跳转到编辑窗口中引起错误的那一行。这个工程管理器还能直接产生您希望得到的可以直接使用的INTEL HEX 格式文件,INTEL HEX 格式文件可被大多数的编程器所支持,用于下载程序到芯片中去。

ICCAVR 是一个32 位的程序,支持长文件名。

本论文并不介绍通用的C 语言语法知识,仅介绍使用ICC AVR 所必须

具备的知识。

6.1.2 ICCAVR 中的文件类型及其扩展名

文件类型是由它们的扩展名决定的,IDE 和编译器可以使用以下几种类

型的文件。

输入文件:

.c 扩展名----表示是C 语言源文件

.s 扩展名----表示是汇编语言源文件

.h 扩展名----表示是C 语言的头文件

.prj 扩展名----表示是工程文件,这个文件保存由IDE 所创建和修改的一

个工程的有

关信息。

.a 扩展名----库文件,它可以由几个库封装在一起。libcavr.a 是一个包含了标准C 的库和AVR 特殊程序调用的基本库。如果库被引用,链接器会将其链接到您的模块或文件中。您也可以创建或修改一个符合你需

要的库。

输出文件

.s 对应每个C 语言源文件,由编译器在编译时产生的汇编输出文件。 .o 由汇编文件汇编产生的目标文件,多个目标文件可以链接成一个可执

行文件。

.hex INTEL HEX 格式文件,其中包含了程序的机器代码。

.eep INTEL HEX 格式文件,包含了EEPROM 的初始化数据。

.cof COFF 格式输出文件,用于在ATMEL 的AvrStudio 环境下进行程

序调试。

Copyright @ 2012-2024华乐美文网 All Rights Reserved. 版权所有