資源簡介
本程序是為了實(shí)現(xiàn)電梯的自動(dòng)控制。該控制系統(tǒng)具有以下功能:
1。一般的電梯自動(dòng)功能,即一般模式
2。具有特別用途的管理模式,如維護(hù),緊急事故,報(bào)警
在該模式下,該系統(tǒng)能提供幾管理員,能直達(dá)指定樓層而不響應(yīng)其他指令,
并且通過串口能記錄和發(fā)送哪位管理的哪些操作。如"Admtor 5 from 1 to 8"表示
序號為5的管理員這時(shí)從1樓直達(dá)8樓。當(dāng)退出該模式時(shí),能恢復(fù)一般模式的指令。而且
為了便于管理和提高保密性,每個(gè)管理都有不同的密碼。使該系統(tǒng)能適用特別場合,
如酒店,社區(qū)(花園),商場等商業(yè)性場合。
3。為了提高人們的人身安全,該控制系統(tǒng)能提供報(bào)警功能。
當(dāng)受害者按下報(bào)警減時(shí),該控制系統(tǒng)能使電梯運(yùn)行到指定的樓層(如低層,頂層),
從而能捉住施害者。同時(shí)該系統(tǒng)也能通過串口發(fā)送報(bào)警信息,如"Admtor 0 from 6 to 8(頂層)"
表示6樓有人按下報(bào)警鍵,電梯會在8樓停住,其中"Admtor 0"表示報(bào)警信息,因?yàn)樵撓到y(tǒng)是沒有
序號為0的管理員的。
4。同時(shí),該系統(tǒng)的顯示部分(LED和SEG7)采用動(dòng)態(tài)顯示,節(jié)省電量和資源。

代碼片段和文件信息
/*************************電梯的自動(dòng)控制系統(tǒng)******************************************
**************************************************************************************
本程序是為了實(shí)現(xiàn)電梯的自動(dòng)控制。該控制系統(tǒng)具有以下功能:
1。一般的電梯自動(dòng)功能,即一般模式
2。具有特別用途的管理模式,如維護(hù),緊急事故,報(bào)警
????在該模式下,該系統(tǒng)能提供幾管理員,能直達(dá)指定樓層而不響應(yīng)其他指令,
并且通過串口能記錄和發(fā)送哪位管理的哪些操作。如“Admtor?5?from?1?to?8“表示
序號為5的管理員這時(shí)從1樓直達(dá)8樓。當(dāng)退出該模式時(shí),能恢復(fù)一般模式的指令。而且
為了便于管理和提高保密性,每個(gè)管理都有不同的密碼。使該系統(tǒng)能適用特別場合,
如酒店,社區(qū)(花園),商場等商業(yè)性場合。
3。為了提高人們的人身安全,該控制系統(tǒng)能提供報(bào)警功能。
當(dāng)受害者按下報(bào)警減時(shí),該控制系統(tǒng)能使電梯運(yùn)行到指定的樓層(如低層,頂層),
從而能捉住施害者。同時(shí)該系統(tǒng)也能通過串口發(fā)送報(bào)警信息,如“Admtor?0?from?6?to?8(頂層)“
表示6樓有人按下報(bào)警鍵,電梯會在8樓停住,其中“Admtor?0“表示報(bào)警信息,因?yàn)樵撓到y(tǒng)是沒有
序號為0的管理員的。
4。同時(shí),該系統(tǒng)的顯示部分(LED和SEG7)采用動(dòng)態(tài)顯示節(jié)省電量和資源。
***************************************************************************************
時(shí)間:2007.5.4
作者:aking(bbs:gamew)
郵箱:s_yjwu@stu.edu.cn
*************************************************************
修改時(shí)間:5月18日增加電梯超載與滿載功能控制任務(wù)
***********************************************************/
#include“config.h“
//sbit?StairRun?=?P3^5;//聲明變量
/*全局變量*/
uchar?counter=0; //為切換計(jì)數(shù)器
uchar?counter_10ms=0;
uchar?counter_1s=0;
sbit?StairOverweightSem?=?P3^1;
//uchar?
//uchar
//uchar
int?main(void)
{
UART_init(); //初始化串口,設(shè)置波特率為1200
Time0_init(); //定時(shí)器0初始化,方式1,10ms中斷一次,用于任務(wù)切換和定時(shí)
/*初始化*/ ???????
StairNow =?1;
StairGoLast?=?0;
StairGoto =?0;
DirUpFg =?0;
KeyValue =?0;
// StairRun????=?1; //低電平有效
StairRunFg =?0;
OPEN_INT(); //開總中斷
while(1){ //任務(wù)開始循環(huán)執(zhí)行
switch(counter%TASK_MAX_NUM){ //每10ms切換一次
case?TASK_0:DisStairLED_go(); //-|
??? break; //??|----這兩個(gè)任務(wù)最好合在一起
case?TASK_1:DisStairSEG7_now(); //-|
?? break;
case?TASK_2:KeyScan();
break;
case?TASK_3:KeyResponses();
break;
case?TASK_4:StairStopCon();
break;
/*5月18日增加電梯超載與滿載功能*/
case?TASK_5:StairOverweightCon();
break;
/*5月18日增加電梯超載與滿載功能*/
default:break;
}
if(StairRunFg){ //不參與輪番調(diào)度的任務(wù),當(dāng)電梯運(yùn)行時(shí),輸出PWM信號
StairRunPWM();
}
}
return?0;
}
void?T0_10ms_int(void)?interrupt?1?using?3?
{
CLOSE_INT();
TH0 =?INT_CNT_16B/256;
TL0 =?INT_CNT_16B%256;
counter++;
counter_10ms++;
if(counter_10ms?==?200){ //1s
counter_10ms = 0;
counter_1s++;
}
if(StairRunFg?==?1){ //當(dāng)電梯處于運(yùn)行狀態(tài)下
if(counter_1s?==?TempCurCnt_1s+MAX_SEC_Dly?&&?counter_10ms?==?TempCurCnt_10ms){//MAX_SEC_Dly計(jì)時(shí)到
Task_4_Suspend?=?0; //任務(wù)不再掛起
RUN_TASK(TASK_4); //指定任務(wù)運(yùn)行,響應(yīng)需要延遲時(shí)間
CLOSE_INT(); //防止再次被中斷,拖延任務(wù)延遲時(shí)間
return;
}
}
OPEN_INT();
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????????93??2007-04-30?22:36??time.h
?????文件?????????43??2007-05-19?11:41??流程圖.txt
?????文件???????2661??2007-05-19?02:01??說明.txt
?????文件???????1435??2007-05-13?12:05??config.h
?????文件???????3194??2007-05-22?08:19??main_stair.c
?????文件???????6988??2014-08-05?11:14??main_stair.LST
?????文件???????8649??2014-08-05?11:14??main_stair.OBJ
?????文件???????1412??2013-07-16?17:31??RS232.C
?????文件????????526??2007-05-05?17:45??RS232.h
?????文件???????2845??2014-08-05?11:14??RS232.LST
?????文件???????5718??2014-08-05?11:14??RS232.OBJ
?????文件????????623??2013-07-16?17:31??SentToRS232.C
?????文件???????1712??2007-05-02?21:30??SentToRS232.LST
?????文件???????2046??2007-05-02?21:30??SentToRS232.OBJ
?????文件??????39157??2014-08-05?11:14??stair
?????文件????????544??2014-08-05?11:18??stair.plg
?????文件???????2108??2014-08-05?11:14??stair.Uv2
?????文件???????7471??2014-08-05?11:14??stair.hex
?????文件????????104??2014-08-05?11:14??stair.lnp
?????文件??????28020??2014-08-05?11:14??stair.M51
?????文件???????2269??2014-08-05?11:18??stair.Opt
????.......??????2050??2014-08-05?11:14??stair_Opt.Bak
????.......??????2152??2013-07-16?17:28??stair_Uv2.Bak
?????文件???????5115??2002-04-16?14:32??STARTUP.A51
?????文件??????11665??2014-08-05?11:14??STARTUP.LST
?????文件????????749??2014-08-05?11:14??STARTUP.OBJ
?????文件??????18173??2007-05-22?08:17??task.c
?????文件???????3159??2007-05-20?17:20??task.h
?????文件??????39043??2014-08-05?11:14??task.LST
?????文件??????22173??2014-08-05?11:14??task.OBJ
............此處省略7個(gè)文件信息
評論
共有 條評論