PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : *** xmega ***



REZA_KLNTR
28-01-2010, 11:22
اطلاعات درباره این میکروی جدید در این مبحث!

راستی در 12bit-adc ، اون 2*8 یعنی چی؟

1nafar
28-01-2010, 19:24
سلام
بهتره بحث رو روی همین قطعه ای که داریم شروع کنیم :
You can see links before reply
میکرو کنترلر مورد نظر ما ATxmega128A1 هست و دیتاشیتش رو میتونید از ادرس زیر دانلود کنید :
You can see links before reply

راستی در 12bit-adc ، اون 2*8 یعنی چی؟
دقیقا نمیدونم منظورش چی هست ، اما این میکرو موارد زیر رو داره :

– Two Eight-channel, 12-bit, 2 Msps Analog to Digital Converters
– Two Two-channel, 12-bit, 1 Msps Digital to Analog Converters
دوتا کانال adc و dac که 12 بیت دقت دارن و میتونن با سرعت 1 و 2 Msps کار کنن.

armstk
28-01-2010, 22:53
كسي يك پروگرمر ساده براي xmega داره؟ راستي مگه avr32 همون xmega نيستش؟

jamshid-tavana
29-01-2010, 21:26
اين ميكرو 16كانال a2d داره روي دو پرتش

1nafar
29-01-2010, 23:20
اين ميكرو 16كانال a2d داره روي دو پرتش
بله درسته
2 کانال 8 عددی

ramin_j2007
12-02-2010, 16:55
کسی مدار پروگرامر PDI یا JTAGICE mkII نداره ؟

megaman
15-05-2010, 12:18
سمینارآموزشی xmega ( رایگان )
برد آموزشی xmega
کلاس آموزشی xmega
همه و همه در شرکت نوین تراشه البرز 88300253
You can see links before reply
معرف شما مهندس اکبرآبادی

megaman
24-05-2010, 16:48
/* This is a clock example program for the XMEGA starter kit.
Description:
simple CLOCK starting from 00:00:00
PLL and internal 32MHz RC osc are activated */



/* Include I/O definition file */

#include <ioavr.h>
#include <intrinsics.h>
#include "display.h"

///function for display on 7segments
/// void display(unsigned char seg_select,unsigned char seg_data);

//7seg codes
unsigned char __flash seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6 f};

//second variable(initial value = 0)
unsigned int sec=0;
//minute variable(initial value = 0)
unsigned int min=0;
//hour variable(initial value = 0)
unsigned int hour=0;
unsigned char select;
//--------------------------------------------------------------------------------------------------------------

void main()
{
//variable for select 7segments


// port init
//PORTE & PORTF = OUT
PORTE_DIR=0XFF;
PORTF_DIR=0X7E;

//initialize timer
TCC0_CTRLA=0X05; //Div64
TCC0_INTCTRLA=1; //Timer overflow interrupt enable
TCC0_PER=31249; //for 1sec((64/2MHZ)*(31249+1))
//interrupt enable
PMIC_CTRL=0X01; //set low level interrupt enable
asm("sei"); //set global interrupt enable flag

while(1) // program main loop
{

select=2;
display(select,seg[(sec%10)]); //turn on 1 7segment and display 1section of second
select <<= 1;
__delay_cycles(2000);
display(select,seg[(sec/10)]); //turn on 2 7segment and display 2section of second
select <<= 1;
__delay_cycles(2000);
display(select,seg[(min%10)]); //turn on 3 7segment and display 1section of minute
select <<= 1;
__delay_cycles(2000);
display(select,seg[(min/10)]); //turn on 4 7segment and display 2section of minute
select <<= 1;
__delay_cycles(2000);
display(select,seg[(hour%10)]); //turn on 5 7segment and display 1section of hour
select <<= 1;
__delay_cycles(2000);
display(select,seg[(hour/10)]); //turn on 6 7segment and display 2section of hour
__delay_cycles(2000);

}
}

//-------------------------------------------------------------------------------------------------------------

// void display(unsigned char seg_select,unsigned char seg_data)
// {
// PORTF_OUT=0X00; // Blank all 7segments
// PORTE_OUT = seg_data;
//if(seg_select==8 || seg_select==32) //turn on 7segments point
// PORTE_OUTSET=128;
// PORTF_OUT = seg_select;
// }


//------------------------------------------------------------------------------------------------------------

//interrupt timer C0 function
#pragma vector= TCC0_OVF_vect

__interrupt void timerc0(void)
{
sec++;
if(sec == 60)
{
min++;
sec=0;
if(min == 60)
{
hour++;
min=0;
if(hour ==24)
hour=0;
}
}
}
این یک برنامه ساده برای تایمر است امیدوارم موفق باشید .