久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機獨立鍵盤控制動態數碼管顯示 程序代碼 [打印本頁]

作者: 雨后天晴0306    時間: 2019-9-30 10:46
標題: 單片機獨立鍵盤控制動態數碼管顯示 程序代碼
注意:此程序需要用到單片機74H138模塊,才能通過獨立鍵盤控制動態數碼管

  1. #include<reg52.h> //此文件中定義了單片機的一些特殊功能
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit k1=P1^0; //定義 P10 口是 k1
  5. sbit k2=P1^1; //定義 P11 口是 k2
  6. sbit k3=P1^2; //定義 P12 口是 k3
  7. sbit k4=P1^3; //定義 P13 口是 k4
  8. sbit k5=P1^4; //定義 P14 口是 k5
  9. sbit k6=P1^5; //定義 P15 口是 k6
  10. sbit k7=P1^6; //定義 P16 口是 k7
  11. sbit k8=P1^7; //定義 P17 口是 k8

  12. sbit LSA=P0^0;
  13. sbit LSB=P0^1;
  14. sbit LSC=P0^2;
  15. uchar code smgduan[17]={0x06,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  16. 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};// 顯 示0~F 的值
  17. void delay(uint i)
  18. {
  19. while(i--);
  20. }

  21. void keypros1()
  22. {
  23. if(k1==0) //檢測按鍵 K1 是否按下
  24. {
  25. delay(1000); //消除抖動 一般大約 10ms
  26. if(k1==0) //再次判斷按鍵是否按下
  27. {
  28. LSA=0;LSB=0;LSC=0;//顯示第 0 位;
  29. }
  30. while(!k1); //檢測按鍵是否松開
  31. }
  32. }
  33. void keypros2()
  34. {
  35. if(k2==0) //檢測按鍵 K2 是否按下
  36. {
  37. delay(1000); //消除抖動 一般大約 1ms
  38. if(k2==0) //再次判斷按鍵是否按下
  39. {
  40. LSA=1;LSB=0;LSC=0;//顯示第 1 位
  41. }
  42. while(!k2); //檢測按鍵是否松開
  43. }
  44. }
  45. void keypros3()
  46. {
  47. if(k3==0) //檢測按鍵 K3 是否按下
  48. {
  49. delay(1000); //消除抖動 一般大約 1ms
  50. if(k3==0) //再次判斷按鍵是否按下
  51. {
  52. LSA=0;LSB=1;LSC=0;//顯示第 2 位
  53. }
  54. while(!k3); //檢測按鍵是否松開
  55. }
  56. }
  57. void keypros4()
  58. {
  59. if(k4==0) //檢測按鍵 K4 是否按下
  60. {
  61. delay(1000); //消除抖動 一般大約 1ms
  62. if(k4==0) //再次判斷按鍵是否按下
  63. {
  64. LSA=1;LSB=1;LSC=0; //顯示第 3 位
  65. }
  66. while(!k4); //檢測按鍵是否松開
  67. }
  68. }
  69. void keypros5()
  70. {
  71. if(k5==0) //檢測按鍵 K5 是否按下
  72. {
  73. delay(1000); //消除抖動 一般大約 1ms
  74. if(k5==0) //再次判斷按鍵是否按下
  75. {
  76. LSA=0;LSB=0;LSC=1;//顯示第 4 位
  77. }
  78. while(!k5); //檢測按鍵是否松開
  79. }
  80. }
  81. void keypros6()
  82. {
  83. if(k6==0) //檢測按鍵 K6 是否按下
  84. {
  85. delay(1000); //消除抖動 一般大約 1ms
  86. if(k6==0) //再次判斷按鍵是否按下
  87. {
  88. LSA=1;LSB=0;LSC=1;//顯示第 5 位
  89. }
  90. while(!k6); //檢測按鍵是否松開
  91. }
  92. }
  93. void keypros7()
  94. {
  95. if(k7==0) //檢測按鍵 K7 是否按下
  96. {
  97. delay(1000); //消除抖動 一般大約 1ms
  98. if(k7==0) //再次判斷按鍵是否按下
  99. {
  100. LSA=0;LSB=1;LSC=1;//顯示第 6 位
  101. }
  102. while(!k7); //檢測按鍵是否松開
  103. }
  104. }
  105. void keypros8()
  106. {
  107. if(k8==0) //檢測按鍵 K8 是否按下
  108. {
  109. delay(1000); //消除抖動 一般大約 1ms
  110. if(k8==0) //再次判斷按鍵是否按下
  111. {
  112. LSA=1;LSB=1;LSC=1;//顯示第 7 位
  113. }
  114. while(!k8); //檢測按鍵是否松開
  115. }
  116. }


  117. void DigDisplay()
  118. {
  119. uchar i;
  120. for(i=0;i<8;i++)
  121. {
  122. switch(i) //位選,選擇點亮的數碼管,
  123. {
  124. case(0):
  125. keypros1();
  126. break;//顯示第 0 位
  127. case(1):
  128. keypros2();
  129. break;//顯示第 1 位
  130. case(2):
  131. keypros3();
  132. break;//顯示第 2 位
  133. case(3):
  134. keypros4();
  135. break;//顯示第 3 位
  136. case(4):
  137. keypros5();
  138. break;//顯示第 4 位
  139. case(5):
  140. keypros6();
  141. break;//顯示第 5 位
  142. case(6):
  143. keypros7();
  144. break;//顯示第 6 位
  145. case(7):
  146. keypros8();
  147. break;//顯示第 7 位
  148. }
  149. P2=smgduan[i];//發送段碼
  150. delay(10000); //間隔一段時間掃描
  151. P2=0x00;//消隱
  152. }
  153. }
  154. void main()
  155. {
  156. while(1)
  157. {
  158. DigDisplay(); //數碼管顯示函數
  159. }
  160. }


復制代碼






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久草.com| chinese中国真实乱对白 | 成人99| 日韩免费福利视频 | 精品1区2区 | a级片在线观看 | 99热热热热| 免费超碰| 久久久91精品国产一区二区三区 | 国产视频二区 | 精品国产精品国产偷麻豆 | 一区精品视频 | 国产日韩欧美一区 | 中文字幕在线一区 | 日韩精品一区二区三区在线播放 | 在线看无码的免费网站 | 国产美女一区 | 久久久国产一区二区 | 国产精品久久久久久模特 | 精品一区二区三区视频在线观看 | 一区二区三区四区免费观看 | 男女免费网站 | 色婷婷在线视频 | 国产操操操 | 欧美日韩精品区 | 蜜桃av鲁一鲁一鲁一鲁 | 午夜精品一区二区三区在线 | 在线高清免费观看视频 | 成人欧美一区二区三区黑人孕妇 | 日韩av在线免费 | 国产高清自拍视频在线观看 | 欧美激情综合五月色丁香小说 | 欧美日韩中文字幕在线播放 | 国产精品久久久亚洲 | 日韩三级在线 | 国产精品免费视频一区 | 久草久草久草 | 亚洲三级在线观看 | 国产97色 | 亚洲免费在线 | 久久久久久久成人 |