单片机内部定时器在P1.0脚上产生频率为500HZ,占空比为50%的方波

单片机内部定时器在P1.0脚上产生频率为500HZ,占空比为50%的方波
2025-03-04 12:19:29
推荐回答(3个)
回答1:

1ms的定时中断,
/*****************************************************
*Author:kl.yao
*Mail :kl.yao@dsmgreenpower.com
*Info :Mcu run frequency(not crystal) 12000000 HZ
*Error :
1.定时器/计数器0设置定时时间1000us,并已使能,却没有被允许中断!

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

#include
#include

sbit PWM_Port = P1^0;

void main(void)
{

P0 = 0x00;
P1 = 0x00;
P2 = 0x00;
P3 = 0x00;

TH0 = 0xFC;
TL0 = 0x18;
TH1 = 0x00;
TL1 = 0x00;

T2CON = 0x00;
RCAP2H = 0x00;
RCAP2L = 0x00;

TMOD = 0x01;
TCON = 0x10;

IP = 0x00;
IE = 0x82;
PCON = 0x00;
SCON = 0x00;

while(1)
{
//添加你的代码

}

}

void Timer0_ISR(void) interrupt 1
{
//添加你的代码
TH0=0xFC;
TL0=0x18;
PWM_Port ^= 1;
}

回答2:

你写一个main程序,在里面调用延时子程序,延时到后返回主程序把端口取反就成了。

回答3: