微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机PWM程序及仿真波形图

单片机PWM程序及仿真波形图

时间:11-26 来源:互联网 点击:



//********************************

//51单片机PWM波形产生程序

//作者:曾宪阳

//网址:http://hi.baidu.com/zxymcu

//********************************

#include

#defineucharunsignedchar

#defineuintunsignedint

uinta,b,c,f;

uchard,e;

sbitP1_0=P1^0;

voiddelay_2us(uchart)//12Mt*2+5us

{

while(--t);

}

voiddelay_ms(uintt)

{

ucharx,y;

for(t;t>0;t--)

{

for(x=0;x<114;x++)

for(y=0;y<1;y++);

}

}

voidT0_PWM(void)interrupt1using3

{

TH0=((65535-100)/256);

TL0=((65535-100)%6);

P1=P1^0X02;

a++;

if(a==c)a=0;

if(a

elseP1_0=0;

//delay_ms(1);

TR0=1;

}

voidT0_CS(void)

{

//TR0=0;

//TH0=(255-100);

//TL0=(255-100);

//TH0=0XFF;TL0=0X9B;

TH0=(65535-100)/255;

TL0=(65535-100)%5;

d=(65535-200)/255;

e=(65535-200)%5;

P1=P1^0X02;

a++;

if(a==c)a=0;

if(a

elseP1_0=0;

delay_ms(1);

TR0=1;

}

voidmain(void)

{

TMOD=0X01;

EA=1;ET0=1;

//TH0=(255-100);

//TL0=(255-100);

TH0=(65535-100)/255;

TL0=(65535-100)%5;

TR0=1;

a=0;b=1;c=10;

while(1)

{

//T0_CS();

//TH0=(65535-100)/255;

//TL0=(65535-100)%5;

if((b++)==c)

b=1;

//delay_2us(100);

delay_ms(300);

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top