회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
132 마이크로프로세서 HOTAT89S51에서 ISP를 Serial Port로 하는 방법 질문4 임낙 1606 2007.09.30
131 마이크로프로세서 HOT안녕 하세요` ㅋㅋ6 행복하면 584 2007.09.28
130 마이크로프로세서 HOT8051 공부를 시작할려고 책을 샀는데..9 행복하면 603 2007.09.28
129 마이크로프로세서 HOT오늘부터 8051에 대해서 공부를 해 볼려고 이렇게 인사를 드립니다..7 행복하면 511 2007.09.27
128 마이크로프로세서 HOT마이컴 avr mega8535인데요...4 dwl 813 2007.09.26
127 마이크로프로세서 HOT아무리 생각해도 난 너를 ㅠ_ㅠ;;3 챠리스만 614 2007.09.21
126 마이크로프로세서 HOT듀비&주기에 관해서 질문합니다.(보너스도 포함-_-;;;)2 챠리스만 647 2007.09.20
125 마이크로프로세서 HOTADC에 궁금한게 있어 이렇게 질문 드립니다.7 레드리네 1068 2007.09.19
124 마이크로프로세서 HOT8051에 있는 4개의 7세그먼트를 가지고 할 수 있는게 머가 있을까요;;9 Genesis 1052 2007.09.18
123 마이크로프로세서 HOT아크마님 도와주세요 -_-;;1 챠리스만 583 2007.09.17
122 마이크로프로세서 HOT저의 생각에 조언을 부탁드립니다.8 챠리스만 747 2007.09.12
121 마이크로프로세서 HOT배터리 충전하는거에 대해서 질문드려요2 sinpk 616 2007.09.11
120 마이크로프로세서 HOTL297과 SLA7024를 이용한 스텝 모터 방향 제어4 기계사랑 2880 2007.09.11
마이크로프로세서 HOT제가짠 모터제어 소스인데 조금 봐주세요ㅜㅜ(안되내)3 mgcjjang 781 2007.09.10
118 마이크로프로세서 HOTavr studio 쓰는 도중에...7 화언 1742 2007.09.09
117 마이크로프로세서 HOT질문이 있어요 시리얼 인터럽트..4 빠라삐리뽀 609 2007.09.09
116 펌웨어 & 코딩언어 HOT최근에 질문 받은 소스-_-;;1 아크마 761 2007.08.16
115 펌웨어 & 코딩언어 HOTRS232 컨트롤 소스2 아크마 3826 2007.04.13
114 펌웨어 & 코딩언어 HOT시리얼통신 데모 프로그램 소스2 아크마 3292 2007.04.13
113 펌웨어 & 코딩언어 HOT시리얼통신 테스트 프로그램2 아크마 3247 2007.04.13
Prev 1 ... 47 48 49 50 51 52 53 54 55 56 ... 58 Next
  • 약속을 잘하는 사람은 잊어버리기도 잘한다.
    - T.플러
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.