[AVR]/ATTiny2013. 1. 1. 21:00

[ATtiny10] ADC, PWM 테스트

[ATtiny10] ADC, PWM 테스트



ATtiny 시리즈는 대부분의 코드가 호환된다.



ATtiny10 ADC 소스코드

//Read ADC Value

unsigned char AdcRead(unsigned char Channel)

{

unsigned int value = 0;


ADMUX = Channel&7;

ADCSRA = ADCSRA|ADC_START_CONVERSION;


while(!(ADCSRA & ADC_COMPLETE));


value = ADCL;

return value;

}



ATtiny10 PWM 소스코드

void InitPWM0_A(void)

{

    Sbi(PWM0A_DDR, PWM0A_BIT); //Output for PWM

    

    //TCCR0A |= (PWM0B_CLEAR|PWM_MODEA_FAST);

    TCCR0A |= (PWM0A_SET|PWM_MODEA_PHASE);

TCCR0B |= (PWM0_PRESCALE_DIV8);

//TCCR0A |= (PWM0_PRESCALE_DIV256);

TCNT0 = 200;

    SetPwm0A(0);

}



ATtiny10 ADC, PWM 테스트 동영상




ATtiny10 ADC, PWM 테스트 소스코드
#include "system.h"
#include "pwm.h"
#include "adc.h"
//-----------------------------------------------------------------------------
int main(void)
{
unsigned char pwm = 0;
unsigned char flag = 0;
//시스템 초기화
SystemInit();

        //PWM 초기화
InitPWM0_A();
AdcInit();
while(1)
{
SetPwm0A(~(AdcRead(2)));
Delay(10);
}
}
//-----------------------------------------------------------------------------



Posted by nexp

댓글을 달아 주세요

[AVR]/ATTiny2012. 12. 14. 15:26

[ATtiny10] 펌웨어 다운로드 - ISP

[ATtiny10] 펌웨어 다운로드 - ISP


[SS-Type EVM] 확장 보드에 연결하여 AVR ISP로 다운로드 가능하다.





 

 

Posted by nexp
TAG ATtiny10, ISP

댓글을 달아 주세요

[AVR]/ATTiny2012. 12. 14. 15:25

[ATtiny10 EVM] 6핀초소형 AVR 보드 제작

[ATtiny10 EVM] 6핀초소형 AVR 보드 제작

 


타입의 초소형 MCU시장에 AVR도 들어왔다. Microchip사의 PIC10시리즈가 가장 작았는데 동일한 타입에 성능은 더 좋은 MCU를 출시 했다.


ATtiny10의 특징은 아래와 같다.

512/1024 Bytes FLASH
32 Bytes SRAM
12 MIPS Throughput at 12 MHz
One 16-bit Timer/Counter with Prescaler and Two PWM Channels
4-channel, 8-bit ADC
Idle Mode : 25uA at 1MHz and 1.8V
Power-down Mode: < 0.1uA at 1.8V

 

 

 

 


[SS-Type EVM] 확장 보드에 연결하여 테스트가능 하다.









[ATtiny10 EVM] 회로도

 

 

 

 

 

 

 

Posted by nexp

댓글을 달아 주세요

[AVR]/ATTiny2010. 3. 2. 12:30

[ATtiny13] Power Control Module 테스트

[ATtiny13] Power Control Module 테스트










Power Module 테스트 동영상

Posted by nexp

댓글을 달아 주세요

[AVR]/ATTiny2010. 2. 28. 19:48

ATtiny13 Timer 제어 - 1초 만들기

ATtiny13 Timer 제어 - 1초 만들기
AVR ATtiny13은 내부에 9.6Mhz(또는 4.8Mhz)의 RC오실레이터가 있고 퓨즈비트에서 설정 가능하다.

CKSEL
10   9.6 MHz
01   4.8 MHz



퓨즈 비트를 읽어 보면 디폴트로 9.6Mhz/8DIV로 설정되어 있다. CKDIV8 체크를 지우면 9.6Mhz로 동작한다.



MCU Timer 계산기로 1ms를 위해 필요한 값을 구할수 있다.
9.6Mhz에서 64분주 하여 Timer0에 0x69를 리로드 하면 1ms주기로 인터럽트 생성 가능하다.





소스코드
void InitTimer0(void)
{
    TIMSK0 |= (1<<TOIE0);

    TCCR0B = TIMER_CLK_DIV64;
}



#include "timer.h"

volatile unsigned int gTimeTick1 = 0;

void Timer0Handler(void)
{
 gTimeTick1++;
 SetTimer0(0x69);
}

//-----------------------------------------------------------------------------
int main(void)
{
 unsigned char status = 0;

 //시스템 초기화
 SystemInit();
 
 InitTimer0();
 enable();

 while(1)
 {
  if(gTimeTick1>1000)
  {
   gTimeTick1 = 0;

   //Toggle();
  }
 }
}

Power Module에 적용

Posted by nexp

댓글을 달아 주세요