메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

묻고 답하기
조성범2012.12.10 12:23

답변 감사드립니다.

그런데 제가 지금 쓰는 소스는 단순한 소스라서 codevision에서 avrstudio로 바꾼다고 해도 바꿀만한곳이 없어보이는데요.. 혹시 이 소스에서 변경해야 할 부분이 있다면 지적해 주시면 감사합니다.

#include <mega128.h>

void _delay_ms(unsigned int m)
{
    unsigned int i,j;
    for(i=0;i<m;i++)
     for(j=0;j<2500;j++);           /* 스텝모터의 펄스 크기값 */
}
void rotation()
{    unsigned int j=1;
        PORTB = 0x60;
        _delay_ms(j);
        PORTB = 0x20;
        _delay_ms(j);
        PORTB = 0x30;
        _delay_ms(j);
        PORTB = 0x10;
        _delay_ms(j);
        PORTB = 0x90;
        _delay_ms(j);
        PORTB = 0x80;
        _delay_ms(j);
        PORTB = 0xC0;
        _delay_ms(j);
        PORTB = 0x40;
        _delay_ms(j);          /* 스텝모터 정방향으로 회전 하기 위한 위상값 */
       
   
       
}
void rerotation()
{    unsigned int j=1;
   
        PORTB = 0x40;
        _delay_ms(j);       
        PORTB = 0xC0;
        _delay_ms(j);
        PORTB = 0x80;
        _delay_ms(j);
        PORTB = 0x90;
        _delay_ms(j);
        PORTB = 0x10;
        _delay_ms(j);
        PORTB = 0x30;
        _delay_ms(j);
        PORTB = 0x20;
        _delay_ms(j);
        PORTB = 0x60;
        _delay_ms(j);           /* 스텝모터 역방향으로 회전 하기 위한 위상값 */
}

void main(void)
{
    unsigned int r=0;
   
    DDRB = 0xFF;                 
    DDRD = 0x00;                  
    DDRF = 0X00;                 
 
    PORTB = 0x00;                
    PORTD = 0X00;                 
    PORTF = 0X00;                

    _delay_ms(100);
   
   
    while(1)
    {

         if((PIND & 0X04)==4||(PINF & 0X02)==2)
                                           /* OPEN 스위가 눌리거나 적외선 센서에 물체가 감지되면 */
        {   
            while((PIND & 0X08)==0)
            {
                rotation();
                r++;                  
                       /* OPEN 스위치가 눌린후 STOP 스위치가 눌릴때 까지 스텝모터 회전수 카운팅 */
            }
            _delay_ms(1000);               /* 문이 열린후 대기 시간 */
            while(r>0 )
            {
                r--;
                rerotation();
                        /* 카운팅한 스텝모터 회전수를 역방향으로 회전하여 문을 닫음 */
            }                          
                  
 
        }
    }
}

 

사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )