找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 337|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

求思路 系統(tǒng)有三個非自鎖按鍵,分別為K1、K2和K3,控制顯示器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1147689 發(fā)表于 2025-4-10 23:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
2.系統(tǒng)有三個非自鎖按鍵,分別為K1、K2和K3,控制顯示器(七段數(shù)碼管或LCD1602)顯示信息,要求:
(1)按下K1后,顯示器按如下規(guī)律開始顯示
      顯示0,保持0.5秒;
      顯示1,保持0.5秒;
      顯示2,保持0.5秒;
      ……
      顯示11,保持0.5秒;
      顯示12,保持0.5秒;
      顯示0,保持0.5秒;
      顯示1,保持0.5秒;
      顯示2,保持0.5秒;
      ……
      按如上無限循環(huán)。

(2)按下K2后, 顯示器顯示的數(shù)字保持不變化,即暫停。
(3)按下K3后, 顯示器顯示清零,即顯示0。
注意:
①繪制詳細(xì)的電路原理及編寫相應(yīng)的完整控制程序
②注意程序的縮進與對齊
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:108361 發(fā)表于 2025-4-16 17:40 | 只看該作者
這是學(xué)校設(shè)計吧,其實很簡單,按K1之后,啟動定時器0.5秒增加一下數(shù)值顯示出來,增加到12就后下次就清0,重復(fù)0.5秒顯示一次;按K2就停掉定時器;按K3就手動把數(shù)值清零
回復(fù)

使用道具 舉報

板凳
ID:108361 發(fā)表于 2025-4-16 17:41 | 只看該作者
想要白嫖原理圖和代碼可不成
回復(fù)

使用道具 舉報

地板
ID:320097 發(fā)表于 2025-4-16 22:52 | 只看該作者
要是連這幼兒園級別的代碼都不想自己去弄,那還是趁早放棄得好
回復(fù)

使用道具 舉報

5#
ID:69038 發(fā)表于 2025-4-17 07:13 | 只看該作者
對對對,網(wǎng)絡(luò)上可沒有奶媽。。
好歹畫個圖、說說你做到了那一步,又卡在了那一步。
一上來就開題目,伸手要可不是好習(xí)慣。。
難不成小海豚DeepSeek都斷網(wǎng)了?
回復(fù)

使用道具 舉報

6#
ID:291668 發(fā)表于 2025-4-17 09:52 | 只看該作者
這個要求很簡單啊,而且你也是分步描述了,就按著這個思路分塊去做就行了。無論對錯好壞,做一個出來你再來請教,別人會給你建議或者意見,這樣才能提高?蓜e把作業(yè)直接發(fā)上來讓別人搞。
回復(fù)

使用道具 舉報

7#
ID:1109793 發(fā)表于 2025-4-17 10:35 | 只看該作者
聽說豆包也很好用呢
回復(fù)

使用道具 舉報

8#
ID:624769 發(fā)表于 2025-4-17 17:48 | 只看該作者
貼到 作業(yè)幫 里面試試。
回復(fù)

使用道具 舉報

9#
ID:1137639 發(fā)表于 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;  // 定義狀態(tài)變量 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() {   // 檢測按鍵狀態(tài)   checkButtons();    if (isRunning && !isPaused) {     unsigned long currentMillis = millis();     if (currentMillis - previousMillis >= interval) {       previousMillis = currentMillis;       // 更新顯示數(shù)字       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; }     
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表