求各路神仙教教小弟51单片机控制管脚P1.6输出pwm的程序怎么写?_百度...
发布网友
发布时间:2024-03-20 21:22
我来回答
共3个回答
热心网友
时间:2024-07-25 11:26
简单程序段:
sbit PWM=P1^6;
void delayms(int n)
{
int i;
for(i=0;i<n:i++);
}
void main()
{
for(;;;)
{
PWM=0;
delayms(100);
PWM=1;
delayms(99);
}
}
热心网友
时间:2024-07-25 11:27
自己认真看看芯片资料!
关键是初始化成功!
热心网友
时间:2024-07-25 11:29
//用定时器中断来做,12MHz晶振。
sbit PWM=P1^6;
void Init_Timer0(void) //定时器0初始化,10ms中断一次。
{
TMOD = 0x01;
TH0 = (65536-10000) /256;
TL0 = (65536-10000) %256;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void Time0_Interrupt(void) interrupt 1 using 0 //定时器中断程序
{
TH0 = (65536-10000) /256; //定时器初始值重载
TL0 = (65536-10000) %256;
if(PWM == 1)
{
PWM = 0;
}
else
{
PWM = 1;
}
}
void main()
{
Init_Timer0(); //定时器初始化
while(1);
}