资源简介
本程序是为了实现电梯的自动控制。该控制系统具有以下功能:
1。一般的电梯自动功能,即一般模式
2。具有特别用途的管理模式,如维护,紧急事故,报警
在该模式下,该系统能提供几管理员,能直达指定楼层而不响应其他指令,
并且通过串口能记录和发送哪位管理的哪些操作。如"Admtor 5 from 1 to 8"表示
序号为5的管理员这时从1楼直达8楼。当退出该模式时,能恢复一般模式的指令。而且
为了便于管理和提高保密性,每个管理都有不同的密码。使该系统能适用特别场合,
如酒店,社区(花园),商场等商业性场合。
3。为了提高人们的人身安全,该控制系统能提供报警功能。
当受害者按下报警减时,该控制系统能使电梯运行到指定的楼层(如低层,顶层),
从而能捉住施害者。同时该系统也能通过串口发送报警信息,如"Admtor 0 from 6 to 8(顶层)"
表示6楼有人按下报警键,电梯会在8楼停住,其中"Admtor 0"表示报警信息,因为该系统是没有
序号为0的管理员的。
4。同时,该系统的显示部分(LED和SEG7)采用动态显示,节省电量和资源。
代码片段和文件信息
/*************************电梯的自动控制系统******************************************
**************************************************************************************
本程序是为了实现电梯的自动控制。该控制系统具有以下功能:
1。一般的电梯自动功能,即一般模式
2。具有特别用途的管理模式,如维护,紧急事故,报警
在该模式下,该系统能提供几管理员,能直达指定楼层而不响应其他指令,
并且通过串口能记录和发送哪位管理的哪些操作。如“Admtor 5 from 1 to 8“表示
序号为5的管理员这时从1楼直达8楼。当退出该模式时,能恢复一般模式的指令。而且
为了便于管理和提高保密性,每个管理都有不同的密码。使该系统能适用特别场合,
如酒店,社区(花园),商场等商业性场合。
3。为了提高人们的人身安全,该控制系统能提供报警功能。
当受害者按下报警减时,该控制系统能使电梯运行到指定的楼层(如低层,顶层),
从而能捉住施害者。同时该系统也能通过串口发送报警信息,如“Admtor 0 from 6 to 8(顶层)“
表示6楼有人按下报警键,电梯会在8楼停住,其中“Admtor 0“表示报警信息,因为该系统是没有
序号为0的管理员的。
4。同时,该系统的显示部分(LED和SEG7)采用动态显示节省电量和资源。
***************************************************************************************
时间:2007.5.4
作者:aking(bbs:gamew)
邮箱:s_yjwu@stu.edu.cn
*************************************************************
修改时间:5月18日增加电梯超载与满载功能控制任务
***********************************************************/
#include“config.h“
//sbit StairRun = P3^5;//声明变量
/*全局变量*/
uchar counter=0; //为切换计数器
uchar counter_10ms=0;
uchar counter_1s=0;
sbit StairOverweightSem = P3^1;
//uchar
//uchar
//uchar
int main(void)
{
UART_init(); //初始化串口,设置波特率为1200
Time0_init(); //定时器0初始化,方式1,10ms中断一次,用于任务切换和定时
/*初始化*/
StairNow = 1;
StairGoLast = 0;
StairGoto = 0;
DirUpFg = 0;
KeyValue = 0;
// StairRun = 1; //低电平有效
StairRunFg = 0;
OPEN_INT(); //开总中断
while(1){ //任务开始循环执行
switch(counter%TASK_MAX_NUM){ //每10ms切换一次
case TASK_0:DisStairLED_go(); //-|
break; // |----这两个任务最好合在一起
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){ //不参与轮番调度的任务,当电梯运行时,输出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){ //当电梯处于运行状态下
if(counter_1s == TempCurCnt_1s+MAX_SEC_Dly && counter_10ms == TempCurCnt_10ms){//MAX_SEC_Dly计时到
Task_4_Suspend = 0; //任务不再挂起
RUN_TASK(TASK_4); //指定任务运行,响应需要延迟时间
CLOSE_INT(); //防止再次被中断,拖延任务延迟时间
return;
}
}
OPEN_INT();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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个文件信息
相关资源
- 超声波测距仪1602显示.zip
- 基于51单片机水量检测c代码+proteus仿真
- 51单片机密码锁PROTEUS仿真
- 嵌入式设计报告——多功能报警灯
- 基于51单片机的电子密码锁设计
- 基于51单片机的心率脉搏计源码+电路
- 基于51单片机的温度警报器的设计
- 单总线温度采集与显示
- 基于C51单片机计时器
- 51单片机控制的GSM报警程序
- MQ-2烟雾传感器51单片机代码
- 基于51单片机12864显示的指纹锁
- 027 简易电子秤 LCD1602显示 超重报警
- 基于PIC单片机的多功能万年历
- 基于51单片机的1602万年历设计_温度
- 51单片机温度报警器设计程序及prote
- 51单片机 啤酒生产线计数器
- 基于51和hx711的电子秤
- 51单片机和1602显示18b20温度报警系统
- 梯控分析客户端解压密码012345.rar
- 51单片机 CH452驱动数码管,按键,按键
- 51单片机多任务的切换和堆栈的保护
- 基于51单片机的的电子密码锁设计.r
- 51单片机实现温度检测数码管显示,控
- 51单片机蜂鸣器音乐盒程序代码
- 基于51开发板的温度报警闹钟按键控制
- 51单片机8位抢答器源程序
- 基于51单片机指纹解锁设计程序
- 基于51单片机的智能小车循迹寻迹避障
- 51单片机例程1602显示秒表
评论
共有 条评论