1學(xué)習(xí)P口的使用方法
2掌握如何利用單片機(jī)控制LED動(dòng)態(tài)顯示
3掌握動(dòng)態(tài)掃描顯示的基本原理,動(dòng)態(tài)顯示的控制電路及控制程序
4掌握微機(jī)控制系統(tǒng)的鍵盤組成及工作原理
5認(rèn)識(shí)微機(jī)控制系統(tǒng)的鍵盤設(shè)計(jì),了解單片機(jī)鍵盤的特點(diǎn)和應(yīng)用
三.設(shè)計(jì)要求
設(shè)計(jì)一個(gè)自動(dòng)電梯模擬升降控制系統(tǒng),通過乘客的自行按鍵達(dá)到電梯的升降功能。結(jié)合硬件與軟件對(duì)應(yīng)。端口P0.0-0.6用來控制LED燈的亮與滅,其中從低位到高位分別為一層燈,二層燈,三層燈(前述三個(gè)信號(hào)為電梯內(nèi)請求信號(hào),乘客在電梯內(nèi)部方可置為有效),一層上燈,二層上燈,二層下燈,三層下燈(上述四個(gè)信號(hào)為電梯外部信號(hào),乘客在電梯外部方可置為有效)P2口與鍵盤對(duì)應(yīng)連接,數(shù)碼管采用串行輸入方式,鍵盤從低位到高位分別為一層按鍵,二層按鍵,三層按鍵,一層上升按鍵,二層上升按鍵,二層下降按鍵,三層下降按鍵.P1.0與數(shù)碼管的時(shí)鐘輸入端相連,P1.1與數(shù)碼管的串行口相連,用來顯示電梯的上升下降和當(dāng)前所在樓層,電梯門是否開啟三種狀態(tài),p表示上升,d表示下降,1,2,3表示當(dāng)前樓層,如果數(shù)碼管閃爍,表示電梯門開啟,反之則關(guān)斷。
四.控制系統(tǒng)的總體設(shè)計(jì)方案
微型計(jì)算機(jī)的出現(xiàn)使計(jì)算機(jī)在邏輯處理和工業(yè)控制等方面的非凡能力得到了更好的體現(xiàn)。尤其是其非凡的嵌入能力對(duì)于滿足嵌入式應(yīng)用需求具有獨(dú)特的優(yōu)勢。
隨著城市建設(shè)的不斷發(fā)展,樓群建筑不斷增多,電梯在當(dāng)今社會(huì)的生活中有著廣泛的應(yīng)用。電梯作為樓群建筑中垂直運(yùn)行的交通工具已與人們的日常生活密不可分。 實(shí)際上電梯是根據(jù)外部呼叫信號(hào)(呼梯信號(hào))以及自身控制規(guī)律等運(yùn)行的,而呼叫是隨機(jī)的,電梯實(shí)際上是一個(gè)人機(jī)交互式的控制系統(tǒng),單純用順序控制或邏輯控制 是不能滿足控制要求的,因此,大部分電梯控制系統(tǒng)都采用隨機(jī)邏輯方式控制。
在目前廣泛使用的電梯控制系統(tǒng)中,絕大多數(shù)為繼電器控制型,所有的邏輯及控制關(guān)系完全由諸多繼電器互相配合來完成,該控制系統(tǒng)的缺點(diǎn)是:(1)隨著樓層的 增高,使用繼電器的數(shù)量越來越多,造價(jià)和體積也越來越大;(2)繼電器這種觸點(diǎn)式的電控元器件不宜長時(shí)間頻繁工作,因而采用在電梯系統(tǒng)當(dāng)中常發(fā)生觸電表面 燒結(jié)、控制失靈的故障。
因此我們設(shè)計(jì)一個(gè)3層自動(dòng)電梯模擬升降控制系統(tǒng),通過乘客的自行按鍵達(dá)到升降功能。采用單片機(jī)作為控制核心進(jìn)行仿真。
本次設(shè)計(jì)是應(yīng)用AT89C51芯片進(jìn)行設(shè)計(jì)制作的模擬電梯控制系統(tǒng),通過乘客的按鍵達(dá)到對(duì)電梯升降的控制,并且模擬電梯的運(yùn)行狀態(tài)。
在設(shè)計(jì)方案中,通過對(duì)各個(gè)P口的合理安排和統(tǒng)一協(xié)調(diào),通過按鍵、和LED數(shù)碼管來實(shí)現(xiàn)對(duì)設(shè)計(jì)設(shè)計(jì)方案的仿真演示。另外在實(shí)驗(yàn)程序中通過對(duì)不同按鍵鍵碼在功能上的分配,在按鍵按下之后使CPU做相應(yīng)的工作,即LED數(shù)碼管顯示與之相應(yīng)的樓層和使彩燈顯示相應(yīng)的電梯狀態(tài)。最后,結(jié)合PCB板的實(shí)際接線情況進(jìn)行編程。使實(shí)驗(yàn)順利仿真。
五.控制系統(tǒng)的硬件系統(tǒng)設(shè)計(jì)
5.1.AT89C51單片機(jī)介紹
微型計(jì)算機(jī)系統(tǒng)的硬件部分通常由五部分組成:中央處理器CPU 、數(shù)據(jù)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM、定時(shí)/計(jì)數(shù)器、I/O接口。
MCS-51單片機(jī)內(nèi)部的總體硬件結(jié)構(gòu):
1、中央處理單元CPU(8位)
2、只讀存儲(chǔ)器ROM(4KB或8KB)
用于永久性存儲(chǔ)應(yīng)用程序,掩膜ROM、EPROM、EEPROM。
3、隨機(jī)存取存取器RAM(128B 或256B)
用于程序運(yùn)行中存儲(chǔ)工作變量和數(shù)據(jù)。
4、并行輸入/輸出口 I / O(32線)
4個(gè)8位并行I/O口P0、P1、P2、P3口用作系統(tǒng)總線、擴(kuò)展外存、I / O接口芯片。
5、串行輸入/輸出口 UART (二線)
1個(gè)全雙工的異步串行口;用于串行通信。
6、定時(shí)/計(jì)數(shù)器 T(16位增量可編程)
2 個(gè)或三個(gè)16位定時(shí)器/計(jì)數(shù)器;它與CPU之間各自獨(dú)立工作,當(dāng)它計(jì)數(shù)滿時(shí)向CPU中斷。
7、時(shí)鐘電路 fosc
振蕩頻率fosc在1.2~12Mhz; 分為內(nèi)部振蕩器、外接振蕩電路。
8、中斷系統(tǒng)
5源中斷、 2個(gè)中斷優(yōu)先級(jí); ,可編程進(jìn)行控制。
5.2.硬件系統(tǒng)原理框圖
系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試,而且兩者是密不可分的。我們設(shè)計(jì)好的硬件電路和軟件程序,只有經(jīng)過聯(lián)合調(diào)試,才能驗(yàn)證其正確性;軟硬件的是否達(dá)到設(shè)計(jì)任務(wù)的要求,也只有經(jīng)過調(diào)試,才能發(fā)現(xiàn)問題并加以解決、完善,最終實(shí)現(xiàn)設(shè)計(jì)目的。
硬件調(diào)試僅這里作比較簡單的介紹,不必費(fèi)太多的心思。
軟件調(diào)試一般包括分塊調(diào)試和聯(lián)機(jī)調(diào)試兩個(gè)階段。程序的分塊調(diào)試一般在單片機(jī)開發(fā)裝置上進(jìn)行,可根據(jù)所調(diào)程序功能塊的入口參量初值編制一個(gè)特殊的程序段,并連同被調(diào)程序功能塊一起在開發(fā)裝置上運(yùn)行;也可配合對(duì)應(yīng)硬件電路單獨(dú)運(yùn)行某程序功能塊,然后檢查是否正確,如果執(zhí)行結(jié)果與預(yù)想的不一致,可以通過單步運(yùn)行或設(shè)置斷點(diǎn)的方法,查出原因并加以改正,直到運(yùn)行結(jié)果正確為止。這時(shí)該 程序功能塊已調(diào)試完畢,可去掉附加程序段。其它程序功能塊可按此法進(jìn)行調(diào)試。程序聯(lián)機(jī)調(diào)試就是將已調(diào)試好的各程序功能塊按總體結(jié)構(gòu)聯(lián)成一個(gè)完整程序,在所研制的硬件電路上運(yùn)行。從而試驗(yàn)程序整體運(yùn)行的完整性、正確性和與硬件電路的配合情況。軟件調(diào)試主要在電腦上進(jìn)行仿真模擬。先全部編譯文件,觀察是否有錯(cuò)誤和警告,在確定沒有錯(cuò)誤和警告的情況下,點(diǎn)擊DEBUG。進(jìn)去仿真階段。本次的實(shí)驗(yàn)難度系數(shù)其實(shí)并不大,關(guān)鍵是要看各部分負(fù)責(zé)的同學(xué)的協(xié)助與互動(dòng),當(dāng)然這也與老師的細(xì)心教導(dǎo)是分不開的。
除此之外,對(duì)系統(tǒng)軟件的熟悉和對(duì)程序編寫的熟練程度也很大意義上起到了加快實(shí)驗(yàn)速度,減少差錯(cuò),減輕工作量的作用。
對(duì)于這些過程與步驟的熟悉與了解能很好的幫助我們解決在實(shí)際應(yīng)用當(dāng)中碰到的諸多問題,比如說在程序當(dāng)中設(shè)計(jì)到延時(shí),但是具體延時(shí)的時(shí)間,我們要從幾個(gè)方面考慮,最后調(diào)試了很多次,試驗(yàn)了很多次的時(shí)間參數(shù),最后才找到了一個(gè)比較合適的延時(shí)參數(shù)。除了認(rèn)為的設(shè)定他的數(shù)值以外,我們還要熟悉和掌握芯片的自身功能,也就是它的運(yùn)算速度。只要知道了運(yùn)算速度,那么大致上的時(shí)間就可以根據(jù)計(jì)算認(rèn)為得到。
還有在關(guān)于程序先后運(yùn)行順序的設(shè)置上也很有講究。如果安排不好程序執(zhí)行的步驟,將會(huì)造成電梯門沒關(guān)便開始上升下降或者LED動(dòng)態(tài)顯示暫時(shí)熄滅不顯示等由于程序執(zhí)行順序所導(dǎo)致的問題。所以,合理的安排步驟,并且配合這塊芯片本身的功能,可以發(fā)揮出事半功倍的效果。
但是在調(diào)試過程中還是出現(xiàn)了一些問題比如延時(shí)程序設(shè)定時(shí)間太短,數(shù)組定義錯(cuò)誤,引腳對(duì)應(yīng)錯(cuò)誤等等
我認(rèn)為對(duì)于我們這些初學(xué)者來說,出現(xiàn)這種錯(cuò)誤也是在情理之中的,關(guān)鍵的問題是如何解決這些問題,我們通過同組同學(xué)的討論和向外組同學(xué)和老師的請教,經(jīng)過了一次一次的調(diào)試,修改,歷經(jīng)整整2天的時(shí)間完成了程序,我們組員表示在這次的設(shè)計(jì)當(dāng)中學(xué)到了很多,下次我們會(huì)珍惜這機(jī)會(huì)的。
八.實(shí)驗(yàn)小結(jié)
一周的課程設(shè)計(jì)馬上就要結(jié)束了,對(duì)于這周的課程設(shè)計(jì)大體也有了不少自己的學(xué)習(xí)經(jīng)驗(yàn)和對(duì)于這課程設(shè)計(jì)的心得,我們這小組做的是電梯升降序控制器,以下便是我的對(duì)其簡單的小結(jié):
1.由于我們小組在之前有了明確的分工所以整體來說我們小組進(jìn)程還是比較順利的,在編程序方面在以xx同學(xué)為主力在第一天我們將其大致完成了,在電路圖方面我們小組由xx利用了Poteus軟件制作,雖然在之前我們并沒有學(xué)過這個(gè)軟件的使用方法,但經(jīng)過一天的自我學(xué)習(xí),我們最終還是按要求完成了制圖。
2.第二天由于程序的基本成型,并在電路板上進(jìn)行了實(shí)踐的操作,流程圖這一塊便有我來制作了,由于我們的程序比較大應(yīng)用的模塊比較多說以,制作流程圖還是花了我不少的時(shí)間。
3.第三天我們將寫好的程序燒進(jìn)了單片機(jī),并給老師看過之后,老師指導(dǎo)我們修改了部分細(xì)節(jié)后,我們便開始制作最后的收尾工作,xx同學(xué)將最后的圖紙完善,xxx,xxx同學(xué)進(jìn)行最后的實(shí)驗(yàn)排版,我對(duì)流程圖按照修改后的程序進(jìn)行了最后的修正。
4.當(dāng)然在最終的結(jié)果中還是存在些不足,但總的來說,我們這次收獲了更多。在與同學(xué)和老師的交流中,我們再次系統(tǒng)的復(fù)習(xí)了專業(yè)知識(shí),對(duì)專業(yè)知識(shí)掌握和運(yùn)用更加熟練。此次課程設(shè)計(jì),我們收獲的不只是將其完成,更多的是再次把知識(shí)學(xué)習(xí)鞏固了一遍。在這次設(shè)計(jì)的學(xué)習(xí)中,我們得到了不少啟示,相信在以后的學(xué)習(xí)生活上也會(huì)給予我們很多的幫助。
九.心得體會(huì)
大三的第二學(xué)期末的第一門課程設(shè)計(jì)馬上就要結(jié)束了,整體來說這周時(shí)間并不十分緊張,我們有了充分的時(shí)間去學(xué)習(xí)課程設(shè)計(jì)所需要的其他軟件的應(yīng)用,總體來說我們還是收獲頗豐,我做的是單片機(jī)的流程圖,平時(shí)一般的流程圖都是老師給了參考的流程,而且在制作報(bào)告的時(shí)候還是手寫的,現(xiàn)在這一切都是自己操作,第一天剛開始的時(shí)候有點(diǎn)手足無措的感覺,突然發(fā)現(xiàn)原來實(shí)際與想法還是會(huì)有一定的差距的,比如有一次流程圖的橫向很寬,一頁紙完全放不下,但是相對(duì)長度卻綽綽有余,但將頁面橫置卻花了很長時(shí)間。這次課程設(shè)計(jì)從選題到定稿,從理論到實(shí)踐,在接近一個(gè)星期的日子里,可以說是苦多于甜,但是學(xué)到了很多很多的東西,同時(shí)不僅可以鞏固以前所學(xué)過的知識(shí),而且還學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)踐相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論。在設(shè)計(jì)的過程中遇到問題,可以說是困難重重,這畢竟是第一次做的,難免會(huì)遇到各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對(duì)單片機(jī)匯編語言掌握得不好等等。通過這次課程設(shè)計(jì)之后,也把之前所學(xué)過的知識(shí)重新溫故了。
總的來說這次的課程設(shè)計(jì)還算滿成功的,收獲也很豐富的,因此在最后我要感謝跟我同組的同學(xué),是大家的努力換來的今天的結(jié)果,同時(shí)也要感謝老師對(duì)我們的指導(dǎo)。
單片機(jī)源程序如下:
基于c51單片機(jī)的三層電梯控制.doc
(50.13 KB, 下載次數(shù): 89)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |