注意書き

改造はすべて自己責任で行ってください!!

2012年1月1日日曜日

solomaxx revolution-original burushless program




ここから↓

#include <htc.h>
#include "pic.h"
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 16000000
#endif
__CONFIG(CLKOUTEN_OFF & FOSC_INTOSC & FCMEN_OFF & IESO_OFF & BOREN_OFF &
         PWRTE_ON & WDTE_OFF & MCLRE_OFF & CP_OFF & CPD_OFF) ;
int c[50]={107,109,111,113,115,118,120,122,124,126,129,131,133,135,137,140,142,144,146,148,151,153,155,157,159,162,164,166,168,170,173,175,177,179,181,184,186,188,190,192,195,197,199,201,203,206,208,210,212,215};
int d1,e1,e;
static unsigned char cnt500mS; // 20mSカウンタ

void main(void)
{
 OSCCON = 0x7a; // 16MHz
 TRISA = 0x20;

 ANSELA = 0;
 PORTA=0x00;

 WPUA = 0x00;     //RBプルアップ

 OPTION_REG = 0x05; // プリスケーラ64

 //__delay_ms(1000);

 TMR0 = 0x00;
 TMR0IE = 1;  // TMR0割り込み許可
 GIE = 1;  // 全体割り込み許可
 cnt500mS = 5;

 //__delay_ms(2000);

int a,b,d=0,f;
 while (1) {
  d1=1;
  while (d1){}
  d1=1;
  e=49;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;
   if (RA5) e--;
   if (RA5) e--; else e1++;
   if (RA5) e--; else e1++;


 }
}
static void interrupt intr(void) {
 int w;
 TMR0IF = 0;  // TMR0割り込みクリア
 cnt500mS--;
 if (cnt500mS == 0) {
  cnt500mS = 5; // 3.2768mS*153=501mS
 
  RA0 = 1;     //サーボ出力
  for (w=0;w<c[e];w++){

  }

   RA0 = 0;
   d1=0;
   e1=1;
 }
}

↑ここまで




0 件のコメント:

コメントを投稿