회원가입 ID/PW 찾기
AA

void T0_int (void) interrupt 1

{


        TIMER0_OFF;         


     if(flag == 0)

     {

        flag = 1;

            SERVO_PORT = 0;

                rate = PULS_OFF - angle; // low level time

     }

     

     else

     {

                flag = 0;

                SERVO_PORT = 1;

                rate = angle;

        }

        

     if(angle + speed < target)

        angle += speed;

     else if(angle - speed > target)

        angle -= speed;

     else

        angle = target;

     

     TH0 = ~(byte)((0xff00 & rate) >> 8);

     TL0 = ~(byte)(0x00ff & rate);


    TIMER0_ON;

}

위 소스는 8051작품란에 있는 코드중의 하나인데요...

코드를 보니 모터에 high신호와 low신호를 주는 부분인데요..
 if(angle + speed < target)

        angle += speed;

     else if(angle - speed > target)

        angle -= speed;

     else

        angle = target;

     

     TH0 = ~(byte)((0xff00 & rate) >> 8);

     TL0 = ~(byte)(0x00ff & rate);

이 부분이 서보모터속도를 제어하는 부분같은데요... 이해가 잘 되지 않습니다...
어떻게 속도가 되는건지 좀 알켜주시겠어요?;;
좋은 하루 보내세요 ^_^~

댓글 2
  • No Profile
    아 이거 제가 짠 소스군요..

    TH0 = ~(byte)((0xff00 & rate) >> 8);

         TL0 = ~(byte)(0x00ff & rate);

    이것은 타이머에 주기를 입력하는란이고 이 주기에 의해서 서보모터의 각이 결정됩니다.


    저 위에 소스들은 그 주기를 계산하는것이며 원하는 주기(TARGET)가 될때까지 일정한 속도(SPEED)로
    각(ANGLE)주기를 더해주거나 빼주고 이를 타이머 주기로 입력하여 서보모터를 구동하게 되는 형식입니다.

  • No Profile
      if(flag == 0)

         {

            flag = 1;

                SERVO_PORT = 0;

                    rate = PULS_OFF - angle; // low level time

         }

         

         else

         {

                    flag = 0;

                    SERVO_PORT = 1;

                    rate = angle;

            }

            
    요부분은 서보모터 출력포트로 HIGH,LOW를 출력하는 소스입니다. 물론 설정된 타이머 주기에 따라서요

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
32 마이크로프로세서 HOTAVRstudio 4에서 돌려봤습니다.1 나야소달ㅋ 1672 2007.05.05
31 마이크로프로세서 HOT아, 헤더파일,,,,2 나야소달ㅋ 1605 2007.04.29
30 마이크로프로세서 HOT정말 오랜만에 또 질문...ㅎㅎ3 나야소달ㅋ 1114 2007.04.22
29 마이크로프로세서 HOT트레이서 트랙을 만들고 있어요.4 나야소달ㅋ 1137 2007.04.18
28 마이크로프로세서 HOTSST42D2120 스텝모터...2 나야소달ㅋ 1926 2007.04.15
27 마이크로프로세서 HOT모터 구동방식에 대해 다시 질문요;;;4 나야소달ㅋ 1429 2007.04.15
26 마이크로프로세서 HOT모터 선정에 있어 토크 고려 방법6 보해소주 4749 2007.05.30
25 마이크로프로세서 HOT타이머 시분할에 관한거...(초보라서.. 자세히점..가르켜주시면)2 mgcjjang 857 2007.09.07
24 마이크로프로세서 HOT(AT89S52)타이머인터럽트 제어...? 한번봐주세요7 대박 1177 2007.08.13
마이크로프로세서 HOT안녕하세요 질문하나 드립니다 ^_^;2 챠리스만 604 2007.08.11
22 마이크로프로세서 HOT스텝모터 관련 질문이요 ㅋ10 빠라삐리뽀 2008 2007.08.11
21 마이크로프로세서 HOTLCD 원리좀..3 은하철도9981 959 2007.08.08
20 마이크로프로세서 HOTAT89S52에서 워치독타이머로 파워절약모드 설정은?1 대박 1181 2007.08.07
19 마이크로프로세서 HOT슬립모드 제어?1 대박 922 2007.08.06
18 마이크로프로세서 HOT타이머로 짠 소스 좀 봐주세욤 ....6 뺘쑝 866 2007.08.01
17 마이크로프로세서 HOTlcd 4비트 제어에 대해서..5 뺘쑝 979 2007.07.31
16 마이크로프로세서 HOT라인트레이서 코딩에 대해서...16 뺘쑝 1145 2007.07.31
15 마이크로프로세서 HOT디지털 시계 소스입니다 . 질문좀..7 해드8051 2660 2007.06.10
14 마이크로프로세서 HOT레귤레이터 7805에 대해서 질문입니다4 뺘쑝 1567 2007.06.04
13 마이크로프로세서 HOT라인트레이서 회로부분에서 질문있습니다4 뺘쑝 798 2007.06.01
  • 시간의 걸음에는 세가지가 있다. 미래는 주저하며 다가오고 현재는 화살처럼 날아가고 과거는 영원히 정지하고 있다.
    - F.실러
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.