标题: 一个超级简单的直流电机驱动代码,新人理解无压力 [打印本页]

作者: 黑猫不是警长    时间: 2018-7-22 10:40
标题: 一个超级简单的直流电机驱动代码,新人理解无压力
普通直流电机调速调试程序
  1. #include "reg52.h"                        
  2.                                                                                  
  3. typedef unsigned int u16;         
  4. typedef unsigned char u8;
  5. sbit IN1 = P1^4; //        电机0为1正转
  6. sbit IN2 = P1^5;

  7. sbit PWM=P3^7;



  8. u16 timer1;

  9. void Timer1Init()
  10. {
  11.         TMOD|=0X10;//选择为定时器1Z模式,工作方式1,仅用TR1打开启动。

  12.         TH1 = 0xFF;
  13.         TL1 = 0xff;   //1us
  14.                
  15.         ET1=1;//打开定时器1中断允许
  16.         EA=1;//打开总中断
  17.         TR1=1;//打开定时器                        
  18. }

  19. void forward_1()
  20. {
  21.           IN1 = 0, IN2 = 1;//电机0正转

  22. }
  23. void back_1()
  24. {
  25.   IN1 = 1, IN2 = 0;//电机0反转
  26.          
  27. }

  28. void main()
  29. {
  30.      back_1();        
  31.         Timer1Init();  //定时器1初始化
  32.         while(1)
  33.         {
  34.             if(timer1>1000)
  35.                 {
  36.                 timer1=0;
  37.                 }
  38.                
  39.                 if(timer1 <50)        //1000范围内调节占空比,越大转速越快
  40.                 {
  41.                         PWM=1;
  42.                 }
  43.                 else
  44.                 {
  45.                         PWM=0;
  46.                 }               
  47.         }               
  48. }



  49. void Time1(void) interrupt 3    //3 为定时器1的中断号  
  50. {
  51.         TH1 = 0xff;
  52.         TL1 = 0xFF;   //1us
  53.         timer1++;
  54.   
  55.         
  56. }
复制代码

  


作者: zgb236    时间: 2019-12-6 23:22
谢谢分享,好人呐
作者: 算术平均数    时间: 2020-6-8 23:39
请问有没有用DA转换控制的直流电机啊?




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