中易网

用CPU内部定时器中断方式计时

答案:2  悬赏:70  
解决时间 2021-01-16 14:05
  • 提问者网友:欲劫无渡
  • 2021-01-16 07:27
用CPU内部定时器中断方式计时
最佳答案
  • 二级知识专家网友:舊物识亽
  • 2021-01-16 08:28
如果头文件包含上面的定义,两个都可以,你也可以自己定义都可以如:P31=P3^1;

#include <对应的头文件>
sbit P37=P3^7;

main()
{ unsigned char n;
TMOD=0x01;//T0方式1
TH0=0x00;
TL0=0x00;//12M晶振65MS溢出
TR0=1;
P37=0;
while(1)
{ if(TF0==1)
{ TF=0;//将溢出标志位清0,又重新计数了
TH0=0x00;//重新赋初值
TL0=0x00;//12M晶振65MS溢出
//如果你想延长灯亮和灭的周期就
n++;
if(n==100)
{ n=0;//溢出100次才亮灭一次
P37=~P37;//这里取反就可以了
}
}
}
}
没调试,应该无问题20
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-01-16 09:24
#include
unsigned char com,t;
void time0() interrupt 1 //中断1
{
t++;

}
main()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR0=1;
ET0=1;
EA=1;
com=0;
while(1)
{
if(t==20)
{
t=0;
com=~com;
}
P1=com; //p1口反转
}
} //运行没问题,符合要求的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息