找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机通过独立键盘控制电机正传反正停止

[复制链接]
跳转到指定楼层
楼主
通过独立按键K1、K2控制步进电机的正反转,K3控制步进电机的停转,主循环中去实时检测按键并设立正反转及停转标志,再跟进标志去控制步进电机正反转,程序编译并测试通过!




单片机源程序如下(步进电机):
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. sbit K1=P3^0;          //        按下独立键盘S2正转
  4. sbit K2=P3^1;        //        按下独立键盘S3反转
  5. sbit K3=P3^2;        //        按下独立键盘S4停转
  6. uchar code table[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
  7. uchar code table1[]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
  8. void delay(uchar z)
  9. {
  10.         uchar x,y;
  11.         for(x=z;x>0;x--)
  12.                 for(y=120;y>0;y--);
  13. }
  14. void main()
  15. {
  16.         uchar k,i;
  17.         P1=table[0];
  18.         while(1)
  19.         {
  20.                 if(!K1)
  21.                 delay(5);
  22.                 if(!K1)
  23.                 k=1;

  24.                 if(!K2)
  25.                 delay(5);
  26.                 if(!K2)
  27.                 k=2;

  28.                 if(!K3)
  29.                 delay(5);
  30.                 if(!K3)
  31.                 k=3;

  32.                 if(k==1||k==2)
  33.                 {
  34.                         for(i=0;i<8;i++)
  35.                         {
  36.                                 if(k==1) P1=table[i];
  37.                                 else P1=table1[i];
  38.                                 delay(20);
  39.                         }
  40.                 }
  41.         }
  42. }
复制代码

直流电机控制程序:
  1. #include<reg52.h>
  2. sbit s=P1^4;
  3. void delay(unsigned char z)
  4. {
  5.         while(z!=0) z--;
  6. }
  7. void main()
  8. {
  9.         while(1)
  10.         {
  11.                 s=0;
  12.                 delay(9);
  13.                 s=1;
  14.                 delay(1);
  15.         }
  16. }
复制代码


所有资料51hei提供下载:
通过独立键盘控制电机正传反正停止.zip (11.98 KB, 下载次数: 21)


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

使用道具 举报

沙发
ID:664692 发表于 2021-6-1 09:36 | 只看该作者
请问table和table1是什么意思呢
回复

使用道具 举报

板凳
ID:908826 发表于 2021-6-1 11:34 | 只看该作者
zy2811608262 发表于 2021-6-1 09:36
请问table和table1是什么意思呢

相序吧,正转是一组相序,反转的需要换相
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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