找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1160|回復(fù): 4
收起左側(cè)

求程序 單片機(jī)按鍵控制共陰極數(shù)碼管

[復(fù)制鏈接]
ID:1108835 發(fā)表于 2024-1-10 19:41 | 顯示全部樓層 |閱讀模式
設(shè)計(jì)并制作按鍵控制共陰極數(shù)碼管的控制系統(tǒng),要求通過(guò)按鍵實(shí)現(xiàn)減法功能,按下一次,數(shù)碼顯示減1的數(shù)值,有簡(jiǎn)單點(diǎn)的程序嘛
回復(fù)

使用道具 舉報(bào)

ID:1116447 發(fā)表于 2024-5-10 21:47 | 顯示全部樓層
用數(shù)組提前編譯好數(shù)字,設(shè)置每次按下減一,
回復(fù)

使用道具 舉報(bào)

ID:1116447 發(fā)表于 2024-5-10 21:48 | 顯示全部樓層
void main() {     P0 = code_table[f]; // 顯示數(shù)碼管的值     while (1) { // 主循環(huán)開(kāi)始                 if (S1 == 0) { // 如果S1被按下                         if (aa == 0) {                         f = (f + 1) % 10; // 循環(huán)遞增f                         P0 = code_table[f]; // 顯示數(shù)碼管的值                                 Delay100ms(); // 延遲                                 aa = 1; // 防止反跳                         }                 } else if (S2 == 0) { // 如果S2被按下                         if (bb == 0) {                                                                  f = (f + 10 - 1) % 10; // 循環(huán)遞減f                                                         P0 = code_table[f]; // 顯示數(shù)碼管的值                                 Delay100ms(); // 延遲                                 bb = 1; // 防止反跳                         }                 } else {// 當(dāng)按鈕釋放后,重置aa和bb                         aa = 0;bb=0;}                         } // 主循環(huán)結(jié)束 }
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2024-5-11 10:51 | 顯示全部樓層
  1. void main()
  2. {
  3.         while (1)   // 主循環(huán)開(kāi)始
  4.         {
  5.                 if (S1 == 0)   // 如果S1被按下
  6.                 {
  7.                         if (aa == 0)
  8.                         {
  9.                                 f = (f + 1) % 10; // 循環(huán)遞增f
  10.                                 Delay100ms(); // 延遲
  11.                                 aa = 1; // 防止反跳
  12.                         }
  13.                 }
  14.                 else
  15.                 {
  16.                         aa = 0;
  17.                 }
  18.                 if (S2 == 0)     // 如果S2被按下
  19.                 {
  20.                         if (bb == 0)
  21.                         {
  22.                                 f = (f + 10 - 1) % 10; // 循環(huán)遞減f
  23.                                 Delay100ms(); // 延遲
  24.                                 bb = 1; // 防止反跳
  25.                         }
  26.                 }
  27.                 else    // 當(dāng)按鈕釋放后,重置aa和bb
  28.                 {
  29.                         bb=0;
  30.                 }
  31.                 P0 = code_table[f]; // 顯示數(shù)碼管的值

  32.         } // 主循環(huán)結(jié)束
  33. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:1095702 發(fā)表于 2024-5-11 20:09 | 顯示全部樓層
用中斷吧
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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