加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于51單片機的多層電梯(1-16層)運行系統(tǒng)仿真設計_層數(shù)可改

08/22 13:50
1625
服務支持:
技術交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領取優(yōu)惠和紅包等。

虛擬商品不可退

當前內(nèi)容為數(shù)字版權作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關方案
  • 方案介紹
    • 基于51單片機的多層電梯(1-16層)運行系統(tǒng)仿真設計_層數(shù)可改
  • 相關文件
  • 推薦器件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機的多層電梯(1-16層)運行系統(tǒng)仿真設計_層數(shù)可改

仿真圖proteus 8.9

程序編譯器:keil 4/5

編程語言:C語言

設計編號:S0027

視頻演示


基于51單片機的多層電梯(1-16層)運行系統(tǒng)仿真設計演示視頻

主要功能:

結合實際情況,基于51單片機設計一個多層電梯單片機控制系統(tǒng)。該系統(tǒng)應滿足的功能要求為:

1-16層電梯運行控制,轎內(nèi)外呼叫,運行狀態(tài)顯示。獨立鍵盤、LED顯示樓層、指示燈。

1.通電后,系統(tǒng)默認電梯停在一層。

2.按下不同的按鍵電梯可以到達不同的樓層,如果電梯在上行,下面的樓層有呼叫電梯會繼續(xù)上行,直到上行完了才會下行。同樣如果電梯在下行,上面的樓層有呼叫 電梯會繼續(xù)上行 ,直到下行完了才會上行。

3.如需上行,請按下所要到達樓層的上行呼叫按鈕,電梯顯示開始上行,所經(jīng)樓層號用數(shù)碼管進行顯示,到達,樓層號持續(xù)顯示。

4.當轎廂停留在中間樓層時,可實現(xiàn)上或下行呼叫,行進方向按呼叫順序進行。

5.由LED箭頭指示電梯是上行和下行的方向。

6.硬件軟件可以兼容2-16層電梯,如果需要做8層10層電梯,可以用改設計快速修改。

主要硬件設備:51單片機、74HC595位移緩存器、數(shù)碼管顯示、按鍵、NSL-32SR3、電機。

資料下載鏈接(可點擊):

騰訊文檔】S0027 網(wǎng)盤鏈接

以下為本設計資料展示圖:

仿真

電梯停在一樓

img

按下電梯完按鈕16樓,上行指示燈電路,電梯電機開始工作。此時顯示欄會顯示經(jīng)過的樓層。

img

到達16層后,按下電梯完按鈕1樓,下行指示燈電路,電梯電機開始工作。此時顯示欄會顯示經(jīng)過的樓層。

img

程序:

img

img

//系統(tǒng)初使化
void SYSYEM_INIT(void)
{
	 u8 i;
	 ElevState.CurrentFloor=1;
	 ElevState.Direction=UP;              //初使化方向為向上
	 ElevState.FloorTimerCount=0;	        //定時器版計時清0
	 ElevState.FreeFlag=TRUE;             //初使化為空閑狀態(tài)
	 ElevState.ElevRunning=FALSE;         //運行標志置FALSE  表示暫停運行
	 Uart.RX_COUNT=0;                    //串口接收計數(shù)清0
	 for(i=0;i<=MaxFloor;i++) 
	 {
		 ElevState.FloorCallTable[i]=Null;  //初使化呼叫列表為Null
	 }
	 DOOR_Close;                          //關門
}

void EXTI0_IRQHandler(void) interrupt 0   //樓層傳感器中斷
{	 
	#if (USE_MODE==1)
	ElevState.ArriveFlag=TRUE;//觸發(fā)中斷后表示到達樓層,讓到達樓層標志置TRUE
	#endif 
}
void EXTI1_IRQHandler(void) interrupt 2    //矩陣按鍵中斷
{
   KeyDatHandle(KeyScan()); //把KeyScan()按鍵掃描函數(shù)返回的按鍵值帶入到KeyDatHandle()處理按鍵
}
void TIM0_IRQHandler(void)  interrupt 1    //定時模擬電梯上升和下降
{
	 TH0=(65536-50000)/256;//定時50ms
	 TL0=(65536-50000)%256;//定時50ms
	
	 TimerCount++;
	 if(TimerCount==20)  //1秒
	 {
		 TimerCount=0;
		 Timer_Second++;
	 }	
	 if(DelNullCheck()==FALSE) ElevState.FloorTimerCount++; //非空閑狀態(tài)計時累加
	 else ElevState.FloorTimerCount=0;  //空閑狀態(tài)計時清0
}

void Uart_IRQHandler(void) interrupt 4  //用于電梯之間的通信
{	  	
  if(RI==1)	//判斷是否為接收中斷(串口中斷分為發(fā)送中斷和接收中斷,均用同一個中斷服務函數(shù)入口)
	{
		RI = 0;	//清除RI接收中斷標志 
		Uart.RX_BUFF[Uart.RX_COUNT++]=SBUF;
		if(Uart.RX_COUNT==Uart_RX_LEN) Uart.RX_COUNT=0;
	}	
}

void main(void)  //主函數(shù)
{
	u8 SendTick1S=0;
	SYSYEM_INIT();
	EXTI0_Init();
	EXTI1_Init();
	TIMER0_Init();
	UART_Config(9600);
	Uart_SendStr("Welcome to use elevator program rn");
	while(1)
	{	 
		 KeyPort_Y=0x00;   //不可刪除
		 FloorCallCheck(); 
		 Elevator();   
		if(SendTick1S!=Timer_Second)
		{
			SendTick1S=Timer_Second;
			Uart_SendBytes((u8*)(&ElevState),sizeof(ElevState));		
		}
	}
}

資料清單(提供資料清單所有文件):

資料清單

資料下載鏈接見文章開頭

  • 設計資料獲取聯(lián)系方式.doc

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
MOC3043M 1 Fairchild Semiconductor Corporation Triac Output Optocoupler With Zero CRSVR, 1-Element, 7500V Isolation, DIP-6
$1.02 查看
AT28C010E-12JU-T 1 Microchip Technology Inc 120NS, PLCC, IND TEMP, GREEN
$43.25 查看
SN65HVD233D 1 Texas Instruments 3.3 V CAN Transceiver with Standby Mode, Loopback 8-SOIC -40 to 125

ECAD模型

下載ECAD模型
$3.93 查看

相關推薦

電子產(chǎn)業(yè)圖譜