traffic.txt

来自「十字路口交通灯」· 文本 代码 · 共 29 行

TXT
29
字号
#include <at89x52.h>
//sbit用来定义一个符号位地址,方便编程,提高可读性,和可移植性
sbit SNRed	=P1^0;		//南北方向红灯
sbit SNYellow	=P1^1;		//南北方向黄灯
sbit SNGreen	=P1^2;		//南北方向绿灯
sbit EWRed	=P1^3;		//东西方向红灯
sbit EWYellow	=P1^4;		//东西方向黄灯
sbit EWGreen	=P1^5;		//东西方向绿灯
/* 用软件产生延时一个单位时间 */
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=0; SNYellow=0; SNGreen=1; EWRed=1; EWYellow=0; EWGreen=0; Delay( 60 );
		SNRed=0; SNYellow=1; SNGreen=0; EWRed=1; EWYellow=0; EWGreen=0; Delay( 10 );
		SNRed=1; SNYellow=0; SNGreen=0; EWRed=0; EWYellow=0; EWGreen=1; Delay( 60 );
		SNRed=1; SNYellow=0; SNGreen=0; EWRed=0; EWYellow=1; EWGreen=0; Delay( 10 );
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?