中级会员
- 积分
- 341
- 金钱
- 341
- 注册时间
- 2014-10-30
- 在线时间
- 0 小时
|
5金钱
9.用单片机和内部定时器来产生矩形波,要求频率为100Hz,占空比为2∶1,设单片机的时钟频率为12MHz,编写有关程序。 #include <reg51.h>
unsigned char i;
sbit  1_1=P1^1;
void main()
{
i=0;
TMOD=0x10;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET1=1;
TR1=1;
while(1);
}
void timer1_int(void) interrupt 3
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
i++;
if(i==2) P1_1=0;
else if(i==3)
{ i=0;
 1_1=1;
}
}
这个程序正确吗?赋初值是对TO赋的 TH0=(65536-10000)/256,开启的 ET1=1使能。 还是我的理解错误了?
|
|
最佳答案
查看完整内容[请看2#楼]
肯定啦。。。。你一直都只是在对T1配置,中断函数也是T1的程序没跑飞就好了。。。T0赋值木有用,你只是默认了(TH1=TL1=0)而已。。。。。
|