标题: 按键控制电机反正转,带PWM [打印本页]

作者: 腾飞的龙    时间: 2015-7-23 15:35
标题: 按键控制电机反正转,带PWM
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit jiasu=P1^0;
  5. sbit jiansu=P1^1;
  6. sbit pwm=P2^0;
  7. sbit fx=P2^3;
  8. uchar gdp;//高电平时间变量
  9. uchar tt=100;//周期变量
  10. uchar time;//定时器自动加1变量
  11. void delay(uint z)
  12. {
  13.         uint x,y;
  14.         for(x=z;x>0;x--)
  15.         for(y=120;y>0;y--);
  16. }
  17. void tm0() interrupt 1
  18. {
  19.         TH0=(65536-65526)/256;
  20.         TL0=(65536-65526)%256;
  21.         time++;
  22.         if(time==gdp)//高电平时间到。PWM脉冲变低
  23.                 pwm=0;
  24.         else
  25.         if(time==tt)//周期时间到
  26.         {
  27.                 pwm=1;
  28.                 time=0;
  29.         }
  30. }
  31. void main()
  32. {
  33.         TMOD=0X01;
  34.         TH0=(65536-65526)/256;
  35.         TL0=(65536-65526)%256;
  36.         EA=1;
  37.         ET0=1;
  38.         TR0=1;
  39.         fx=1;
  40.         while(1)
  41.         {
  42.                 if(!jiasu)
  43.                 {
  44.                         delay(10);
  45.                         if(!jiasu)
  46.                         {
  47.                                 gdp+=5;
  48.                                 if(gdp>=100)
  49.                                 gdp=95;
  50.                                 while(!jiasu);       
  51.                         }
  52.                 }
  53.                 if(!jiansu)
  54.                 {
  55.                         delay(10);
  56.                         if(!jiansu)
  57.                         {
  58.                                 gdp-=5;
  59.                                 if(gdp<=10)
  60.                                 gdp=10;
  61.                                 while(!jiansu);       
  62.                         }
  63.                 }
  64.         }
  65.         fx=0;
  66.         while(1)
  67.         {
  68.                 if(!jiasu)
  69.                 {
  70.                         delay(10);
  71.                         if(!jiasu)
  72.                         {
  73.                                 gdp+=5;
  74.                                 if(gdp>=100)
  75.                                 gdp=95;
  76.                                 while(!jiasu);       
  77.                         }
  78.                 }
  79.                 if(!jiansu)
  80.                 {
  81.                         delay(10);
  82.                         if(!jiansu)
  83.                         {
  84.                                 gdp-=5;
  85.                                 if(gdp<=10)
  86.                                 gdp=10;
  87.                                 while(!jiansu);       
  88.                         }
  89.                 }
  90.         }
  91. }
复制代码

作者: admin    时间: 2015-7-23 15:39
能提供一下电路图吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1