仿真圖proteus 7.8
程序編譯器:keil 4/keil 5
編程語言:C語言
設(shè)計(jì)編號:C0072
主要功能:
結(jié)合實(shí)際情況,基于51單片機(jī)設(shè)計(jì)一個四層電梯單片機(jī)控制系統(tǒng)。該系統(tǒng)應(yīng)滿足的功能要求為:
4層電梯運(yùn)行控制,轎內(nèi)外呼叫,運(yùn)行狀態(tài)顯示。獨(dú)立鍵盤、LED顯示樓層、指示燈。
1.通電后,系統(tǒng)默認(rèn)電梯停在一層。
2.按下不同的按鍵電梯可以到達(dá)不同的樓層,如果電梯在上行,下面的樓層有呼叫電梯會繼續(xù)上行,直到上行完了才會下行。同樣如果電梯在下行,上面的樓層有呼叫 電梯會繼續(xù)上行 ,直到下行完了才會上行。
3.如需上行,請按下所要到達(dá)樓層的上行呼叫按鈕,電梯顯示開始上行,所經(jīng)樓層號用數(shù)碼管進(jìn)行顯示,到達(dá),樓層號持續(xù)顯示,并有蜂鳴器鳴叫以示到達(dá)。
4.當(dāng)轎廂停留在中間樓層時,可實(shí)現(xiàn)上或下行呼叫,行進(jìn)方向按呼叫順序進(jìn)行,如同時呼叫,則堅(jiān)持先上行,后下行原則。
5.由LED箭頭指示電梯是上行和下行的方向。
6.如上下行同時呼叫,則按先上后下原則實(shí)現(xiàn) 。
7.電梯具有報(bào)警功能。
仿真說明
開始仿真,初始化電梯停在1樓。
按下電梯完按鈕四樓,上行指示燈電路,電梯點(diǎn)擊開始工作。此時顯示欄會顯示經(jīng)過的樓層。
電梯到達(dá)四樓,數(shù)碼管顯示4,蜂鳴器報(bào)警1秒,電梯點(diǎn)擊停止轉(zhuǎn)動,電梯運(yùn)行指示燈熄滅。
電梯內(nèi)按下報(bào)警按鈕,樓層顯示顯示E,蜂鳴器短促響。再按一次報(bào)警按鈕,系統(tǒng)功能恢復(fù)正常。
程序設(shè)計(jì)
系統(tǒng)工作流程:
(1)用程序初始化完成,電梯停在一樓。
(2)顯示模塊顯示當(dāng)前樓層,主程序不斷地執(zhí)行鍵盤掃描程序,當(dāng)有鍵盤輸入時,主程序讀取按鍵值。
(3)讀取到按鍵之后,主程序調(diào)用顯示子程序,通過顯示上下和當(dāng)前樓層信息和LED輸出當(dāng)前按下鍵的信息以及開關(guān)門的信息向操作人員傳遞信息。
(4)通過判斷當(dāng)前電梯所在樓層和電梯內(nèi)人員操作,完成電梯運(yùn)作。停在最終樓層等待按鍵輸入。
關(guān)鍵代碼:
void main()
{
P0=Tab[Now];//開機(jī)電梯在1樓
while(1)
{
P0=Tab[Now]; //顯示當(dāng)前樓層
if(Now==4)//電梯在4樓處理方法
{
Fourth_Process();
}
if(Now==3) //電梯在3樓處理方法
{
Third_Process();
}
if(Now==2) //電梯在2樓處理方法
{
Second_Process();
}
if(Now==1) //電梯在1樓處理方法
{
First_Process();
}
}
}
原理圖
單片機(jī)最小系統(tǒng)電路
單片機(jī)最小系統(tǒng)包括復(fù)位電路和時鐘電路。具體電路如圖3-1所示。
復(fù)位電路雖然簡單,但其作用非常重要。一個單片機(jī)系統(tǒng)能否正常運(yùn)行,首先要檢查是否能復(fù)位成功。初步檢查可用于示波器探頭監(jiān)視RST引腳,按下復(fù)位鍵,觀察是否有足夠幅度的波形輸出(瞬時的),還可以通過改變復(fù)位電路阻容值進(jìn)行試驗(yàn)。本復(fù)位電路采用上電自動復(fù)位和手動復(fù)位組合。上電自動復(fù)位是在加電瞬間電容通過充電來實(shí)現(xiàn)的,在通電瞬間,電容C3通過R1K電阻充電,RST端出現(xiàn)正脈沖,用以復(fù)位。只要電源Vcc的上升時間不超過1ms,就可以實(shí)現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。手動復(fù)位是通過按下S111后,通過電阻RR直接給服務(wù)端一個高電平使之復(fù)位。編程初始化設(shè)置數(shù)碼管顯示為1,并且等待樓層模擬傳感器讀取數(shù)據(jù)。
單片機(jī)最小系統(tǒng)包括復(fù)位電路。具體電路如圖3所示。
復(fù)位電路雖然簡單,但其作用非常重要。一個單片機(jī)系統(tǒng)能否正常運(yùn)行,首先要檢查是否能復(fù)位成功。初步檢查可用于示波器探頭監(jiān)視RST引腳,按下復(fù)位鍵,觀察是否有足夠幅度的波形輸出(瞬時的),還可以通過改變復(fù)位電路阻容值進(jìn)行試驗(yàn)。本復(fù)位電路采用上電自動復(fù)位和手動復(fù)位組合。上電自動復(fù)位是在加電瞬間電容通過充電來實(shí)現(xiàn)的,在通電瞬間,電容C3通過R1K電阻充電,RST端出現(xiàn)正脈沖,用以復(fù)位。只要電源Vcc的上升時間不超過1ms,就可以實(shí)現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。手動復(fù)位是通過按下S111后,通過電阻RR直接給服務(wù)端一個高電平使之復(fù)位。編程初始化設(shè)置數(shù)碼管顯示為1,并且等待樓層模擬傳感器讀取數(shù)據(jù)。
開關(guān)控制電路
實(shí)際上即為一個內(nèi)呼外叫系統(tǒng),現(xiàn)以呼叫信號的輸入為例,來說明信號輸入及單片機(jī)識別原理。如圖3所示,采用獨(dú)立按鍵外接上拉電阻的并行輸入形式,來輸入外呼叫信號,具體原理如下: 當(dāng)IO口檢測到低電平,代表按鍵按下。
PCB圖
資料清單
資料獲取方式,掃碼后面的二維碼~發(fā)送 電梯