找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于51单片机和Proteus仿真的天车控制系统

[复制链接]
跳转到指定楼层
楼主
#include "AT89X52.h"
#include "intrins.h"

// Definition for output port and input pins
#define out_port  P3

unsigned char const sequence[8] = {0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};

sbit key_for = P1 ^ 2;
sbit key_rev = P1 ^ 3;

sbit Inc = P1 ^ 0;
sbit Dec = P1 ^ 1;
sbit Dir = P2 ^ 0;
sbit PWM = P2 ^ 1;

int speed;

void delay(unsigned int j)
{
  for(; j>0; j--);
}
void delayms(unsigned int j)
{
  unsigned char i;
  for(; j>0; j--)
  {
    i = 120;
    while (i--);  
  }
}

void DCMotoDeal(void)
{
      if(!Inc)
      {
         speed = speed > 0 ? speed - 1 : 0;
      }
      if(!Dec)
      {
         speed = speed < 500 ? speed + 1 : 500;
       }
      PWM=1;
      delay(speed);
      PWM=0;
      delay(500-speed);
}

void StepMotoDeal(void)
{
    unsigned char i;
    if (!key_for)
    {
       i = i<8 ? i+1 : 0;
         out_port = sequence[i];
         delayms(50);
    }
    else if (!key_rev)
    {
        i = i>0 ? i-1 : 7;       
        out_port = sequence[i];
        delayms(50);
    }
}

void main(void)
{
   // 选择方向和时间
   Dir = 1;
   if (Dir)
   {
      speed = 400;
    }
   else
   {
      speed = 100;
   }
   out_port = 0x03;
   while(1)
    {
      DCMotoDeal();
      StepMotoDeal();
    }
}



天车.png (117.62 KB, 下载次数: 39)

天车.png

基于51单片机和Proteus仿真的天车控制系统.zip

56.85 KB, 下载次数: 6, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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