회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
26 펌웨어 & 코딩언어 HOT모니터 정보 읽어올때 프로토콜1 빛나는 영혼 1358 2008.03.06
25 펌웨어 & 코딩언어 HOT아~~20 あさひ 916 2008.01.15
24 펌웨어 & 코딩언어 HOT최근에 질문 받은 소스-_-;;1 아크마 761 2007.08.16
23 펌웨어 & 코딩언어 HOTRS232 컨트롤 소스2 아크마 3826 2007.04.13
22 펌웨어 & 코딩언어 HOT시리얼통신 데모 프로그램 소스2 아크마 3292 2007.04.13
21 펌웨어 & 코딩언어 HOT시리얼통신 테스트 프로그램2 아크마 3247 2007.04.13
20 펌웨어 & 코딩언어 HOT화상 캠 제어 소스5 아크마 3280 2007.04.13
19 펌웨어 & 코딩언어 HOT음성변조 관련 프로그램 소스 모음4 아크마 6547 2007.04.13
18 펌웨어 & 코딩언어 HOT어셈으로 구현한 암호화 복호화 - by 아크마4 아크마 2747 2007.08.08
17 펌웨어 & 코딩언어 HOTC를 위한 어셈블리어22 아크마 3128 2007.06.06
16 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #16 [ 입력/출력 ]10 뺘쑝 3716 2007.06.02
15 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #15 [ 인터럽트 : DOS가 서비스를 제공하는 방법 ]5 뺘쑝 2861 2007.06.02
14 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #14 [ 스트링 작업 ]6 뺘쑝 2826 2007.05.24
13 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #13 [ 산술 연산 ]9 뺘쑝 3663 2007.05.24
12 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #12 [ 프로시저 ]9 뺘쑝 2886 2007.05.24
11 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #11 [ 제어 흐름의 구현 ]8 뺘쑝 2527 2007.05.24
10 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #10 [ 제어 흐름 ]7 뺘쑝 2646 2007.05.24
9 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #9 [ 일반 명령문 ]11 뺘쑝 3226 2007.05.11
8 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #8 [ 자료의 정의 ]8 뺘쑝 1931 2007.05.04
7 펌웨어 & 코딩언어 HOT어셈블리어 강좌 #7 [ 프로그램의 처리 ]6 뺘쑝 2276 2007.05.04
  • 해놓은 약속은 미지불의 부채이다.
    - R.W.서비스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.