新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 電梯控制系統(tǒng)的實現,附軟硬件架構圖

電梯控制系統(tǒng)的實現,附軟硬件架構圖

作者: 時間:2016-11-29 來源:網絡 收藏

#define repairMode 00

#define generalrunMode 01

#define direcltyrunMode 10

int setModeR_G(int currentMode int premode); //負責狀態(tài)之間的切換

int setModeG_R(int currentMode int premode); //mode為兩位變量,由撥碼開關在I/O口讀入

int setModeG_D(int currentMode int premode);

int setModeD_G(int currentMode int premode);

//狀態(tài)切換會返回置位bool量 modechange

int getmode() //讀取mode的當前的值,并且刷新mode和premode

Void lcd_initialize(void) //負責顯示屏的初始化

Void port_initalize(void) //負責端口的初始化

Void motor_initalize(void) //負責電機的初始化

Void lighting_initalize(void) //負責照明的初始化

Void elevatordoor_initalize(void) //負責電梯門的初始化

Void lcd_display(int temperature); //負責溫度的顯示

Void eledoor_allopen(); //電梯門在檢修模式下常開

Void eledoor(); //電梯門在其他兩個模式下的運行方式

Void motor_stop();

int motor_genrun();

int motor_dirrun(); //返回一個Int值dooropen為1,控制電梯門的開啟

//電梯在三種模式下的運行方式

Void light_display(int pressure); //電燈的開關控制

Void communicate(); //通信方法

Void repair() //檢修模式下的工作方式

{

While(modechange==0)

{

Communicate();

Eledoor_allopen();

Light_display();

Lcd_display(int temperature);

Int getmode();

If(premode==01&&mode==00)

setModeG_R();

}

}

Void generalrun() //一般運行模式下的工作方式

{

While(modechange==0)

{

Communicate();

Light_display();

Lcd_display(int temperature);

If(premode==01&&mode==00)

setModeG_R();

If(premode==01&&mode==10)

setModeG_D();

}

}

Void directlyrun() //直接運行下的工作方式

{

While(modechange==0)

{

Communicate();

Light_display();

Lcd_display(int temperature);

Int getmode();

If(premode==10&&mode==01)

setModeD_G();

}

}

Void initialize(void) //負責總體的初始化

{

currentMode=generalrunMode;

Lcd_initialize();

Port_initialize();

motor_initalize();

lighting_initalize();

elevatordoor_initalize();

}

Int main()

{

Initialize();

While(1)

{

Switch(currentMode)

{

Case repairMode;

Repair();

Break;

Case generalrunMode;

Generalrun();

Break;

Case directltyrunMode;

Directltyrun();

Break;

}

}

}


上一頁 1 2 3 下一頁

評論


技術專區(qū)

關閉