标题: 求程序 单片机按键控制共阴极数码管 [打印本页]

作者: 172229315    时间: 2024-1-10 19:41
标题: 求程序 单片机按键控制共阴极数码管
设计并制作按键控制共阴极数码管的控制系统,要求通过按键实现减法功能,按下一次,数码显示减1的数值,有简单点的程序嘛

作者: 小小梦魇    时间: 2024-5-10 21:47
用数组提前编译好数字,设置每次按下减一,
作者: 小小梦魇    时间: 2024-5-10 21:48
void main() {     P0 = code_table[f]; // 显示数码管的值     while (1) { // 主循环开始                 if (S1 == 0) { // 如果S1被按下                         if (aa == 0) {                         f = (f + 1) % 10; // 循环递增f                         P0 = code_table[f]; // 显示数码管的值                                 Delay100ms(); // 延迟                                 aa = 1; // 防止反跳                         }                 } else if (S2 == 0) { // 如果S2被按下                         if (bb == 0) {                                                                  f = (f + 10 - 1) % 10; // 循环递减f                                                         P0 = code_table[f]; // 显示数码管的值                                 Delay100ms(); // 延迟                                 bb = 1; // 防止反跳                         }                 } else {// 当按钮释放后,重置aa和bb                         aa = 0;bb=0;}                         } // 主循环结束 }
作者: lkc8210    时间: 2024-5-11 10:51
  1. void main()
  2. {
  3.         while (1)   // 主循环开始
  4.         {
  5.                 if (S1 == 0)   // 如果S1被按下
  6.                 {
  7.                         if (aa == 0)
  8.                         {
  9.                                 f = (f + 1) % 10; // 循环递增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; // 循环递减f
  23.                                 Delay100ms(); // 延迟
  24.                                 bb = 1; // 防止反跳
  25.                         }
  26.                 }
  27.                 else    // 当按钮释放后,重置aa和bb
  28.                 {
  29.                         bb=0;
  30.                 }
  31.                 P0 = code_table[f]; // 显示数码管的值

  32.         } // 主循环结束
  33. }
复制代码

作者: liqiang'    时间: 2024-5-11 20:09
用中断吧




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1