본문 바로가기

프로테우스/MOTOR

스테핑모터 - 시뮬

#include 

unsigned int cnt0;
unsigned char step=0x88, onoff=1;


interrupt [EXT_INT0] void exint0(void)
{ 
    if(onoff == 0) 
    onoff = 1; 
    else onoff = 0;
}

interrupt [TIM0_OVF] void timerint0(void)
{
    if(onoff == 0) if( ++cnt0 == 2 )
    {
        cnt0 = 0; step >>= 1; if(step == 0x08) step=0x88; 
    }
    
    PORTC = step;
    TCNT0 = 6; // 재정의 1msec = 64*(256-6)/16 시뮬레이션할 때는 조절할 필요가 있음
}

void main(void)
{
    DDRC = 0xff; // 포트C를 출력으로
    DDRD = 0x00; //포트D를 입력으로 디폴트 입력으로 설정되어 있으므로 필요하지는 않음
    SREG.7 = 1; //인터럽트 전체 허용
    EIMSK |= 0x01; // INT0 개별 허용
    EICRA |= 3; // 상승에지 트리거
    TIMSK |= 1; // 타이머0 오버플로 인터럽트 개별허용
    TCCR0 |= 4; // 분주비를 64로 설정 시뮬레이션할 때는 조절할 필요가 있음
    TCNT0 = 6; // 1msec = 64*(256-6)/16 시뮬레이션할 때는 조절할 필요가 있음
}

'프로테우스 > MOTOR' 카테고리의 다른 글

Relay 제어 (I/O로 FAN 제어 및 LED상태)  (1) 2013.03.25
서보모터  (0) 2011.10.05
DC모터 제어해보기  (5) 2011.10.05
스테핑모터 -1상 여자방식  (2) 2011.10.05