微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 第35节:带数码管显示的象棋比赛专用计时器

第35节:带数码管显示的象棋比赛专用计时器

时间:11-22 来源:互联网 点击:

  1. oiceCnt=const_voice_short; //按键声音触发,滴一声就停。
  2. break;
  3. case 2://窗口2,代表黑棋正在运行中的状态
  4. break;
  5. case 3://窗口3,代表黑棋在中途暂停的状态
  6. break;
  7. case 4://窗口4,代表红棋正在运行中的状态
  8. break;
  9. case 5://窗口5,代表红棋在中途暂停的状态
  10. break;
  11. }
  12. ucKeySec=0;//响应按键服务处理程序后,按键编号清零,避免一致触发
  13. break;
  14. case 3:// 3号键 对应朱兆祺学习板的S3键黑棋加分 按键
  15. switch(ucWd)//本程序最核心的变量ucWd
  16. {
  17. case 1://窗口1,代表刚上电,完成或者复位后的状态
  18. uiBlackTotal=uiBlackTotal+60;//加黑棋分的时间,此处60秒代表一分
  19. if(uiBlackTotal>5940)
  20. {
  21. uiBlackTotal=5940;
  22. }
  23. uiBlackTotal=uiBlackTotal-(uiBlackTotal%60);//去秒取整分
  24. ucDisplayUpdate=1;//更新显示
  25. uiVoiceCnt=const_voice_short; //按键声音触发,滴一声就停。
  26. break;
  27. case 2://窗口2,代表黑棋正在运行中的状态
  28. break;
  29. case 3://窗口3,代表黑棋在中途暂停的状态
  30. break;
  31. case 4://窗口4,代表红棋正在运行中的状态
  32. break;
  33. case 5://窗口5,代表红棋在中途暂停的状态
  34. break;
  35. }
  36. ucKeySec=0;//响应按键服务处理程序后,按键编号清零,避免一致触发
  37. break;
  38. case 4:// 4号键 对应朱兆祺学习板的S4键黑棋减分 按键
  39. switch(ucWd)//本程序最核心的变量ucWd
  40. {
  41. case 1://窗口1,代表刚上电,完成或者复位后的状态
  42. if(uiBlackTotal>=60)
  43. {
  44. uiBlackTotal=uiBlackTotal-60;//减黑棋分的时间,此处60秒代表一分
  45. }
  46. uiBlackTotal=uiBlackTotal-(uiBlackTotal%60);//去秒取整分
  47. ucDisplayUpdate=1;//更新显示
  48. uiVoiceCnt=const_voice_short; //按键声音触发,滴一声就停。
  49. break;
  50. case 2://窗口2,代表黑棋正在运行中的状态
  51. break;
  52. case 3://窗口3,代表黑棋在中途暂停的状态
  53. break;
  54. case 4://窗口4,代表红棋正在运行中的状态
  55. break;
  56. case 5://窗口5,代表红棋在中途暂停的状态
  57. break;
  58. }
  59. ucKeySec=0;//响应按键服务处理程序后,按键编号清零,避免一致触发
  60. break;
  61. case 5:// 5号键 对应朱兆祺学习板的S5键
  62. ucKeySec=0;//响应按键服务处理程序后,按键编号清零,避免一致触发
  63. break;
  64. case 6:// 6号键 对应朱兆祺学习板的S6键中途暂停和启动按键
  65. switch(ucWd)//本程序最核心的变量ucWd
  66. {
  67. case 1://窗口1,代表刚上电,完成或者复位后的状态
  68. break;
  69. case 2://窗口2,代表黑棋正在运行中的状态
  70. ucRedFlag=0; //暂停计时
  71. ucBlackFlag=0;//暂停计时
  72. ucWd=3; //切换到黑棋中途暂停的状态
  73. ucDisplayUpdate=1;//更新显示
  74. uiVoiceCnt=const_voice_short; //按键声音触发,滴一声就停。
  75. break;
  76. case 3://窗口3,代表黑棋在中途暂停的状态
  77. ucRedFlag=0; //红棋暂停计时
  78. ucBlackFlag=1; //黑棋继续计时
  79. ucWd=2; //切换到黑棋正在运行中的状态
  80. ucDisplayUpdate=1;//更新显示
  81. uiVoiceCnt=const_voice_short; //按键声音触发,滴一声就停。
  82. break;
  83. case 4://窗口4,代表红棋正在运行中的状态
  84. ucRedFlag=0; //暂停计时
  85. ucBlackFlag=0;//暂停计时
  86. ucWd=5; //切换到红棋中途暂停的状态
  87. ucDisplayUpdate=1;//更新显示
  88. uiVoiceCnt=const_voice_short; //按键声音触发,滴一声就停。
  89. break;
  90. case 5://窗口5,代表红棋在中途暂停的状态
  91. ucRedFlag=1; //红棋继续计时
  92. ucBlackFlag=0; //黑棋暂停计时
  93. ucWd=4; //切换到红棋正在运行中的状态
  94. ucDisplayUpdate=1;//更新显示
  95. uiVoiceCnt=const_voice_short; //按键声音触发,滴一声就停。
  96. break;
  97. }
  98. ucKeySec=0;//响应按键服务处理程序后,按键编号清零

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top