?? main.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 + -