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

📄 main.c

📁 1、LED板中每个方向提供四组交通LED灯(包括左转、直行、右转、人行道四组)
💻 C
字号:
//====================================================================================
//	The information contained herein is the exclusive property of
//	Sunnnorth Technology Co. And shall not be distributed, reproduced,
//	or disclosed in whole in part without prior written permission.
//	(C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
//	ALL RIGHTS RESERVED
//	The entire notice above must be reproduced on all authorized copies.
//====================================================================================

//====================================================================================
//工程名:  	Traffic.spj
//功能描述:	交通灯控制,控制四个路口交通灯数码管的倒计时和红、黄、绿灯的两灭。
//			四个路口中车辆或者人通行的顺序是:
//				(其中,L表示左拐,S表示直行,R表示右拐,P表示人行,
//					1表示路口1(东),2表示路口2(南),3表示路口3(西),4表示路口4(北))
//			1L,1S,1P,3R,4R(通行25s)		----	2L,2S,2P,4R,1R(通行25s)
//					|									|
//			4L,4S,4P,1R,2R(通行25s)		----	3L,3S,3P,1R,2R(通行25s)			
//
//包含文件:	main.c\DIGuser.c
//			DIG.asm\isr.asm
//			SPCE061A.h\DIGuser.h\DIG.h
//			SPCE061A.inc\DIG.inc
//硬件连接:	用10pin排线连接交通灯模组的J5与61板的J6;
//			用10pin排线连接交通灯模组的J6与61板的J8;
//			用10pin排线连接交通灯模组的J7与61板的J9.
//维护记录:	2006年10月10     v1.0    by hongyan.Feng
//====================================================================================

//====================================================================================
//文件名:main.c
//功能描述:交通灯控制,控制四个路口交通灯数码管的倒计时和红、黄、绿灯的亮灭
//维护记录:2006年10月10         by hongyan.Feng
//====================================================================================
#include "SPCE061A.h"					//包含SPCE061A.h头文件
#include "DIGuser.h"					//包含DIGuser.h头文件,通过该文件,可以改变该系统的一些参数
#include "DIG.h"						//

//====================================================================================
//语法格式:int main(void)
//功能描述:交通灯控制,控制四个路口交通灯数码管的倒计时和红、黄、绿灯的亮灭
//入口参数:无
//出口参数:无
//维护记录:2006年6月16         by hongyan.Feng
//====================================================================================
int main(void)
{
	DIG_Initial();						//端口初始化,该函数在DIG.asm中定义,在DIG.h申明
	
	*P_INT_Ctrl_New |= C_IRQ5_2Hz;		//开2Hz中断,以便系统进行倒计时
	__asm("int irq");
	
	Nnum = ENUM+SNUM+WNUM-1;
	Wnum = ENUM+SNUM-1;
	Snum = ENUM-1;
	Enum = ENUM-1;						//设置各方向路口初始时的倒计时时间,倒计时时间可以在DIGuser.h文件中修改

	max = Nnum;							//保存各向初始倒计时时间中最大的数据,以便计时过程中使用
	min = Enum;							//保存各向初始倒计时时间中最小的数据,以便计时过程中使用
	
	while(1)							//交通灯控制
	{
		DirFlag = EAST_G;				//设置方向状态标志为东边路口车辆直行通行状态,EAST_G为EAST Green
		Enum = min;						//东边路口数码管从min开始倒计时
		EastSTrough();					//进入1L,1S,1P,3R,4R(通行25s)状态,该函数在DIGuser.c文件中定义		
		
		DirFlag = SOUTH_G;				//设置方向状态标志为南边路口车辆直行通行状态,SOUTH_G为SOUTH Green
		Snum = min;						//南边路口数码管从min开始倒计时
		SouthSTrough();					//进入2L,2S,2P,4R,1R(通行25s)状态,该函数在DIGuser.c文件中定义
		
		DirFlag = WEST_G;				//设置方向状态标志为西边路口车辆直行通行状态,WEST_G为WEST Green
		Wnum = min;						//西边路口数码管从min开始倒计时
		WestSTrough();					//进入3L,3S,3P,1R,2R(通行25s)状态,该函数在DIGuser.c文件中定义
		
		DirFlag = NORTH_G;				//设置方向状态标志为北边路口车辆直行通行状态,NORTH_G为NORTH Green
		Nnum = min;						//北边路口数码管从min开始倒计时
		NorthSTrough();					//进入4L,4S,4P,1R,2R(通行25s)状态,该函数在DIGuser.c文件中定义
		
		*P_Watchdog_Clear = 0x0001;
	}
}
//=====================================================================================================
//end
//=====================================================================================================

⌨️ 快捷键说明

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