欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 簡單的51單片機電機驅(qū)動程序與Proteus仿真圖(啟停與快慢控制) [打印本頁]

作者: cangyuan    時間: 2021-7-11 16:45
標題: 簡單的51單片機電機驅(qū)動程序與Proteus仿真圖(啟停與快慢控制)
控制方向和變速,有仿真工程文件和源代碼
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載).


單片機源程序如下:
  1. #include "reg51.h"
  2. #define u8 unsigned char
  3. sbit pwm1=P2^0;
  4. sbit pwm2=P2^3;
  5. sbit key=P2^7;
  6. u8 sudu=0,fang=0;//0停1慢2快
  7. void delay(long i)
  8. {
  9.         while(i--)
  10.         {
  11.                 if(key==0)//有按下
  12.                 {
  13.                         while(key==0);//等待放手
  14.                         sudu++;
  15.                         if(sudu==3)sudu=0;
  16.                 }
  17.         }
  18. }
  19. void dong()
  20. {
  21.         if(fang==0)
  22.                 {
  23.                 if(sudu==0)//停機狀態(tài)
  24.                 {
  25.                         pwm1=1;//兩邊高電平
  26.                         pwm2=1;
  27.                         delay(100);//等待按下更改
  28.                 }
  29.                 if(sudu==1)//調(diào)速狀態(tài)
  30.                 {
  31.                         pwm1=1;//轉(zhuǎn)動的時間
  32.                         pwm2=0;
  33.                         delay(50);
  34.                         pwm1=1;//停止的時
  35.                         pwm2=1;
  36.                         delay(250);        }
  37.                 if(sudu==2)               
  38.                 {pwm1=1;
  39.                 pwm2=0;
  40.                         delay(300);}
  41.                 }
  42.                 if(fang==1)
  43.                 {
  44.                 if(sudu==0)//停機狀態(tài)
  45.                 {
  46.                         pwm1=1;//兩邊高電平
  47.                         pwm2=1;
  48.                         delay(100);//等待按下更改
  49.                 }
  50.                 if(sudu==1)//調(diào)速狀態(tài)
  51.                 {
  52.                         pwm1=0;//轉(zhuǎn)動的時間
  53.                         pwm2=1;
  54.                         delay(50);
  55.                         pwm1=1;//停止的時
  56.                         delay(250);        }
  57.                 if(sudu==2)               
  58.                 {pwm1=0;
  59.                         pwm2=1;
  60.                         delay(300);}
  61. }}

  62. void main()
  63. {
  64.         EA=1;IT0=1;EX0=1;
  65.         while(1)
  66.         {
  67.                 dong();
  68.         }
  69. }

  70. void bian() interrupt 0
  71. {
  72.          fang=!fang;
  73. }
復制代碼

所有資料51hei提供下載:
直流電機-pwm驅(qū)動.7z (41.93 KB, 下載次數(shù): 34)







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1