欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求思路 系統有三個非自鎖按鍵,分別為K1、K2和K3,控制顯示器 [打印本頁]

作者: wyj133    時間: 2025-4-10 23:41
標題: 求思路 系統有三個非自鎖按鍵,分別為K1、K2和K3,控制顯示器
2.系統有三個非自鎖按鍵,分別為K1、K2和K3,控制顯示器(七段數碼管或LCD1602)顯示信息,要求:
(1)按下K1后,顯示器按如下規律開始顯示
      顯示0,保持0.5秒;
      顯示1,保持0.5秒;
      顯示2,保持0.5秒;
      ……
      顯示11,保持0.5秒;
      顯示12,保持0.5秒;
      顯示0,保持0.5秒;
      顯示1,保持0.5秒;
      顯示2,保持0.5秒;
      ……
      按如上無限循環。

(2)按下K2后, 顯示器顯示的數字保持不變化,即暫停。
(3)按下K3后, 顯示器顯示清零,即顯示0。
注意:
①繪制詳細的電路原理及編寫相應的完整控制程序
②注意程序的縮進與對齊

作者: powerdruy    時間: 2025-4-16 17:40
這是學校設計吧,其實很簡單,按K1之后,啟動定時器0.5秒增加一下數值顯示出來,增加到12就后下次就清0,重復0.5秒顯示一次;按K2就停掉定時器;按K3就手動把數值清零
作者: powerdruy    時間: 2025-4-16 17:41
想要白嫖原理圖和代碼可不成
作者: 歐陽云天    時間: 2025-4-16 22:52
要是連這幼兒園級別的代碼都不想自己去弄,那還是趁早放棄得好
作者: zhuls    時間: 2025-4-17 07:13
對對對,網絡上可沒有奶媽。。
好歹畫個圖、說說你做到了那一步,又卡在了那一步。
一上來就開題目,伸手要可不是好習慣。。
難不成小海豚DeepSeek都斷網了?
作者: li64331218    時間: 2025-4-17 09:52
這個要求很簡單啊,而且你也是分步描述了,就按著這個思路分塊去做就行了。無論對錯好壞,做一個出來你再來請教,別人會給你建議或者意見,這樣才能提高。可別把作業直接發上來讓別人搞。
作者: xiaobendan001    時間: 2025-4-17 10:35
聽說豆包也很好用呢
作者: 188610329    時間: 2025-4-17 17:48
貼到 作業幫 里面試試。
作者: 622323wjl    時間: 2025-4-17 21:04
#include <LiquidCrystal.h>  // 定義LCD引腳 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  // 定義按鍵引腳 const int K1 = 6; const int K2 = 7; const int K3 = 8;  // 定義狀態變量 bool isRunning = false; bool isPaused = false; int currentNumber = 0;  // 定義時間間隔 const unsigned long interval = 500; unsigned long previousMillis = 0;  void setup() {   // 初始化LCD   lcd.begin(16, 2);   lcd.print("Press K1 to start");    // 初始化按鍵引腳為輸入模式   pinMode(K1, INPUT_PULLUP);   pinMode(K2, INPUT_PULLUP);   pinMode(K3, INPUT_PULLUP); }  void loop() {   // 檢測按鍵狀態   checkButtons();    if (isRunning && !isPaused) {     unsigned long currentMillis = millis();     if (currentMillis - previousMillis >= interval) {       previousMillis = currentMillis;       // 更新顯示數字       updateDisplay();     }   } }  void checkButtons() {   if (digitalRead(K1) == LOW) {     delay(20); // 消抖     if (digitalRead(K1) == LOW) {       isRunning = true;       isPaused = false;       while (digitalRead(K1) == LOW); // 等待按鍵釋放     }   }    if (digitalRead(K2) == LOW) {     delay(20); // 消抖     if (digitalRead(K2) == LOW) {       isPaused = !isPaused;       while (digitalRead(K2) == LOW); // 等待按鍵釋放     }   }    if (digitalRead(K3) == LOW) {     delay(20); // 消抖     if (digitalRead(K3) == LOW) {       isRunning = false;       isPaused = false;       currentNumber = 0;       updateDisplay();       while (digitalRead(K3) == LOW); // 等待按鍵釋放     }   } }  void updateDisplay() {   lcd.clear();   lcd.print(currentNumber);   currentNumber = (currentNumber + 1) % 13; }     




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1