<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機電梯控制系統軟硬件設計

51單片機電梯控制系統軟硬件設計

作者: 時(shí)間:2023-12-14 來(lái)源:張永魁vlog 收藏

的升降的方案

本文引用地址:http://dyxdggzs.com/article/202312/453883.htm

為了更有效的進(jìn)行電梯控制,現在使用最左邊的數碼管表示電梯上升和下降狀態(tài),使用另外一個(gè)一個(gè)數碼管表示電梯此時(shí)所在的樓層,使用按鍵來(lái)控制電梯上升或者下降的狀態(tài)。在每層樓之后需要進(jìn)行判斷上升或者下降。如果是在上升過(guò)程中,應先判斷是否繼續上升,然后在判斷是否下降。如果是在下降過(guò)程中,應先判斷是否繼續下降,在判斷是否上升。在上升改變?yōu)橄陆禒顟B(tài)時(shí),或者下降改變?yōu)樯仙隣顟B(tài)時(shí)。數碼管的狀態(tài)應該相應改變


總體硬件設計


2.3按鍵系統設計

運用單片機的按鍵模擬電梯的樓層按鍵系統,可以在由一樓上升到八樓過(guò)程中,按下下降按鍵則可以改變上升狀態(tài)變?yōu)橄陆禒顟B(tài)。然后在八樓到一樓的下降過(guò)程中,按下上升按鍵則可以改變下降狀態(tài)為上升狀態(tài)。在任意樓層按下上升或者下降按鍵,都可以產(chǎn)生相應的上升或者下降的狀態(tài),如下圖所示


2.4電梯所在樓層顯示系統

運用8x8點(diǎn)陣數碼管來(lái)模擬電梯的所在的樓層的顯示和升降效果,8x8點(diǎn)陣數碼管如下圖所示


2.5電梯的顯示燈和警報系統

運用延遲函數來(lái)實(shí)現到達層樓后接通P3.7接口來(lái)實(shí)現電梯的顯示燈和警報,如下圖所示


第3章 軟件系統設計

3.1設計思路及關(guān)鍵技術(shù)

一個(gè)完整的電梯控制系統相當于一個(gè)簡(jiǎn)單的單片機系統,該系統是首判斷有無(wú)按鍵按下,有按鍵按下后判斷所在按鍵的樓層然后對按鍵的所在的樓層與電梯的所在的樓層作比較,然后判斷電梯的升降問(wèn)題,然后運用延時(shí)函數來(lái)延時(shí)電梯門(mén)開(kāi)啟的時(shí)間和電梯顯示燈的時(shí)間,如果沒(méi)有按鍵按下,電梯則不動(dòng)處于原來(lái)的樓層,從而實(shí)現節省電力的效果。


3.2 軟件流程


3.3 電梯智能控制系統的設計程序說(shuō)明

這部分中定義了一些全局變量的數組和變量以及位標志,只是些定義的東西不需要畫(huà)流程圖了。這部分程序如下:

判斷按鍵有無(wú)按鍵按下:

unsigned int keyscan(void)//掃描功能:鍵盤(pán)掃描

{

if(P1 != 0xff)

{

switch(P1)

{

case 0x7f:{return(8);break;}

case 0xbf:{return(7);break;}

case 0xdf:{return(6);break;}

case 0xef:{return(5);break;}

case 0xf7:{return(4);break;}

case 0xfb:{return(3);break;}

case 0xfd:{return(2);break;}

case 0xfe:{return(1);break;}

default:return(0);

}

}

}

判斷按鍵沒(méi)按下的時(shí)候處于等待的狀態(tài):

void show(unsigned int i)//函數功能:電梯靜止,并等待鍵盤(pán)

{

uint k;

while(P1 != 0xff);

while(P1 == 0xff)

{

for(k = 0;k < 8;k++)

{

P0 = scan[k];

P2 = zm[(i * 8 + k)];

delay(1);

}

}

}

用延時(shí)函數來(lái)延長(cháng)電梯的開(kāi)門(mén)的時(shí)間:

void delay(uint t)//延時(shí)函數

{

uchar a;

while(t--)

for(a = 0;a < 122;a++);

}


第4章Proteus軟件仿真

4.1 Proteus軟件仿真

Proteus軟件用于系統的仿真,編譯軟件采用keil UV3。程序的仿真用英國的labcenter公司的Protens V7.13。其果如下:加電后的結果如圖此時(shí)電梯初始位置在0層


4.2 電梯上升到2樓的切換仿真


4.3 電梯下降到1樓的切換仿真


第五章 心得體會(huì )

經(jīng)過(guò)調試之后,使用單片機來(lái)模擬電梯的運行過(guò)程的是可行的,但是由于我選用的是方案一,模型比較簡(jiǎn)單,功能也較為單一。僅能上下升降而不可以選擇任意的樓層停止。


改進(jìn)的話(huà)就應該如同方案二一樣,設計多個(gè)按鍵就可以對不同樓層進(jìn)行操作。但是由于自身水平有限,對于該段操作流程理解的邏輯流程還是有點(diǎn)些亂,編寫(xiě)的程序也無(wú)法使用,所以在接下來(lái)的學(xué)習中,應該根據自身的對于單片機掌握的情況對單片機進(jìn)行一些有針對性的學(xué)習。因為51單片機確實(shí)比較基礎,僅有8位IO口,比較容易掌握。難的是自己的邏輯思維能力和C語(yǔ)言應用能力,能講模型轉化為程序編輯出來(lái)。在參考資料的過(guò)程中,有很多想法也設計了很多程序但是這些程序都有著(zhù)很多的缺陷僅能完成自己想做的部分功能。


還有需要改進(jìn)的地方就是編寫(xiě)的時(shí)候很多可以用宏定義定義的常數都沒(méi)有用宏定義去定義參數。


總的來(lái)說(shuō),這段時(shí)間對于程序的編寫(xiě)和對于方案的設計有一定程度的提升自身的水平。


#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit p36 = P3^6;//p36接通P3.6接口

sbit p37 = P3^7; //p37接通P3.7接口

void delay(uint t);//定義全局變量

uint terminal;

uint outset = 0;

uint flag = 0;

uint flag1 = 0;

uint flag2 = 0;


uchar code scan[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//掃描代碼

//以下為顯示"0,1,2,3,4,5,6,7,8"的8x8點(diǎn)陣代碼

uchar code zm[] = {

0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00,0x00,0x10,0x1c,0x10,0x10,0x10,0x3c,0x00,0x00,0x38,0x44,

0x40,0x20,0x10,0x7c,0x00,0x00,0x38,0x44,0x30,0x40,0x44,0x38,0x00,0x00,0x20,0x30,0x28,0x24,0x7e,

0x20,0x00,0x00,0x7c,0x04,0x3c,0x40,0x40,0x3c,0x00,0x00,0x38,0x44,0x3c,0x44,0x44,0x38,0x00,0x00,

0x7e,0x40,0x40,0x20,0x10,0x10,0x00,0x00,0x38,0x44,0x38,0x44,0x44,0x38,0x00};

//以下函數功能:提示樓層到,蜂鳴器發(fā)聲及LED閃亮

void soundandled(uint j)

{

uint i,k;

P0 = 0xff;

P2 = 0xff;

for(i = 0;i < 20;i++)

{

p36 = 0;

delay(10);

p36 = 1;

for(k = 0;k < 8;k++)

{

P0 = scan[k];

P2 = zm[j * 8 + k];

p37 = 1;

delay(5);

p37 = 0;

}

}

}

unsigned int keyscan(void)//掃描功能:鍵盤(pán)掃描

{




關(guān)鍵詞: 電梯系統 MCU

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>