51单片机驱动三相电机正反转程序

[复制链接]
查看29 | 回复0 | 2021-4-30 01:30:39 | 显示全部楼层 |阅读模式
网上找了好久都没有找到三相电机正反转程序,用51单片机试写了个程序。
  1. #include <reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. //定义按键端口
  5. sbit key1 = P1^0;//定义LED灯端口
  6. sbit key2 = P1^1;
  7. sbit key3 = P1^2;

  8. sbit led1 = P2^0;
  9. sbit led2 = P2^1;
  10. sbit led3 = P2^2;


  11. //延时函数声明
  12. void delay(uint xms);
  13. //程序入口
  14. void main(){
  15.   while(1){
  16. 完整程序附件下载
  17.     //第一次判断
  18.     if(key1 == 0){
  19.           //延时20ms 消除抖动
  20.           delay(20);
  21.           //第二次判断
  22.           if(key1 == 0){
  23.             led2 = 1;// 灯亮
  24.                 delay(200);
  25.             led1 = 0;
  26.             
  27.           }
  28.           while(!key1);  //当按键未松开时,key为0,执行该死循环。
  29.          //等待按键被松开
  30.          }
  31.           if(key2 == 0){
  32.           //延时20ms 消除抖动
  33.           delay(20);
  34.           //第二次判断
  35.           if(key2 == 0){
  36.             led1 = 1;          //灯亮
  37.                 delay(200);
  38.                 led2 = 0;                  
  39.             
  40.           }
  41.          
  42.          
  43.          //等待按键被松开

  44.           while(!key2);  //当按键未松开时,key为0,执行该死循环。
  45.         }
  46.         if(key3 == 0){
  47.           //延时20ms 消除抖动
  48.           delay(20);
  49.           //第二次判断
  50.           if(key3 == 0){
  51.                       //灯亮
  52.                 led1 = 1;
  53.                    led2 = 1;
  54.            
  55.           }
  56.          
  57.          
  58.          //等待按键被松开

  59.           while(!key3);  //当按键未松开时,key为0,执行该死循环。
  60.                 }  
  61.            

  62.           }
  63.                 }
复制代码


回复

使用道具 举报

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

本版积分规则