pwm電機調速的編程以及protues的仿真圖,下面有附件,大家可以下載觀看
1.png (269.37 KB, 下載次數: 109)
下載附件
2019-12-10 10:50 上傳
單片機源程序如下:
#include <reg51.h>
sbit PWM=P2^7;
sbit CS3=P2^3;
sbit CS2=P2^2;
sbit CS1=P2^1;
sbit CS0=P2^0;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
unsigned char timer1;
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void Time1Config();
void main(void)
{
Time1Config();
while(1)
{
if(timer1>100)
{
timer1=0;
}
if(~key1)
{
if(timer1<30)
{
PWM=1;
}
else
{
PWM=0;
}
CS0=0;CS1=0;CS2=1;CS3=0;
P0=tab[3];
P0=0xff;
CS0=0;CS1=0;CS2=0;CS3=1;
P0=tab[0];
P0=0xff;
}
else if(~key2)
{if(timer1 <50)
{
PWM=1;
}
else
{
PWM=0;
}
CS0=0;CS1=0;CS2=1;CS3=0;
P0=tab[5];
P0=0xff;
CS0=0;CS1=0;CS2=0;CS3=1;
P0=tab[0];
P0=0xff;
}
else if(~key3)
{if(timer1 <80)
{
PWM=1;
}
else
{
PWM=0;
}
CS0=0;CS1=0;CS2=1;CS3=0;
P0=tab[8];
P0=0xff;
CS0=0;CS1=0;CS2=0;CS3=1;
P0=tab[0];
P0=0xff;
}
else if(~key4)
{if(timer1 <100)
{
PWM=1;
}
else
{
PWM=0;
}
CS0=0;CS1=1;CS2=0;CS3=0;
P0=tab[1];
P0=0xff;
CS0=0;CS1=0;CS2=1;CS3=0;
P0=tab[0];
P0=0xff;
CS0=0;CS1=0;CS2=0;CS3=1;
P0=tab[0];
P0=0xff;
}
}
}
void Time1Config()
{
TMOD|= 0x10;
TH1 = 0xFE;
TL1 = 0x0C;
ET1 = 1;
EA = 1;
TR1 = 1;
}
void Time1(void) interrupt 3
{
。。。。。。
剩余的在文件里面,大家去下載吧。
全部資料51hei下載地址:
pwm調速.rar
(19.82 KB, 下載次數: 171)
2019-12-10 10:51 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|