找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于51单片机控制步进电机仿真+代码

[复制链接]
跳转到指定楼层
楼主
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define out P2
  5. sbit pos=P0^0;                 //定义检测正转控制位 p0.0
  6. sbit neg=P0^1;                  //定义检测反转控制位p0.1
  7. void delayms(uint);
  8. uchar code turn[]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03}; //步进脉冲数组
  9. void main(void)
  10. {
  11.    uchar i;
  12.    out=0x03;
  13.    while(1)
  14.    {
  15.        if(!pos)                                  //如果正转按键按下
  16.            {
  17.               i=i<8 ?i+1:0;            //如果i<8,则i=i+1;否则,则i=0
  18.                   out=turn[i];
  19.                   delayms(50);
  20.                 }
  21.                 else if(!neg)
  22.                 {
  23.                   i=i>0 ?i-1:7;       //如果i>0,则i=i-1;否则,则i=7
  24.                   out=turn[i];        //向P2输出脉冲数
  25.                   delayms(50);
  26.                 }
  27.         }
  28. }
  29. void delayms(uint j)
  30. {
  31.    uchar i;
  32.    for(;j>0;j--)
  33.    {
  34.        i=250;
  35.            while(--i);
  36.            i=249;
  37.            while(--i);
  38.         }
  39. }
复制代码



1.png (167.2 KB, 下载次数: 94)

步进电机

步进电机

步进电机.zip

15.64 KB, 下载次数: 95, 下载积分: 黑币 -5

评分

参与人数 1黑币 +1 收起 理由
笑看 + 1 淡定

查看全部评分

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

使用道具 举报

沙发
ID:162363 发表于 2019-12-21 18:45 | 只看该作者
不能用
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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