e đang tìm hiểu về điều chế pwm của 8051. e có viết đoạn code như sau, các b chỉ e chỗ nào còn thiếu mà nó ko chạy vs nhé.
#include <REGX51.H>
unsigned char dem,phantramxung;
void delay(long time)
{long n;
for(n=0;n<time;n++)
{
;
}
}
void khoitaotimer0()
{EA=0;
TMOD=0x02;
TH0=0x9B;
TL0=0X9B;
EA=1;
ET0=1;
TR0=1;
}
void ngattimer0()interrupt 0
{TR0=0;
TF0=0;
dem++;
if(dem<phantramxung)P2_0=1;
else P2_0=0;
if(dem==10)
dem=0;
TR0=1;
}
void main()
{khoitaotimer0();
while(1)
{phantramxung=9;
delay(20000);
phantramxung=4;
delay(20000);
}
}
#include <REGX51.H>
unsigned char dem,phantramxung;
void delay(long time)
{long n;
for(n=0;n<time;n++)
{
;
}
}
void khoitaotimer0()
{EA=0;
TMOD=0x02;
TH0=0x9B;
TL0=0X9B;
EA=1;
ET0=1;
TR0=1;
}
void ngattimer0()interrupt 0
{TR0=0;
TF0=0;
dem++;
if(dem<phantramxung)P2_0=1;
else P2_0=0;
if(dem==10)
dem=0;
TR0=1;
}
void main()
{khoitaotimer0();
while(1)
{phantramxung=9;
delay(20000);
phantramxung=4;
delay(20000);
}
}
Comment