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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4472|回復: 0
打印 上一主題 下一主題
收起左側

單片機8路搶答器代碼與Proteus仿真圖

[復制鏈接]
跳轉到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};        
  5. sbit key1=P1^0;                //定義按鍵的引腳
  6. sbit key2=P1^1;
  7. sbit key3=P1^2;
  8. sbit key4=P1^3;
  9. sbit key5=P1^4;
  10. sbit key6=P1^5;
  11. sbit key7=P1^6;
  12. sbit key8=P1^7;
  13. sbit keep=P3^6;
  14. sbit key9=P3^2;
  15. void delay(uint t) //延時程序
  16. {
  17. uint j;
  18. for(;t>0;t--)
  19. for(j=121;j>0;j--);
  20. }
  21. void display(uchar i)//數碼管顯示
  22. {
  23. switch(i)                        //用swicth語句來進行掃描數碼管的引腳
  24. {
  25.   case 0:P0=code1[0];break;
  26.   case 1:P0=code1[1];break;
  27.   case 2:P0=code1[2];break;
  28.   case 3:P0=code1[3];break;
  29.   case 4:P0=code1[4];break;
  30.   case 5:P0=code1[5];break;
  31.   case 6:P0=code1[6];break;
  32.   case 7:P0=code1[7];break;
  33.   case 8:P0=code1[8];break;
  34.   default:break;
  35. }
  36. }
  37. void key() //鍵盤掃描,判斷哪個人搶答
  38. {
  39. uchar n;                                                 //接下來就用if語句來按鍵的掃描
  40.   n=0;        
  41.   display(n);
  42.     keep=1;
  43.          if(key1==0)
  44. {
  45.           delay(5);
  46.           if(key1==0)
  47.       {
  48.                     n=1;
  49.                     display(n);
  50.                         while(1)
  51.           {
  52.                         keep=0;                         //開啟蜂鳴器
  53.                         delay(10);
  54.                         keep=1;
  55.                         delay(10);
  56.                          if(key9==0)
  57.             {
  58.                          delay(5);
  59.                          if(key9==0)
  60.                {
  61.                             keep=1;
  62.                             n=0;        
  63.                 display(n);
  64.                           while(1)return;
  65.                    }
  66.                          while(!key9);
  67.                      delay(5);
  68.                          while(1);   
  69.                      }
  70.                         }
  71.                   }                  
  72.                   while(!key1);
  73.                   delay(5);
  74.                  
  75.          }
  76.          if(key2==0)
  77.          {
  78.                   delay(5);
  79.                   if(key2==0)
  80.                   {
  81.                            n=2;
  82.                            display(n);
  83.                            while(1)
  84.                            {
  85.                            keep=0;                         //開啟蜂鳴器
  86.                            delay(10);
  87.                            keep=1;
  88.                            delay(10);
  89.                             if(key9==0)
  90.                                 {
  91.                                  delay(5);
  92.                                  if(key9==0)
  93.                                  {
  94.                                     keep=1;
  95.                                     n=0;        
  96.                         display(n);
  97.                                      while(1)return;
  98.                                  }
  99.                                          while(!key9);
  100.                                      delay(5);
  101.                                          while(1);   
  102.                                         }
  103.                                 }
  104.                           }         
  105.                           while(!key2);
  106.                           delay(5);
  107.          }         
  108. if(key3==0)
  109.          {
  110.                   delay(5);
  111.                   if(key3==0)
  112.                   {
  113.                            n=3;
  114.                            display(n);
  115.                             while(1)
  116.                         {
  117.                         keep=0;                         //開啟蜂鳴器
  118.                         delay(10);
  119.                         keep=1;
  120.                         delay(500);
  121.                          if(key9==0)
  122.                         {
  123.                          delay(5);
  124.                          if(key9==0)
  125.                          {
  126.                             keep=1;
  127.                             n=0;        
  128.                 display(n);
  129.                           while(1)return;
  130.                          }
  131.                          while(!key9);
  132.                      delay(5);
  133.                          while(1);   
  134.                         }
  135.                         }
  136.                   }                                       
  137.                   while(!key3);
  138.                   delay(5);         
  139.          }
  140.          if(key4==0)
  141.          {
  142.                   delay(5);
  143.                   if(key4==0)
  144.                   {
  145.                            n=4;
  146.                            display(n);
  147.                            while(1)
  148.                         {
  149.                         keep=0;                         //開啟蜂鳴器
  150.                         delay(10);
  151.                         keep=1;
  152.                         delay(10);
  153.                          if(key9==0)
  154.                         {
  155.                          delay(5);
  156.                          if(key9==0)
  157.                          {
  158.                             keep=1;
  159.                             n=0;        
  160.                 display(n);
  161.                           while(1)return;
  162.                          }
  163.                          while(!key9);
  164.                      delay(5);
  165.                          while(1);   
  166.                         }
  167.                         }
  168.                   }                                       
  169.                   while(!key4);
  170.                   delay(5);         
  171.          }               
  172. if(key5==0)
  173.          {
  174.                   delay(5);
  175.                   if(key5==0)
  176.                   {
  177.                            n=5;
  178.                            display(n);
  179.                            while(1)
  180.                         {
  181.                         keep=0;                         //開啟蜂鳴器
  182.                         delay(10);
  183.                         keep=1;
  184.                         delay(10);
  185.                          if(key9==0)
  186.                         {
  187.                          delay(5);
  188.                          if(key9==0)
  189.                          {
  190.                             keep=1;
  191.                             n=0;        
  192.                 display(n);
  193.                           while(1)return;
  194.                          }
  195.                          while(!key9);
  196.                      delay(5);
  197.                          while(1);   
  198.                         }
  199.                         }
  200.                   }                                       
  201.                   while(!key5);
  202.                   delay(5);         
  203.          }
  204.          if(key6==0)
  205.          {
  206.                   delay(5);
  207.                   if(key6==0)
  208.                   {
  209.                            n=6;
  210.                            display(n);
  211.                            while(1)
  212.                         {
  213.                         keep=0;                         //開啟蜂鳴器
  214.                         delay(10);
  215.                         keep=1;
  216.                         delay(10);
  217.                          if(key9==0)
  218.                         {
  219.                          delay(5);
  220.                          if(key9==0)
  221.                          {
  222.                             keep=1;
  223.                             n=0;        
  224.                 display(n);
  225.                           while(1)return;
  226.                          }
  227.                          while(!key9);
  228.                      delay(5);
  229.                          while(1);   
  230.                         }
  231.                         }
  232.                   }                                       
  233.                   while(!key6);
  234.                   delay(5);
  235.          }        
  236.           if(key7==0)
  237.          {
  238.                   delay(5);
  239.                   if(key7==0)
  240.                   {
  241.                            n=7;
  242.                            display(n);
  243.                            while(1)
  244.                         {
  245.                         keep=0;                         //開啟蜂鳴器
  246.                         delay(10);
  247.                         keep=1;
  248.                         delay(10);
  249.                          if(key9==0)
  250.                         {
  251.                          delay(5);
  252.                          if(key9==0)
  253.                          {
  254.                             keep=1;
  255.                             n=0;        
  256.                 display(n);
  257.                           while(1)return;
  258.                          }
  259.                          while(!key9);
  260.                      delay(5);
  261.                          while(1);   
  262.                         }
  263.                         }
  264.                   }                                       
  265.                   while(!key7);
  266.                   delay(5);         
  267.          }        
  268. if(key8==0)
  269.          {
  270.                   delay(5);
  271.                   if(key8==0)
  272.                   {
  273.                            n=8;
  274. ……………………

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

所有資料51hei提供下載:
8路搶答器.rar (57.9 KB, 下載次數: 42)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线精品一区二区三区 | 亚洲看片网站 | 久久久精品一区 | 日韩www视频 | 亚洲视频免费播放 | 国产精品免费观看视频 | 91五月天| 伊人网影院 | 久久精品中文字幕 | 999热精品| 国产高清精品一区 | 久久精品国产一区老色匹 | 国产剧情久久 | 又黑又粗又长的欧美一区 | 欧美国产日本一区 | 亚洲一区中文字幕 | 国产精品av久久久久久久久久 | 国产一区二区精品在线 | 亚洲日韩中文字幕 | 国产成人免费 | 久久久久国产精品一区三寸 | 欧美一级免费看 | 中文一区二区视频 | 亚洲精品久久久久久下一站 | 免费在线播放黄色 | 国产成人精品一区二区三 | 亚洲天堂二区 | 国产精久久久久久久 | 精品久久久久久久久久久久久久 | 久久久国产精品一区 | 国产激情视频网站 | 国产一级毛片精品完整视频版 | 中文一区 | 欧美日韩国产在线观看 | www国产成人免费观看视频,深夜成人网 | 欧美乱操 | 久久一本 | 一区二区三区播放 | 午夜播放器在线观看 | 久久免费精品视频 | 在线看无码的免费网站 |