找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1522|回复: 1
打印 上一主题 下一主题
收起左侧

步进电机控制程序

[复制链接]
跳转到指定楼层
楼主
ID:302030 发表于 2018-4-4 15:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include"reg51.h"
#include"intrins.h"
#include"math.h"
#include"absacc.h"
#define  PORTA  XBYTE[0x8500]
#define  PORTB  XBYTE[0x8502]
#define  PORTC  XBYTE[0x8504]
#define  PORTC0 XBYTE[0x8506]
#define nop _nop_()
#define Right_RUN  1
#define Left_RUN  0
unsigned long RunSpeed=76;
unsigned  char  RUNState=1;
sbit  RS=P2^0;
sbit  RW=P2^1;
sbit  E=P2^2;
sbit P17=P1^7;
bit   flag=0;
unsigned char xx[]="speed(n/min):";
unsigned char SD[]="76";
char  state[2][14]={"direction:cw","direction:ccw"};
unsigned char  FLG,INMA=0;
unsigned  char  t,s=0x01;
unsigned  int   a;
main()
{
  void  OPJIAN();
  unsigned char JIAN();
  unsigned char JIANZHI();
   void  speed();
void  SHOW_LCD();
void  show_state();
void  write1();
void  writ2(unsigned char i);
void  delay();
void time();
void  busy();
unsigned  char  i;
  i=0x90;
  PORTC0=i;
  i=0x01;
  TMOD=i;
  t=0x10;
  a=0x0f;
  TH0=0x10;
  TL0=0x0f;
  FLG=INMA;  
  SHOW_LCD();
  show_state();
  EA=1;
  ET0=1;
  TR0=1;
while(1)
{
i=JIAN();
     if(i!=0)
{
   time();
   time();
  }
i=JIAN();
if(i!=0)
{
INMA=JIANZHI();
   OPJIAN();
  time();
}
  if(FLG!=INMA||flag==1)
   {  FLG=INMA;
  SHOW_LCD();
      show_state();
  flag=0;
  }
  }
  }
void SHOW_LCD()/*lcd设置程序*/
{
  P1=0x38;
  write1();
  delay();
  P1=0x38;
  write1();
  delay();
  P1=0x38;
  write1();
  delay();
  P1=0x01;
  write1();
delay();
  P1=0x0f;
  write1();
delay();
  P1=0x06;
  write1();
  delay();
  P1=0x0c;
  write1();
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:396851 发表于 2018-9-21 09:53 | 只看该作者
大哥,注释都没有怎么看啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表