📄 dc motor.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -