從業(yè)將近十年!手把手教你單片機程序框架 第24講:
開場白:
前面三節(jié)講了獨立按鍵控制跑馬燈的各種狀態(tài),這一節(jié)我們要做一個機械手控制程序,這個機械手可以左右移動,最左邊有一個開關感應器,最右邊也有一個開關感應器。它也可以上下移動,最下面有一個開關感應器。左右移動是通過一個氣缸控制,上下移動也是通過一個氣缸控制。而單片機控制氣缸,本質(zhì)上是通過三極管把信號放大,然后控制氣缸上的電磁閥。這個系統(tǒng)機械手驅動部分的輸出和輸入信號如下:
2個輸出IO口,分別控制2個氣缸。對于左右移動的氣缸,當IO口為0時往左邊跑,當IO口為1時往右邊跑。對于上下移動的氣缸,當IO口為0時往上邊跑,當IO口為1時往下邊跑。
3個輸入IO口,分別檢測3個開關感應器。感應器沒有被觸發(fā)時,IO口檢測為高電平1。被觸發(fā)時,IO口檢測為低電平0。
這一節(jié)繼續(xù)要教會大家兩個知識點:
第一點:如何用軟件進行開關感應器的抗干擾處理。
第二點:如何用Switch語句搭建工業(yè)自動控制的程序框架。還是那句話,我們只要以Switch語句為支點,再復雜再繁瑣的程序都可以輕松地編寫出來。
具體內(nèi)容,請看源代碼講解。
(1)硬件平臺:基于朱兆祺51單片機學習板。用矩陣鍵盤中的S1鍵作為啟動獨立按鍵,用S5按鍵模擬左邊的開關感應器,用S9按鍵模擬右邊的開關感應器,用S13按鍵模擬下邊的開關感應器。記得把輸出線P0.4一直輸出低電平,模擬獨立按鍵的觸發(fā)地GND。
(2)實現(xiàn)功能:
開機默認機械手在左上方的原點位置。按下啟動按鍵后,機械手從左邊開始往右邊移動,當機械手移動到最右邊時,機械手馬上開始往下移動,最后機械手移動到最右下角的位置時,延時1秒,然后原路返回,一直返回到左上角的原點位置。注意:啟動按鍵必須等機械手處于左上角原點位置時,啟動按鍵的觸發(fā)才有效。
(3)源代碼講解如下:
總結陳詞:
前面花了很多節(jié)內(nèi)容在講按鍵和跑馬燈的關系,但是一直沒涉及到人機界面,在大多數(shù)的實際項目中,人機界面是必不可少的。人機界面的程序框架該怎么樣寫?欲知詳情,請聽下回分解-----在主函數(shù)while循環(huán)中驅動數(shù)碼管的動態(tài)掃描程序。