This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

more speed

dear.. All.


I wish to create Stepper project, with command line controlled, i modified Traffic example on keil c51 sample, with like this:


#include <reg52.h>
#include <stdio.h>
#include <rtx51tny.h>                 /* RTX-51 tiny functions & defines      */
#include <ctype.h>                    /* character functions                  */
#include <string.h>                   /* string and memory functions          */

char code menu[] =
   "\n"
   "+***** STEPPER MOTOR CONTROLLER ******+\n"
   "+  S     : Set Waktu Mulai            +\n"
   "+  D     : Tampilkan Waktu            +\n"
   "+  E     : Set Waktu Berakhir         +\n"
   "+  T     : Set Waktu                  +\n"
   "+  L     : Ubah Arah Menjadi Ke Kiri  +\n"
   "+  R     : Ubah Arah Menjadi Ke Kanan +\n"
   "+  F     : Mode FULL STEP             +\n"
   "+  H     : Mode HALF STEP             +\n"
   "+-------+-----------------------------+\n";
unsigned char code ful_seq_pat[4] =  {10,9,5,6};//{1,4,2,8}; //{1,2,4,8};

unsigned char code half_seq_pat[8] = {0xfa,0xf8,0xf9,0xf1,0xf5,0xf4,0xf6,0xf2};
// Half Step Pattern
// 11111010,11111000,11111001,11110001,11110101,11110100,11110110,11110010

extern getline (char idata *, char);  /* external function:  input line       */
extern serial_init ();                /* external function:  init serial UART */

#define INIT      0                   /* task number of task:  init           */
#define COMMAND   1                   /* task number of task:  command        */
#define CLOCK     2                   /* task number of task:  clock          */
#define BLINKING  3                   /* task number of task:  blinking       */
#define LIGHTS    4                   /* task number of task:  signal         */
//#define KEYREAD 4                   /* task number of task:  keyread        */
#define GET_ESC   5                   /* task number of task:  get_escape     */
//#define COUNTER_TM 6

sfr dataport  = 0x80;//0x90;
bit direction;
bit step_mode;
bit timed_out;
struct time  {                        /* structure of the time record         */
  unsigned char hour;                 /* hour                                 */
  unsigned char min;                  /* minute                               */
  unsigned char sec;                  /* second                               */
};

struct time ctime = { 12,  0,  0 };   /* storage for clock time values        */
struct time start = {  7, 30,  0 };   /* storage for start time values        */
struct time end   = { 18, 30,  0 };   /* storage for end   time values        */

char idata inline[16];                /* storage for command input line       */
unsigned char idata sequencer;
//unsigned int idata timer_like,buf_timer_like;

/******************************************************************************/
/*        Task 0 'init': Initialize                                           */
/******************************************************************************/
void init (void) _task_ INIT  {       /* program execution starts here        */
  serial_init ();                     /* initialize the serial interface      */
  sequencer = 0;
  direction = 0;
  step_mode = 0;
  //timed_out = 0;
  //buf_timer_like = 1;
  //timer_like = buf_timer_like;
  os_create_task (CLOCK);
  os_create_task (COMMAND);           /* start command task                   */
  os_create_task (LIGHTS);            /* start lights task                    */
  //os_create_task (COUNTER_TM);
  //os_create_task (KEYREAD);           /* start keyread task                   */
  os_delete_task (INIT);              /* stop init task (no longer needed)    */
}

bit display_time = 0;
..continue..

0