12.1電梯控制器——文檔記錄

《數字邏輯》實驗報告

實驗名稱

項目三 電梯控制器設計

一、實驗目的

??? 設計一個多樓層的電梯控制器系統,并能在開發板上模擬電梯運行狀態。可以利用按鍵作為呼叫按鍵,數碼管顯示電梯運行時電梯所在樓層,led燈顯示樓層叫梯狀態。

二、實驗項目內容

本項目設計并完成了1.電梯的模擬邏輯控制

2.將電梯的運行狀態顯示在數碼管上,包含電梯此時的運行狀態(上升、下降與暫停)與當前電梯所處樓層;以及LED燈顯示樓層叫梯狀態

三、實驗設計

參考信息樓電梯設計,電梯由內部與外部控制信號驅動,外部控制信號包含上升與下降,本設計中額外增添停止按鈕;內部控制信號包含電梯的具體目標樓層。

故取四位撥碼開關模擬目的地為不同樓層的信號,由此模擬為高度為4樓的電梯控制器;取三位按鍵模擬控制電梯上升、下降與暫停運行狀態的按鍵;其中模擬按鍵需要進行消抖處理。

狀態轉移圖為:

s,u,d分別代表此時電梯

四、實驗過程或算法(關鍵步驟、核心代碼注解等)

文件結構

頂層文件串聯起對應的模塊,消抖模塊用于消除按鍵抖動,lift模塊用于實現電梯的運行狀態轉換與樓層移動,并輸出電梯此時的運行狀態;show模塊在數碼管中顯示電梯此時運行狀態。

頂層文件:

Key表示三個控制電梯運行狀態的信號,自高到低位分別為up,down與stop,通過消抖模塊消抖后傳入電梯模擬模塊中;floor_call表示4個不同樓層里的叫樓情況,若呼叫電梯(或目的地為該樓),則相應位上的信號為1.并直接在led燈上顯示出來。

按鍵消抖模塊:

思路為設置多個信號記錄按鍵的輸入信號,如果在一定的時間內,檢測到信號都相同,那么就可以認為按鍵在這一段時間內保持穩定,也就是穩定,認為可以使用此時記錄的信號

信號聲明:clk為系統時鐘,rst為復位信號,call與call_real分別代表實際按鍵輸入的信號以及最后輸出的認為是按鍵穩定后的信號

此部分負責分頻,產生一些短暫的延遲,在這些延遲后進行取樣。

此部分設置三個寄存器,用來連續記錄,目的就是實現檢測輸入的值是否穩定

最后輸出就是,如果三個寄存器寄存的值都相同,那么就可以認為按鍵已經穩定

模擬電梯模塊:

信號聲明:

Clk為時鐘信號,reset為復位信號,up,down,stop為電梯控制信號;狀態聲明中,s表示電梯此時運行狀態為停止,u表示此時狀態為上升,d表示此時狀態為下降(之所以設置為4位是與floor信號統一,為了方便后續數碼管顯示此時電梯運行狀態),floor為位寬為4的信號,采用獨熱編碼,只保留1位為1,表示電梯此時停留在相應位的樓層上。

分頻,模擬電梯實際運行速度。

判斷是否可上行或下行。

電梯狀態轉移邏輯:

即復位時調回停止狀態;處于停止狀態時,根據控制使能信號進行狀態變化;處于上升狀態時,若當前樓層被呼叫,則進入停止狀態,直到相應位上撥碼開關關閉,即停止繼續呼叫該層才會繼續電梯移動,當到達最高層且該層無人呼叫時,則自動進入下降狀態,回到第一層的位置;處于下降狀態時與上升狀態時基本一致,只是當處于最底層(1樓)時,不再進入上升狀態,而是保持停止。

樓層轉移邏輯:

在dclk分頻時鐘上升沿觸發,即經歷一段時間后改變樓層狀態;復位時,回歸第一樓;移動取決于電梯此時運行狀態,采用移位的方式進行操作,可以保持floor寄存器中始終存在一位1。

Show模塊:

五、實驗過程中遇到的問題及解決情況(主要問題及解決情況)

如何完成電梯控制的邏輯設計?

解決情況:完全解決。

如何在數碼管中顯示電梯此時的運行狀態(包含運行狀況與當前樓層)?

解決情況:完全解決。

如何讓電梯在閑置時自動進入最底層待機?

解決情況:完全解決。

六、實驗結果及分析和(或)源程序調試過程

生成電路圖為:

最終實現效果為,

圖示為呼叫樓層(或目的)樓層為3樓與4樓,此時電梯運行狀態為U即向上UP,當到達三樓時保持S停止狀態,直至三樓的撥碼關閉并控制電梯繼續向上才會運動。

R2為復位開關, V17~W17從左至右為叫樓(或目的地)樓層信號;數碼管最左側顯示當前電梯運行狀況,為D(0)時,表示為DOWN,即下降,為U時,表示為UP,為S(5)時,表示為STOP;最右側顯示為當前電梯所在樓層。按鈕自上至下表示為UP,STOP,DOWN等控制信號。

當電梯到達所在樓層后,需要將該樓層的撥碼開關關閉,以停止對該樓層的持續呼叫;之后按按鈕對電梯進行繼續控制,當達到最高層后自動進入下降狀態,若無繼續呼叫,則最終停留在最底層。

樓層間的轉換大約需要1~2秒。

七、小組分工情況說明

本實驗全部由賈軻20220669完成

?????????????????????????????????????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211208.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211208.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211208.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

太良心了!微軟面向初學者,開源機器學習、數據科學、AI、LLM

大家好,推薦幾個質量上乘且完全免費的微軟開源課程,由粉絲小伙伴梳理,分享給大家。 文末可以加我們粉絲群 面向初學者的機器學習課程 ML for beginners banner 地址:https://microsoft.github.io/ML-For-Beginners/#/ 學習經典…

[Linux] Web基礎知識與http協議

一、HTML 1.1 HTML 的概念 HTML被稱為超文本標記語言。 它是規范和標準. 它通過標記符號來標記網頁中出現的各個部分。網頁文件本身就是一種文本文件。 通過向文本文件添加標記,您可以告訴瀏覽器如何顯示其中的內容。 HTML命令可以描述文本、圖形、動畫、聲音、表格…

講解把一個文件夾里面的內容復制到另一個文件夾中的操作

🎊專欄【Java小練習】 🍔喜歡的詩句:天行健,君子以自強不息。 🎆音樂分享【如愿】 🎄歡迎并且感謝大家指出小吉的問題🥰 文章目錄 🍔需求?思路?代碼?效果 🎄如果要復制…

Vue3:表格單元格內容由:圖標+具體內容 構成

一、背景 在Vue3項目中,想讓單元格的內容是由 :圖標具體內容組成的,類似以下效果: 二、圖標 Element-Plus 可以在Element-Plus里面找是否有符合需求的圖標iconfont 如果Element-Plus里面沒有符合需求的,也可以在這…

MySQL 數據庫操作指南:LIMIT,OFFSET 和 JOIN 的使用

限制結果 您可以通過使用"LIMIT"語句來限制查詢返回的記錄數量。以下是一個示例,獲取您自己的Python服務器中"customers"表中的前5條記錄: import mysql.connectormydb mysql.connector.connect(host"localhost",user&…

Proteus仿真--基于NM24C08的EEPROM仿真設計

本文介紹基于NM24C08的EEPROM仿真設計(完整仿真源文件及代碼見文末鏈接) 其中NM24C08是標準的2線總線接口的串行EEPROM,開機畫面在LCD12864上顯示 仿真圖如下 仿真運行視頻 Proteus仿真--基于NM24C08的EEPROM仿真設計 附完整Proteus仿真資料…

零一萬物模型折騰筆記:官方 Yi-34B 模型基礎使用

當爭議和流量都消失后,或許現在是個合適的時間點,來拋開情緒、客觀的聊聊這個 34B 模型本身,尤其是實踐應用相關的一些細節。來近距離看看這個模型在各種實際使用場景中的真實表現和對硬件的性能要求。 或許,這會對也想在本地私有…

Docker本地部署Drupal內容管理框架并實現公網遠程訪問

文章目錄 前言1. Docker安裝Drupal2. 本地局域網訪問3 . Linux 安裝cpolar4. 配置Drupal公網訪問地址5. 公網遠程訪問Drupal6. 固定Drupal 公網地址7. 結語 前言 Dupal是一個強大的CMS,適用于各種不同的網站項目,從小型個人博客到大型企業級門戶網站。它…

bat腳本之findstr

findstr 是 Windows 操作系統中用于文本搜索的命令,它可以在文件中查找指定的字符串或正則表達式,并輸出匹配的行或行號。findstr 命令可以在命令提示符下直接使用,也可以在批處理腳本中嵌套使用。 以下是 findstr 命令的基本語法&#xff1…

使用條件格式突出顯示單元格數據-sdk

使用條件格式突出顯示單元格數據 2023 年 12 月 6 日 根據數據值將視覺提示應用于特定單元格、行或列,從而更輕松地識別模式和趨勢。 網格中的條件格式允許用戶根據單元格或范圍包含的數據將視覺樣式應用于單元格或范圍。它通過以數據驅動的方式突出顯示關鍵值、異常…

【基于Python的二手車數據可視化平臺的設計與實現】

基于Python的二手車數據可視化平臺的設計與實現 前言數據獲取與處理網絡爬蟲數據存儲 可視化平臺的設計與實現Flask框架數據可視化 創新點結語 前言 隨著社會的不斷發展,二手車市場也逐漸成為一個備受關注的領域。為了更好地為二手車的買家和賣家提供信息&#xff…

Python 實現全連接攻擊-1

實現或討論如何實現網絡攻擊,包括全連接攻擊(一種形式的拒絕服務攻擊),是不合適的,也違反了倫理和法律規定。無論是學術研究、安全測試還是其他目的,未經授權對網絡或系統進行攻擊都是非法和不道德的。 如…

計算和傳輸背后的時空觀

吞吐和速度(率)經常被混淆,當提到 100Gbps 網卡時,“它很快” 的意義可能只是 “它很多” 100Gbps 指 1s 內發送的比特數為 100G,如果在這 1s 內塞入更多比特,以下是兩種方式: 顯然,上面是更多&#xff…

安全防御–

安全防御 ASPF技術## FTP協議主機之間傳輸文件是IP網絡的一個重要功能,如今人們可以方便地使用網頁、郵箱進行文件傳輸。然而在互聯網早期,Web(World Wide Web,萬維網)還未出現,操作系統使用命令行的時代&a…

iOS分段控件UISegmentedControl使用

在故事板中添加UISegmentedControl 具體添加步聚如下: 選擇Xcode的View菜單下的Show Library (或者Shift+Common+L) 打開控件庫如下 在控件庫中輸入seg搜索控件,在出現Segmented Control后,將其拖到View Controller Scene中 到這里,添加分段控件UI已完成, 接下來將控件與變量…

shell的變量

Linux 系統中 shell 變量的使用 文章目錄 (1)簡介(2)變量分類(3)變量賦值(4)變量命名(5)變量引用(6)變量清除(7&#xff0…

基于JavaWeb+SSM+Vue馬拉松報名系統微信小程序的設計和實現

基于JavaWebSSMVue馬拉松報名系統微信小程序的設計和實現 源碼獲取入口Lun文目錄前言主要技術系統設計功能截圖訂閱經典源碼專欄Java項目精品實戰案例《500套》 源碼獲取 源碼獲取入口 Lun文目錄 1系統概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系統設計思想 1 2相關技術 2 2.…

WPF仿網易云搭建筆記(0):項目搭建

文章目錄 前言項目地址項目Nuget包搭建項目初始化項目架構App.xaml引入MateralDesign資源包 項目初步分析將標題欄去掉DockPanel初步布局 資源字典舉例 結尾 前言 最近在找工作,發現沒有任何的WPF可以拿的出手的工作經驗,打算仿照網易云搭建一個WPF版本…

Numpy 實現基尼指數算法的決策樹

基尼系數實現決策樹 基尼指數 Gini ? ( D ) 1 ? ∑ k 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 \operatorname{Gini}(D)1-\sum_{k1}^{K}\left(\frac{\left|C_{k}\right|}{|D|}\right)^{2} Gini(D)1?k1∑K?(∣D∣∣Ck?∣?)2 特征 A A A條件下集合 D D D的基尼指數: Gi…

使用ssm框架進行mapper或者service單純測試時報錯問題處理

問題 使用注解方式配置好ssm后,無法在測試中單獨測試mapper層和service層。效果如下: 解決 關閉配置類中的EnableWebMvc 再次運行,即可完成測試。