找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机按键控制电机正反转

  [复制链接]
跳转到指定楼层
楼主
如题所示

讲述用按键控制电机的正反转

下面请各位爷入席就坐,表演即将开始。

要求:按下S1电机正转(PNP驱动,12V继电器控制)
          按下S2电机反转
          按下S3电机停止 为了方便仿真,我用的是5V继电器以及5V直流电机
直接上仿真图


单片机源程序如下:
  1. /**************电机正反转*******************/
  2. #include<reg51.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit Fwd=P2^0;
  6. sbit Rev=P2^1;
  7. sbit s1=P1^0; //电机正转
  8. sbit s2=P1^1; //电机反转
  9. sbit s3=P1^2; //电机停止

  10. /**********延时函数**************/
  11. void delayms(uint xms)
  12. {
  13.    uint i,j;
  14.    for(i=xms;i>0;i--)
  15.    for(j=110;j>0;j--);
  16. }

  17. void key()
  18. {
  19.   /*****电机正转*******/
  20.   if(s1==0)
  21.   {
  22.    delayms(50);
  23.    if(s1==0)
  24.    {
  25.             Fwd=1;
  26.          Rev=0;
  27.    }
  28.    while(!s1);
  29.   }

  30.    /*****电机反转*******/
  31.   if(s2==0)
  32.   {
  33.    delayms(50);
  34.    if(s2==0)
  35.    {
  36.             Fwd=0;
  37.          Rev=1;

  38.    }
  39.    while(!s2);
  40.   }

  41.   /*****电机停止*******/
  42.   if(s3==0)
  43.   {
  44.    delayms(50);
  45.    if(s3==0)
  46.    {
  47.             Fwd=1;
  48.          Rev=1;
  49.    }
  50.    while(!s3);
  51.   }

  52. }

  53. /**************主函数**********/
  54. void main()
  55. {
  56.   while(1)
  57.   {
  58.           key();
  59.   }

  60. }
复制代码

所有资料51hei提供下载:
电机正反转.rar (34.9 KB, 下载次数: 60)





评分

参与人数 2黑币 +80 收起 理由
AUXSUP + 30 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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