51单片机晶振频率为12MHz,利用定时器在P1.0口线上产生周期为500毫秒,占空比为2:5

2025-03-29 01:13:26
推荐回答(3个)
回答1:

流程图就不画了,自己搞定吧,给你编个程序。
#include
#define uchar unsigned char
uchar tcnt=0,num=0;
sbit p10=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tcnt++;
if(tcnt>=20)
{
tcnt=0;
num++;
if(num==2)p10=0;
if(num==5)
{
num=0;
p10=1;
}
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
EA=1;
p10=1;
while(1);
}

回答2:

那就是延时200ms和延时300ms呀,自己画一下流程图和写写代码还不行?
定时时间就是计时器溢出值减去计数时间

回答3:

我告诉你一个非常简单的方法,你有串口调试助手这个软件吗?它可以自动生产,不会的话,在问我!