久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1846|回復: 5
收起左側

關于單片機控制電機正反轉啟停

[復制鏈接]
ID:505660 發表于 2021-10-10 20:21 | 顯示全部樓層 |閱讀模式
電機正反轉啟停要求如下:啟動時間:6秒;正轉時間:30秒; 停止時間:2秒;反轉時間:30秒,如何寫入下面這段程序:
  1. #include <reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar code FFW[]=
  5. {
  6.         0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09
  7. };

  8. uchar code REV[]=
  9. {
  10.         0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
  11. };

  12. sbit K1 = P3^0;
  13. sbit K2 = P3^1;
  14. sbit K3 = P3^2;
  15. sbit K4 = P3^3;
  16. sbit K5 = P3^4;
  17. void DelayMS(uint ms)
  18. {
  19.         uchar i;
  20.         while(ms--)
  21.         {
  22.                  for(i=0;i<120;i++);
  23.         }
  24. }

  25. void SETP_MOTOR_FFW(uchar n)
  26. {
  27.         uchar i,j;
  28.         int M=25;
  29.         for(i=0;i<5*n;i++)
  30.         {
  31.                  for(j=0;j<8;j++)
  32.                 {
  33.                          if(K3 == 0)        break;
  34.                         P1 = FFW[j];
  35.                         if(K4 == 0)
  36.                         {
  37.                                 P0=0xf6;
  38.                                 DelayMS(20);
  39.                         }
  40.                         else        if(K5 == 0)
  41.                                 {
  42.                                         P0=0xee;
  43.                                         DelayMS(100);
  44.                                 }
  45.                                 else        DelayMS(50);
  46.                                 if(K4 == 1&&K5 == 1)               
  47.                                 {
  48.                                         P0 = 0xfe;      
  49.                                 }
  50.                 }
  51.         }
  52. }
  53. void SETP_MOTOR_REV(uchar n)
  54. {
  55.         uchar i,j;
  56.         int M=25;
  57.         for(i=0;i<5*n;i++)
  58.         {
  59.                  for(j=0;j<8;j++)
  60.                 {
  61.                          if(K3 == 0)        break;
  62.                         P1 = REV[j];
  63.                         if(K4 == 0)
  64.                         {
  65.                                 P0=0xf5;
  66.                                 DelayMS(20);
  67.                         }
  68.                         else        if(K5 == 0)
  69.                                 {
  70.                                         P0=0xed;
  71.                                         DelayMS(100);
  72.                                 }
  73.                                 else        DelayMS(50);
  74.                                 if(K4 == 1&&K5 == 1)               
  75.                                 {
  76.                                         P0 = 0xfd;      
  77.                                 }
  78.                 }
  79.         }
  80. }
  81. void main()
  82. {
  83.         uchar N = 50;
  84.         while(1)
  85.         {
  86.                  if(K1 == 0)
  87.                 {
  88.                         P0 = 0xfe;
  89.                         SETP_MOTOR_FFW(N);                       
  90.                         if(K3 == 0) break;
  91.                 }
  92.                 else if(K2 == 0)
  93.                 {
  94.                          P0 = 0xfd;
  95.                         SETP_MOTOR_REV(N);
  96.                         if(K3 == 0) break;
  97.                 }                                               
  98.                 else
  99.                 {
  100.                          P0 = 0xfb;
  101.                         P1 = 0x03;
  102.                 }
  103.         }

  104. }
復制代碼


回復

使用道具 舉報

ID:161164 發表于 2021-10-11 00:41 | 顯示全部樓層
啟動時間:6秒;//6秒內0到全速?
正轉時間:30秒; //轉了30秒然后呢?
停止時間:2秒;//2秒內全速到0?
反轉時間:30秒; //轉了30秒然后呢?
K4和K5代表什么功能?
回復

使用道具 舉報

ID:505660 發表于 2021-10-11 21:53 | 顯示全部樓層
lkc8210 發表于 2021-10-11 00:41
啟動時間:6秒;//6秒內0到全速?
正轉時間:30秒; //轉了30秒然后呢?
停止時間:2秒;//2秒內全速到0 ...

對對對,K4、K5是加速和減速,大佬知道咋弄呢
回復

使用道具 舉報

ID:505660 發表于 2021-10-11 21:57 | 顯示全部樓層
lkc8210 發表于 2021-10-11 00:41
啟動時間:6秒;//6秒內0到全速?
正轉時間:30秒; //轉了30秒然后呢?
停止時間:2秒;//2秒內全速到0 ...

反轉完停止
回復

使用道具 舉報

ID:505660 發表于 2021-10-11 21:58 | 顯示全部樓層
lkc8210 發表于 2021-10-11 00:41
啟動時間:6秒;//6秒內0到全速?
正轉時間:30秒; //轉了30秒然后呢?
停止時間:2秒;//2秒內全速到0 ...

仿真圖如下C:\Users\pei\Desktop
回復

使用道具 舉報

ID:161164 發表于 2021-10-11 23:41 | 顯示全部樓層

貼圖看不到
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄视频在线网站 | 国产午夜精品一区二区三区四区 | 国产综合网站 | 久草成人网 | 欧美一区二区免费视频 | 国产精品视频网站 | 二区三区视频 | 国产精品视频一 | 久久ww| 在线观看国产视频 | 成人精品国产一区二区4080 | www.亚洲一区二区 | 91久久久久久久久 | 日本三级电影在线观看视频 | 久草网址 | 国产伦精品一区二区三区照片91 | 欧美一级免费看 | 日韩欧美中文 | 男女网站免费观看 | 一区二区三区国产好 | 国产精品久久久久久一级毛片 | 国产精品久久久久久久久久 | 国产98色在线 | 日韩 | 久久久久成人精品亚洲国产 | 欧美日韩精品一区二区天天拍 | 国产成人免费视频网站视频社区 | 日本午夜免费福利视频 | 国产视频精品免费 | 欧美1区2区 | 国产成人久久久 | 免费午夜视频 | 国产成人免费在线 | 一区亚洲 | 国产精品视频网址 | 视频在线亚洲 | 免费视频久久久久 | 欧美一区二区三区免费在线观看 | 久久久久久免费看 | 成人在线免费 | 中文字幕黄色大片 | 亚洲激情在线观看 |