xmega128学习笔记文档格式.docx

上传人:b****6 文档编号:16544678 上传时间:2022-11-24 格式:DOCX 页数:23 大小:744.18KB
下载 相关 举报
xmega128学习笔记文档格式.docx_第1页
第1页 / 共23页
xmega128学习笔记文档格式.docx_第2页
第2页 / 共23页
xmega128学习笔记文档格式.docx_第3页
第3页 / 共23页
xmega128学习笔记文档格式.docx_第4页
第4页 / 共23页
xmega128学习笔记文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

xmega128学习笔记文档格式.docx

《xmega128学习笔记文档格式.docx》由会员分享,可在线阅读,更多相关《xmega128学习笔记文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

xmega128学习笔记文档格式.docx

《FLIP软件帮助》

今天的内容就到这里,谢谢大家的关注。

 

XMEGA128学习笔记2-CVAVR编译环境

XMEGA128常用的有GCC和IARforAVR两种编译环境,其中GCC是ATMEL公司开发的AVRStudio5.0,免费软件,而且内置了开发板的例程。

IARforAVR是一款商业软件。

今天我们向大家介绍一款支持XMEGA的编译环境CVAVR,它能够通过设置参数自动生成代码,无需查阅相关寄存器。

而且内置支持单总线,LCD等常用器件,下图是效果图:

XMEGA128学习笔记3-流水灯

GPIO的特点有

1、可以独立配置引脚输入或者输出

2、输出速率控制

3、多种输出模式

4、时钟输出等等

今天我们就做最简单的流水灯操作,和MEGA系列单片机一样,寄存器有:

1、方向寄存器DIR,设置为1表示输出模式,设置为0表示输入模式

2、数据输出寄存器OUT,设置1表示输出高电平,设置0表示输出低电平。

我们从原理图看到板上的8个流水灯在PORTE引脚上,代码如下:

#include

voidmain(void)

{

unsignedchari;

PORTE.OUT=0xFF;

//初始LED灭

PORTE.DIR=0XFF;

//输出模式

while

(1)

{

for(i=0;

i<

8;

i++)

{

delay_ms(1000);

PORTE.OUT=~(1<

<

i);

}

}

}

当然你也可以使用CVAVR代码生成功能,快出尝试GPIO的更多功能吧,也欢迎您分享您的心得。

XMEGA128学习笔记4-中断

GPIO能够设置为中断输入模式,可以配置为“上升沿”/下降沿/双边沿和低电平触发。

今天我们就带大家设置SW0按键为下降沿,实现翻转LED0的功能。

第一步:

打开CVAVR软件,新建一个工程,选择代码生成功能,如图所示:

第二步:

使能低级中断功能

设置SW0按键状态

设置LED0状态

第五步:

点击生成代码

第六步:

加入以下代码

编译后下载,大家看看是不是很简单就实现了这个功能啊。

XMEGA128学习笔记5-串口USART

Xmega128的串口非常强大,最多能支持8个串口。

串口又有四种模式:

1、异步

2、同步

3、IRDA红外模式

4、SPI主模式

今天我们就使用CVAVR代码向导生成简单串口测试程序,实现每1s打印“HELLOWORLD”字符串,同时能将接收到数据回显到串口调试助手上。

打开中断,因为我们需要实现串口回显的功能。

从开发板的原理图可以看到串口是在PC2和PC3脚,所以需要设置GPIO,经过CVAVR的提示PC3初始输出电平为1能够更加稳定:

第三步设置串口:

使能接收和发送功能,并开启接收中断。

最后生成代码,加入以下代码:

最后编译下载,复位后可以看到效果图:

XMEGA128学习笔记6-实时时钟RTC

Xmega128的RTC实际上就是16位定时器,它的框图如图所示。

时钟来源有两种:

1是32KHZ,2是1KHZ。

能够通过10位预分频,进一步得到低速频率。

图中Period表示周期,也就是最多计数值。

Compare是比较值,匹配时能够触发中断。

今天我就用RTC的匹配中断功能,进行1s报警闪烁LED0。

打开CVARV,新建一个工程,首先使能低级中断:

设置LED0端口输出。

选择时钟源,开启RTC比较中断。

生成代码,编译下载。

在RTC匹配中断函数中加入以下代码:

//RTCcompareinterruptserviceroutine

interrupt[RTC_COMP_vect]voidrtcxm_compare_isr(void)

//writeyourcodehere

PORTE.OUTTGL|=(1<

0);

//LED0闪烁

XMEGA128学习笔记7-模数转换ADC

Xmega的ADC特点有:

1、高达12位精度

2、高达2M/s采样率

3、有符号和无符号输出选择

4、可选增益(1X2X4X8X16X32X64X)

5、流水线结构设计

6、4个虚拟通道

7、结果比较功能

8、知道校准

9、内部连接DAC输出

整体结构如图所示:

今天我们测量内部通道的VCC/10和内部温度。

首先根据前面写的设置好USART。

然后我们按照下图设置ADCA进行内部通道的采集,0通道是内部温度,1通道是VCC/10.

最后生成代码,然后加入以下代码:

while

(1)

//Placeyourcodehere

delay_ms(1000);

ch0=adca_read(0);

ch1=adca_read

(1);

printf("

tempref:

%d,vcc/10:

%d\r\n"

ch0,ch1);

vcc=((float)ch1/4096-0.05)*10;

//0.5是误差修正

VCCValue:

%0.2fV\r\n"

vcc);

实验现象,得到温度数据需要转成实际的芯片内部温度,没有找到相应的公式。

大家可以把手放到芯片上,明显温度有上升的趋势。

XMEGA128学习笔记8-负温度系数热敏电阻NTC

板上的热电偶原理图如上图所示:

使用的型号是NCP18WF104J03RB,PDF见附件所示。

负温度系数热敏电阻器的电阻温度特性可用下式表示:

R=Ae(B/T)式中:

R---温度为T时热敏电阻器的电阻值;

A---与热敏电阻器材料物理特性及几何尺寸有关的系数;

B---热敏指数;

T---热力学温度。

T=273.15+t

CVAVR相应地设置如图所示,串口设置前面已经多次叙述过。

说明书上叙述,外界温度为25度时,R=100K,带入原理图电压应该为0.3V

与实际测试效果相符合。

XMEGA128学习笔记9-光敏传感器

光敏传感器等于一个电流源,根据外界光的大小,产生不同光电流。

传感器型号是TEMT6000,说明书见附件所示。

板上的原理图如下:

CVAVR的设置如下,这里需要说明的参考电压选择的是AREFpinonPORTA,所以需要将PA0连接到VCC,参考电压为3.3V。

XMEGA128学习笔记10-数模转换DAC

特点:

1、12位精度

2、高达1M/s的转换速度

3、连续驱动或者采用保持输出

4、内置偏置和增益校准

5、高驱动能力

更新了最新版本CVAVR2.05.2,有DAC的功能啦,不过有4K代码的限制。

http:

//www.hpinfotech.ro/

本例程使用最新版本,请大家去官网下载最新软件。

DAC的框图如下所示:

打开CVAVR的DAC生成面板,准备写一个在DACA通道0输出一个锯齿波。

然后加入以下代码:

//Placeyourcodehere

for(value=0;

value<

0XFFF;

value++)//锯齿波

daca_write(0,value);

实验现象如图:

XMEGA128学习笔记11-定时器TC

特点有:

1、16位定时/计数

2、双缓冲定时器周期设置

3、高达4位比较或者捕获通道

4、波形产生单脉冲/双脉冲/频率发生器

5、输入捕获带噪声消除/频率捕获/脉宽捕获

6、32位输入捕获方向控制

7、定时器溢出/错误中断或者事件

8、每通道有一个比较匹配或者捕获中断/事件

9、支持DMA

10、高阻高精度扩展Hi-Res

11、高级波形扩展AWeX

今天我们就使用定时器进行简单的LED灯闪烁,CVAVR设置如下:

编译后下载,就能看到LED0间隔1s闪烁。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1