超牛PWM控制_调频+PWM+调端口
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit PWMP2^0;
sbit LED2=P2^1;
sbit LED3=P2^2;
sbit LED4=P2^3;
sbit LED5=P2^4;
sbit LED6=P2^5;
sbit LED7=P2^6;
sbit LED8=P2^7;
sbit SW=P1^0;
sbit SW2=P1^1;
sbit SW3=P1^2;
uint time; //定义占空比的变量
uchar num, con, jac, op, ss, pio;
uchar sec = 10, tme = 1;
void op_sw(void);
void ss_sw(void);
void sw_sw(void);
void pio_sw(void);
void main()
{
P2 = 0;
TMOD=0x01;//定时器0工作方式1
TH0=(65536-10)/256;//赋初值定时 //0xff;
TL0=(65536-10)%256;//0.01ms //0xf7
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
pio = 1;
while(1)
{
void sw_sw(void);
}
}
void tim0() interrupt 1
{
TR0=0;
TH0=(65536-10)/256;
TL0=(65536-10)%256;
TR0=1;
time++;
if(time>=100)
time=0;
if(time <= (sec))
PWM=1;
else PWM=0;
inter_sw() ;
op_sw();
ss_sw();
pio_sw();
}
详见附件
调速 PWM .rar
(16.5 KB, 下载次数: 85)
|