原创 交通灯 实验板

2008-11-2 09:42 1902 0 分类: MCU/ 嵌入式

#include <reg51.h>
//sbit用来定义一个符号位地址,方便编程,提高可读性,和可移植性
sbit SNRed =P0^2;  //南北方向红灯
sbit SNRed1 =P2^7;
sbit SNYellow =P0^1;  //南北方向黄灯
sbit SNYellow1 =P0^7;
sbit SNGreen =P0^0;  //南北方向绿灯
sbit SNGreen1 =P0^6;
sbit EWRed =P0^5;  //东西方向红灯
sbit EWRed1 =P2^0;
sbit EWYellow =P0^4;  //东西方向黄灯
sbit EWYellow1 =P2^1;
sbit EWGreen =P0^3;  //东西方向绿灯
sbit EWGreen1 =P2^2;


/* 用软件产生延时一个单位时间 */
void Delay1Unit( void )
{
 unsigned int i, j;
 for( i="0"; i<1000; i++ )
  for( j<0; j<1000; j++ ); //通过实测,调整j循环次数,产生1ms延时
//还可以通过生成汇编程序来计算指令周期数,结合晶体频率来调整j循环次数,接近1ms
}
/* 延时n个单位时间 */
void Delay( unsigned int n ){ for( ; n!=0; n-- ) Delay1Unit(); }
void main( void )
{
 while( 1 )
 {
 SNRed=1;SNRed1=1; SNYellow="1";SNYellow1=1; SNGreen="0";SNGreen1=0; EWRed="0";EWRed1=0; EWYellow="1";EWYellow1=1; EWGreen="1";EWGreen1=1; Delay( 200 );
 SNRed=1;SNRed1=1; SNYellow="0";SNYellow1=0; SNGreen="1";SNGreen1=1; EWRed="0";EWRed1=0; EWYellow="1";EWYellow1=1; EWGreen="1";EWGreen1=1; Delay( 20);
 SNRed=1;SNRed1=1; SNYellow="1";SNYellow1=1; SNGreen="1";SNGreen1=1; EWRed="0";EWRed1=0; EWYellow="1";EWYellow1=1; EWGreen="1";EWGreen1=1; Delay( 20);
 SNRed=1;SNRed1=1; SNYellow="0";SNYellow1=0; SNGreen="1";SNGreen1=1; EWRed="0";EWRed1=0; EWYellow="1";EWYellow1=1; EWGreen="1";EWGreen1=1; Delay( 20);
 SNRed=1;SNRed1=1; SNYellow="1";SNYellow1=1; SNGreen="1";SNGreen1=1; EWRed="0";EWRed1=0; EWYellow="1";EWYellow1=1; EWGreen="1";EWGreen1=1; Delay( 20);
 SNRed=1;SNRed1=1; SNYellow="0";SNYellow1=0; SNGreen="1";SNGreen1=1; EWRed="0";EWRed1=0; EWYellow="1";EWYellow1=1; EWGreen="1";EWGreen1=1; Delay( 20);
 SNRed=0;SNRed1=0; SNYellow="1";SNYellow1=1; SNGreen="1";SNGreen1=1; EWRed="1";EWRed1=1; EWYellow="1";EWYellow1=1; EWGreen="0";EWGreen1=0; Delay( 200 );
 SNRed=0;SNRed1=0; SNYellow="1";SNYellow1=1; SNGreen="1";SNGreen1=1; EWRed="1";EWRed1=1; EWYellow="0";EWYellow1=0; EWGreen="1";EWGreen1=1; Delay( 20);
 SNRed=0;SNRed1=0; SNYellow="1";SNYellow1=1; SNGreen="1";SNGreen1=1; EWRed="1";EWRed1=1; EWYellow="1";EWYellow1=1; EWGreen="1";EWGreen1=1; Delay( 20 );
 SNRed=0;SNRed1=0; SNYellow="1";SNYellow1=1; SNGreen="1";SNGreen1=1; EWRed="1";EWRed1=1; EWYellow="0";EWYellow1=0; EWGreen="1";EWGreen1=1; Delay( 20 );
 SNRed=0;SNRed1=0; SNYellow="1";SNYellow1=1; SNGreen="1";SNGreen1=1; EWRed="1";EWRed1=1; EWYellow="1";EWYellow1=1; EWGreen="1";EWGreen1=1; Delay( 20 );
 SNRed=0;SNRed1=0; SNYellow="1";SNYellow1=1; SNGreen="1";SNGreen1=1; EWRed="1";EWRed1=1; EWYellow="0";EWYellow1=0; EWGreen="1";EWGreen1=1; Delay( 20 );


 }
}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /1 下一条