회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
108 마이크로프로세서 HOT저.. 공부하는 방법 때문에 그런데.. 도움 좀 주세요.. ㅠㅠ 울고싶어잉..14 행복하면 683 2007.09.30
107 마이크로프로세서 HOTAT89S51에서 ISP를 Serial Port로 하는 방법 질문4 임낙 1606 2007.09.30
106 마이크로프로세서 HOT안녕 하세요` ㅋㅋ6 행복하면 584 2007.09.28
105 마이크로프로세서 HOT8051 공부를 시작할려고 책을 샀는데..9 행복하면 603 2007.09.28
104 마이크로프로세서 HOT오늘부터 8051에 대해서 공부를 해 볼려고 이렇게 인사를 드립니다..7 행복하면 511 2007.09.27
103 마이크로프로세서 HOT마이컴 avr mega8535인데요...4 dwl 813 2007.09.26
102 마이크로프로세서 HOT아무리 생각해도 난 너를 ㅠ_ㅠ;;3 챠리스만 609 2007.09.21
101 마이크로프로세서 HOT듀비&주기에 관해서 질문합니다.(보너스도 포함-_-;;;)2 챠리스만 646 2007.09.20
100 마이크로프로세서 HOTADC에 궁금한게 있어 이렇게 질문 드립니다.7 레드리네 1068 2007.09.19
99 마이크로프로세서 HOT8051에 있는 4개의 7세그먼트를 가지고 할 수 있는게 머가 있을까요;;9 Genesis 1051 2007.09.18
98 마이크로프로세서 HOT아크마님 도와주세요 -_-;;1 챠리스만 579 2007.09.17
97 마이크로프로세서 HOT저의 생각에 조언을 부탁드립니다.8 챠리스만 747 2007.09.12
96 마이크로프로세서 HOT배터리 충전하는거에 대해서 질문드려요2 sinpk 616 2007.09.11
95 마이크로프로세서 HOTL297과 SLA7024를 이용한 스텝 모터 방향 제어4 기계사랑 2880 2007.09.11
마이크로프로세서 HOT제가짠 모터제어 소스인데 조금 봐주세요ㅜㅜ(안되내)3 mgcjjang 781 2007.09.10
93 마이크로프로세서 HOTavr studio 쓰는 도중에...7 화언 1742 2007.09.09
92 마이크로프로세서 HOT질문이 있어요 시리얼 인터럽트..4 빠라삐리뽀 609 2007.09.09
91 마이크로프로세서 HOT엽기 방열판ㅋㅋ6 뺘쑝 1528 2007.08.04
90 마이크로프로세서 HOT아흑 라인트레이서 그디어 조립 완성 ㅎㅎㅎ6 뺘쑝 1742 2007.07.26
89 마이크로프로세서 HOTMB 라인마우스 공개 샷!1 아크마 1599 2007.07.24
  • 훌륭한 삶에는 세 가지 요소가 있다. 즉 배우는 일, 돈버는 일, 무엇인가 하고 싶은 일.
    - 몰리
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.