1100067-基于stm32的智能双电梯控制系统proteus(原理图、仿真图、源代码)
功能描述:
四个功能:
功能1:电梯一故障,电梯二运行,所有楼层均会停靠。
功能2:电梯二故障,电梯一运行,所有楼层均会停靠。
功能3:紧急停止,所有电梯停止工作。
功能4:双电梯交替运行,模拟双电梯运行的工作。
注意事项:最下面四个按键需要长按下,点击红色的按钮保持按下状态。
仿真软件版本:proteus 8.11
有哪些资料:
1、仿真工程文件
2、原理图工程-AD版本
3、源代码工程文件-keil5
4、功能录屏
#define led0 PAout(0)
#define led1 PAout(1)
#define led2 PAout(2)
#define led3 PAout(3)
#define led4 PAout(4)
#define led5 PAout(5)
#define led6 PAout(6)
#define led7 PAout(7)
#define led8 PAout(8)
#define led9 PAout(9)
//#define led10 PAout(10)
//#define led11 PAout(11)
//#define led12 PAout(12)
//#define led13 PAout(13)
//#define led14 PAout(14)
//#define led15 PAout(15)
//key for up or down step
#define key_1F_UP PCin(7)
#define key_2F_UP PCin(9)
#define key_2F_DOWN PCin(8)
#define key_3F_UP PCin(11)
#define key_3F_DOWN PCin(10)
#define key_4F_DOWN PCin(12)
//KEY control the system for brake and normal
#define key_motor1_brake PAin(13)
#define key_motor2_brake PAin(14)
#define key_stop PAin(15)
#define key_nomal PAin(12)
//#define led12 PAout(12)
//#define led3 PCout(7)
//#define led14 PAout(1)
//=============================================================================
//文件名称:GPIO_Configuration
//功能概要:GPIO初始化
//参数说明:无
//函数返回:无
//=============================================================================
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC , ENABLE);
//=============================================================================
//LED -> PC13
//=============================================================================
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_SetBits(GPIOC, GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12);
}