当前位置:首页 >> 信息与通信 >>

xmega128学习笔记


XMEGA128 学习笔记 1-bootloader 下载程序

首先需要感谢 AVR 和与非网举办这次 AVR 大赛, 其次要感谢在学习板申请 当中阿呆给予我们小组的帮助,最后要感谢我们的指导老师。我们小组将在论坛 版块连载《XMEGA128 学习笔记》系列,分享学习心得与大家共同探讨,也欢 迎大家分享自己学习的心得,共同进步。 今天主要是叙述如何使用 XMEGA 的 BOOTLODER 功能下载程序。 首先请大家将附近的内容下载,由于论文附件大小的限制,Flip Installer 3.4.3 这个软件分成三个压缩包,需要大家一起解压,解压后进行安装,安装过 程大家点击下一步就可以了。 第二个附件是 “AVR1927_XMEGA-A1_Xplained_Example_Applications.zip” , 这个压缩包是板子的程序和驱动。大家解压后将“ATxmega128A1.xml”文件拷 贝到“X:\Program Files\Atmel\Flip 3.4.3\bin\PartDescriptionFiles”,其中 X 表示 您安装 FLIP 软件所在的盘符,如图所示:

第三步:将 XMEGA 开发板用 USB 连接线插入到电脑中,这时候电脑会提 示发现新硬件, 有驱动需要安装, 如图 2 所示, “从列表或指定位置安装 选择 (高 级)”

位置选择“AVR1927_XMEGA-A1_Xplained_Example_Applications\Driver”

安装后效果如图 4,电脑多个一个虚拟串口,我的电脑显示的是 COM8。

第三步:拔掉 USB,如何安装板上的 SW0 按键不放,在插上 USB,使得 XMEGA 进入 BOOTLOADER 状态。 第四步:打开第一步安装的 FLIP 软件,首先选择器件和串口的端口,成功 后效果如图:

这时就可以打开一个 HEX 文件进行下载, 附件中有一个是流水灯的 HEX 文 件,大家下载进去后再复位,看看是不是板上的流水灯在闪烁。 更多参考内容请看 《Atmel AVR1927 XMEGA-A1 Xplained Getting Started Guide.pdf》 《FLIP 软件帮助》 今天的内容就到这里,谢谢大家的关注。

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

XMEGA128 常用的有 GCC 和 IAR for AVR 两种编译环境,其中 GCC 是 ATMEL 公司 开发的 AVR Studio 5.0,免费软件,而且内置了开发板的例程。IAR for AVR 是一款商业软件。今天我们向大家介绍一款支持 XMEGA 的编译环境 CVAVR,它能 够通过设置参数自动生成代码, 无需查阅相关寄存器。 而且内置支持单总线, LCD 等常用器件,下图是效果图:

XMEGA128 学习笔记 3-流水灯

GPIO 的特点有 1、可以独立配置引脚输入或者输出 2、输出速率控制 3、多种输出模式 4、时钟输出等等 今天我们就做最简单的流水灯操作,和 MEGA 系列单片机一样,寄存器有: 1、方向寄存器 DIR,设置为 1 表示输出模式,设置为 0 表示输入模式 2、数据输出寄存器 OUT,设置 1 表示输出高电平,设置 0 表示输出低电平。 我们从原理图看到板上的 8 个流水灯在 PORTE 引脚上,代码如下:

#include #include void main(void) { unsigned char i; 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 打印 “HELLO WORLD”字符串,同时能将接收到数据回显到串口调试助手上。 第一步:打开中断,因为我们需要实现串口回显的功能。

第二步:从开发板的原理图可以看到串口是在 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 匹配中断函数中加入以下代码: // RTC compare interrupt service routine interrupt [RTC_COMP_vect] void rtcxm_compare_isr(void) { // write your code here PORTE.OUTTGL|=(1<<0);//LED0 闪烁 }

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

Xmega 的 ADC 特点有: 1、高达 12 位精度 2、高达 2M/s 采样率 3、有符号和无符号输出选择 4、可选增益(1X 2X 4X 8X 16X 32X 64X) 5、流水线结构设计 6、4 个虚拟通道 7、结果比较功能 8、知道校准 9、内部连接 DAC 输出 整体结构如图所示:

今天我们测量内部通道的 VCC/10 和内部温度。 首先根据前面写的设置好 USART。

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

最后生成代码,然后加入以下代码: while (1)

{ // Place your code here delay_ms(1000); ch0=adca_read(0); ch1=adca_read(1); printf("temp ref:%d, vcc/10:%d\r\n",ch0,ch1); vcc=((float)ch1/4096-0.05)*10;//0.5 是误差修正 printf("VCC Value:%0.2fV\r\n",vcc);

} } 实验现象,得到温度数据需要转成实际的芯片内部温度,没有找到相应的公式。 大家可以把手放到芯片上,明显温度有上升的趋势。

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

板上的热电偶原理图如上图所示:使用的型号是 NCP18WF104J03RB,PDF 见附 件所示。
负温度系数热敏电阻器的电阻温度特性可用下式表示: R=Ae R---温度为 T 时热敏电阻器的电阻值; A---与热敏电阻器材料物理特性及几何尺寸有关的系数; B---热敏指数; T---热力学温度。 T=273.15+t
(B/T)

式中:

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

说明书上叙述,外界温度为 25 度时,R=100K,带入原理图电压应该为 0.3V 与实际测试效果相符合。

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

光敏传感器等于一个电流源,根据外界光的大小,产生不同光电流。 传感器型号是 TEMT6000,说明书见附件所示。板上的原理图如下:

CVAVR 的设置如下,这里需要说明的参考电压选择的是 AREF pin on PORTA, 所以需要将 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 输出一个锯齿波。

然后加入以下代码: // Place your code here

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 闪烁。


赞助商链接
相关文章:
ATmega128几个常用程序例子
总体说 winavr 给人的感觉是比较专业 自己学习时多总结吧! 1、流水灯 /* 硬件环境:atmega128 开发板 软件环境:CodeVisionAVR-C */ #include <mega128.h> ...
mega128串口通讯测试程序
mega128串口通讯测试程序_计算机软件及应用_IT/计算机_专业资料。自己写的,用来测试刚买的128单片机是否可以正常与电脑串口通讯,注意是RS232串口。/...
ATmega128实例程序
CodeVisionAVR-C */ #include <mega128.h> #...{ uint x,y; for(x=z;x>0;x--) for(y=...衡水中学文科学霸高中数学笔记 清华附中文科学霸高中政治...
tm1627测试程序(mega128)
tm1627测试程序(mega128)_信息与通信_工程科技_专业资料。TM1627_CN: http://...东北师大附中理科学霸高中化学选修5笔记81份文档 笑话大全集 笑话大全爆笑版 幽默...
Mega128熔丝位设置
关于Mega128的烧程序介绍关于Mega128的烧程序介绍隐藏>> Mega128 熔丝位设置测试...X 分享到: 使用一键分享,轻松赚取财富值, 了解详情 嵌入播放器: 普通尺寸(...
MEGA128单片机实现ADC电压测量液晶显示
MEGA128单片机实现ADC电压测量液晶显示_电子/电路_...(x) (1 << x) uint ad; #define RS_H ...ATmega128ADC学习笔记 4页 2下载券 利用内部ADC...
基于AVRmega128的modbus程序
基于AVRmega128的modbus程序_信息与通信_工程科技_专业资料。modbus可读性非常好的 MODBUS 源代码 (1)为了加快发送采用了:数据空中断 (2)为了保证最后一个字节能够...
我的C++学习笔记
Java学习笔记(必看经典) 30页 1下载券 ATXmega128A1笔记 2页 4下载券 《实战...int & CenterX; const int CenterY; CRect(int x1,int y1,int x2,int y...
广大ATmega128单片机实验报告实验一 系统认识实验
日姓名 王健 学号 成绩 指导 老师 庞志 1207400051 实验课程名称 实验项目名称 一、实验项目 信号与系统实验一 系统认识实验 1、熟悉 AVR Mega128 学习板开发...
广大ATmega128单片机实验报告实验二 1x8键盘和LED显示...
(9)下载 shiyan2.hex 烧写文件到 AVR Mega128 学习板并运行,方法如实验1的...东北师大附中理科学霸高中化学选修5笔记81份文档 笑话大全集 笑话大全爆笑版 幽默...
更多相关标签: