×
单片机 > 单片机程序设计 > 详情

51单片机pwm信号模拟

发布时间:2020-08-31 发布时间:
|

适用所有单片机,晶振为11.0592M


#include "reg52.h"

 

 

int pwm1=1;    第一路pwm占空比

int pwm2=60;   第二路pwm占空比

sbit led1=P1^0;    

sbit led2=P1^3;

sbit md1=P1^0;

void pwm_init()

{

TMOD|=0x01;

TH0=(65536-100)/256;       约1Kmz      

TL0=(65536-100)%256;

ET0=1;

EA=1;

TR0=1;

}

void pwm_timer()interrupt 1

{

static int c1=0,c2=0;

  TH0=(65536-100)/256;

TL0=(65536-100)%256;

if(c1

{

led1=0;

}

else{

led1=1;

}

if(c1==100){c1=0;}

c1++;

if(c2

{

led2=1;

}

else{

led2=0;

}

if(c2==100){c2=0;}

 

 

c2++;

}

void delay(int n)

{

  int z;

while(n--){

z=110;

while(z--);

}

 

 

}

void delay1()

{

 

 

 

 

}

void main()

{

pwm_init();

 

 

while(1)

{

delay(100);

pwm1+=10;

pwm2+=1;

if(pwm1>100)pwm1=1;

 

if(pwm2>100)pwm2=1;

}




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义