精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用搖桿按鍵來調節時間數據

冬至子 ? 來源:TonyCode ? 作者:TonyCode ? 2023-06-15 17:31 ? 次閱讀

對于電子時鐘而言,雖然我們可以在程序中對RTC芯片寫入初始時間數據,但按鍵調時功能也是必不可少的,它可以讓我們更加靈活的進行時間調節校準。

1

菜單顯示結構

本實驗中顯示菜單結構如下圖所示:

圖片

菜單結構

其中menu00是首頁正常的時間日期顯示界面,然后通過搖桿按鍵切換頁面,進行日期調節和時間調節選擇,然后對應跳轉年月日和時分秒的調節頁面。

根據結構圖,結合多級菜單思路,很容易得到搖桿按鍵與界面對應的相關數據。

//定義按鍵操作數據
KEY_TABLE table[9] =
{
  {0, 0, 0, 0, 1, (*menu00)},
  {1, 1, 2, 0, 3, (*menu11)},
  {2, 1, 2, 0, 6, (*menu12)},
  {3, 3, 4, 1, 3, (*menu21)},
  {4, 3, 5, 1, 4, (*menu22)},
  {5, 4, 5, 1, 5, (*menu23)},
  {6, 6, 7, 2, 6, (*menu24)},
  {7, 6, 8, 2, 7, (*menu25)},
  {8, 7, 8, 2, 8, (*menu26)},
};

2

實驗材料

  • Uno R3開發板
  • 配套USB數據線
  • 公對母杜邦線
  • 面包板及配套連接線
  • OLED顯示屏
  • DS1302模塊
  • 雙軸按鍵搖桿模塊

3

實驗步驟

1.根據原理圖搭建電路圖。

DS1302模塊的VCC和GND連接Uno開發板的3.3V和GND。DS1302模塊的CLK、DAT、RST對應連接Uno開發板的4、3、2引腳。OLED的VCC和GND分別連接開發板的3.3V和GND,OLED的SDA、SCL分別連接開發板的A4、A5引腳。雙軸按鍵搖桿模塊的VCC、GND分別連接開發板的5V、GND,模塊的X軸輸出、Y軸輸出分別連接開發板的模擬引腳A0、A1。

實驗原理圖如下圖所示:

圖片

實驗原理圖

2.代碼較長,部分截取如下,完整代碼請在文末獲取。

...
void show_time(Time tim)
{
  char date[20];
  char timer[20];
  snprintf(date, sizeof(date), "%04d-%02d-%02d",
           tim.yr, tim.mon, tim.date);
  snprintf(timer, sizeof(timer), "%02d:%02d:%02d",
           tim.hr, tim.min, tim.sec);

  oled.clearDisplay();//清屏
  oled.setCursor(15, 2);//設置顯示位置
  oled.println("--CLOCK--");
  oled.setCursor(4, 25);//設置顯示位置
  oled.println(date);
  oled.setCursor(18, 50);//設置顯示位置
  oled.println(timer);
  oled.display(); // 開顯示
}
...
void loop() {
  keyValue = keyScan();

  if (keyValue != 0) //每發生一次有效按鍵就根據按鍵功能獲取對應函數并執行
  {
    switch (keyValue)//獲取按鍵對應序號
    {
      case 1: funIndex = table[funIndex].right; break;
      case 2: funIndex = table[funIndex].left; break;
      case 3: funIndex = table[funIndex].down; break;
      case 4: funIndex = table[funIndex].up; break;
    }
    current = table[funIndex].operation;//根據需要獲取對應需要執行的函數
    (*current)();//執行獲取到的函數
  }

  if (menu == 0)//只有在首頁才進行時間刷新
  {
    updatTime();
  }
}

3.連接開發板,設置好對應端口號和開發板類型,進行程序下載。

圖片

程序下載

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • DS1302
    +關注

    關注

    8

    文章

    448

    瀏覽量

    50483
  • RTC
    RTC
    +關注

    關注

    2

    文章

    511

    瀏覽量

    65903
  • SDA
    SDA
    +關注

    關注

    0

    文章

    123

    瀏覽量

    27962
  • OLED顯示屏
    +關注

    關注

    6

    文章

    211

    瀏覽量

    30547
  • GND
    GND
    +關注

    關注

    2

    文章

    525

    瀏覽量

    38448
收藏 人收藏

    評論

    相關推薦

    【外設移植】雙軸按鍵搖桿模塊Ai-M61開發板

    雙軸按鍵搖桿模塊采用金屬按鍵搖桿電位器,模塊包含兩路模擬輸出和一路數字輸出接口。
    的頭像 發表于 03-12 15:24 ?781次閱讀
    【外設移植】雙軸<b class='flag-5'>按鍵</b><b class='flag-5'>搖桿</b>模塊Ai-M61開發板

    如何將保存好的txt的時間數據讀出

    如題,怎么將保存的的txt文件中的時間數據讀出啊,用表格顯示的話,時間數據總是顯示0啊,怎么回事啊
    發表于 07-23 11:05

    時鐘調節時間的問題

    想用靜態變量實現調節時數碼管閃爍,但是不知道怎么的,調節的數碼閃動的頻率很快,還有相對不閃的數碼管很暗。求找出問題。指點。謝謝!show_time(17)只是做調試設的。void show_time
    發表于 08-01 22:13

    labview 用PID模塊 做 閉環控制,調節時間一直很長

    labview 用PID模塊做 閉環控制,怎么效果不差;不管怎么調PID的值,調節時間都很長,好像自然衰減那種,這是為什么,我們使用cRIO,閉環4ms,照理來說速度還可以啊,怎么效果這么差呢,求大神指導
    發表于 04-21 15:04

    臨界阻尼單位斜坡響應調節時間怎樣公式中的4.1怎樣算出的

    我想問一下有那位高手知道自動控制原理第五版(胡壽松)中的二階系統單位斜坡響應中臨界阻尼單位斜坡響應的誤差響應的調節時間近似公式中的4.1是怎樣算出來的?
    發表于 03-19 09:27

    求上升時間調節時間,超調量 應該如何編程呢

    請問num = [10.5];den = [222 1];G = tf(num , den);kp = 15;G1 = feedback(G*kp , 1);step(G1);這個最簡單的響應如果求上升時間調節時間,超調量 應該如何編程呢!請大神指導
    發表于 04-21 21:16

    生成表格如何只包含一個時間數據

    程序如圖,但是運行后顯示兩列時間數據 ,如何才能只顯示一列時間數據
    發表于 03-27 13:19

    時間數據處理

    大家好,我想請教一個問題,我需要把一段離散的時間數據轉換成連續的時間數據,如圖左邊,第1秒到第10秒的數據都是100,第10秒到第20秒的數據都是200,第20秒到第30秒的
    發表于 04-09 09:16

    按鍵調節時鐘的應用實驗分享

    按鍵調節時鐘的應用實驗一、實驗目的(一)進一步掌握數碼管的顯示控制;(二)進一步掌握單片機的定時器中斷的應用;(三)進一步掌握定時器工作方式的控制及各種寄存器的應用;(四)掌握獨立按鍵的使用方法。二
    發表于 11-18 08:18

    RTC時鐘芯片在電子時鐘中的作用

    。通過單片機等MCU驅動RTC模塊,讀取時間數據并交給顯示模塊進行展示,還可以加入按鍵調節時鐘,可以說是一個非常全面的...
    發表于 02-11 07:12

    1602液晶顯示可調節時間日期的數字時鐘程序

    本文為大家分享一個可通過按鍵調節時間的1602液晶顯示的數字時鐘程序。
    發表于 01-08 08:32 ?1.8w次閱讀

    時間數據流的并行檢測算法

    針對現有長持續時間數據流檢測算法的實時性差、檢測精度與估計精度低的問題,提出長持續時間數據流的并行檢測算法。基于共享數據結構的長持續時間數據流的并行檢測算法中不同線程訪問共享
    發表于 03-06 15:54 ?0次下載
    <b class='flag-5'>時間數據</b>流的并行檢測算法

    單片機:按鍵調節時

    按鍵調節時鐘的應用實驗一、實驗目的(一)進一步掌握數碼管的顯示控制;(二)進一步掌握單片機的定時器中斷的應用;(三)進一步掌握定時器工作方式的控制及各種寄存器的應用;(四)掌握獨立按鍵的使用方法。二
    發表于 11-11 11:06 ?76次下載
    單片機:<b class='flag-5'>按鍵</b><b class='flag-5'>調節時</b>鐘

    活動時間數據記錄器開源

    電子發燒友網站提供《活動時間數據記錄器開源.zip》資料免費下載
    發表于 01-05 10:33 ?0次下載
    活動<b class='flag-5'>時間數據</b>記錄器開源

    介紹雙軸按鍵搖桿的使用

    搖桿一般在航模、電玩、遙控車、云臺等設備上應用廣泛,很多帶有屏幕的設備也經常使用搖桿作為菜單選擇的輸入控制。
    的頭像 發表于 06-14 15:47 ?1976次閱讀
    介紹雙軸<b class='flag-5'>按鍵</b><b class='flag-5'>搖桿</b>的使用