實(shí)驗(yàn)環(huán)境
Matlab版本 :2021b
操作系統(tǒng) :Win10專業(yè)版
模型與原理圖
本次實(shí)驗(yàn)所用到的Simulink模型如圖5.1所示,實(shí)驗(yàn)現(xiàn)象: 按鍵按下、松開LED循環(huán)實(shí)現(xiàn)翻轉(zhuǎn)亮滅效果,當(dāng)按鍵按下時(shí),產(chǎn)生下降沿脈沖,通過一個(gè)計(jì)數(shù)器對(duì)下降沿脈沖進(jìn)行0~1循環(huán)計(jì)數(shù),計(jì)數(shù)到最大值時(shí)產(chǎn)生輸出信號(hào),輸出信號(hào)為0時(shí),控制LED熄滅,輸出值為1時(shí),控制LED點(diǎn)亮。
按鍵電路采用對(duì)電源負(fù)極方式連接,按鍵松開狀態(tài)為高電平H,即邏輯1,按鍵按下狀態(tài)為低電平L,即邏輯0。
圖5.1 按鍵控制LED亮滅simulink模型
圖5.2 按鍵控制LED亮滅原理圖
圖5.3 按鍵在開發(fā)板中的位置
基礎(chǔ)模型介紹與分析
"Digital Read"模型與設(shè)置為STM32專用讀取I/O端口數(shù)據(jù)模型,更改“Pin:”編號(hào)可使其與STM32引腳對(duì)應(yīng)到芯片端口,“Sample time:”采樣時(shí)間設(shè)置為-1時(shí)表示采樣時(shí)間跟隨系統(tǒng)基礎(chǔ)采樣時(shí)間,如圖5.4所示。
圖5.4 "Digital Read"模型與參數(shù)設(shè)置
Count Up”計(jì)數(shù)器模型如圖5.5所示,此處“Count event”欄將其設(shè)置為"Falling edge"(下降沿)計(jì)數(shù)方式(單片機(jī)按鍵需保持為上拉輸入),"Counter size"(計(jì)數(shù)大小)采用“User defined”(自定義)方式,“Maximum count”設(shè)置為1,“Output”設(shè)置為“Hit”方式,去掉“Reset input”勾選項(xiàng)。“Switch”模型保持默認(rèn)設(shè)置,然后分別將其他兩個(gè)輸入端口與“Constant”模型連接,如圖5.6所示。
圖5.5 “Count Up”模型設(shè)置
圖5.6 "Switch"模型
注意此處設(shè)置比較關(guān)鍵,我們需要在“配置”參數(shù)中將“求解器->求解器選擇”欄中的“類型”設(shè)置為“定步長(zhǎng)”,“求解器”設(shè)置為“離散(無連續(xù)狀態(tài))”,將“求解器詳細(xì)信息”欄中的“固定步長(zhǎng)(基礎(chǔ)采樣時(shí)間)”設(shè)置為0.1,即0.1s,最終設(shè)置好的效果如圖5.7所示。至于為什么要這樣設(shè)置,在后面我們會(huì)對(duì)它做一個(gè)簡(jiǎn)單的對(duì)比分析,不然整個(gè)模型運(yùn)行的會(huì)非常緩慢。
圖5.7 “基礎(chǔ)采樣時(shí)間”設(shè)置
總結(jié)
本實(shí)驗(yàn)中只使用了兩個(gè)基本模型“Count Up”和“Switch”模型實(shí)現(xiàn)按鍵控制LED反轉(zhuǎn),當(dāng)然其中的"Switch"模型去掉也可以實(shí)現(xiàn)同樣的效果,讀者朋友還可以嘗試使用其它模型搭建實(shí)現(xiàn)同樣效果。
讀者朋友可以思考下我們以往使用傳統(tǒng)方式開發(fā)單片機(jī)按鍵輸入程序時(shí)如果不使用簡(jiǎn)單的濾波算法,那么按鍵按下和松開瞬間由于按鍵的彈跳特性,會(huì)出現(xiàn)多次按下或松開狀況,但是在本次實(shí)驗(yàn)中并沒有看到這類濾波?另外以往我們一般使用狀態(tài)機(jī)方式讀取按鍵值,simulink中狀態(tài)機(jī)又該如何使用呢?大家可以嘗試使用stateflow狀態(tài)機(jī)方式去實(shí)現(xiàn)下。
拓展延申
在前面我們有提到采樣時(shí)間設(shè)置的問題,這里簡(jiǎn)單的分析下不同采樣時(shí)間下的按鍵波形,模型如圖5.9所示,在“配置參數(shù)->求解器->求解器詳細(xì)信息->固定步長(zhǎng)(基礎(chǔ)采樣時(shí)間)”中將時(shí)間設(shè)置為0.01秒,如圖5.10所示。
圖5.9 按鍵波形測(cè)試模型
圖5.10 0.01s采樣時(shí)間設(shè)置
單擊線條上方會(huì)出現(xiàn)三個(gè)小點(diǎn)“...”點(diǎn)擊小點(diǎn)會(huì)出現(xiàn)如圖5.11所示信號(hào)標(biāo)識(shí),單擊該信號(hào)會(huì)出現(xiàn)在線條上方,如圖5.12所示,此時(shí)我們需要點(diǎn)擊“Monitor & Tune”進(jìn)入硬件在環(huán)模式,然后點(diǎn)擊“數(shù)據(jù)查看器”按鈕如圖5.13所示,彈出的信號(hào)查看器窗口如圖5.14所示,勾選上左側(cè)需要監(jiān)控的信號(hào),當(dāng)按鍵按下時(shí)就會(huì)顯示相應(yīng)的實(shí)際波形。
圖5.11 信號(hào)記錄操作方式
圖5.12 在環(huán)模式下監(jiān)控?cái)?shù)據(jù)
圖5.12 0.01基礎(chǔ)采樣時(shí)間下按鍵輸入波形
-
led
+關(guān)注
關(guān)注
242文章
23252瀏覽量
660558 -
原理圖
+關(guān)注
關(guān)注
1297文章
6338瀏覽量
233798 -
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355728 -
Simulink
+關(guān)注
關(guān)注
22文章
533瀏覽量
62378 -
按鍵電路
+關(guān)注
關(guān)注
1文章
35瀏覽量
21770
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論