회원가입 ID/PW 찾기
AA

제가짠 모터제어 소스인데 조금 봐주세요ㅜㅜ(안되내)

신호는 포트3에 모두다 들어 가는데 각도1도정도 천천히 움직이는거에요ㅜㅜ

나름 해볼려고 했는데 몇시간째 삽질만 했어요 ㅠㅠ

어디가 문젠지점 가르켜 주세요 ㅠ타이머 부분이 이론으론 이해가 됬나 했는데;;

막상 소스 써서 쓸라니까 막연해요 ㅠ

#include <at89x52.h>


#define servo_left
#define servo_cent
#define servo_reft

unsigned char motor=0;
unsigned int out[1][9];
 int one=0;


void delay (unsigned int min)
{
 unsigned int i;
    for(i = 1; i <= min; i++);

}

int M[]={6444,7366,8288,9210,10132,11054,11976,12898,13820,14742,15664,16586,17508,18430,19352,
           20274,21196,22118,23040};  //1도부터 180도까지    
  //FFFF=65535

void moter(unsigned m1,unsigned m2,unsigned m3,unsigned m4,unsigned m5,unsigned m6,unsigned m7,unsigned m8)
{
 out[0][1]=M[m1];
 out[0][2]=M[m2];
 out[0][3]=M[m3];
 out[0][4]=M[m4];
 out[0][5]=M[m5];
 out[0][6]=M[m6];
 out[0][7]=M[m7];
 out[0][8]=M[m8];

}

           
void timer_interput(void) interrupt 1
{
 
  
 if(one == 1)
 {
  P3 = 0x01<<motor;
  TH0 = out[0][motor]>>8;
  TL0 = out[0][motor] & 0x00FF;
  one = 0;
 }

  else
 {
  P3=0;
  TH0 = 65535-out[0][motor]>>8;
  TL0 = 65535-out[0][motor]& 0x00FF;
 
    
  motor++;
  motor&=0x07;
  
  one=1;
 }


}

/*void timer()//초기화
{
 
 TMOD=0x01;
 ET0=1;
 EA=1;
 IP=0x02;
 TCON=0x01;


 TH0 = 65535-out[0][motor]>>8;
 TL0 = 65535-out[0][motor]&0xff;
 

} */


void main()
{
 TMOD = 0x01;  // Timer 0, mode 1
 TCON = 0x10;  // TR0=1
 TH0 = 42495 >> 8; // initial Timer 0 value
 TL0 = 42495 & 0x00FF; //             <요기가 문젠지?? 초기값도너보고 이것저것 해봤는데돋 잘모르겟어용어디가 문제지.ㅠㅠ

 IP = 0x02;  // interrupt priority
 IE = 0x82;  // EA=ET0=1 

   
for(;;)
  {
 
   moter(1,1,1,1,1,1,1,1);             //0~180에 있는 값을 넣어주면 모터는 -90도에서 +90도로 동작한다.
   delay(2000);                    
   moter(9,9,9,9,9,9,9,9);              //0:-90도(왼쪽)  90:0도(중앙)  180: +90도(오른쪽)
   delay(2000);
   
  }
}

댓글 3
  • No Profile
    TH0 = 65535-out[0][motor]>>8;
     TL0 = 65535-out[0][motor]&0xff;


    TH0 = 65535-out[0][motor]>>8;
      TL0 = 65535-out[0][motor]& 0x00FF;


    일단 여기부터 문제가 보여보이는군요

    65536 값에서 해당 시간을 얻기 위해 빼주는데 그 후에 HIGH BYTE, LOW BYTE로 쉬프트해서 집어 넣는것입니다


    님 소스에 가로를 넣어주셔야 계산순서가 맞겠지요

    TH0 = (65535-out[0][motor])>>8;
     TL0 = (65535-out[0][motor)]& 0xFF;
  • No Profile
    글쓴이 mgcjjang 07.09.10 17:26 댓글 좋아요 0 싫어요 0

    아 바본갑다... 이런 기초적인.. 한번 돌려보고 글남길게요.. ㅋ

  • No Profile
    글쓴이 볼매(승훈) 07.09.13 02:52 댓글 좋아요 0 싫어요 0

    음...  포트로 8개다 신호가 들어가기는한대 ,... 정확한 펄스값이 제대로 들어가지가 않아요 모토가 제어가 안되요..

    클럭주기를 잘못 계산했나...

    소스를 잘못짯나...

    근본적인 전체적으로 소스에 문제 가있나.. 다시 짜서 해봐야겠당. ㅜㅜ

    대강 길점 자바주세요 ㅠ

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

search
번호 분류 제목 글쓴이 조회 수 날짜
264 자유주제 HOTatmega128 에서..5 빛나는 영혼 11355 2007.09.13
263 자유주제 HOT라인 트레이스 만들고 싶어요...6 빛과소리 9473 2007.09.13
262 자유주제 HOT궁금한게 생겨서 질문하러 왔습니다~~~~~~2 졸작하자 9290 2007.09.12
261 자유주제 HOT제가 다시 1위 탈환4 아크마 8763 2007.09.12
260 마이크로프로세서 HOT저의 생각에 조언을 부탁드립니다.8 챠리스만 747 2007.09.12
259 자유주제 HOT어제 조언을 구해서 다운받아볼려는데 포인트가 부족..3 jung 8538 2007.09.12
258 자유주제 HOT생각해보니 질문이있어서 다시 올립니다.(졸작관련)2 졸작하자 8959 2007.09.12
257 자유주제 HOT졸작할려고 정보얻어갈려는데 포인트가 업네요...4 졸작하자 9145 2007.09.12
256 중고장터 HOT라인트레이서4 날라 3510 2007.09.12
255 자유주제 HOT안녕하세요 ^_^;;2 챠리스만 8671 2007.09.12
254 자유주제 HOT안녕하세요 프로젝트에 관련해서 도움이 필요해서 질문올립니다.2 jung 9155 2007.09.11
253 마이크로프로세서 HOT배터리 충전하는거에 대해서 질문드려요2 sinpk 616 2007.09.11
252 자유주제 HOT윽~~~~~5 뺘쑝 8872 2007.09.11
251 마이크로프로세서 HOTL297과 SLA7024를 이용한 스텝 모터 방향 제어4 기계사랑 2880 2007.09.11
250 자유주제 HOT심심해서 ^^3 빛나는 영혼 9606 2007.09.11
249 자유주제 HOT전기전자쪽에Q&A가 없어서 여기 올려요 ㅠ2 빠라삐리뽀 9664 2007.09.10
248 자유주제 HOT포인트^^;;2 호야입니다 13616 2007.09.10
마이크로프로세서 HOT제가짠 모터제어 소스인데 조금 봐주세요ㅜㅜ(안되내)3 mgcjjang 781 2007.09.10
246 마이크로프로세서 HOTavr studio 쓰는 도중에...7 화언 1742 2007.09.09
245 개발용역 HOT업체홍보란은? 아크마 5513 2007.09.09
  • 태만은 천천히 움직이므로 가난이 곧 따라잡는다.
    - 프랭클린
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.