基于單片機(jī)的電梯控制系統(tǒng)的論文_第1頁(yè)
基于單片機(jī)的電梯控制系統(tǒng)的論文_第2頁(yè)
基于單片機(jī)的電梯控制系統(tǒng)的論文_第3頁(yè)
基于單片機(jī)的電梯控制系統(tǒng)的論文_第4頁(yè)
基于單片機(jī)的電梯控制系統(tǒng)的論文_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 本文由huge13145貢獻(xiàn) doc文檔可能在WAP端瀏覽體驗(yàn)不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機(jī)查看。 周口科技職業(yè)學(xué)院畢業(yè)生論文 周口科技職業(yè)學(xué)院 畢業(yè)論文(設(shè)計(jì)) 題 目:?jiǎn)纹瑱C(jī)控制電梯系統(tǒng) 胡京葛 200801010199 電子工程系 電子三班 張奎 2011 年 02 月 28 日 姓 名 學(xué) 號(hào) 系 別 班 級(jí) 指導(dǎo)教師 1 周口科技職業(yè)學(xué)院畢業(yè)生論文 目錄 目錄 1 摘 要 3 第一章 緒論 3 1.1 課題的背景簡(jiǎn)介 3 1.2 課題的主要研究?jī)?nèi)容及設(shè)計(jì)步驟 4 1.3 設(shè)計(jì)功能要求 5 第二章 系統(tǒng)的硬件設(shè)計(jì) 6 2.1 硬件芯片的選擇 6 2.2 單片機(jī)最小系統(tǒng)

2、模塊 6 2.3 可編程 I/O 擴(kuò)展芯片 82C55 模塊 7 2.4 可編程按鍵控制芯片 82C79 模塊 9 2.5 MAX232 串口下載模塊與附加電源模塊等 12 第三章 芯片基本讀寫(xiě)的實(shí)現(xiàn) 14 3.1 單片機(jī)對(duì)芯片 82C55 的基本讀寫(xiě) 14 3.2 芯片 82C55 的初始化 15 3.3 對(duì)芯片 8279 的基本讀寫(xiě)與初始化 1616 第四章 系統(tǒng)的高層軟件設(shè)計(jì) 24 4.1 引言 24 4.2 單片機(jī)中斷處理函數(shù) 25 4.3 電梯判決函數(shù) 2527 4.4 電梯運(yùn)行函數(shù) 29 4.5 主函數(shù) 30 總結(jié) 31 致謝 32 參考文獻(xiàn) 33 附 錄 33 2 周口科技職業(yè)學(xué)

3、院畢業(yè)生論文 單片機(jī)控制電梯系統(tǒng)畢業(yè)設(shè)計(jì) 應(yīng)用電子技術(shù) 指導(dǎo)老師 摘 要 胡京葛 張奎 設(shè)計(jì)系統(tǒng)研究了基于 AT89C55 與 8279 單片機(jī)為核心 配以必要的傳 , 感裝置,實(shí)現(xiàn)對(duì)電梯轎廂的自動(dòng)控制。在各樓層設(shè)置了位置檢測(cè)電路,利用 磁控傳感器對(duì)電梯轎廂的位置進(jìn)行準(zhǔn)確定位,實(shí)時(shí)控制轎廂的運(yùn)動(dòng)狀態(tài);通 過(guò)對(duì)各樓層用戶按鈕信號(hào)的檢測(cè)和處理,按預(yù)定的運(yùn)行規(guī)則和程序,發(fā)出控 制信號(hào)對(duì)繼電器進(jìn)行調(diào)節(jié),運(yùn)用繼電器來(lái)驅(qū)動(dòng)直流電動(dòng)機(jī),從而控制電梯的 啟停、升降和運(yùn)行時(shí)間。整個(gè)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)了電梯控制的基本功能。 關(guān)鍵詞 AT89C55 8279 電梯控制 單片機(jī) 第一章 1.1 課題的背景簡(jiǎn)介 緒論 電梯進(jìn)

4、入人們的生活已經(jīng) 150 年了。一個(gè)半世紀(jì)的風(fēng)風(fēng)雨雨,翻天覆地 的是歷史的變遷,永恒不變的是電梯提升人類生活質(zhì)量的承諾。 生活在繼續(xù),科技在發(fā)展,電梯也在進(jìn)步。150 年來(lái),電梯的材質(zhì)由黑 白到彩色,樣式由直式到斜式,在操縱控制方面更是步步出新手柄開(kāi)關(guān) 操縱、按鈕控制、信號(hào)控制、集選控制、人機(jī)對(duì)話等等,多臺(tái)電梯還出現(xiàn)了 并聯(lián)控制,智能群控;雙層轎廂電梯展示出節(jié)省井道空間,提升運(yùn)輸能力的 優(yōu)勢(shì);變速式自動(dòng)人行道扶梯的出現(xiàn)大大節(jié)省了行人的時(shí)間;不同外形 扇形、三角形、半菱形、半圓形、整圓形的觀光電梯則使身處其中的乘客的 視線不再封閉。如今,以美國(guó)奧的斯公司為代表的世界各大著名電梯公司各 展風(fēng)姿,仍

5、在繼續(xù)進(jìn)行電梯新品的研發(fā),并不斷完善維修和保養(yǎng)服務(wù)系統(tǒng)。 3 周口科技職業(yè)學(xué)院畢業(yè)生論文 調(diào)頻門(mén)控、智能遠(yuǎn)程監(jiān)控、主機(jī)節(jié)能、控制柜低噪音耐用,一款款集納了人 類在機(jī)械、電子、光學(xué)等領(lǐng)域最新科研成果的新型電梯競(jìng)相問(wèn)世,冷冰冰的 建筑因此散射出人性的光輝,人們的生活因此變得更加美好。 中國(guó)最早的一部電梯出現(xiàn)在上海,是由美國(guó)奧的斯公司于 1901 年安裝 的。1932 年由美國(guó)奧的斯公司安裝在天津利順德酒店的電梯至今還在安全運(yùn) 轉(zhuǎn)著。1951 年,黨中央提出要在天安門(mén)安裝一臺(tái)由我國(guó)自行制造的電梯,天 津從慶生電機(jī)廠榮接此任,四個(gè)月后不辱使命,順利地完成了任務(wù)。十一屆 三中全會(huì)后,沐浴著改革開(kāi)放的春風(fēng)

6、,我國(guó)電梯業(yè)進(jìn)入了高速發(fā)展的時(shí)期。 在我國(guó)任何一個(gè)城市,電梯都在被廣泛應(yīng)用著。電梯給人們的生活帶來(lái)了便 利,也為我國(guó)現(xiàn)代化建設(shè)的加速發(fā)展提供了強(qiáng)大的保障。電梯是高層建筑中 安全、可靠、垂直上下的運(yùn)載工具,對(duì)改善勞動(dòng)條件、減輕勞動(dòng)強(qiáng)度起到很 大的作用。電梯的應(yīng)用范圍很廣,可用于賓館、飯店、辦公大樓、商場(chǎng)、娛 樂(lè)場(chǎng)所、倉(cāng)庫(kù)以及居民住宅大樓等。在現(xiàn)代社會(huì)中,電梯已成為人類必不可 少的垂直運(yùn)輸交通工具。 1.2 課題的主要研究?jī)?nèi)容及設(shè)計(jì)步驟 本課題的主要任務(wù)是完成一個(gè)電梯系統(tǒng)的調(diào)度模塊,即根據(jù)每個(gè)樓層不 同顧客的按鍵需求,讓電梯做出合理的判斷,正確高效地知道電梯完成各項(xiàng) 載客任務(wù)。根據(jù)此任務(wù),本課題需

7、要研究的內(nèi)容有: 1、根據(jù)系統(tǒng)的技術(shù)要求,進(jìn)行系統(tǒng)硬件的總體方案設(shè)計(jì); 2、學(xué)習(xí)單片機(jī)的相關(guān)知識(shí),并且加以運(yùn)用; 3、選擇恰當(dāng)?shù)男酒?duì)其內(nèi)部協(xié)議有所掌握,便于應(yīng)用。 4、研究 C 語(yǔ)言編程,并且規(guī)定電梯的工作規(guī)則,用 C 語(yǔ)言加以實(shí)現(xiàn); 5、對(duì)軟件和硬件進(jìn)行調(diào)試,讓其協(xié)調(diào)工作,完成指定任務(wù)。 結(jié)合以上內(nèi)容,本課題的設(shè)計(jì)方案步驟如下: 關(guān)于硬件部分: 首先,對(duì)實(shí)際的電梯系統(tǒng)進(jìn)行模擬,一般情況下,一個(gè)電梯應(yīng)該具備相 4 周口科技職業(yè)學(xué)院畢業(yè)生論文 關(guān)按鍵、顯示二極管、數(shù)碼管等,由于這是一個(gè)調(diào)度模塊,故沒(méi)有設(shè)計(jì)具體 的轎廂等機(jī)械部分。然后,結(jié)合這些實(shí)物,選擇恰當(dāng)?shù)男酒?,并分成若干?塊,安排好各

8、自之間的關(guān)系。由于其有諸多按鍵和顯示環(huán)節(jié),而單片機(jī)的 I/O 口管腳資源實(shí)在有限,故需要 I/O 口擴(kuò)展,用以管理二極管;同時(shí)要有專門(mén) 的按鍵控制芯片,從而便于按鍵管理。在此,我分別選擇了 82C55 和 8279 芯片。接著,要完成電路圖的設(shè)計(jì),畫(huà)出 PCB 板,焊接相關(guān)器件后進(jìn)行硬件 調(diào)試,看是否好用并加以適當(dāng)?shù)母?關(guān)于軟件部分: 處于最底層的是對(duì)兩個(gè)芯片的寄存器讀寫(xiě)工作,完成后方可進(jìn)行更高層 的應(yīng)用程序調(diào)試。 為了使硬件簡(jiǎn)單化, 我選擇了模擬時(shí)序的方法讀寫(xiě)寄存器, 這比總線操作的方法節(jié)省了鎖存器。然后是關(guān)于電梯調(diào)度時(shí)所遵循的原則作 出規(guī)定,其必須基于高效與人性化兩個(gè)原則。最后是使用

9、C 語(yǔ)言將規(guī)定程序 化,以便電梯真正的運(yùn)作。 當(dāng)然,二者的關(guān)系并不是分離的,它們是相輔相成,硬件依據(jù)軟件來(lái)驗(yàn) 證,軟件依據(jù)硬件來(lái)調(diào)試。經(jīng)過(guò)一個(gè)個(gè)的發(fā)現(xiàn)問(wèn)題、一個(gè)個(gè)的解決問(wèn)題,最 終做出完美的電梯調(diào)度模塊。 1.3 設(shè)計(jì)功能要求 本設(shè)計(jì)是為一八層電梯設(shè)計(jì)一調(diào)度系統(tǒng), 即使電梯能夠合理高效地運(yùn)行, 完成各樓層顧客的接送任務(wù)。形象地說(shuō),就是要應(yīng)對(duì)不同樓層顧客的不同需 求,作出合理高效的判斷,使所有顧客在整體運(yùn)用時(shí)間最短的條件下將其運(yùn) 往各自的目的地。 這個(gè)設(shè)計(jì)的成品應(yīng)該可以作為真實(shí)電梯的控制系統(tǒng)一樣,遵守以下兩個(gè) 原則:一是高效性,二是人性化。而實(shí)際電梯所面臨的情況無(wú)比復(fù)雜,故本 設(shè)計(jì)的難點(diǎn)除了硬件

10、上面外,還有對(duì)這些復(fù)雜的情況歸類化,分為若干個(gè)基 本情況,另外是用恰當(dāng)?shù)?C 語(yǔ)言描述來(lái)表達(dá)這些復(fù)雜的邏輯。 5 周口科技職業(yè)學(xué)院畢業(yè)生論文 第二章 2.1 硬件芯片的選擇 系統(tǒng)的硬件設(shè)計(jì) 合理的硬件設(shè)計(jì)是一個(gè)設(shè)計(jì)成功的基石,所以在設(shè)計(jì)之初,我便把自己 的主要任務(wù)集中于籌劃硬件的搭建工作, 當(dāng)然其中需要兼顧軟件設(shè)計(jì)的需求。 由于本設(shè)計(jì)所模擬的樓層共有八層,其中所需要控制的器件較多,如每 層都需有兩個(gè)上下的指示燈,電梯轎廂內(nèi)也需有去幾層的指示燈等,而現(xiàn)有 單片機(jī)的管腳資源無(wú)法滿足需求,故第一步需要想法擴(kuò)展單片機(jī)的 I/O 口管 腳資源。在此,我選擇了擴(kuò)展 I/O 口最典型的芯片 82C55。其可

11、把一組八位 I/O 管腳擴(kuò)展為 PA、PB、PC 三組管腳,并通過(guò)寄存器對(duì)各組管腳進(jìn)行配置, 從而滿足了本次設(shè)計(jì)的要求。 考慮到電梯會(huì)有多個(gè)按鍵,而傳統(tǒng)的依據(jù)單片機(jī)自身的 I/O 口布局鍵盤(pán) 的方法顯然也是不可行的,故本設(shè)計(jì)選擇了典型的管理鍵盤(pán)的芯片 82C79, 其重要意義不僅在于減輕了單片機(jī) I/O 口的開(kāi)支負(fù)擔(dān),而且可以代替單片機(jī) 完成各個(gè)按鍵的鍵值編寫(xiě)工作,單片機(jī)只要從其 FIFO 寄存器中直接讀取鍵 值即可得知哪個(gè)按鍵被按下,進(jìn)而進(jìn)行相應(yīng)的操作。 另外,電路板上還有一些擴(kuò)展的子電路模塊,例如 MAX232 串口下載模 塊,U 口供電模塊等等,當(dāng)然這些都是方便程序的下載與調(diào)試的。并考慮

12、到 電路板的面積與價(jià)格問(wèn)題,一些芯片與二極管、電阻等用的是貼片封裝。 2.2 單片機(jī)最小系統(tǒng)模塊 單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分 功能集成在一塊小芯片上, 但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件: CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸 如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚 至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。 單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片 6 周口科技職業(yè)學(xué)院畢業(yè)生論文 機(jī)可以工作的系統(tǒng)。 在本設(shè)計(jì)中,最小系統(tǒng)應(yīng)該包括:?jiǎn)纹瑱C(jī)、晶振電路

13、、復(fù)位電路等。如 圖 2.1 所示,晶振電路由 C1 與 C2 和晶振組成,晶振是給單片機(jī)提供工作信 號(hào)脈沖的。它的速率就是單片機(jī)的工作速率,簡(jiǎn)單地說(shuō),沒(méi)有晶振,就沒(méi)有 時(shí)鐘周期,沒(méi)有時(shí)鐘周期,就無(wú)法執(zhí)行程序代碼,單片機(jī)就無(wú)法工作。并在 晶振的兩引腳處接入兩個(gè) 10pF-50pF 的瓷片電容接地用來(lái)削減偕波對(duì)電路的 電阻 R11、 穩(wěn)定性的影響。 復(fù)位電路采取的為手動(dòng)按鍵復(fù)位電路, 由電容 C13, R12 和開(kāi)關(guān) RESET 組成,當(dāng)單片機(jī)的復(fù)位引腳 RESET 出現(xiàn) 2 個(gè)機(jī)器周期以 上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果 RST 持續(xù)為高電平,單片機(jī)就 處于循環(huán)復(fù)位狀態(tài)。 每次復(fù)位后,

14、 單片機(jī)的程序都會(huì)從第一條開(kāi)始從新執(zhí)行。 另外,還額外設(shè)計(jì)了濾波防干擾電路,由 C13 與 R12 組成,電源先經(jīng)過(guò)它們 再接入單片機(jī)的 Vcc,可以有效的減少其中的雜波帶來(lái)的干擾。 2.3 可編程 I/O 擴(kuò)展芯片 82C55 模塊 8255 是 Intel 公司生產(chǎn)的可編程并行 I/O 接口芯片,有 3 個(gè) 8 位并行 I/O 口。具有 3 個(gè)通道 3 種工作方式的可編程并行接口芯片(40 引腳)。 其各口功 能可由軟件選擇,使用靈活,通用性強(qiáng)。8255 可作為單片機(jī)與多種外設(shè)連接 時(shí)的中間接口電路。其芯片引腳圖如圖 2.2 所示。 7 周口科技職業(yè)學(xué)院畢業(yè)生論文 VCC 8051 P10

15、 1 DOWN P11 2 P12 3 P13 4 UP P14 5 P15 6 P16 7 P17 8 INT1 13 INT0 12 T1 15 T0 14 VCC 31 C1 20P 19 18 Y RESET 9 11M RD 17 WR 16 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR RXD TXD ALE/P PSEN 10 11 30 29 RXD TXD ALE P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P2

16、6 P27 39 38 37 36 35 34 33 32 21 A0 22 A1 23 24 25 26 27 28 P00P01 P02 P03 P04 P05 P06 P07 P3 1 2 3 4 5 6 7 8 9 VCC RESET 10UF CJ3 P20 10K P21 P22 P23 P24 P25 P26 8255cs P27 8279cs + 1k R11 10k R12 C2 GND 20P RESET 圖 2. 1 單片機(jī)最小系統(tǒng) 圖 2.2 82C55 引腳分布 8 周口科技職業(yè)學(xué)院畢業(yè)生論文 D7D0(data bus):三態(tài)、雙向數(shù)據(jù)線,與CPU數(shù)據(jù)總線連接,用來(lái)

17、傳送 數(shù)據(jù)。 (chip select):片選信號(hào)線,低電平有效時(shí),芯片被選中。 A1, A0(port address):地址線,用來(lái)選擇內(nèi)部端口。 (read):讀出信號(hào)線,低電平有效時(shí),允許數(shù)據(jù)讀出。 (write):寫(xiě)入信號(hào)線,低電平有效時(shí),允許數(shù)據(jù)寫(xiě)入。 RESET(reset):復(fù)位信號(hào)線,高電平有效時(shí),將所有內(nèi)部寄存器(包括控 制寄存器)清0。 PA7PA0(port A):A口輸入/輸出信號(hào)線。 PB7PB0(port B):B口輸入/輸出信號(hào)線。 PC7PC0(port C):C口輸入/輸出信號(hào)線。 VCC:5V電源。 GND:電源地線。 8255 作為主機(jī)與外設(shè)的連接芯片,

18、 必須提供與主機(jī)相連的 3 個(gè)總線接口, 即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口 A、B、C 口。由于 8255 可編程,所以必須具有邏輯控制部分,因而 8255 內(nèi)部結(jié)構(gòu)分為 3 個(gè)部分:與 CPU 連接部分、與外設(shè)連接部分、控制部分。 2.4 可編程按鍵控制芯片 82C79 模塊 Intel8279 芯片是一種通用的可編程序的鍵盤(pán)、顯示接口器件,單個(gè)芯片 就能完成鍵盤(pán)輸入和 LED 顯示控制兩種功能。 其引腳分布如圖 2.5 所示。 8279 包括鍵盤(pán)輸入和顯示輸出兩個(gè)部分。 鍵盤(pán)部分提供的掃描方式, 可以和 64 個(gè)按鍵或傳感器的陣列相連。 能自 動(dòng)消除開(kāi)關(guān)抖動(dòng)以及為

19、 N 個(gè)鍵同時(shí)按下提供保護(hù)。 9 周口科技職業(yè)學(xué)院畢業(yè)生論文 圖 2.5 主要管腳的定義為: (片選):輸入線,當(dāng) 否則被禁止。 8279 引腳分布 =0 時(shí) 8279 被選中,允許 CPU 對(duì)其讀、寫(xiě), A0(數(shù)據(jù)選擇):輸入線。當(dāng) A0=1 時(shí) CPU 寫(xiě)入數(shù)據(jù)為命令字,讀出數(shù) 據(jù)為狀態(tài)字;A0=0 時(shí) CPU 讀、寫(xiě)的字節(jié)均為數(shù)據(jù)。 DB0DB7:與單片機(jī)通信的數(shù)據(jù)引腳,用于傳送數(shù)據(jù)。 Vcc、GND:電源端與地端,用于給芯片提供電源。 、 (讀、寫(xiě)信號(hào)):輸入線。低電平有效,來(lái)自 CPU 的控制信 號(hào),控制 8279 的讀、寫(xiě)操作。 IRQ(中斷請(qǐng)求):輸出線。高電平有效。 在鍵盤(pán)工作

20、方式中,當(dāng) FIFO/傳感器 RAM 存有數(shù)據(jù)時(shí),IRQ 為高電平。 CPU 每次從 RAM 中讀出數(shù)據(jù)時(shí),IRQ 變?yōu)榈碗娖健H?RAM 中仍有數(shù)據(jù), 則 IRQ 再次恢復(fù)高電平。 10 周口科技職業(yè)學(xué)院畢業(yè)生論文 在傳感器工作方式中,每當(dāng)檢測(cè)到傳感器狀態(tài)變化時(shí),IRQ 就出現(xiàn)高電 平。 SL0SL3(掃描線):輸出線。用來(lái)掃描鍵盤(pán)和顯示器。它們可以編程設(shè) 定為編碼(4 中取 1)或譯碼輸出(16 取 1)。 RL0RL7(回復(fù)線):輸入線。它們是鍵盤(pán)矩陣或傳感矩陣的列(或行) 信號(hào)輸入線。 SHIFT(移位信號(hào)):輸入線、高電平有效。該輸入信號(hào)是鍵盤(pán)數(shù)據(jù)的 最高位(D7),通常用來(lái)擴(kuò)充鍵開(kāi)

21、關(guān)的功能,作為控制功能鍵用。 在選通輸入方式時(shí), 該信號(hào)的上升沿可將來(lái)自 RL0RL7 的數(shù)據(jù)存入 FIFO RAM 中。 在傳感器輸入下,該信號(hào)無(wú)效。 OUTA0OUTA3(A 組顯示信號(hào)):輸出線。 OUTB0OUTB3(B 組顯示信號(hào)):輸出線。 這兩組引線都是顯示數(shù)據(jù)輸出線,與多位數(shù)字顯示的掃描線 SL0SL3 同 步,兩組可以獨(dú)立使用,也可以合并使用。 BD(顯示消隱):輸出線。低電平有效。該信號(hào)在數(shù)字切換顯示或使用 消隱命令時(shí),將顯示消隱。 其在本設(shè)計(jì)中的工作電路圖模塊如圖 2.6 所示: 8279 27 26 25 24 P00 12 P01 13 P02 14 P03 15 P

22、04 16 P05 17 P06 18 P07 19 74LS04 INT0 12 U3F 13 4 8279cs P27 22 RD 10 WR 11 P20A0 21 ALE3 RESET 9 OUTA0 OUTA1 OUTA2 OUTA3 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 IRQ CS RD WR A0 CLK RESET OUTB0 OUTB1 OUTB2 OUTB3 BD SL0 SL1 SL2 SL3 RL0 RL1 RL2 RL3 RL4 RL5 RL6 RL7 SHIFT CNTL/S 31 30 29 28 GND 23 32 33 34 35

23、38 39 1 2 5 6 7 8 36 37 3FUp GND 7FUp 8FDown To-1F To-2F To-7F To-8F 1FUp 5FUp 6FDown 6FUp 7FDown To-3F To-4F To-5F To-6F 2FDown 2FUp 3FDown 11 4FDown 4FUp 5FDown 周口科技職業(yè)學(xué)院畢業(yè)生論文 圖 2.6 8279 鍵盤(pán)控制模塊 由圖可知, 其八位并行數(shù)據(jù)管腳分別與單片機(jī)的 P0 口各管腳相連。 讀寫(xiě) 信號(hào)端也分別與單片機(jī)的對(duì)應(yīng)。 而其片選由 P27 控制, 低電平有效。 CLK 其 管腳與 ALE 相連,單片機(jī)正常工作時(shí),ALE 管腳

24、輸出方波,頻率為單片機(jī) 工作頻率的六分之一。而芯片 82C79 的掃描鍵盤(pán)的頻率正是由此而產(chǎn)生,當(dāng) 然 i 用這么高的頻率,還需要繼續(xù)對(duì)其分頻后方可供 82C79 使用。復(fù)位鍵同 樣與單片機(jī)的復(fù)位鍵相通。而至于有些管腳如 BD、SHIFT、CNTL/S 等由于 在此設(shè)計(jì)中無(wú)甚意義,故均將其接地處理。 其工作機(jī)理為:82C79 的 SL0SL2 在芯片工作時(shí),不斷以固定的頻率輸 出低電平,當(dāng)然是同一時(shí)間只選擇其中一根線為低電平,其他還未高電平, 同時(shí)掃描 RL0RL7 端,若得到某各端口返回低電平,在經(jīng)過(guò)消抖處理后仍 為低電平, 則說(shuō)明 SL0SL2 當(dāng)前輸出低電平的那根線與 RL0RL7 當(dāng)前

25、返回低 電平的那根線的交叉處的那個(gè)開(kāi)關(guān)被按下了。那么芯片 82C79 會(huì)自動(dòng)將該按 鍵按照規(guī)定的協(xié)議翻譯為相應(yīng)的鍵值(每個(gè)按鍵都有自己唯一的鍵值標(biāo)示, 這 便于在編寫(xiě)程序時(shí)讀取鍵值進(jìn)而進(jìn)行散轉(zhuǎn)),存儲(chǔ)與 FIFO 寄存器中,同時(shí), 由于該寄存器中存有單片機(jī)未讀取的值,IRQ 管腳就會(huì)自動(dòng)輸出高電平,再 經(jīng)過(guò)非門(mén)后對(duì)單片機(jī)的 INT0 產(chǎn)生中斷,此時(shí)只需在編程時(shí)在中斷程序中對(duì) 其進(jìn)行相應(yīng)處理即可。 2.5 MAX232 串口下載模塊與附加電源模塊等 由于程序絕不可能第一次編寫(xiě)完就可以達(dá)到預(yù)設(shè)的目的,其間要經(jīng)過(guò)很 多次的更改修正,故為了便于程序的調(diào)試工作,我在此電路板上增設(shè)了一個(gè) MAX232 串

26、口下載模塊, 這樣便可以不用取下單片機(jī)去其他的電路板上下載, 而直接便可以在此電路板上完成了。同時(shí)為便于電源的引入,我選擇了電腦 USB 口輸出的 5V 直流電源,這樣無(wú)需再用大型的電源設(shè)備,隨處便可以調(diào) 12 周口科技職業(yè)學(xué)院畢業(yè)生論文 試。他們的電路圖如圖 2.7 所示: C10 104 VCC C8 104 U6 1 2 3 4 5 6 7 8 C1+ VCC V+ GND C1- T1OUT C2+ R1IN C2- R1OUT VT1IN T2OUT T2IN R2IN R2OUT MAX232 16 15 14 13 12 11 10 9 C11 104 RXD TXD VCC C

27、12 104 S1 總總總 + R13 1K CJ1 10UF USB1 D1 D2 + USB 接 串 5 9 4 8 3 7 2 6 1 C9 104 D27 串串 交 交 DB9 圖 2.7 串口下載模塊 MAX232 電路時(shí)該芯片數(shù)據(jù)手冊(cè)中提供的典型應(yīng)用圖。MAX232 是一個(gè) 電荷泵器件,它采用開(kāi)關(guān)電容技術(shù)將 5V 電壓升壓和獲取負(fù)電壓。 至于電源模塊,便比較簡(jiǎn)單了,USB 口通常有四條引出線,其中邊緣兩 根便為電源線,一個(gè)為+5V 直流端,一個(gè)為地端。中間兩根為差分信號(hào)線 D+ 與 D-,負(fù)責(zé)信號(hào)的串行通信。但由于此處只用做電源功能,故中間兩根無(wú)需 接入。 直流端通過(guò)一個(gè)按鍵開(kāi)關(guān)并

28、經(jīng)過(guò)一 10 微法的電容濾波后接入 Vcc, +5V 供整個(gè)電路板供電。當(dāng)電源導(dǎo)通后,電源指示二極管會(huì)高亮。 同時(shí),基于人性化處理,在電梯上下行時(shí),我專門(mén)用若干個(gè)二極管排列 成上下箭頭的形狀,如圖所示。中間的四個(gè)發(fā)光二極管組成一豎線型,并處 于常亮狀態(tài), 當(dāng)電梯上行時(shí), 與單片機(jī) P13 管腳連接的 UP 端將輸出低電平, 經(jīng)過(guò)一非門(mén)后使組成上三角的四個(gè)發(fā)光二極管點(diǎn)亮,從而形成以向上箭頭; 同理,當(dāng)下行時(shí),與單片機(jī) P11 腳相連的 DOWN 端將輸出低電平,使組成 下三角的四個(gè)發(fā)光二極管導(dǎo)通,形成向下箭頭,如圖 2.8 所示。 13 周口科技職業(yè)學(xué)院畢業(yè)生論文 GND D4 GND D8 G

29、ND NET1 GND D5 UpD2 GND GND UpD4 11 U3E UP P13 9 10 D1 UpD5 UpD3 D6 6 74LS04 U3C 5 P13 UP D7 4 R3 1K VCC 74LS04 U3B 3 74LS04 R4 U3D 8 NET1 1K GND VCC 74LS04 U4E 11 10 NET2 74LS04 U4D 9 74LS04 8 R5 1K D2 DOWN P11 GND D9 GND D12 VCC D10 74LS04 2 U4A 1 DownD4 GND D11 GND DownD2 NET2 GND DownD5 74LS04 4

30、 U4B 3 P11 DOWN DownD3 D3 R6 1K VCC 圖 2.8 第三章 芯片基本讀寫(xiě)的實(shí)現(xiàn) 上下行箭頭顯示模塊 3.1 單片機(jī)對(duì)芯片 82C55 的基本讀寫(xiě) 與一般其他的芯片類似,對(duì) 82C55 芯片的操作,一般也即對(duì)其內(nèi)部寄存 器的操作。其內(nèi)部寄存器分為兩類,一類為命令寄存器,另一類為數(shù)據(jù)寄存 器。很明顯,由于 82C55 的功能為將一組單片機(jī) I/O 口擴(kuò)展為三組 I/O 口, 那么肯定要有三組數(shù)據(jù)寄存器,分別對(duì)應(yīng)著它的三組 I/O 口,即 PA 口,PB 口與 PC 口,那么 82C55 芯片便有四個(gè)寄存器,正好可以用兩位的地址線進(jìn) 行尋址(即管腳 A0 與 A1)。

31、大概得其讀寄存器的流程圖 3.1 14 周口科技職業(yè)學(xué)院畢業(yè)生論文 開(kāi)始 使能片選 選擇寄存器 地址 讀信號(hào)為低 準(zhǔn)備數(shù)據(jù) 讀信號(hào)為高 片選無(wú)效 P0置高電平 開(kāi)始 使能片選 選擇寄存器 地址 寫(xiě)信號(hào)為低 準(zhǔn)備數(shù)據(jù) 寫(xiě)信號(hào)為高 片選無(wú)效 P0置高電平 圖 3.1 讀寫(xiě)寄存器流程圖 具體的說(shuō),其過(guò)程為:開(kāi)始選中該芯片(低電平有效),而后設(shè)置好所 要讀寫(xiě)的寄存器的地址,也即設(shè)置好 A0 與 A1 的數(shù)值組合,若為讀寄存器, 則讓單片機(jī)讀引腳 P37 為低電平,反之若為寫(xiě)寄存器,則讓單片機(jī)寫(xiě)引腳 P36 為低電平,然后把要讀或者寫(xiě)的數(shù)據(jù)放到數(shù)據(jù)口 P0 口上(需要注意的 是,當(dāng)單片機(jī)讀寄存器時(shí),對(duì)于

32、其自身來(lái)說(shuō),是輸入數(shù)據(jù),故此時(shí)需先讓 P0 口值為高電平 0xff 為下一步的輸入做準(zhǔn)備,而此流程圖的最后一步即為這種 情況做準(zhǔn)備的),一段短短的穩(wěn)定時(shí)間后再讓讀引腳或者寫(xiě)引腳為高電平, 則在由低到高的跳變中,數(shù)據(jù)得到了轉(zhuǎn)移。然后再片選無(wú)效,以防以后的數(shù) 據(jù)傳輸產(chǎn)生相互干擾。最后數(shù)據(jù)口 P0 置為 0xff,為方便下次可能的輸入做準(zhǔn) 備。 3.2 芯片 82C55 的初始化 對(duì)芯片 82C55 的初始化,實(shí)質(zhì)上即是規(guī)定好它每個(gè)擴(kuò)展口是作為什么方 式使用,即是輸入還是輸出,并且工作于何種方式。 15 周口科技職業(yè)學(xué)院畢業(yè)生論文 圖 3.3 8255A 工作方式控制字格式 16 周口科技職業(yè)學(xué)院畢

33、業(yè)生論文 較為強(qiáng)大,故對(duì)其操作的語(yǔ)句也相對(duì)多些。一般來(lái)說(shuō),對(duì) 8279 操作的命令分 為八種,分別為:1、鍵盤(pán)/顯示器方式命令;2、時(shí)鐘編程命令;3、讀鍵字 命令;4、讀顯示緩沖器命令;5、寫(xiě)顯示緩沖器命令;6、顯示器禁止寫(xiě)入/ 熄滅命令;7、清楚命令;8、結(jié)束中斷/錯(cuò)誤方式設(shè)置命令?,F(xiàn)分別介紹如下: 1、鍵盤(pán)/顯示方式設(shè)置命令字(表 3.2) 表 3.2 D7 0 D6 0 D5 0 鍵盤(pán)/ 鍵盤(pán)/顯示方式設(shè)置命令格式 D4 D D3 D D2 K D1 K D0 K 其中:D7、D6、D5=000 方式設(shè)置命令特征位。 DD(D4、D3):來(lái)設(shè)定顯示方式,其定義如下(表 3.3): 表 3

34、.3 D4 0 0 1 1 D3 0 1 0 1 顯示方式 8 個(gè)字符顯示,左入口開(kāi)始 16 個(gè)字符顯示,左入口開(kāi)始(復(fù)位后狀態(tài)) 8 個(gè)字符顯示,右入口開(kāi)始 16 個(gè)字符顯示,右入口開(kāi)始 D3、D4 顯示方式 、 所謂左入口,即顯示位置從最左一位(最高位)開(kāi)始,以后逐次輸入的 顯示字符逐個(gè)向右順序排列; 所謂右入口, 即顯示位置從最右一位 (最低位) 開(kāi)始,以后逐次輸入的顯示字符時(shí),已有的顯示字符逐個(gè)向左順序移動(dòng)。 KKK(D2、 D1、 D0):用來(lái)設(shè)定七種鍵盤(pán)、顯示工作方式(表 3. 4): 表 3.4 D2 D1 D0 操作方式 D2、D1、D0 操作方式 、 、 17 周口科技職業(yè)學(xué)

35、院畢業(yè)生論文 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 外部編碼掃描鍵盤(pán)(16 取 1),雙鍵互鎖 內(nèi)部譯碼掃描鍵盤(pán)(4 取 1),雙鍵互鎖 外部編碼掃描鍵盤(pán) N 鍵依次讀出 內(nèi)部譯碼掃描鍵盤(pán) N 鍵依次讀出 外部譯碼掃描傳感器矩陣方式內(nèi)部譯碼掃描傳感器矩陣方式 選通輸入方式,外部編碼顯示掃描 選通輸入方式,內(nèi)部譯碼顯示掃描 雙鍵鎖定與 N 鍵輪回是多鍵按下時(shí)的兩種不同的保護(hù)方式。雙鍵鎖定為 兩鍵同時(shí)按下提供的保護(hù)方法。再消顫周期里,如果有兩鍵同時(shí)按下,則只 有其中一個(gè)鍵彈起,而另一個(gè)鍵保持在按下位置時(shí),才被認(rèn)可。N 鍵輪回為 N 鍵同時(shí)按

36、下的保護(hù)方法。當(dāng)有若干鍵按下時(shí),鍵盤(pán)掃描能夠根據(jù)發(fā)現(xiàn)他們 的順序,依次將它們的狀態(tài)送入 FIFO RAM 中。 2、程序時(shí)鐘命令(表 3.5) 表 3.5 D7 0 D6 0 D5 1 程序時(shí)鐘命令格式 D4 P D3 P D2 P D1 P D0 P 其中:D7、D6、D5=001 為時(shí)鐘命令特征位。 PPPPP( D4、D3、D2、D1、D0)用來(lái)設(shè)定外部輸入 CLK 端的時(shí)鐘進(jìn) 行分頻的分頻數(shù) N。N 取值為 231。例如外部時(shí)鐘頻率為 2MHZ,PPPPP 被 置為 10100(N=20),則對(duì)輸入的外部時(shí)鐘 20 分頻,以獲得 8279 內(nèi)部要求 的 100KMZ 的基本頻率。 3、

37、讀 FIFO/傳感器 RAM 命令(表 3.6) 表 3.6 讀 FIFO/傳感器 RAM 命令格式 / 18 周口科技職業(yè)學(xué)院畢業(yè)生論文 D7 0 D6 1 D5 0 D4 AI D3 X D2 A D1 A D0 A 其中:D7D6D5 =010 為讀 FIFO/傳感器 RAM 命令特征位。該命令字只在傳 感器方式時(shí)使用。在 CPU 讀傳感器 RAM 之前,必須使用這條命令來(lái)設(shè)定傳 感器 RAM 中的 8 個(gè)地址(每個(gè)地址一個(gè)字節(jié))。 AAA(D2、D1、D0)為傳感器 RAM 中的八個(gè)字節(jié)地址。 AI(D4)為自動(dòng)增量特征位。當(dāng) AI=1 時(shí),每次讀出傳感器 RAM 后地 址自動(dòng)加 1

38、使地址指針指向下一個(gè)存儲(chǔ)單元。這樣,下一個(gè)數(shù)據(jù)便從下一個(gè) 地址讀出,而不必重新設(shè)置讀 FIFO/傳感器 RAM 命令。 在鍵盤(pán)工作方式中,由于讀出操做嚴(yán)格按照先入先出順序,因此,不需 使用此命令。 4、讀顯示 RAM 命令(表 3.7) 表 3.7 D7 0 D6 1 D5 1 讀顯示 RAM 命令格式 D4 AI D3 A D2 A D1 A D0 A 其中:D7D6D5 =011 為讀顯示 RAM 命令字的特征位。該命令用來(lái)設(shè)定將要 讀出的顯示 RAM 地址。 AAAA(D3、D2、D1、D0)用來(lái)尋址顯示 RAM 命令字的特征位。由位 顯示 RAM 中有 16 個(gè)字節(jié)單元故需要 4 位尋

39、址。 AI(D4)為自動(dòng)增量特征位。當(dāng) AI=1 時(shí),每次讀出后地址自動(dòng)加 1 指 向下一地址。 5、寫(xiě)顯示 RAM 命令(表 3.8) 表 3.8 寫(xiě)顯示 RAM 命令格式 19 周口科技職業(yè)學(xué)院畢業(yè)生論文 D7 1 D6 0 D5 0 D4 AI D3 A D2 A D1 A D0 A 其中:D7D6D5 =100 為寫(xiě)顯示 RAM 命令字的特征位。在寫(xiě)顯示器 RAM 之 前用該命令用來(lái)設(shè)定將要寫(xiě)入的顯示 RAM 地址。 AAAA(D3、D2、D1、D0)為將要寫(xiě)入的存儲(chǔ)單元地址。 AI(D4)為自動(dòng)增量特征位。當(dāng) AI=1 時(shí),每次寫(xiě)入后地址自動(dòng)加 1 指 向下一次寫(xiě)入地址。 6、顯示禁

40、止寫(xiě)入/消隱命令特征位(表 3.9) 表 3.9 D7 1 D6 0 D5 1 顯示禁止寫(xiě)入/消隱命令格式 顯示禁止寫(xiě)入/消隱命令格式 D4 X D3 IWA D2 IWB D1 BLA D0 BLB 其中:D7D6D5 =101 為顯示禁止寫(xiě)入/消隱命令特征位。 IW/A、IW/B(D3、D2)為 A、B 組顯示 RAM 寫(xiě)入屏蔽位。由于顯示 寄存器分成 A、B 兩組,可以單獨(dú)送數(shù),故用兩位來(lái)分別屏蔽。當(dāng) A 組的屏 蔽位 D3=1 時(shí),A 組的顯示 RAM 禁止寫(xiě)入。因此,從 CPU 寫(xiě)入顯示器 RAM 數(shù)據(jù)時(shí),不會(huì)影響 A 的顯示。這種情況通常在采用雙 4 位顯示器時(shí)使用。因 為兩個(gè)雙四

41、位顯示器是相互獨(dú)立的。為了給其中一個(gè)雙四位顯示器輸入數(shù)據(jù) 而又不影響另一個(gè)四位顯示器,因此必須對(duì)另一組的輸入實(shí)行屏蔽。 BL/A、BL/B(D1、D0)為消隱顯示位。用于對(duì)兩組顯示輸出消隱。若 BL=1 時(shí),對(duì)應(yīng)組的顯示輸出被消隱。當(dāng) BL=0 時(shí),則恢復(fù)顯示。 7、清除命令(表 3.10) 表 3.10 D7 1 D6 1 D5 0 D4 CD 清除命令格式 清除命令格式 D3 CD D2 CD D1 CF D0 CA 其中:D7D6D5 =110 清除命令特征位。 20 周口科技職業(yè)學(xué)院畢業(yè)生論文 CDCDCD(D4D3D2)用來(lái)設(shè)定清除顯示 RAM 方式,共有四種消除方式 (表 3.11

42、)。 表 3.11 D4 D3 D2 1 1 1 0 0 1 1 X 0 1 清除方式 將顯示 RAM 全部清零 將顯示 RAM 清成 20H(A 組=0010,B 組=0000) 將顯示 RAM 全部置 1 不清除(CA =0) D4D3D2 消除方式 X X CF(D1)用來(lái)置空 FIFO 存儲(chǔ)器,當(dāng)=1 時(shí),執(zhí)行清除命令后,F(xiàn)IFO RAM 被置空,使中斷輸出線復(fù)位。同時(shí),傳感器 RAM 的讀出地址也被置 0。 CA(D0)為總清的特征位。它兼有 CD 和 CF 的聯(lián)合效能。在 CD=1 時(shí), 對(duì)顯示的清除方式由 D3、D2 的編碼決定。 清除顯示 RAM 約需 160S。在此期間 FI

43、FO 狀態(tài)時(shí)的最高位 DU=1,表 示顯示無(wú)效。CPU 不能向顯示 RAM 寫(xiě)入數(shù)據(jù)。 8、結(jié)束中斷/錯(cuò)誤方式設(shè)置命令(表 3.12) 表 3.12 D7 1 D6 1 D5 1 結(jié)束中斷/ 結(jié)束中斷/錯(cuò)誤方式設(shè)置命令格式 D4 E D3 X D2 X D1 X D0 X 其中:D7D6D5 =111 為該命令的特征位。此命令有兩種不同的作用。 (1)作為結(jié)束中斷命令。在傳感器工作方式中使用。每當(dāng)傳感器狀態(tài)出現(xiàn) 變化時(shí),掃描檢測(cè)電路將其狀態(tài)寫(xiě)入傳感器 RAM,并啟動(dòng)中斷邏輯,使 IRQ 變高,向 CPU 請(qǐng)求中斷,并且禁止寫(xiě)入傳感器 RAM。此時(shí),若傳感器 RAM 讀出地址的自動(dòng)遞增特征沒(méi)有置

44、位(AI=0),則中斷請(qǐng)求 IRQ 在 CPU 第一 次從傳感器 RAM 讀出數(shù)據(jù)時(shí)就被清除。若自動(dòng)遞增特征已置位(AI=1), 則 CPU 對(duì)傳感器 RAM 的讀出并不能清除 IRQ,而必須通過(guò)給 8279 寫(xiě)入結(jié) 21 周口科技職業(yè)學(xué)院畢業(yè)生論文 束中斷/錯(cuò)誤方式設(shè)置命令才能使 IRQ 變低。 因此在傳感器工作方式中, 此命 令用來(lái)結(jié)束傳感器 RAM 的中斷請(qǐng)求。 (2)作為特定錯(cuò)誤方式設(shè)置命令。在 8279 已被設(shè)定為鍵盤(pán)掃描 N 鍵輪回 方式以后,如果 CPU 給 8279 又寫(xiě)入結(jié)束中斷/錯(cuò)誤方式設(shè)置命令(E=1), 則 8279 將以一種特定的錯(cuò)誤方式工作。這種方式的特點(diǎn)是:在 8

45、279 的消顫 周期內(nèi),如果發(fā)現(xiàn)多個(gè)按鍵同時(shí)按下,則 FIFO 狀態(tài)字中的錯(cuò)誤特征位 S/E 將置 1,并產(chǎn)生中斷請(qǐng)求信號(hào)和阻止寫(xiě)入 FIFO RAM。 上述八種用于確定 8279 操作方式的命令字皆由 D7D6D5 特征位確定, 輸入 8279 后能自動(dòng)尋址相應(yīng)的命令寄存器。 因此, 寫(xiě)入命令字時(shí)唯一的要求 是使數(shù)據(jù)選擇信號(hào) A0=1。 8279 只有一位地址線 A0, 那么當(dāng)然只可以尋址兩個(gè)寄存器。 實(shí)際上也是 如此的,當(dāng) A0=0 時(shí),尋址的為其內(nèi)部的數(shù)據(jù)寄存器;當(dāng) A0=1 時(shí),尋址的為 其內(nèi)部的控制寄存器。那么其控制命令有多種,單一的一個(gè)命令寄存器又是 何以分辨如此多的命令呢?如上面

46、所示,命令寄存器的八位中,高三位為命 令的分辨符。故若想輸入不同的命令,只需寫(xiě)入相應(yīng)的高三位數(shù)據(jù)即可。 開(kāi)始 清零寄存器 (命令字0xd1) 設(shè)置按鍵方式 (命令字0x03) 設(shè)置分頻 (命令字0x2a) 圖 3.4 8279 初始化 在本畢設(shè)中,應(yīng)該規(guī)定哪些命令呢?如流程圖 3.4 所示,對(duì) 8279 的初始 化供分為三步,即先后輸入三個(gè)命令。首先,我們要對(duì)芯片內(nèi)部的各寄存器 進(jìn)行類似于復(fù)位的清零操作,方便以后的使用;其次,由于本設(shè)計(jì)中 8279 22 周口科技職業(yè)學(xué)院畢業(yè)生論文 主管 22 各按鍵, 而按鍵按下時(shí)又有多種復(fù)雜的情況, 諸如同時(shí)有若干按鍵按 下等,我們要選擇此種情況的處理方式

47、;再者,由于 8279 對(duì)按鍵實(shí)際上是通 過(guò)掃描的方式確定有無(wú)按鍵按下,故我們還要設(shè)置好掃描的頻率等,由硬件 電路知道,8279 有一時(shí)鐘輸入引腳 CLK 接于單片機(jī)的 ALE 引腳上,在單片 機(jī)正常工作時(shí),ALE 引腳輸出的為晶振頻率六分之一的脈沖,這正是 8279 掃描的時(shí)鐘源,當(dāng)然,8279 的掃描頻率不可能達(dá)到單片機(jī)晶振的輸出頻率那 么高,其實(shí)際的最大掃描頻率為 100KH 左右,故我們需要一設(shè)置分頻命令。 那么這三個(gè)命令的命令字是如何得到的呢?參考上面命令字的格式可以 知道: (1)清除寄存器命令的高三位特征位應(yīng)該為 110,又由于我們是將顯示 RAM 全部清零, D4 到 D2 位

48、應(yīng)該選擇為 100, 故 由于對(duì)顯示 RAM 的清除方 式選擇由 D3 和 D2 控制,故要求其 D0 位為 1。故最終得到的命令字為 11010001,轉(zhuǎn)換為十六進(jìn)制即為 0xd1。 (2)設(shè)置按鍵方式中,其特征位的代碼為 000。由于未用到顯示功能,故 其對(duì)應(yīng)控制位 D4 與 D3 可以隨便設(shè)置,在此均設(shè)置為 00。至于按鍵工作方 式的選擇,我們只所以選擇內(nèi)部譯碼掃描鍵盤(pán) N 鍵依次讀出的方式,是結(jié)合 實(shí)際情況的結(jié)果。雙鍵互鎖的方法是當(dāng)鍵盤(pán)同時(shí)有兩個(gè)鍵按下時(shí),任何一個(gè) 鍵值均不能進(jìn)入 FIFO RAM 中,直至僅剩一個(gè)鍵保持閉合時(shí),該鍵值才能進(jìn) 入到 FIFO RAM 中。而 N 鍵依次讀

49、出方式,是 N 個(gè)鍵同時(shí)按下的保護(hù)方法。 當(dāng)有若干個(gè)鍵同時(shí)按下時(shí),在鍵盤(pán)的掃描過(guò)程中根據(jù)發(fā)現(xiàn)它們的先后順序進(jìn) 行識(shí)別,并以此將它們的狀態(tài)送入 FIFO RAM 中。對(duì)比我們可以發(fā)現(xiàn),現(xiàn)實(shí) 中偶爾會(huì)發(fā)生不同樓層會(huì)有不同人同時(shí)按下不同按鍵的情況發(fā)生,這時(shí)若選 擇雙鍵互鎖的方式, 則誰(shuí)的鍵值都不能傳達(dá)給內(nèi)部寄存器, 這是很不方便的, 故在此,我們選擇了 N 鍵依次讀出的方式。對(duì)于市內(nèi)部譯碼還是外部編碼的 掃描方式,我們也可以根據(jù)其特點(diǎn)進(jìn)行選擇:編碼方式,也稱為外部譯碼方 式,計(jì)數(shù)器以二進(jìn)制方式計(jì)數(shù),4 位計(jì)數(shù)狀態(tài)從掃描線 SL0SL3 輸出,經(jīng)外 部譯碼器譯出 16 位掃描線,為鍵盤(pán)和顯示器提供 1

50、6 取 1 的掃描線。而譯碼 23 周口科技職業(yè)學(xué)院畢業(yè)生論文 方式,也稱為內(nèi)部譯碼方式,掃描計(jì)數(shù)器的低 2 位經(jīng)內(nèi)部譯碼后從 SL0SL3 輸出,故此時(shí)提供了 4 取 1 的掃描譯碼。由電路圖我們可以看出,實(shí)際上我 們僅僅用到了 SL0SL3 中的前三根線(因?yàn)榘存I不是太多,三乘八的矩陣鍵 盤(pán)已足夠使用),故四取一得譯碼方式便成為了我們的首選,其對(duì)應(yīng)代碼為 D2D1D0=011。最終我們得到完整的命令符為 0000 0011,也即十六進(jìn)制中的 0x03。 (3)設(shè)置分頻命令字。其對(duì)應(yīng)特征位為 001.由于電路板上,單片機(jī)的晶振 為 6MHz,ALE 腳輸出的脈沖頻率為晶振的六分之一,即 1M

51、Hz,而 8279 的 基本頻率為 100KHz, 故我們?cè)O(shè)置的分頻系數(shù)應(yīng)該為 1M/100K=10 (十進(jìn)制) , 對(duì)應(yīng)的二進(jìn)制為 01010。最后可得完整二進(jìn)制與十六進(jìn)制命令碼分別為 00101010 和 0x2a。 第四章 4.1 引言 從程序功能上來(lái)分, 本設(shè)計(jì)的高層軟件程序大概可以分為以下幾類: 一、 運(yùn)行與決策函數(shù);二、中斷處理函數(shù);三、置位各狀態(tài)變量函數(shù);四、清除 各狀態(tài)變量函數(shù)。 其中,第一類函數(shù)起作用于按鍵按下的時(shí)刻,當(dāng)有按鍵按下時(shí),8279 芯 片會(huì)采集到鍵盤(pán)的鍵值,并以中斷的方式發(fā)送給單片機(jī),此時(shí),單片機(jī)即對(duì) 程序中所用到的各個(gè)狀態(tài)變量進(jìn)行置位并且通過(guò) 82C55 點(diǎn)亮相

52、關(guān)發(fā)光二極 管,如置位按鍵所對(duì)應(yīng)的去向變量等,方便決策函數(shù)使用。第二類函數(shù)的功 能恰好與第一類相反,這類函數(shù)起作用于電梯到達(dá)目標(biāo)樓層時(shí),這時(shí)函數(shù)負(fù) 責(zé)把相關(guān)發(fā)光二極管熄滅,并且及時(shí)清除相關(guān)狀態(tài)位,以免影響判別函數(shù)作 出正確判斷。第三類函數(shù)是程序的核心。它直接負(fù)責(zé)管理電梯下一次所要到 達(dá)的樓層,并且要基于短時(shí)間、高效率、人性化等原則。每當(dāng)電梯經(jīng)過(guò)一樓 層時(shí),此函數(shù)即會(huì)被調(diào)用,然后返回一個(gè)變量名為 aim 的值,它即為下一個(gè) 系統(tǒng)的高層軟件設(shè)計(jì) 24 周口科技職業(yè)學(xué)院畢業(yè)生論文 電梯要停留的目標(biāo)樓層值。 而從程序的層次上來(lái)分,又可分為位于最底層的芯片內(nèi)部寄存器操作的 基層程序和位于上層的應(yīng)用程序,

53、故本章以此為順序,先介紹基層函數(shù)的實(shí) 現(xiàn),繼而詳細(xì)介紹各高層的應(yīng)用函數(shù)。 4.2 單片機(jī)中斷處理函數(shù) 本設(shè)計(jì)主要用到了單片機(jī)的中斷系統(tǒng)。 8279 掃描到有按鍵按下時(shí), 當(dāng) 便 會(huì)將鍵值存儲(chǔ)起來(lái),并在 IRQ 引腳輸出高電平發(fā)出中斷,通知單片機(jī)進(jìn)行相 關(guān)處理。在此詳細(xì)介紹下中斷的相關(guān)設(shè)置以及中斷處理中都進(jìn)行了哪些操作 (如圖 4.1 所示)。 讀取鍵值 分析鍵值來(lái)源 點(diǎn)亮相應(yīng)發(fā)光 二極管 置位相應(yīng)狀態(tài) 變量 中斷處理中的相關(guān)操作 電梯所處狀態(tài)的分類與判定 這是整個(gè)程序成功運(yùn)行的核心保證。在電梯經(jīng)過(guò)一個(gè)樓層時(shí),就會(huì)自動(dòng) 調(diào)用該函數(shù),它的作用是基于短時(shí)間、高效率、人性化的基礎(chǔ)上,合理智能 的對(duì)電梯

54、的運(yùn)行進(jìn)行調(diào)度,結(jié)合實(shí)際情況,最終得出電梯下一個(gè)目標(biāo)停留樓 層。其流程如圖 4.2 所示。 25 周口科技職業(yè)學(xué)院畢業(yè)生論文 開(kāi)始 按鍵標(biāo)識(shí) 全為0? 否 是 電梯不 再運(yùn)行 電梯向 上運(yùn)行 電梯向 下運(yùn)行 電梯上 樓接人 電梯上 樓送人 電梯下 樓接人 電梯下 樓送人 相關(guān)處理1 相關(guān)處理2 相關(guān)處理3 相關(guān)處理4 圖 4.2 電梯判決流程圖 由圖可知,程序中將實(shí)際情況分為四種情況來(lái)判斷:電梯上行且是去送 人(即電梯此時(shí)位于底層,而高層有人呼叫要上樓)、電梯上行且是去接人 (即電梯此時(shí)位于底層, 而高層有人呼叫要下樓) 電梯下行且是去送人 、 (即 電梯此時(shí)位于高層,而低層有人呼叫要下樓)、

55、電梯下行且是去接人(即電 梯此時(shí)位于高層,而低層有人呼叫要上樓)。 而這四種情況,也就包含了實(shí)際電梯中的絕大部分情況。情況不同,分 析的方法也當(dāng)然不一樣。這個(gè)稍后會(huì)有詳細(xì)介紹,而首先,我們要了解電梯 是如何得知此時(shí)它是上面四種的哪一種情況的呢? 這可以分為兩個(gè)步驟:第一判斷電梯是上行還是下行;第二,判斷是去 接人還是去送人。當(dāng)然,第一個(gè)是最好判斷的,因?yàn)殡娞菰谶\(yùn)行時(shí),有兩個(gè) 與樓層有關(guān)的變量,一個(gè)為當(dāng)前所在樓層值 present,一個(gè)為目標(biāo)樓層值 aim, 當(dāng)電梯運(yùn)行時(shí),會(huì)讓這兩個(gè)值進(jìn)行比較,若前者大于后者,就為下行,從而 26 周口科技職業(yè)學(xué)院畢業(yè)生論文 27 周口科技職業(yè)學(xué)院畢業(yè)生論文 簡(jiǎn)單地說(shuō),若電梯處于上行狀態(tài),則在該過(guò)程中響應(yīng)不同顧客的優(yōu)先級(jí) (或者電梯響應(yīng)的先后順序)為:高層呼叫上行顧客>高層呼叫下行顧客>底 層呼叫下行顧客>底層呼叫上行顧客。 那么,當(dāng)電梯通過(guò)程序運(yùn)行得知到相應(yīng)狀態(tài)后,又是如何具體的判斷當(dāng) 天所鎖定的目標(biāo)樓層是否要變更呢?現(xiàn)以上行為例,加以詳細(xì)說(shuō)明: 若上行,且是送人,比如電梯當(dāng)前在二層,七樓有人呼叫上樓,那么它 就要響應(yīng)這一呼叫,從而把自己的目標(biāo)樓層鎖定為七樓并向上運(yùn)行,而在七 樓呼叫后不久,六樓也有人呼叫上樓(且電梯此刻還未運(yùn)行到六樓),那

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論