标题:
为什么我这样用定时器做交通灯会不按规定动作?单片机定时器的工作顺序又是怎样的?
[打印本页]
作者:
xiazhangle
时间:
2015-10-17 16:55
标题:
为什么我这样用定时器做交通灯会不按规定动作?单片机定时器的工作顺序又是怎样的?
#include<reg51.h>
sbit NBG=P2^0;
sbit NBY=P2^1;
sbit NBR=P2^2;
sbit DXG=P2^3;
sbit DXY=P2^4;
sbit DXR=P2^5;
int t,j;
void delay250ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=11;c>0;c--)
for(b=92;b>0;b--)
for(a=122;a>0;a--);
}
void main()
{
P2=0;
TMOD=0X02;
IE=0X82;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
while(1)
{if(t<1000)
{
DXG=1;
NBR=1;
DXY=0;
NBY=0;
DXR=0;
}
if((t>1000)&&(t<2000))
{
DXG=0;
NBR=1;
for(j=0;j<5;j++)
{
DXY=~DXY;
delay250ms();
}
}
if((t>2000)&&(t>3000))
{
NBG=1;
DXR=1;
NBR=0;
DXY=0;
}
if((t>3000)&&(t<4000))
{
NBG=0;
DXR=1;
for(j=0;j<5;j++)
{
NBY=~NBY;
delay250ms();
}
}
}
}
void trafficlight() interrupt 1
{
t++;
if(t<4000)
return;
t=0;
}
作者:
ok66
时间:
2015-10-17 17:40
网上有计算软件
作者:
xiazhangle
时间:
2015-10-17 20:14
ok66 发表于 2015-10-17 17:40
网上有计算软件
我入门菜鸟,想自己写些东西,请高手指导指导
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1