关于单片机89C51问题

2025-03-20 18:03:37
推荐回答(1个)
回答1:

#include
sbit
out=P1^7;
void
main()
{
TMOD=0x10;//定时器工作方式为,方式1。
//频率为50hz
周期为1/50=0.02s=20ms=20000um
晶振为6m
定时器计一个数的时间为12/6=2um
所以需要计数10000个为一周期
半个周期为5000个
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
EA=1;
ET1=1;
TR1=1;
while(1);
}
void
T1()
interrupt
3
{
TH1=(65536-5000)/256;
//重装初值
TL1=(65536-5000)%256;
out=~out;
}
//输出矩形波为为50hz
等宽
占空比为50%