⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trafficlight.h

📁 分析了现代城市交通控制与管理问题的现状
💻 H
字号:
#ifndef	__TRAFFICLIGHT_H__
#define	__TRAFFICLIGHT_H__
//	write your header here

unsigned int 	ui_Cnt = 1;
unsigned int 	uiRet = 0;
unsigned int 	uiFlash_Flag = 0;							//闪烁时显示绿灯还是熄灭的标志
unsigned int 	uiShowCntFlag = 0;							//改变显示值的标志
unsigned int 	uiQuarterSecondCnt  = 0;					//0.25秒计数器
int				uiShowCnt = 20;								//数码管倒计时显示值
unsigned int 	uiShi = 0;									//数码管显示的十位
unsigned int 	uiGe = 0;									//数码管显示的个位
unsigned int 	uiE_2ColorLED = 0;							//东方向双色LED要显示的数(红绿黄灯)
unsigned int 	uiW_2ColorLED = 0;							//西方向双色LED要显示的数(红绿黄灯)
unsigned int 	uiS_2ColorLED = 0;							//南方向双色LED要显示的数(红绿黄灯)
unsigned int 	uiN_2ColorLED = 0;							//北方向双色LED要显示的数(红绿黄灯)
unsigned int	uiStatus;									//整个系统运行状态
unsigned int	uiStatus_Normal;							//正常运行状态下的子状态
unsigned int	uiKey;										//键值	 
unsigned int	ui_SN_RedLight = 20;	 					//南北红灯时间设置值
unsigned int	ui_SN_GreenLight = 20;	 					//南北绿灯时间设置值

unsigned int	uiEastCnt = 0;	 							//往东车流量
unsigned int	uiWeastCnt = 0;	 							//往西车流量
unsigned int	uiSouthCnt = 0;	 							//往南车流量
unsigned int	uiNorthCnt = 0;	 							//往北车流量

unsigned int	uiEastCnt_L = 0;	 						//来自东边左转车流量
unsigned int	uiEastCnt_S = 0;	 						//来自东边直行车流量
unsigned int	uiEastCnt_R = 0;	 						//来自东边右转车流量

unsigned int	uiWeastCnt_L = 0;	 						//来自西边左转车流量
unsigned int	uiWeastCnt_S = 0;	 						//来自西边直行车流量
unsigned int	uiWeastCnt_R = 0;	 						//来自西边右转车流量

unsigned int	uiSouthCnt_L = 0;	 						//来自南边左转车流量
unsigned int	uiSouthCnt_S = 0;	 						//来自南边直行车流量
unsigned int	uiSouthCnt_R = 0;	 						//来自南边右转车流量

unsigned int	uiNorthCnt_L = 0;	 						//来自北边左转车流量
unsigned int	uiNorthCnt_S = 0;	 						//来自北边直行车流量
unsigned int	uiNorthCnt_R = 0;	 						//来自北边右转车流量

unsigned int 	g_uiResetIO = 0;



#define	C_FlashTime				16							//开始闪烁的剩余时间
#define	C_YellowTime			8							//开始变黄灯的剩余时间

//系统状态定义
#define	C_Status_Normal			1							//正常运行状态
#define	C_Status_Emergency		2							//紧急状态
#define	C_Status_Setup			3							//设置状态
#define	C_Status_Query			4							//查询状态


//片选端的定义
//&&&
#define	CS0	0xfffe											// 选通东边的双色LED
#define	CS1	0xfffd											// 选通南边的双色LED
#define	CS2	0xfffb											// 选通西边的双色LED
#define	CS3	0xfff7											// 选通北边的双色LED
//|||
#define	CS4	0x0010											// 选通数码管个位
#define	CS5	0x0020											// 选通数码管十位
//双色LED定义		
#define	C_ALL_Red			0xaa00
//&&&
#define	C_Left_Green		0xfe0f
#define	C_Left_Red			0xfd0f
#define	C_Left_Yellow		0xfc0f
//|||
#define	C_Left_Close		0x010f

//&&&
#define	C_Straight_Green	0xfb0f
#define	C_Straight_Red		0xf70f
#define	C_Straight_Yellow	0xf30f
//|||
#define	C_Straight_Close	0x040f

//&&&
#define	C_Right_Green		0xef0f
#define	C_Right_Red			0xdf0f
#define	C_Right_Yellow		0xcf0f
//|||
#define	C_Right_Close		0x100f

//&&&
#define	C_Pavement_Green	0xbf0f
#define	C_Pavement_Red		0x7f0f
#define	C_Pavement_Yellow	0x3f0f
//|||
#define	C_Pavement_Close	0x400f

//正常运行下的几种子状态
//1南边车道左转弯绿灯,南边车道直行绿灯,北边车道右转弯绿灯,西边车道右转弯绿灯,东边人行道绿灯,其它为红灯
#define C_1_Green		1
#define C_1_S_Green		(C_Left_Green&C_Straight_Green&C_Right_Red&C_Pavement_Red)&CS1
#define C_1_N_Green		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS3
#define C_1_E_Green		(C_Left_Red&C_Straight_Red&C_Right_Red&C_Pavement_Green)&CS0
#define C_1_W_Green		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS2
//2南边车道左转弯绿灯闪烁,南边车道直行绿灯闪烁,北边车道右转弯绿灯闪烁,西边车道右转弯绿灯,东边人行道绿灯闪烁,其它为红灯
#define C_1_Flash		2
#define C_1_S_Flash		(C_Right_Red&C_Pavement_Red)|(C_Left_Close|C_Straight_Close)&CS1
#define C_1_N_Flash		(C_Left_Red&C_Straight_Red&C_Pavement_Red)|(C_Right_Close)&CS3
#define C_1_E_Flash		(C_Left_Red&C_Straight_Red&C_Right_Red)|(C_Pavement_Close)&CS0
#define C_1_W_Flash		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS2
//3南边车道左转弯黄灯,南边车道直行黄灯,北边车道右转弯黄灯,西边车道右转弯绿灯,东边人行道黄灯,其它为红灯
#define C_1_Yellow		3
#define C_1_S_Yellow	(C_Left_Yellow&C_Straight_Yellow&C_Right_Red&C_Pavement_Red)&CS1
#define C_1_N_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Yellow&C_Pavement_Red)&CS3
#define C_1_E_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Red&C_Pavement_Yellow)&CS0
#define C_1_W_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS2
//4东边车道左转弯绿灯,东边车道直行绿灯,西边车道右转弯绿灯,南边车道右转弯绿灯,北边人行道绿灯,其它为红灯
#define C_2_Green		4
#define C_2_S_Green		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS1
#define C_2_N_Green		(C_Left_Red&C_Straight_Red&C_Right_Red&C_Pavement_Green)&CS3
#define C_2_E_Green		(C_Left_Green&C_Straight_Green&C_Right_Red&C_Pavement_Red)&CS0
#define C_2_W_Green		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS2

//5东边车道左转弯绿灯闪烁,东边车道直行绿灯闪烁,西边车道右转弯绿灯闪烁,南边车道右转弯绿灯,北边人行道绿灯闪烁,其它为红灯
#define C_2_Flash		5
#define C_2_S_Flash		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS1
#define C_2_N_Flash		(C_Left_Red&C_Straight_Red&C_Right_Red)|(C_Pavement_Close)&CS3
#define C_2_E_Flash		(C_Right_Red&C_Pavement_Red)|(C_Left_Close|C_Straight_Close)&CS0
#define C_2_W_Flash		(C_Left_Red&C_Straight_Red&C_Pavement_Red)|(C_Right_Close)&CS2
//6东边车道左转弯黄灯,东边车道直行黄灯,西边车道右转弯黄灯,南边车道右转弯绿灯,北边人行道黄灯,其它为红灯
#define C_2_Yellow		6
#define C_2_S_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS1
#define C_2_N_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Red&C_Pavement_Yellow)&CS3
#define C_2_E_Yellow	(C_Left_Yellow&C_Straight_Yellow&C_Right_Red&C_Pavement_Red)&CS0
#define C_2_W_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Yellow&C_Pavement_Red)&CS2
//7北边车道左转弯绿灯,北边车道直行绿灯,南边车道右转弯绿灯,东边车道右转弯绿灯,西边人行道绿灯,其它为红灯
#define C_3_Green		7
#define C_3_S_Green		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS1
#define C_3_N_Green		(C_Left_Green&C_Straight_Green&C_Right_Red&C_Pavement_Red)&CS3
#define C_3_E_Green		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS0
#define C_3_W_Green		(C_Left_Red&C_Straight_Red&C_Right_Red&C_Pavement_Green)&CS2
//8北边车道左转弯绿灯闪烁,北边车道直行绿灯闪烁,南边车道右转弯绿灯闪烁,东边车道右转弯绿灯,西边人行道绿灯闪烁,其它为红灯
#define C_3_Flash		8
#define C_3_S_Flash		(C_Left_Red&C_Straight_Red&C_Pavement_Red)|(C_Right_Close)&CS1
#define C_3_N_Flash		(C_Right_Red&C_Pavement_Red)|(C_Left_Close|C_Straight_Close)&CS3
#define C_3_E_Flash		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS0
#define C_3_W_Flash		(C_Left_Red&C_Straight_Red&C_Right_Red)|(C_Pavement_Close)&CS2
//9北边车道左转弯黄灯,北边车道直行黄灯,南边车道右转弯黄灯,东边车道右转弯绿灯,西边人行道黄灯,其它为红灯
#define C_3_Yellow		9
#define C_3_S_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Yellow&C_Pavement_Red)&CS1
#define C_3_N_Yellow	(C_Left_Yellow&C_Straight_Yellow&C_Right_Red&C_Pavement_Red)&CS3
#define C_3_E_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS0
#define C_3_W_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Red&C_Pavement_Yellow)&CS2
//10西边车道左转弯绿灯闪烁,西边车道直行绿灯闪烁,东边车道右转弯绿灯闪烁,北边车道右转弯绿灯,南边人行道绿灯闪烁,其它为红灯
#define C_4_Green		10
#define C_4_S_Green		(C_Left_Red&C_Straight_Red&C_Right_Red&C_Pavement_Green)&CS1
#define C_4_N_Green		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS3
#define C_4_E_Green		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS0
#define C_4_W_Green		(C_Left_Green&C_Straight_Green&C_Right_Red&C_Pavement_Red)&CS2
//11西边车道左转弯绿灯,西边车道直行绿灯,东边车道右转弯绿灯,北边车道右转弯绿灯,南边人行道绿灯,其它为红灯
#define C_4_Flash		11
#define C_4_S_Flash		(C_Left_Red&C_Straight_Red&C_Right_Red)|(C_Pavement_Close)&CS1
#define C_4_N_Flash		(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS3
#define C_4_E_Flash		(C_Left_Red&C_Straight_Red&C_Pavement_Red)|(C_Right_Close)&CS0
#define C_4_W_Flash		(C_Right_Red&C_Pavement_Red)|(C_Left_Close|C_Straight_Close)&CS2
//12西边车道左转弯黄灯,西边车道直行黄灯,东边车道右转弯黄灯,北边车道右转弯绿灯,南边人行道黄灯,其它为红灯
#define C_4_Yellow		12
#define C_4_S_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Red&C_Pavement_Yellow)&CS1
#define C_4_N_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Green&C_Pavement_Red)&CS3
#define C_4_E_Yellow	(C_Left_Red&C_Straight_Red&C_Right_Yellow&C_Pavement_Red)&CS0
#define C_4_W_Yellow	(C_Left_Yellow&C_Straight_Yellow&C_Right_Red&C_Pavement_Red)&CS2

//语音资源定义
#define C_0				0					// 语音资源:    0
#define C_1				1					// 语音资源:    1
#define C_2				2					// 语音资源:    2
#define C_3				3					// 语音资源:    3
#define C_4				4					// 语音资源:    4
#define C_5				5					// 语音资源:    5
#define C_6				6					// 语音资源:    6
#define C_7				7					// 语音资源:    7
#define C_8				8					// 语音资源:    8
#define C_9				9					// 语音资源:    9
#define C_10			10					// 语音资源:    十
#define C_ZHUYI			11					// 语音资源:    注意
#define C_WANG			12					// 语音资源:    往
#define C_DONG			13					// 语音资源:    东
#define C_XI			14					// 语音资源:    西
#define C_NAN			15					// 语音资源:    南
#define C_BEI			16					// 语音资源:    北
#define C_ZOU			17					// 语音资源:    走
#define C_DE			18					// 语音资源:    的
#define C_CHELIULIANG	19					// 语音资源:    车流量
#define C_SHI			20					// 语音资源:    是
#define C_LIANG			21					// 语音资源:    辆
#define C_SouthNorth	22					// 语音资源:    现在南北方向通行,请注意
#define C_EastWeast		23					// 语音资源:    现在东西方向通行,请注意
#define C_JINGDI		24					// 语音资源:    警笛声
#define C_HuanXiang		25					// 语音资源:    换向时的提示音




//键值的定义
#define	C_Key1			0x0001
#define	C_Key2			0x0002
#define	C_Key3			0x0004

#define	C_S_L			0x0010
#define	C_S_S			0x0020
#define	C_S_R			0x0040
#define	C_N_L			0x0080
#define	C_N_S			0x0100
#define	C_N_R			0x0200
#define	C_E_L			0x0400
#define	C_E_S			0x0800
#define	C_E_R			0x1000
#define	C_W_L			0x2000
#define	C_W_S			0x4000
#define	C_W_R			0x8000

void PlayS480(int Index);
void Play2Number(unsigned int uiNumber,unsigned int uiDirection);
void Run_Normal(void);
void Run_Emergency(void);
void Run_Setup(void);
void Run_Query(void);
void ShowControl(void);
unsigned int GetKeyValue(void);
#endif

⌨️ 快捷键说明

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