51单片机通过按键简单控制直流电机正反转程序与proteus仿真

[复制链接]
查看0 | 回复0 | 2021-6-9 17:20:13 | 显示全部楼层 |阅读模式
开发环境:Keil 单片机型号:STC89C52RC
功能实现:通过两个按键控制有刷直流电机正反转。
1.png
Proteus仿真效果图展示:

2.png
程序代码:
  1. #include <reg51.h>

  2. sbit EN  = P1^0;  //    电机输入输出1,2
  3. sbit IN1 = P1^1;  //    输入1
  4. sbit IN2 = P1^2;  //    输入2
  5. sbit key1=P3^5;
  6. sbit key2=P3^4;

  7. void delay();

  8. void main()
  9. {
  10.     EN=1;
  11.     IN1=0;
  12.     IN2=0;
  13.     while(1)
  14.     {     
  15.         if(key1==0)
  16.         {
  17.             delay();
  18.             {
  19.                 if(key1==0)
  20.                 {
  21.                     IN1=1;
  22.                     IN2=0;
  23.                 }
  24.                 while(key1==0);
  25.             }
  26.         
  27.         }
  28.         if(key2==0)
  29.         {
  30.             delay();
  31.             {
  32.                 if(key2==0)
  33.                 {
  34.                     IN1=0;
  35.                     IN2=1;
  36.                 }
  37.                 while(key2==0);
  38.             }
  39.         }
  40.     }
  41. }

  42. void delay()
  43. {
  44.     int i,j;
  45.     for(i=0;i<10;i++)
  46.     {
  47.         for(j=0;j<100;j++);
  48.     }
  49. }
复制代码

完整代码和仿真文件: motordriver.rar (208.36 KB, 售价: 1 工控币)
回复

使用道具 举报

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

本版积分规则