![優秀畢業設計]基于單片機的電梯控制系統_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/50fc2daf-8d5f-4069-b333-08cba04ce0b4/50fc2daf-8d5f-4069-b333-08cba04ce0b41.gif)
![優秀畢業設計]基于單片機的電梯控制系統_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/50fc2daf-8d5f-4069-b333-08cba04ce0b4/50fc2daf-8d5f-4069-b333-08cba04ce0b42.gif)
![優秀畢業設計]基于單片機的電梯控制系統_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/50fc2daf-8d5f-4069-b333-08cba04ce0b4/50fc2daf-8d5f-4069-b333-08cba04ce0b43.gif)
![優秀畢業設計]基于單片機的電梯控制系統_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/50fc2daf-8d5f-4069-b333-08cba04ce0b4/50fc2daf-8d5f-4069-b333-08cba04ce0b44.gif)
![優秀畢業設計]基于單片機的電梯控制系統_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/50fc2daf-8d5f-4069-b333-08cba04ce0b4/50fc2daf-8d5f-4069-b333-08cba04ce0b45.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章緒論1.1課題的背景簡介11 電梯的歷史與發展電梯進入人們的生活已經150年了。一個半世紀的風風雨雨,翻天覆地 的是歷史的變遷,永恒不變的是電梯提升人類生活質量的承諾。生活在繼續,科技在發展,電梯也在進步。150年來,電梯的材質由黑 白到彩色,樣式由直式到斜式,在操縱控制方而更是步步岀新手柄開關 操縱、按鈕控制、信號控制、集選控制、人機對話等等,多臺電梯述岀現了 并聯控制,智能群控;雙層轎廂電梯展示出節省井道空間,提升運輸能力的 優勢;變速式自動人行道扶梯的出現大大節省了行人的時間;不同外形 扇形、三角形、半菱形、半圓形、整圓形的觀光電梯則使身處其小的乘客的 視線不再封閉。如今,以美國奧
2、的斯公司為代表的世界各大著名電梯公司各 展風姿,仍在繼續進行電梯新品的研發,并不斷完善維修和保養服務系統。 調頻門控、智能遠程監控、主機節能、控制柜低噪音耐用,一款款集納了人 類在機械、電了、光學等領域最新科研成杲的新型電梯競相問世,冷冰冰的 建筑因此散射岀人性的光輝,人們的生活因此變得更加美好。中國最早的一部電梯出現在上海,是由美國奧的斯公司于1901年安裝 的。1932年由美國奧的斯公司安裝在天津利順德酒店的電梯至今還在安全運 傳著。1951年,黨中央捉岀要在天安門安裝一臺由我國自行制造的電梯,天 津從慶生電機廠榮接此任,四個月后不辱使命,順利地完成了任務。i一屆 三中全會后,沐浴著改革開
3、放的春風,我國電梯業進入了高速發展的時期。 在我國任何一個城市,電梯都在被廣泛應用著。電梯給人們的生活帶來了便 利,也為我國現代化建設的加速發展提供了強大的保障。電梯是高層建筑屮 安全、可靠、垂直上卜的運載工具,對改善勞動條件、減輕勞動強度起到很 大的作用。電梯的應用范圍很廣,可用于賓館、飯丿占、辦公大樓、商場、娛 樂場所、倉庫以及居民住宅大樓等。在現代社會中,電梯已成為人類必不可 少的垂直運輸交通工具。1.2課題的主要研究內容及設計步驟本課題的主要任務是完成一個電梯系統的調度模塊,即根據每個樓層不 同顧客的按鍵需求,讓電梯做出合理的判斷,止確高效地知道電梯完成各項 載客任務。根據此任務,本課
4、題需要研究的內容有:1、根據系統的技術要求,進行系統硬件的總體方案設計;2、學習單片機的相關知識,并且加以運用;3、選擇恰當的芯片,并對其內部協議有所掌握,便于應用。4、研究c語言編程,并且規定電梯的工作規則,用c語言加以實現;5、對軟件和硬件進行調試,讓其協調工作,完成指定任務。結合以上內容,本課題的設計方案步驟如下:關于硬件部分:首先,對實際的電梯系統進行模擬,一般情況卜:一個電梯應該貝備相 關按鍵、顯示二極管、數碼管等,由于這是一個調度模塊,故沒冇設計具體 的轎廂等機械部分。然后,結合這些實物,選擇恰當的芯片,并分成若干模 塊,安排好各門z間的關系。由于其有諸多按鍵和顯示環節,而單片機的
5、i/o 口管腳資源實在有限,故需要i/o 口擴展,用以管理二極管;同時要冇專門 的按鍵控制芯片,從而便于按鍵管理。在此,我分別選擇了 82c55和8279 芯片。接著,要完成電路圖的設計,畫出pcb板,焊接相關器件后進行硬件 調試,看是否好用并加以適當的更正。關于軟件部分:處于最底層的是對兩個芯片的寄存器讀寫工作,完成后方可進行更高層 的應用程序調試。為了使硬件簡單化,我選擇了模擬時序的方法讀寫寄存器, 這比總線操作的方法節省了鎖存器。然后是關于電梯調度時所遵循的原則作 出規定,其必須基于高效與人性化兩個原則。最后是使用c語言將規定程序 化,以便電梯真正的運作。當然,二者的關系并不是分離的,它
6、們是相輔相成,硬件依據軟件來驗 證,軟件依據硬件來調試。經過一個個的發現問題、一個個的解決問題,最 終做出完美的電梯調度模塊。1.3課題的開發環境簡介1.3.1 電路圖制作軟件 altium designer 7.0altium designer 7.0不斷通過為高速設計提供各種功能來提高用戶 生產力,這些功能包括交互式長度調整和pcb層片增強等功能。新増 的庫工具和各種新功能將altium designer提升成為統一的電子產品開 發解決方案。這款最新的更新程序將進一步增強您的能力,讓您能夠在 更短的“設計到制造”周期內生產更為尖端、更具創新性的電子產品。(altium designer 完
7、全取代了 protel)altium designer summer 08 新增匯入 allegro pcb(*.brd)的轉文件功 能。altium designer提供了唯 款統一的應用方案,其綜合電子產品 一體化開發所需的所有必須技術和功能。altium designer在單一設計環 境中集成板級和fpga系統設計、基于fpga和分立處理器的嵌入式軟 件開發以及pcb版圖設計、編輯和制造。并集成了現代設計數據管理功 能,使得altium designer成為電了產品開發的完整解決方案 個既滿 足當前,也滿足未來開發需求的解決方案。1.3.2 c51的程序開發軟件keil單片機開發中除必要
8、的碩件外,同樣離不開軟件,我們寫的匯編語言源 程序要變為cpu可以執行的機器碼有兩種方法,一種是手工匯編,另一種是 機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將 源程序變為機器碼,用于mcs-51單片機的匯編軟件有早期的a51,隨著單 片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發, 單片機的開發軟件也在不斷發展,keil軟件是口前最流行開發mcs-51系列 單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持keil即可看出。 keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真 調試器等在內的完整開發方案,通過一個集成開發環境(uv
9、ision)將這些部 份組合在一起。運行keil軟件需要pentium或以上的cpu, 16mb或更多 ram、20m以上空閑的碩盤空間、win98、nt、win2000、winxp等操作 系統。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要 的,如果你使用c語言編程,那么keil兒乎就是你的不二z選(目前在國內 你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用 c語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試 工具也會令你事半功倍。keilc51軟件是眾多單片機應用開發的優秀軟件之一,它集編輯,編譯, 仿真于一體,支持匯編,plm語言和c語
10、言的程序設計,界面友好,易學易 用。1.4設計功能要求本設計是為一八層電梯設計一調度系統,即使電梯能夠合理高效地運行, 完成各樓層顧客的接送任務。形彖地說,就是要應對不同樓層顧客的不同需 求,作出合理高效的判斷,使所有顧客在整體運用時間最短的條件下將其運 往各門的目的地。這個設計的成品應該可以作為真實電梯的控制系統一樣,遵守以下兩個 原則:一是高效性,二是人性化。而實際電梯所而臨的情況無比復朵,故本 設計的難點除了硬件上面外,還有對這些復朵的情況歸類化,分為若干個基 本情況,另外是用恰當的c語言描述來表達這些復雜的邏輯。1.5本文內容安排在本設計制作的過程中,我查閱閱了大量的相關資料、期刊,并
11、在導師 的指導幫助下仔細地進行了斟酌。現將論文的章節安排再次做些簡要的說明:第一章,即緒論部分,先對電梯的背景知識等做些介紹,并且對與本設 計的設計步驟與重點加以說明,簡單介紹了兩個與畢設有關的開發軟件。第二章,詳細地闡述了設計中所用到的各個模塊的碩件電路及其工作原 理。其屮包括單片機最小系統、82c55發光二極管控制模塊、8279鍵盤控制 模塊和串口下載模塊等。第三章,以碩件的物理連接作為基石,以讀寫芯片內部數據與命令寄存 器作為基礎,以電梯判決函數作為核心,本章詳細地講述了軟件系統的工作 原理,并對各個重要函數都有相關的說明。第二章系統的硬件設計2.1引言由丁電梯要運送不同樓層的客人,所以
12、要冇很多按鍵才可以讓滿足不同 樓層顧客的需求。而口,電梯還要有人性化的顯示,如哪個按鈕按下了,就 把它對應樓層按鈕的二極管點亮,還要有一個數碼管實時顯示電梯所在層數, 用發光二極管組成的上下箭頭來表示電梯當前的運行方向等等。而這些零碎 的原件,乂需要高效的芯片來控制,它們相互之間的物理連接問題這些就是 本章所要敘述的硬件設計部分。2硬件芯片的選擇合理的硬件設計是一個設計成功的基石,所以在設計之初,我便把自己 的主要任務集中于籌劃硬件的搭建工作,當然其中需要兼顧軟件設計的需求。由于本設計所模擬的樓層共有八層,其中所需要控制的器件較多,如每 層都需有兩個上下的指示燈,電梯轎廂內也需有去幾層的指示燈
13、等,而現有 單片機的管腳資源無法滿足需求,故第一步需要想法擴展單片機的i/o 口管 腳資源。在此,我選擇了擴展i/o 口最典型的芯片82c55o其可把一組八位 i/o管腳擴展為pa、pb、pc三組管腳,并通過寄存器對各組管腳進行配置, 從而滿足了木次設計的要求。考慮到電梯會有多個按鍵,而傳統的依據單片機自身的i/o 口布局鍵盤 的方法顯然也是不可行的,故木設計選擇了典型的管理鍵盤的芯片82c79, 其重要意義不僅在于減輕了單片機i/o 口的開支負擔,而且可以代替單片機 完成各個按鍵的鍵值編寫工作,單片機只要從其fifo寄存器中直接讀取鍵 值即可得知哪個按鍵被按下,進而進行相應的操作。另外,電路
14、板上還有一些擴展的了電路模塊,例如max232串口下載模 塊,u 口供電模塊等等,當然這些都是方便程序的下載與調試的。并考慮到 電路板的面積與價格問題,一些芯片與二極管、電阻等用的是貼片封裝。2.2硬件電路2.2.1單片機最小系統模塊單片機是指一個集成在一塊芯片上的完整計算機系統。盡管他的大部分 功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件: cpu、內存、內部和外部總線系統,目前大部分述會具冇外存。同時集成諸 如通訊接口、定時器,實時時鐘等外圍設備。而現在最強大的單片機系統甚 至可以將聲音、圖像、網絡、復雜的輸入輸岀系統集成在一塊芯片上。單片機最小系統,或者稱為最小應用
15、系統,是指用最少的元件組成的單片 機可以工作的系統。在本設計中,最小系統應該包括:單片機、晶振電路、復位電路等。如 圖2.1所示,品振電路由c1與c2和晶振組成,品振是給單片機捉供工作信 號脈沖的。它的速率就是單片機的工作速率,簡單地說,沒有晶振,就沒有 時鐘周期,沒有時鐘周期,就無法執行程序代碼,單片機就無法工作。并在 品振的兩引腳處接入兩個10pf-50pf的瓷片電容接地用來削減偕波對電路的 穩定性的影響。復位電路采取的為手動按鍵復位電路,由電容c13,電阻r11、 r12和開關reset組成,當單片機的復位引腳reset出現2個機器周期以 上的高電平時,單片機就執行復位操作。如果rst持
16、續為高電平,單片機就 處于循環復位狀態。每次復位后,單片機的程序都會從第一條開始從新執行。 另外,還額外設計了濾波防干擾電路,由c13與r12組成,電源先經過它們 再接入單片機的vcc,可以冇效的減少其屮的朵波帶來的干擾。2.2.2可編程i/o擴展芯片82c55模塊8255是intel公司生產的可編程并行i/o接口芯片,冇3個8位并行i/o 口。具冇3個通道3種工作方式的可編程并行接口芯片(40引腳)。其各口功 能可由軟件選擇,使用靈活,通用性強。8255可作為單片機與多種外設連接 時的中間接口電路。其芯片引腳圖如圖2.2所示。p3vcc8051vcc2 345678910k8255cs827
17、9cs.39 poo=38p0137p02勺3.6 一 p0335p04j34p0533p0632p0712 3 4 5 6 72 2 2 2 2 2 2 p p p p p p p<240 vsl <23_j2627rxdvu-txd30ale2etpa4pa;pacpa7一wrresidodbmuddgvccpbypbcpb.pbipbj0 12 3 o o o o p p p p0 12 3 n 1a u 11 p p p p4 5 6 711 11 11 11 p p p p迪1心downp1 1 2ei2_3c;up p134p】4 5aeu6p167.pit,intip
18、20intop21p22t1p23top24p25ea/vpp26p27xix2resetrxdtxdrdale/pwrpsen圖2. 1早片機最小系統如39383736353433艾引如2928272625242322215a5s2圖2.2 82c55引腳分布inti 13into 12csgndc pcd7do(data bus):三態、雙向數據線,與cpu數據總線連接,用來傳送 數據。03(chip select):片選信號線,低電平有效時,芯片被選屮。a, ao(port address):地址線,用來選擇內部端口。r5 (read):讀出信號線,低電平有效時,允許數據讀岀。阪(wri
19、te):寫入信號線,低電平有效時,允許數據寫入。reset(rcsct):復位信號線,高電平有效時,將所有內部寄存器(包括控 制寄存器)清0。pa?pa0(porta): a口輸入/輸出信號線。pb?pbo(portb): b口輸入/輸出信號線。pc?pco(portc): c口輸入/輸出信號線。vcc: +5v電源。gnd:電源地線。8255作為主機與外設的連接芯片,必須提供與主機相連的3個總線接口, 即數據線、地址線、控制線接口。同時必須具有與外設連接的接口 a、b、c 口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內部結構分為 3個部分:與cpu連接部分、與外設連接部分、
20、控制部分。1、與cpu連接部分根據定義,8255能并行傳送8位數據,所以其數據線為8根dod7。 由于8255具有3個通道a、b、c,所以只耍兩根地址線就能尋址a、b、c 口及控制寄存器,故地址線為兩根aoai。此外cpu要對8255進行讀、寫 與片選操作,所以控制線為片選、復位、讀、寫信號。各信號的引腳編號如 下:(1) 數據總線db:編號為dod?,用于8255與cpu傳送8位數據。(2) 地址總線ab:編號為aoai,用于選擇a、b、c 口與控制寄存器。(3) 控制總線cb:片選信號丙、復位信號rst、寫信號阪、讀信號證。 當cpu要對8255進行讀、寫操作時,必須先向8255發片選信號
21、西選中8255 芯片,然后發讀信號而或寫信號阪對8255進行讀或寫數據的操作。2、與外設接口部分根據定義,8255有3個通道a、b、c與外設連接,每個通道又有8根 線與外設連接,所以8255可以用24根線與外設連接,若進行開關量控制, 則8255可同時控制24路開關。各通道的引腳編號如f:(1) a 口:編號為pa。pa?,用于8255向外設輸入輸出8位并行數據。(2) b 口:編號為pb。pb?,用于8255向外設輸入輸岀8位并行數據。(3) c 1-1:編號為pc。pc?,用于8255向外設輸入輸出8位并行數據, 當8255工作于應答i/o方式時,c 口用于應答信號的通信。3、控制器825
22、5將3個通道分為兩組,即pa。pa?與pc4pc7組成a組,pb。 pb?與pc。pc?組成b組。如圖7.5所示,相應的控制器也分為a組控制器 與b組控制器,齊組控制器的作用如門(1) a組控制器:控制a 口與上c 口的輸入與輸出。(2) b組控制器:控制b 口與下c 口的輸入與輸出。在本設計小,8255與單片機間的通信采取的時模擬時序的方法。單片機 的p0 口只是用作了數據線,這樣與以往的采用p0 口數據地址線分時復用的 方法相比,簡化了電路構造(i大i為這樣可以少用一個芯片74hc573)o具體的電路子模塊如圖2.3所示,三組擴展管腳均得到了充分的利用。pa 口與pb 口負責每層樓的上下按
23、鍵顯示燈的亮滅,而pc 口負責電梯所到 達當前樓層的樓層顯示工作。同時,由于干擾等原i大i, 82c55所輸出的電壓 值偶爾偏低,這樣直接驅動二極管時,可能會岀現顯示昏暗甚至不亮的問題, 故而在此加上了一個非門,可以起到提高電平值的作用。p1與p2為兩個220歐的排阻,用于限流作用,以防二極管由于電壓過高所導致的可能被燒壞。芯片82c55的數據口 dod?分別與單片機的p0 口各管腳相連,進行數 據的傳輸。而莎和航也當然與單片機的乖和贏相連,方便數據或者命 令的讀與寫。其尋址管腳a0與a1分別與單片機的p2a0與p2a1相連,操作 時只需對p2 口的對應兩管腳輸出合理的高低電平組合,即可選中芯
24、片82c55 的相應寄存器,進而進行相應操作。芯片的片選由單片機的p2w控制,ii低 電平有效。其復位管腳reset與單片機的復位管腳可直接相連。當然,有時 芯片82c55的反應沒有單片機快速,此時可以進行“軟復位",即讓其復位管 腳reset與單片機的某個閑置的i/o管腳相連,通過人為的控制此管腳p00 34 p01 33p02 32p03 31p04 30p06 28p07 27wr 36p20 9p21 8,reset 35p26220vcc0 12 3 4 5 6 7 imdddadlxdo i 73 4 5 6 7 aaaaaaaa pppppppps255rdpbowrp
25、b1aopb2al resetpb3 pb4cspb5pb6pb7pco pcipc2pc3pc4pc5 pc6 pc?8255l/d1fup« d2fdvcc pi5678922074l504冑 d2fup m kd3pd «d3fup k d4fd/ d4fupk d5fdd5fupvccp2220圖2.3 82c55數碼管控制模塊的高低電平及其時間來對芯片82c55進行復位。即讓此i/o管腳輸出高電平, 且保持一段時間,保證在此時間段內,芯片82c55有足夠的時間復位后,再 讓此管腳恢復低電平即可。另外,木設計中所用的數碼管為共陽型。其引腳分布如圖2.4所示。有 圖可
26、知,當要顯示特定字符時,只需向其相應段的管腳輸入低電平,此段即 亮;反z同理,若要其某段不亮,只需輸入高電平即可。了解此原理便可方 便對其的編程工作。vcc圖2.4共陽極數碼悖內部結構2.2.3可編程按鍵控制芯片82c79模塊intel8279芯片是一種通用的可編程序的鍵盤、顯示接口器件,單個芯片 就能完成鍵盤輸入和led顯示控制陶種功能。其引腳分布如圖2.5所示。8279 包括鍵盤輸入和顯示輸岀兩個部分。鍵盤部分提供的掃描方式,可以和64個按鍵或傳感器的陣列和連。能口 動消除開關抖動以及為n個鍵同時按下提供保護。圖2.5 8279引腳分布主要管腳的定義為:頁(片選):輸入線,當&=0
27、時8279被選中,允許cpu對其讀、寫,否則被禁止。ao (數據選擇):輸入線。當a°=l時cpu寫入數據為命令字,讀出數 據為狀態字;a0=0時cpu讀、寫的字節均為數據。dbo-db7:與單片機通信的數據引腳,用于傳送數據。vcc、gnd:電源端與地端,用于給芯片提供電源。而、wr (讀、寫信號):輸入線。低電平冇效,來自cpu的控制信 號,控制8279的讀、寫操作。irq (中斷請求):輸出線。高電平有效。在鍵盤工作方式中,當fifo/傳感器ram存有數據時,irq為高電平。cpu每次從ram屮讀出數據時,irq變為低電平。若ram中仍冇數據, 則irq再次恢復高電平。在傳感器
28、工作方式中,每當檢測到傳感器狀態變化時,irq就出現高電 平。sl。sl3 (掃描線):輸出線。用來掃描鍵盤和顯示器。它們可以編程設 定為編碼(4中取1)或譯碼輸出(16取1)。rl()rl?(回復線):輸入線。它們是鍵盤矩陣或傳感矩陣的列(或行) 信號輸入線。shift (移位信號):輸入線、高電平有效。該輸入信號是鍵盤數據的 最高位(d?),通常用來擴充鍵開關的功能,作為控制功能鍵用。在選通輸入方式時,該信號的上升沿可將來tl rlorl7的數據存入fifo ram 中。在傳感器輸入下,該信號無效。outaoouta3 (a組顯示信號):輸出線。outbooutb3 (b組顯示信號):輸出
29、線。這兩組引線都是顯示數據輸岀線,與多位數字顯示的掃描線sl。sl?同 步,兩組可以獨立使用,也可以合并使用。bd (顯示消隱):輸出線。低電平有效。該信號在數字切換顯示或使用 消隱命令時,將顯示消隱。其在本設計中的工作電路圖模塊如圖2.6所示:8279圖2.6 8279鍵盤控制模塊由圖可知,其八位并行數據管腳分別與單片機的p0 口齊管腳相連。讀寫 信號端也分別與單片機的對應。而其片選由p2t控制,低電平有效。其clk 管腳與ale相連,單片機正常工作時,ale管腳輸出方波,頻率為單片機 工作頻率的六分么一。而芯片82c79的掃描鍵盤的頻率正是由此而產生,當 然i用這么高的頻率,還需要繼續對其
30、分頻后方可供82c79使用。復位鍵同 樣與單片機的復位鍵相通。而至于有些管腳如bd、shift、cntl/s等由于 在此設計中無甚意義,故均將其接地處理。其工作機理為:82c79的slosl2在芯片工作時,不斷以固定的頻率輸 出低電平,當然是同一時間只選擇其中一根線為低電平,其他還未高電平, 同時掃描rl0rl7端,若得到某各端口返回低電平,在經過消抖處理后仍 為低電平,則說明slosl2當前輸岀低電平的那根線與rl。rl?當前返回低 電平的那根線的交叉處的那個開關被按卜了。那么芯片82c79會白動將該按 鍵按照規定的協議翻譯為相應的鍵值(每個按鍵都有自c唯一的鍵值標示,這 便于在編寫程序時讀
31、取鍵值進而進行散轉),存儲與fifo寄存器屮,同時, 由于該寄存器中存有單片機未讀取的值,irq管腳就會門動輸出高電平,再 經過非門后對單片機的into產生中斷,此時只需在編程時在中斷程序中對 其進行相應處理即可。2.2.4 max232串口下載模塊與附加電源模塊等由于程序絕不可能第一次編寫完就可以達到預設的口的,其間要經過很 多次的更改修止,故為了便于程序的調試工作,我在此電路板上增設了一個 max232串口下載模塊,這樣便可以不用取下單片機去其他的電路板上下載, 而直接便可以在此電路板上完成了。同時為便于電源的引入,我選擇了電腦 usb 口輸出的5v直流電源,這樣無需再用大型的電源設備,隨
32、處便可以調 試。他們的電路圖如圖2.7所示:交 x db9圖2.7串口下載模塊max232電路時該芯片數據手冊屮捉供的典型應用圖。max232是一個 電荷泵器件,它釆用開關電容技術將5v電壓升壓和獲取負電壓。至于電源模塊,便比較簡單了,usb 口通常有四條引出線,其小邊緣兩 根便為電源線,一個為+5v直流端,一個為地端。中間兩根為差分信號線d+ 與d,負責信號的串行通信。但由于此處只用做電源功能,故中間兩根無需 接入。+5v直流端通過一個按鍵開關并經過一 10微法的電容濾波后接入vcc, 供整個電路板供電。當電源導通后,電源指示二極管會高亮。同時,基于人性化處理,在電梯上下行時,我專門用若干個
33、二極管排列 成上下箭頭的形狀,如圖所示。屮間的四個發光二極管組成一豎線型,并處 于常亮狀態,當電梯上行時,與單片機p1a3管腳連接的up端將輸出低電平, 經過一非門后使組成上三角的四個發光二極管點亮,從而形成以向上箭頭; 同理,當下行時,與單片機pit腳相連的down端將輸出低電平,使組成卜三角的四個發光二極管導通,形成向卜箭頭,如圖2.8所示。gnp dsngnd d5upd2upd4iiup pl j74104down pl i即ur3qjp d7-mu詁 3 06net1則14gndupd5d1vcc74ls044o<u3b74ls04$13 upu3d、:h jnet】74ls0
34、4u4egnd( c”】dnkt274ls04u4dr5741.s04gnd d9匸i丄k do噸nd duik vccrgndgnd di2downdz kdownds74ls04-2。u4adownds74lsq44o<u4b<3plldown< downz z inet2vcc圖2.8上下行箭頭顯示模塊2.3本章小結本章對設計中的硬件環節作了詳細的介紹,并將其分為若干模塊,分別 為單片機最小系統模塊、82c55發光二極管顯示模塊、8279鍵盤控制與數碼 管顯示模塊、申口下載模塊、電源模塊等。它們均具有不可或缺的功能及特 點。整個硬件系統的工作機理為:單片機最小系統為整個
35、系統提供最基本的 運行壞境,8279通過掃描按鍵是否按下,向單片機發出中斷,單片機進行相 應處理,并通過82c55控制發光二極管的兩滅、通過8279控制當前樓層的 顯不o第三章芯片基本讀寫的實現3.1引言木設計主要用到三個芯片,即單片機82c82、i/o 口擴展芯片82c55、按 鍵控制芯片8279o它們z間只有完美無誤地進行通信,才可以保證更高程序 思想的實現。木章就以此為目的,詳細探討兩芯片的內部協議,包括引腳排 列,內部寄存器的數據結構,操作特點等等。最后是兩芯片的初始化函數。3.2單片機對芯片82c55的基本讀寫與一般其他的芯片類似,對82c55芯片的操作,一般也即對其內部寄存 器的操
36、作。其內部寄存器分為兩類,一類為命令寄存器,另一類為數據寄存 器。很明顯,由丁 82c55的功能為將一組單片機i/o 口擴展為三組i/o 口, 那么肯定要有三組數據寄存器,分別對應著它的三組i/o 口,即pad, pb 口與pc 口,那么82c55芯片便有四個寄存器,止好可以用兩位的地址線進 行尋址(即管腳a()與aj。大概得英讀寄存器的流程圖3.17開始x/x開始_/+使能片選使能片選選噬器選擇寄存器 地址1讀信號為低寫信號為低準備數據準備數據*讀信號為高寫信號為高1z>片選無效片選無效p0置高電平x>p0置高電平kx圖3.1讀寫寄存器流程圖具體的說,其過程為:開始選屮該芯片(低
37、電平有效),而后設置好所 要讀寫的寄存器的地址,也即設置好a。與a】的數值組合,若為讀寄存器, 則讓單片機讀引腳p3-7為低電平,反z若為寫寄存器,則讓單片機寫引腳 p3%為低電平,然后把要讀或者寫的數據放到數據口 p0 口上(需要注意的 是,當單片機讀寄存器時,對于其自身來說,是輸入數據,故此時需先讓p0 口值為高電平oxff為下一步的輸入做準備,而此流程圖的最后一步即為這種 情況做準備的),一段短短的穩定時間后再讓讀引腳或者寫引腳為高電平, 則在由低到高的跳變屮,數據得到了轉移。然后再片選無效,以防以后的數 據傳輸產生相互干擾。最后數據口 p0置為oxff,為方便下次可能的輸入做準 備。3
38、.3芯片82c55的初始化3.3.1芯片82c55的邏輯構造該芯片的邏輯構造如圖3.2所示,rdwr 舛a。 cs reset圖3.2 82c55邏輯構造圖1、三個并行輸入/輸出端口(端口 a、端口 b、端口 c)8255a有a、b、c三個并行輸入/輸出端口(簡稱為a 口、b 口、c 口), 其功能全部由程序設定,每個端口都有自己的特點。a 口、b 口通常作為獨 立的i/o端口使用,c 口也可以作為一般的i/o端口使用,但當a 口、b 口 作為應答式的i/o 口使用時,c 口分別用來為a 口、b 口提供應答控制信號。2、讀/寫控制邏輯讀/寫控制邏輯用于管理數據、控制字或狀態字的傳送,其控制信號
39、有以 下幾種:(1) 頁片選信號,低電平有效允許8255a與cpu交換信息。(2) 耶讀信號,低電平有效允許cpu從8255a端口中讀取數據或狀態 信息。(3) 航,寫信號,低電平有效允許cpu將數據、控制字寫入到8255a 中。(4) reset,復位信號,高電平有效。清除8255a所有控制寄存器內容, 并將各端口置成輸入方式。(5) a1、ao, 8255a片內端口尋址地址。3、a組和b組控制電路a組和b組控制電路接受讀/寫控制邏輯的信號和cpu送入的控制字, 然后決定各端口的功能。a組控制電路控制a i和c 口的高4位(pc?pc" b組控制電路控制b 口和c 口的低4位(pc
40、3pc。)。還可根據控制字的要求 對c 口的某位實現置0或置1的操作。4、數據總線緩沖器數據總線緩沖器是一個雙向三態的8位緩沖器,可與系統的數據總線直 接相連,實現cpu和8255a z間的信息傳送。82c55芯片內部有四個寄存器,即命令寄存器、pa 口寄存器、pb 口寄存器、pc 口寄存器。其屮,向命令小寫入數據可以控制芯片齊擴展口的工作 方式。向后三者寄存器中寫入數據,芯片會口動將其取出,并以高低電平的 形式分布于各相應管腳。并口,三組擴展口在作為輸出時,均具有鎖存功能。由于有四組口,故相應的應該有兩位地址來對其尋址。芯片上的a0、 a1即為此而設計,當a0=0, a1=o時,尋址的為pa
41、 口寄存器;當ao=1, a1=o時,尋址的為pb 口寄存器;當a0=0, al=l時,尋址的為pc 口寄存 器;當ao=1, al=l時,尋址的為命令(控制)寄存器。具體的端口選擇與操 作功能如表3.1所示表31 8255a端口選擇及操作功能表a1a0rdwr端口及操作功能00010端口 at數據總線輸入操作 (讀)01010端口 bt數據總線10010端口 c-數據總線00100數據總線i端口 a輸出操作 (寫)01100數據總線-端口 b10100數據總線-端口 c11100數據總線-控制寄存器xxxx1未選中8255a,數據總線三態11010非法狀態(不能讀控制寄存器)xx110數據總
42、線一態3.3.2 芯片82c55的工作方式該芯片具有三種可選的工作方式,分別便于不同情況時供使用者以更為 方便的選擇?,F對其工作方式做一簡要介紹如21、方式0基本輸入輸出方式(1)方式0的工作特點方式0稱為基本輸入輸出方式,該方式下可將3個數據端口劃分為4個 獨立的部分:a 口和b 口作為兩個8位端口,c 口的高4位和低4位可以用 作兩個4位端口(當然也可以作為一個8位端口),各個端口都可以獨立用作 輸入或輸出。其特性如下:1. 任何端口都貝有輸出及輸入功能。2. 輸出時,各port均有鎖定功能,能將信號鎖定在最后一次的輸出狀 態上。3. 輸入無鎖定功能,數據收到后,端口上的信號將不會保留最后
43、一次輸 入的狀態。4. 有2個8位端口 (pa和pb)及2個4位端口 (pc0pc3和pc4pc7) 可供利用。5. 共可組成16種不同的輸出入狀態。(2)方式0的使用場合方式0使用在無條件傳送和查詢式傳送兩種場合。2、方式1一選通輸入輸出方式(1)方式1的工作特點方式1是一種選通輸入輸出方式。在這種工作方式下,端口 a、端口 b 和端口 c被分為兩個組。端口 a和端口 b用作數據的輸入/輸出,端口 c的 一些引腳信號被規定為端口 a、b的聯絡信號,這些聯絡信號和c 口的齊引 腳保持固定的對應關系,不能用程序改變。1. a/b 口輸入的聯絡信號stb :輸入選通信號,低電平有效,外設輸入;當該
44、信號有效時,使 8255的a/b 口接收外設的8位數據。信號通過pc4/a 口、pc2/b 口引入。ibf:輸入滿信號,高電平有效,8255輸出;當該信號有效時,表示8255 已接收數據。信號通過pc5/a 口、pc1/b 口引岀。intr:中斷請求信號,高電平有效,8255輸出;當該信號有效時,8255向cpu申請屮斷(讀取數據),信號通過pc3/a 口、pco/b 口引出。inte:中斷允許標志,是否允許發出中斷屮請(intr );當設置pc4=1(a 口的標志),pc2=1 ( b 口的標志)時,中斷允許。2. a/b 口輸出的聯絡信號obf :輸出滿信號,低電平有效,8255輸出;當該
45、信號有效時,通 知外設,a/b 口的數據準備好。信號通過pc7/a 口、pc1/b 口引出。ack:外設回答信號,低電平有效;當該信號有效時,表示外設已空閑。 信號通過pc6/a 口、pc2/b 口引入。intr:中斷請求信號,高電平有效,8255輸出;當該信號有效時,8255 向cpu申請屮斷(輸入數據),信號通過pc3/a 口、pco/b 口引出。inte:中斷允許標志,是否允許發出中斷屮請(intr );當設置pc6=1(a 口的標志),pc2=1 ( b 口的標志)時,中斷允許。方式1的工作特點可歸納如門端口 a和端】b均可工作在方式1輸入或輸出方式。若端口 a和端口 b中只有一個工作
46、在方式1,而另一個工作在方式0, 則端口 c中有3位作為方式1的聯絡信號,端口 c其余5位均可工作在方式 0的輸入或輸出方式。若端口 a和端口 b都工作在方式1,則c 口中6位作其聯絡信號,剩下 的2位述可工作在方式0的輸入輸出方式。方式1有兩種用法:(1)中斷方式。將兩個inte置為1, a組和b組可以使用各自的intr 信號申請中斷。(2)查詢方式。微處理器通過讀端口 c,可以查詢ibf、obf#信號的當 前狀態,決定是否立即進行數據傳輸。3、方式2雙向輸入輸出方式方式2只適用于端1-1 a,是雙向的輸入輸出傳輸方式。在方式2,外設可以在a 口的8位數據線上分時向8255a發送數據或從82
47、55a接收數據, 但不能同時進行。該方式需占用端口 c的5位作為聯絡信號。端口 a工作于 方式2時,端口 b可選方式0或方式1。3.3.3芯片82c55的初始化由以上的分析可知,對芯片82c55的初始化,實質上即是規定好它每個 擴展口是作為什么方式使用,即是輸入述是輸出,并且工作于何種方式。%22d,d。1:工作方式i控制字標志位00:方式0、01:方式1、瑞口 a工作方式選擇,x:方如i:輸入端口 a0:輸出1:輸入j端口 c(pc 廠 pcj1:輸入0:輸出輸入輸出10方式00端口 b工作方式選擇方式i0:輸出丿圖3.3 8255a工作方式控制字格式根據本設計的需求可知,我們只需用到兩組擴
48、展口 pa和pb,并且他們 均是用丁控制二極管的亮滅,可見是作為輸出使用的;并但他們不需要其他 的控制,即只要求作為最基本的輸出即可,也即工作于方式0便可。而這一 切,均可以通過芯片的方式控制字來加以限定。由以上要求,再結合圖3.3 我們可以得到該控制字的數值為0x80(二進制為1000 0000)o最后,再把這一 命令控制字發送到82c55的命令寄存器即可,命令寄存器對應的地址為 a()=l, a=l °3.4對芯片8279的基本讀寫與初始化3.4.1芯片8279的基本讀寫與82c55類似,由于未用諸如74hc573之類的鎖存器,p0 口無法實現 數據與地址的復用功能,對8279的
49、讀寫控制也是基于模擬時序的基礎上進行 的。并且他們的時序操作圖大概類似,故在此不再贅述。3.4.2芯片8279的初始化對該芯片的初始化,也即規定好該芯片的工作方式等,當然由于其功能 較為強大,故對其操作的語句也相對多些。一般來說,對8279操作的命令分 為八種,分別為:1、鍵盤/顯示器方式命令;2、吋鐘編程命令;3、讀鍵字 命令;4、讀顯示緩沖器命令;5、寫顯示緩沖器命令;6、顯示器禁止寫入/ 熄滅命令;7、清楚命令;8、結朿屮斷/錯誤方式設置命令?,F分別介紹如下:1 鍵盤/顯示方式設置命令字(表3.2)表3.2鍵盤/顯示方式設置命令格式d7d6d5d4d3d2d1do0()()i)i)kkk
50、其中:d7、d6、d5=000方式設置命令特征位。dd(d4、d3):來設定顯示方式,其定義如下(表3.3):表3.3 d3、d4顯示方式d4d3顯示方式008個字符顯示,左入口開始0116個字符顯示,左入口開始(復位后狀態)108個字符顯zn,右入口開始1116個字符顯示,右入li開始所謂左入口,即顯示位置從最左一位(最高位)開始,以后逐次輸入的 顯示字符逐個向右順序排列;所謂右入口,即顯示位置從最右一位(最低位) 開始,以后逐次輸入的顯示字符時,己有的顯示字符逐個向左順序移動。kkk (d2、di、do):用來設定七種鍵盤、顯示工作方式(表3.4):表3.4 d2、di、do操作方式d2d
51、1 do操作方式0 0 0外部編碼掃描鍵盤(16取1),雙鍵互鎖0 0 1內部譯碼打描鍵盤(4取1),雙鍵互鎖0 1 0外部編碼掃描鍵盤n鍵依次讀出0 1 1內部譯碼扌描鍵盤n鍵依次讀出1 0 0外部譯碼掃描傳感器矩陣方式1 0 1內部譯碼掃描傳感器矩陣方式1 1 0選通輸入方式,外部編碼顯示掃描1 1 1選通輸入方式,內部譯碼顯示掃描雙鍵鎖定與n鍵輪冋是多鍵按下時的兩種不同的保護方式。雙鍵鎖定為 兩鍵同時按下提供的保護方法。再消顫周期里,如果冇兩鍵同時按下,則只 有其中一個鍵彈起,而另一個鍵保持在按下位置時,才被認口j。n鍵輪回為 n鍵同時按下的保護方法。當有若干鍵按下時,鍵盤掃描能夠根據發
52、現他們 的順序,依次將它們的狀態送入fifo ram中。2、程序時鐘命令(表3.5)表35程序時鐘命令格式d7d6d51)41)3d21)1d0001ppppp其中:d7、d6、d5=001為時鐘命令特征位。ppppp ( d4、d3、d2、di、do)用來設定外部輸入clk端的時鐘進 行分頻的分頻數n。n取值為231。例如外部時鐘頻率為2mh乙ppppp被 置為10100 (n=20),則對輸入的外部時鐘20分頻,以獲得8279內部要求 的100kmz的基本頻率。3、讀fifo/傳感器ram命令(表3.6)表3.6讀fifo/傳感器ram命令格式d7d6d5d4d3d2d1d001()aix
53、aa其屮:d7d6d5 =010為讀fifo/傳感器ram命令特征位。該命令字只在傳 感器方式時使用。在cpu讀傳感器ramz前,必須使用這條命令來設定傳 感器ram中的8個地址(每個地址一個字節)。aaa (d2、di、d0)為傳感器ram 'i1的八個字節地址。al (d4)為口動增量特征位。當ai=1時,每次讀出傳感器ram后地 址自動加1使地址指針指向下一個存儲單元。這樣,下一個數據便從下一個 地址讀出,而不必重新設置讀fifo/傳感器ram命令。在鍵盤工作方式中,由于讀出操做嚴格按照先入先出順序,因此,不需 使用此命令。4、讀顯示ram命令(表3.7)表3.7讀顯示ram命令
54、格式d7d6d5d4d3d2dido011laaa其屮:d7d6d5 =011為讀顯示ram命令字的特征位。該命令用來設定將要 讀出的顯示ram地址。aaaa (d3、d2、di、d0)用來尋址顯示ram命令字的特征位。由位 顯示ram屮有16個字節單元故需要4位尋址。al (d4)為口動增量特征位。當ai=1時,每次讀出后地址口動加1指 向下一地址。5寫顯示ram命令(表3.8)表3.8 寫顯ram命令格式d7d6d5d4d3d2dido100aiaaaa其中:d7d6d5 =100為寫顯示ram命令字的特征位。在寫顯示器ram z前用該命令用來設定將要寫入的顯示ram地址。aaaa (d3、d2、di、d0)為將要寫入的存儲單元地址。al (d4)為口動增量特征位。當ai=1時,每次寫入后地址口動加1指 向卜一次寫入地址。6、顯示禁止寫入/消隱命令特征位(表3.9)表39顯示禁止寫入/消隱命令格式d7d6d5d4d3d2dido1仃1xiwaiwbblablb其中:d7d6d5=101為顯示禁止寫入/消隱命令特征位。iw/a、iw/b (d3、d2)為a、b組顯示ram寫入屏蔽位。由于顯示 寄存器分成a、b兩組,可以單獨送數,故用兩位來分別屏蔽。當
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 年產30萬平方米花崗巖石板材項目可行性研究報告
- 2025年護士執業資格考試題庫:社區護理學專項護理倫理理論知識試卷解析試題
- 2025年茶藝師高級技能考核試卷:茶藝師市場拓展試題
- 2025年護士執業資格考試題庫-護理質量管理與評價歷年真題匯編試卷
- 2025年小學英語畢業考試模擬卷:英語寫作思路拓展與篇章結構試題
- 2025年高壓電工技師實操考試:高壓設備維護保養計劃與現場管理技巧試題
- 同濟大學研究生的考研復習計劃時間
- 2025年潛水教練考試模擬試卷:潛水教練潛水運動傷害預防與康復試題
- 2025年鋼琴演奏級考試模擬試卷:鋼琴協奏曲演奏技巧與策略試題
- 第2單元第5課網絡協議分層設(教學設計)人教版(2024)初中信息科技七年級全一冊
- 大車司機勞務協議書
- 中醫把脈入門培訓課件
- 學生軍訓教官合同協議
- 期刊編輯的學術期刊內容審核標準考核試卷
- 知識產權監管培訓課件
- 油田節能降耗技術-全面剖析
- 廣西欽州市欽州港經濟技術開發區中學2025年初三第二學期第一次區模擬化學試題含解析
- 技術信息收集與分析方法考核試卷
- 婦科護理標準化管理
- 小學2025年國防教育課程開發計劃
- 防溺水家長測試題及答案
評論
0/150
提交評論