dc motor.c

来自「该程序采用C语言编写,实现直流电机驱动,与Proteus仿真软件配合实现直流电机」· C语言 代码 · 共 40 行

C
40
字号
#include <reg51.h>
sbit CLOCK=P2^4;
sbit ST=P2^5;
sbit EOC=P2^6;
sbit OE=P2^7;
sbit PWM=P3^7;
void delay(unsigned char i);
unsigned char getdata;

void Timer0() interrupt 1
{TH0=0xff;
 TL0=0xfe;
 CLOCK=~CLOCK;
 }
void main(void)
{TMOD=0x01;                   //定义ADC0808时钟频率为500KHZ
 TH0=0xff;
 TL0=0xfe;
 IE=0x82;
 TR0=1;
 while(1)
 {ST=0;
  ST=1;
  ST=0;                        //通过在ST端给一个正脉冲信号启动ADC0808
  while(EOC==1);               //等待AD转换结束,EOC为高电平转换结束
  OE=1;                        //输出转换得到的数据
  getdata=P1; 
  OE=0;                        //数据输出完毕,数据线呈高阻态                 
  PWM=1;                       //输出PWM信号为高电平
  delay(getdata);              //调用延时
  PWM=0;                       //输出PWM信号为低电平
  delay(255-getdata);
  }
 }
void delay(unsigned char i)    //延时ius
{
    while(--i);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?