在數(shù)電課程設(shè)計里挑選簡易自動售貨機,這可是個有著實踐性與趣味性的項目,選取它以后,能讓你把于課堂之中學(xué)到的有關(guān)數(shù)字邏輯、狀態(tài)機等那樣的理論知識,轉(zhuǎn)化成可以運行、能夠交互的實體系統(tǒng),不僅如此,這更是進(jìn)行知識鞏固的很棒方式,還是你朝著更復(fù)雜嵌入式系統(tǒng)開發(fā)邁進(jìn)的首個臺階,整個這一過程會針對核心邏輯設(shè)計、硬件模塊選型以及系統(tǒng)整合調(diào)試等好多關(guān)鍵環(huán)節(jié)。

如何用狀態(tài)機設(shè)計自動售貨機的核心邏輯

用于自動售貨的機器,其最為關(guān)鍵的“大腦”部分是一種狀態(tài)機,通過其來決定自動售貨機于不同輸入狀況之下的行為表現(xiàn)以及狀態(tài)的轉(zhuǎn)變情況,比如說,在如投幣這種輸入時的相應(yīng)變化 。針對有著售賣價值為10分錢飲料功能且能接受5分和10分硬幣的簡易系統(tǒng)而言 。這兒定義好三個核心狀態(tài),這兒定義好三個核心狀態(tài),分別是S0(其代表0分)、接下來是S1(其代表5分)、然后是S2(其代表10分)的樣子。再說這個系統(tǒng)的初始狀態(tài)是S0的情形。當(dāng)投入一枚價值5分的硬幣,對應(yīng)的狀態(tài)就會從S0跳轉(zhuǎn)變化至S1;在處于S1狀態(tài)的時候要是再投入一枚5分硬幣,那就會跳轉(zhuǎn)至出貨狀態(tài)S2。要是直接投入10分硬幣,那狀態(tài)便從S0直接到達(dá)S2。在Verilog等硬件描述語言里頭,乃是借由case語句針對cur_state(當(dāng)前狀態(tài))予以判斷,并且聯(lián)合輸入信號,以此來確定next_state(下一個狀態(tài))以及是不是輸出貨物和找零了。如此這般清晰的狀態(tài)轉(zhuǎn)移圖是后續(xù)所有硬件實現(xiàn)的根基。

自動售貨機需要哪些基礎(chǔ)硬件模塊

一旦明確了邏輯,那就得搭建提供依托的硬件載體了。有關(guān)某一極為基礎(chǔ)的簡易售貨機系統(tǒng),一般涵蓋若干模塊。首先,你得擁有一個。主控單元,身為總指揮。常見之方案涵蓋經(jīng)典的AT89C51單片機,又或是功能更為強大的STM32系列ARM芯片。其次,。輸入模塊專門用于接收用戶下達(dá)的指令,舉例來說像4×4矩陣鍵盤能夠被用來挑選商品以及模擬投幣 。顯示模塊接下來是用于反饋信息的部分,其中,LCD1602液晶屏能夠?qū)崟r顯示諸如商品金額、投幣數(shù)量這類狀態(tài)。最終,也是達(dá)成自動化的關(guān)鍵一項——。執(zhí)行機構(gòu)通常會采用小型的減速電機,以此來控制貨道進(jìn)行轉(zhuǎn)動,進(jìn)而實現(xiàn)出貨這一操作。為了能夠驅(qū)動電機,并且接收其傳送過來的到位信號,在電路設(shè)計的過程當(dāng)中,常常會用到74HC595,也就是串行輸入并行輸出的那種移位寄存器,以及74HC165,即并行輸入串行輸出的此類移位寄存器,去擴展控制引腳。

數(shù)電課設(shè)簡易自動售貨機_數(shù)電課程設(shè)計簡易自動售機_簡易自動售貨機課程設(shè)計

如何將邏輯電路與硬件系統(tǒng)進(jìn)行整合調(diào)試

在核心邏輯也就是狀態(tài)機以及硬件模塊均被準(zhǔn)備完畢之后,系統(tǒng)整合以及調(diào)試乃是成功的關(guān)鍵所在。你得把編寫好的狀態(tài)機代碼像是Verilog代碼那般,下載到主控芯片里頭去。接著,借助杜邦線或者焊接好的PCB板,把主控芯片的輸入輸出端口跟鍵盤、顯示屏、電機驅(qū)動電路等模塊恰當(dāng)?shù)剡B接起來。等到上電之后,從最為簡單的功能著手去測試:按下選擇鍵,看屏幕顯示是不是正確的;模擬投幣,瞧瞧狀態(tài)指示燈是不是按照預(yù)期發(fā)生變化;到達(dá)金額之后,瞅瞅電機是不是被觸發(fā)從而轉(zhuǎn)動起來。這個過程或許得反復(fù)核查代碼邏輯以及硬件連接,還要運用示波器或者邏輯分析儀去觀測關(guān)鍵信號。有個實用的提議是,于軟件里添加詳盡的調(diào)試信息輸出,如此便能極大地助力你確定問題究竟是出在邏輯判斷方面、硬件驅(qū)動方面還是信號傳輸方面。

簡易自動售貨機如何加入現(xiàn)代聯(lián)網(wǎng)與支付創(chuàng)意

基礎(chǔ)功能達(dá)成隨后,可以為之盡己所能嘗試給你的售貨機增添些許現(xiàn)代化創(chuàng)意,使之別具一格,嶄露頭角。比如說,可以將聯(lián)網(wǎng)功能引入進(jìn)來。以工業(yè)方案作為借鑒,借助增加一個Wi-Fi或者4G通信模組(就像涂鴉智能的LZ201模組那般),促使你的單片機能夠與互聯(lián)網(wǎng)相連接。如此一來,你便能夠于手機上遠(yuǎn)程去查詢庫存,或者達(dá)成掃碼支付功能——于本地生成一個支付二維碼,用戶掃碼之后,云端服務(wù)器會把支付成功信號下達(dá)到你的售貨機主控板,進(jìn)而觸發(fā)出貨 。添入這般創(chuàng)意,可使你那課程設(shè)計,從僅為完成作業(yè),進(jìn)階至成為具備實用價值的原型產(chǎn)品 。

在你進(jìn)行設(shè)計期間,致使你認(rèn)為極其難以處理調(diào)試之事的環(huán)節(jié),究竟是核心位置的狀態(tài)機所具備的邏輯,還是各類傳感器以及電機等那些外部硬件的驅(qū)動以及協(xié)同開展工作這個過程,歡迎于評論區(qū)域分享你在調(diào)試方面遭遇的經(jīng)歷以及內(nèi)心誕生的心得倘若你覺得這篇文章對你是有幫助作用的,那么也請你給予點贊操作并以示支持一下。 。

轉(zhuǎn)載請注明:文章轉(zhuǎn)載自 www.cangshiwang.com