1樓:我是你港姐呀
x0為啟動按鈕,x1為停止按鈕。y0~y7為8盞燈。程式在按下啟動按鈕後,燈1先亮,1秒(t0延時)後滅,1秒後(t1延時)燈2亮,依次迴圈。
當按下x1後,迴圈結束。州配。
<>按下x0後,m0得電為1並自保持,此時1秒計時器t0計時,1秒後t0常開點閉合1秒計時器t1計時,再過1秒t1計時結束常閉點斷開t0線圈,t0失電覆位並斷開t0常開點,此時t1線圈也失電覆位,t1常閉點又閉合,t0得電重複上述計時過程。
第二個程式塊:
當m0為1時,在t0觸點的上公升沿來時k3m10這個二進位數乘以2再寫入k3m10中。
k3m10代表m10~m21共12個輔助繼電器的組合,那麼可以將k3m10看作是乙個二進位數。程式未啟動時,m10~m21均為0,那麼這個二進位數為0;當程式啟動時沖塌,在下乙個程式塊中利用了m0的上公升沿置位m10,此時m10~m21為1,當t0觸點的上公升沿來時k3m10(此時為1)這個二進位數乘以2再寫入k3m10中(寫入後為2),2在二進位數中為10,此時散跡圓m10失電,m11得電,可以認為m10把"1"交給了m11,以此類推。當第8個m17得電時,完成了一次迴圈。
下乙個t0上公升沿來到時,m18得電,m17失電。此時下面的程式塊利用了m18的上公升沿重新置位m10並且將m18復位。這樣程式又從m10得電開始迴圈下去了。
這個程式塊的作用就是每次t0的上公升沿來到時,「1」在m10~m17之間轉移。
2樓:秦濯
如果你使用的是x86組合語言,你可以使用以下**來編寫乙個八位迴圈計數器程式:
mov al, 0 ; 將計數器設定為0
loop:inc al ; 將計數器加1
cmp al, 256 ; 比較計數器是否達到256jne loop ; 如果計數器小於256,則跳回迴圈開始處。
計數器已達到256,退出迴圈。
這段**使用了乙個名為"loop"的標籤,用於標記迴圈開始處。它還使用了乙個"inc"指令,用於將計數器加1,和乙個"cmp"指令,檔李用於比較計數器是否達到256。如皮局果計數器小於256,則使用"jne"指令跳回迴圈開始處,否則退出迴圈。
請注意,以上**僅作為示例,並不保證在所有燃蠢讓情況下都能正常工作。實際上,你可能需要在**中新增其他指令和指令來處理錯誤和異常情況。望!
微控制器C語言問題,微控制器C語言的一個問題 static bit a 什麼意思
c語言也不難,如果閣下肯花20小時,把c語言最基本的東西弄懂,肯定沒有什麼問題。我覺得微控制器開發中c語言用到最多的幾個部分基礎知識 比如資料型別,運算子,格式轉換 順序控制 if語句 switch語句 迴圈控制 while語句 for語句 陣列指標 其他一些c語言中的東西微控制器上用不了,也就大概...
求微控制器控制mos管的電路圖求一個微控制器控制mos管的電路圖
電路原理圖 如果驅動的東西 功率 很大,大電流 大電壓的場合 最好要做電氣隔離 過流超壓保護 溫度保護等 此時既要隔離傳送控制訊號 例如pwm訊號 也要給驅動級 mos管的推動電路 傳送電能。常用的訊號傳送有pc923 pc929 6n137 tl521等 至於電能的傳送可以用dc dc模組。如果是...
你好,能問你微控制器問題嗎,你好,能問你一個微控制器問題嗎
proteus中51微控制器的ale 結果是有的,但需要設定一下 雙擊mcu,設定對應的advanced properties為yes。回 原因 advanced properties 高階屬答性 中,simulate program fetches 模擬程式提取 要設定為yes,才可以真正 出實際...