91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用按鈕依次切換8個輸出且可控制輸出通道

冬至子 ? 來源:呆萌的長頸鹿 ? 作者:三十而惑 ? 2023-12-04 15:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本案例使用按鈕依次切換8個輸出且可控制輸出通道,比如控制指示燈,可以輸入序號來點亮該序號指示燈,連接時鐘信號可以實現(xiàn)跑馬燈效果。點擊正向按鈕則正序依次切換指示燈,如此反復(fù)。點擊反向按鈕則逆序依次切換指示燈。

功能介紹

圖片

  • 如果EN為FALSE,則所有輸出均為FALSE。輸入EN必須為TRUE,在E = TRUE時只有一個輸出Qn為TRUE。
  • 當(dāng)E = TRUE時,使用輸入UP從輸出Qn切換到Qn +1,而輸入DN將輸出Qn切換到Qn-1。
  • 當(dāng)E = TRUE時,可以由SET輸入和輸入IN值選擇主動輸出Q0..Q7。如SET=TRUE,IN=5將輸出Q5=TRUE,而所有其他輸出都設(shè)置為FALSE。
  • 當(dāng)E = TRUE時,輸入RST=TRUE將輸出Q0設(shè)置為TRUE,而所有其他輸出都設(shè)置為FALSE。
  • 當(dāng)E = TRUE時,狀態(tài)輸出總是顯示當(dāng)前選擇了哪個輸出Qn;當(dāng)E=FALSE時,狀態(tài)輸出保持不變,E再次變?yōu)門RUE時,Qn再次輸出。

SELECT_8源代碼

SELECT_8實現(xiàn)的是選擇器的功能,內(nèi)部調(diào)用一個取模函數(shù)INC,詳見下面介紹取模運算(INC)以及其代碼。

圖片

圖片

圖片

01

取模運算(INC)

取模是除以兩個數(shù)字時查找余數(shù)的操作。因此,當(dāng)你問“什么是2 mod 2?”時,你是在問 “當(dāng)你把 2 除以 2 時,余數(shù)是多少?”

圖片

SELECT_8源代碼

FUNCTION_BLOCK "SELECT_8"
TITLE = 'SELECT_8'
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT 
      E : Bool;
      SET : Bool;
      IN : Int;
      UP : Bool;
      DN : Bool;
      RST : Bool;
   END_VAR




   VAR_OUTPUT 
      Q0 : Bool;
      Q1 : Bool;
      Q2 : Bool;
      Q3 : Bool;
      Q4 : Bool;
      Q5 : Bool;
      Q6 : Bool;
      Q7 : Bool;
      STATE : Int;
   END_VAR




   VAR 
      last_up : Bool;
      last_dn : Bool;
   END_VAR








BEGIN


IF #RST THEN
  #STATE := 0;
ELSIF #SET THEN
  #STATE := #IN;
ELSIF #UP AND NOT #last_up THEN
  #STATE := "INC"(X := #STATE, D := 1, M := 7);
ELSIF #DN AND NOT #last_dn THEN
  #STATE := "INC"(X := #STATE, D := -1, M := 7);
END_IF;
#last_up := #UP;
#last_dn := #DN;


#Q0 := FALSE;
#Q1 := FALSE;
#Q2 := FALSE;
#Q3 := FALSE;
#Q4 := FALSE;
#Q5 := FALSE;
#Q6 := FALSE;
#Q7 := FALSE;


IF #E THEN
  CASE #STATE OF
    0:
      #Q0 := TRUE;
    1:
      #Q1 := TRUE;
    2:
      #Q2 := TRUE;
    3:
      #Q3 := TRUE;
    4:
      #Q4 := TRUE;
    5:
      #Q5 := TRUE;
    6:
      #Q6 := TRUE;
    7:
      #Q7 := TRUE;
  END_CASE;
END_IF;




END_FUNCTION_BLOCK

INC源代碼

FUNCTION "INC" : Int
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT 
      X : Int;
      D : Int;
      M : Int;
   END_VAR








BEGIN


#INC := (#X + #D + #M + 1) MOD (#M + 1);
END_FUNCTION
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 指示燈
    +關(guān)注

    關(guān)注

    3

    文章

    420

    瀏覽量

    29350
  • 跑馬燈
    +關(guān)注

    關(guān)注

    5

    文章

    117

    瀏覽量

    35824
  • RST
    RST
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    7810
  • 時鐘信號
    +關(guān)注

    關(guān)注

    4

    文章

    507

    瀏覽量

    30000
  • 選擇器
    +關(guān)注

    關(guān)注

    0

    文章

    111

    瀏覽量

    15131
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    STM32定時器DMA輸出通道和雙通道輸出切換出現(xiàn)異常的原因?

    STM32定時器DMA輸出通道和雙通道輸出切換出現(xiàn)異常
    發(fā)表于 03-26 06:44

    ADC124S051的4通道依次工作后輸出數(shù)據(jù)的順序不正常,為什么?

    1、單個通道單獨作用時,輸出的數(shù)據(jù)正確,想讀哪個通道的數(shù)據(jù)就能讀哪個通道,沒有問題; 2、多通道操作思路:在64
    發(fā)表于 12-09 08:13

    tlv5610是否可以控制單通道輸出

    8通道DA芯片tlv5610,輸出第一通道同時,第二
    發(fā)表于 01-24 07:37

    控制按鈕切換相關(guān)

    單片機(jī)連接3按鈕,怎么編寫程序控制1按鈕切換選中兩
    發(fā)表于 04-04 14:29

    布爾按鈕控制數(shù)字輸出

    怎么設(shè)計VI使得上下左右停四按鈕分別控制常數(shù)12345的輸出
    發(fā)表于 05-08 18:51

    通道依次自動測試0-5v希望給點意見

    通道依次自動測試,測試輸出端Led指示燈或電壓顯示模塊顯示。有那么一點思緒,不過全給否了。往大神給點意見。
    發(fā)表于 01-15 16:08

    請問該芯片是否可以控制單通道輸出?

    8通道DA芯片tlv5610,輸出第一通道同時,第二通道
    發(fā)表于 06-12 06:14

    AD7124-8 AD采集的通道隨機(jī)切換,怎么才能按順序切換通道?

    AD7124-8 采用8全差分輸入,全功率,AD采集的通道隨機(jī)切換,有時候兩
    發(fā)表于 12-07 08:17

    mcgs按鈕怎么切換畫面

    第一在執(zhí)行Sleep時,窗口0里是不能運行任何東西的,比如按鈕之類的都不能好使了。所以我不喜歡用。而第二種就不會影響窗口里的東西,我一般是用第二,然后窗口0里面在放一
    的頭像 發(fā)表于 02-09 09:54 ?3w次閱讀
    mcgs<b class='flag-5'>按鈕</b>怎么<b class='flag-5'>切換</b>畫面

    如何通過并行端口控制32DAC通道

    有時,系統(tǒng)需要幾個數(shù)字可編程電壓輸出通道。這種輸出通道通常提供對機(jī)器人定位,工業(yè)過程甚至家庭自動化的控制。圖1中的電路
    的頭像 發(fā)表于 08-08 11:23 ?4470次閱讀

    CN0405 帶按鈕控制的高壓輸出DAC

    。數(shù)字電位計AD5116提供64游標(biāo)位置,端到端電阻容差為±8%,適合各類調(diào)整應(yīng)用。此外,AD5116內(nèi)置一EEPROM,可通過一按鈕
    發(fā)表于 06-02 14:00 ?2次下載
    CN0405 帶<b class='flag-5'>按鈕</b><b class='flag-5'>控制</b>的高壓<b class='flag-5'>輸出</b>DAC

    溫控器可控硅觸發(fā)輸出控制溫度

    智能溫控儀可控硅觸發(fā)輸出,分為可控硅(SCR)過零觸發(fā)輸出和SCR移相觸發(fā)輸出可控硅一般選
    的頭像 發(fā)表于 10-24 09:43 ?1.1w次閱讀

    按鈕開/關(guān)電源控制

    本應(yīng)用筆記給出了一按鈕電源控制電路。該設(shè)計由一按鈕、去抖動器和觸發(fā)器組成的開/關(guān)控制電路
    的頭像 發(fā)表于 06-25 11:21 ?1965次閱讀
    單<b class='flag-5'>按鈕</b>開/關(guān)電源<b class='flag-5'>控制</b>

    副邊雙輸出控制器嚴(yán)格調(diào)節(jié)兩隔離輸出

    LT3804 是一款副邊雙輸出控制器。它 包含一誤差放大器和一光耦合器驅(qū)動器,以 調(diào)節(jié)第一輸出
    的頭像 發(fā)表于 06-26 11:49 ?1319次閱讀
    副邊雙<b class='flag-5'>輸出</b><b class='flag-5'>控制</b>器嚴(yán)格調(diào)節(jié)兩<b class='flag-5'>個</b>隔離<b class='flag-5'>輸出</b>

    可控硅如何控制輸出電壓

    信號來控制陽極(Anode)和陰極(Cathode)之間的導(dǎo)通狀態(tài),從而實現(xiàn)對輸出電壓的控制。以下是關(guān)于可控控制
    的頭像 發(fā)表于 07-31 09:35 ?4048次閱讀