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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3731|回復: 0
收起左側

八路搶答器仿真圖與單片機程序

[復制鏈接]
ID:256759 發表于 2017-12-3 13:37 | 顯示全部樓層 |閱讀模式
希望能幫到你,八路搶答器仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png 0.png

單片機源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit m1=P3^1;
  5. sbit m2=P3^2;
  6. sbit k1=P1^0;
  7. sbit k2=P1^1;
  8. sbit k3=P1^2;
  9. sbit k4=P1^3;
  10. sbit k5=P1^4;
  11. sbit k6=P1^5;
  12. sbit k7=P1^6;
  13. sbit k8=P1^7;
  14. sbit k=P3^0;
  15. sbit beep=P3^7;
  16. uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77};
  17. uchar shiwei,gewei,xuanshou,count,i,second;
  18. uchar score1,score2,score3,score4,score5,score6,score7,score8;
  19. uint t,m,n,a,a1,a2,a3,a4,a5,a6,a7,a8;
  20. void Timer()
  21. {
  22. TMOD=0X01;
  23. TH0=0XD8;
  24. TL0=0Xf0;
  25. IE=0X82;
  26. TR0=1;
  27. }
  28. void tim(void) interrupt 1
  29. {TH0=0xd8;
  30. TL0=0xf0;
  31. count++;
  32. if(count==100)
  33. {  count=0;
  34.    second--;}
  35. }
  36. void delay(uint z)
  37. {   uint x,y;
  38. for(x=z;x>0;x--)
  39. for(y=110;y>0;y--); }
  40. void display (uchar shiwei,gewei,xuanshou)
  41.   { P2=0xfe;
  42.   P0=shiwei;
  43.   delay(5);
  44.   P2=0xfd;
  45.   P0=gewei;
  46. delay(5);
  47. P2=0xf7;   
  48.   P0=xuanshou;
  49. delay(5);
  50. }
  51. void dis(void)
  52. {shiwei=tab[second/10];
  53. gewei=tab[second%10];
  54. xuanshou=tab[i];
  55. display(shiwei,gewei,xuanshou);
  56. }
  57. void init()
  58. { P2=0x04;
  59. P0=0x3f;
  60. t=0;
  61. beep=0;
  62. i=0;
  63. second=29;
  64. score1=60;
  65. score2=60;
  66. score3=60;
  67. score4=60;
  68. score5=60;
  69. score6=60;
  70. score7=60;
  71. score8=60;
  72. a1=1;
  73. a2=1;
  74. a3=1;
  75. a4=1;
  76. a5=1;
  77. a6=1;
  78. a7=1;
  79. a8=1;
  80. }
  81. void main()
  82. {  init();
  83. if(k==0)
  84. {  Timer();
  85. delay(10);
  86. while(!k);
  87. while(1)
  88. { dis();
  89. m=0;
  90. n=0;}
  91. if(second==10){beep=1;delay(500);beep=0;}
  92. if(second==0){TR0=0;n=1;
  93.       if(k==0)
  94. {beep=1;delay(500);beep=0;second=29;TR0=1;m=1;}
  95. } }
  96.   if(n==0)
  97. { if(k1==0) {delay(5);if(k1==0);while(!k1);t=1;}
  98. else if(k2==0){delay(5);if(k2==0);while(!k2);t=2;}
  99. else if(k3==0){delay(5);if(k3==0);while(!k2);t=3;}
  100. else if(k4==0){delay(5);if(k4==0);while(!k2);t=4;}
  101. else if(k5==0){delay(5);if(k5==0);while(!k2);t=5;}
  102. else if(k6==0){delay(5);if(k6==0);while(!k2);t=6;}
  103. else if(k7==0){delay(5);if(k7==0);while(!k2);t=7;}
  104. else if(k8==0){delay(5);if(k8==0);while(!k2);t=8;}
  105. else if(k==0)
  106. {delay(5);if(k==0);while(!k);t=0;i=0;second=29;beep=1;delay(500);beep=0;TR0=1;}
  107. }
  108. while(t)
  109. {  if(m==0)
  110. {  switch(t)
  111.    {  case 1:
  112.          {  TR0=0;i=1;second=0;beep=1;delay(500);beep=0;
  113.             a1=0;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;
  114.           }
  115.       case 2:
  116.          {  TR0=0;i=2;second=0;beep=1;delay(500);beep=0;
  117.             a2=0;a1=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;
  118.           }
  119.       case 3:
  120.           {  TR0=0;i=3;second=0;beep=1;delay(500);beep=0;
  121.             a3=0;a1=1;a2=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;
  122.            }
  123.       case 4:
  124.          
  125.            {  TR0=0;i=4;second=0;beep=1;delay(500);beep=0;
  126.             a4=0;a1=1;a2=1;a3=1;a5=1;a6=1;a7=1;a8=1;m=1;break;
  127.           }
  128.       case 5:
  129.            {  TR0=0;i=5;second=0;beep=1;delay(500);beep=0;
  130.             a5=0;a1=1;a2=1;a3=1;a4=1;a6=1;a7=1;a8=1;m=1;break;
  131.            }
  132.       case 6:
  133.            {   TR0=0;i=6;second=0;beep=1;delay(500);beep=0;
  134.             a6=0;a1=1;a2=1;a3=1;a4=1;a5=1;a7=1;a8=1;m=1;break;
  135.             }
  136.        case 7:
  137.             {  TR0=0;i=7;second=0;beep=1;delay(500);beep=0;
  138.            a7=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a8=1;m=1;break;
  139.             }
  140.       case 8:
  141.             {  TR0=0;i=8;second=0;beep=1;delay(500);beep=0;
  142.            a8=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;m=1;break;
  143.    }
  144. }
  145. }
  146. if(a1==0)
  147. {second=score1;
  148.    dis();
  149.       if(m1==0)
  150. {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score1+=1;if(score1==99)score1=60;}
  151.         else      if(m2==0)
  152. {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score1-=1;if(score1==0)score1=60;
  153. }
  154. dis();
  155. }
  156.     else if(a2==0)
  157.   {    second=score2;
  158. dis();
  159. if(m1==0)
  160. {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score2+=1;if(score2==99)score2=60;}
  161. else if(m2==0)
  162. {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score2-=1;if(score2==0)score2=60;}
  163. dis();
  164. }
  165. else if(a3==0)
  166. {second=score3;
  167. dis();
  168. if(m1==0)
  169. {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score3+=1;if(score3==99)score3=60;}
  170.                 else if(m2==0)
  171. {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score3-=1;if(score3==0)score3=60;}
  172. dis();
  173. }
  174. else if(a4==0)
  175. {  second=score4;
  176. dis();
  177. if(m1==0)
  178. {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score4+=1;if(score4==99)score4=60;}
  179. else if(m2==0)
  180. {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score4-=1;if(score4==0)score4=60;}
  181. dis();
  182. }
  183. else if(a5==0)
  184. {second=score5;
  185. dis();
  186. if(m1==0)
  187. {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score5+=1;if(score5==99)score5=60;}
  188. else if(m2==0)
  189. {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score5-=1;if(score5==0)score5=60;}
  190. second=score5;
  191. dis();
  192. }
  193. else if(a6==0)
  194. {second=score6;
  195. dis();
  196. if(m1==0)
  197. {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score6+=1;if(score6==99)score6=60;}
  198. else if(m2==0)
  199. {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score5-=1;if(score5==0)score5=60;}
  200. second=score6;
  201. dis();
  202. }
  203. ……………………

  204. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
八路搶答器.rar (28.83 KB, 下載次數: 22)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久国产精品免费免费狐狸 | 国产激情一区二区三区 | 最近中文字幕第一页 | 日本一道本视频 | 免费一区二区 | chengrenzaixian| 国产内谢 | 国产精品成人一区 | 欧美mv日韩mv国产网站91进入 | 久久人体 | 国产精品视频播放 | 一区在线视频 | 久久毛片| 国产激情一区二区三区 | 一区二区三区四区在线 | 在线视频日韩精品 | 久久精品中文字幕 | 九一视频在线观看 | 色视频在线免费观看 | 99热精品6| 亚洲成年在线 | 国产精品毛片一区二区三区 | 日韩精品一区二区三区四区 | 久久久久成人精品 | 啪一啪在线视频 | 中文字幕第一页在线 | 岛国毛片在线观看 | 欧美一级二级在线观看 | 中文字幕第九页 | 一区二区三区高清 | 综合久久一区 | 午夜日韩 | 欧美黄色一级毛片 | 91久久久久久久久久久久久 | 国产成人91视频 | 色综合一区| 精品一区二区三区在线观看 | 久久不卡 | 精品久久久网站 | 香蕉视频91| 国产98色在线 | 日韩 |