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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

五路按鍵搶答器單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:622126 發表于 2019-10-21 18:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 Scorpionx 于 2019-11-10 21:05 編輯

五路按鍵搶答器,
P3^2~P3^6為搶答人
P3~7為主持人復位
4位數碼管顯示搶答者序號和倒計時

單片機源程序如下:
  1. #include <reg52.h>
  2. /***************定 義 參 數***************/
  3. unsigned char xianshi=88,kaishi=0,daojishi=10,haoma=0,bitdisplay=0,k=0;
  4. unsigned int  i,n=0,  bittime=0;
  5. sbit d1=P3^2;                 //選手1
  6. sbit d2=P3^3;                 //選手2
  7. sbit d3=P3^4;                 //選手3
  8. sbit d4=P3^5;                 //選手4
  9. sbit d5=P3^6;                 //選手5
  10. sbit start=P3^7;                //主持人
  11. sbit LED=P2^7;
  12. unsigned char Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  13. /***************延 時 計 數***************/
  14. void delay (unsigned int t)                //t=1時,1ms                                 
  15. {
  16.         unsigned int a,b;
  17.         for(a=0;a<t;a++)
  18.                 for(b=0;b<120;b++);
  19. }
  20. /***************中斷函數***************/
  21. void timer0(void)interrupt 1         //5ms中斷一次
  22. {
  23.         TH0 = (65536-5000)/256;
  24.         TL0 = (65536-5000)%256;
  25.         switch(bitdisplay)
  26.         {
  27.         case 0:P1=0xFB;P0=Tab[xianshi/10];break;
  28.         case 1:P1=0xF7;P0=Tab[xianshi%10];break;
  29.         case 2:P1=0xFE;P0=Tab[haoma];break;
  30.         case 3:P1=0xFD;P0=~0x40; break;
  31.         }
  32.         
  33.         bitdisplay++;            
  34.         bittime++;                        
  35.         if(bitdisplay==4)
  36.                 bitdisplay=0;
  37.         
  38.         if(bittime==200)          //5*200=1000ms
  39.         {
  40.                 bittime=0;
  41.                 xianshi--;
  42.         }
  43.         
  44.         if(xianshi==0) //如果倒計時結束則蜂鳴器與LED顯示
  45.         {
  46.                 P1=0xff;
  47.                 LED=1;         
  48.                 delay(1000);
  49.                 LED=0;
  50.                 TR0=0;
  51.         }
  52. }
  53. void djtime() //倒計時間修改
  54. {
  55.         while(n)
  56.                 {
  57.                         for(i=0;i<50;i++)
  58.                         {
  59.                                 P1=0xFB;P0=Tab[daojishi/10];
  60.                                 delay(5);
  61.                                 P1=0xF7;P0=Tab[daojishi%10];
  62.                                 delay(5);
  63.                         }
  64.                         if(d1==0)  
  65.                         delay(33);
  66.                         if(d1==0)
  67.                         daojishi--;
  68.                         
  69.                         if(daojishi>20)
  70.                         daojishi=20;
  71.                         if(daojishi<5)
  72.                         daojishi=5;
  73.                         if(start==0)
  74.                         delay(33);
  75.                         if(start==0)
  76.                         {
  77.                         n=0;
  78.                         LED=1;
  79.                         for(i=0;i<100;i++)
  80.                         {
  81.                                 P1=0xFB;P0=Tab[daojishi/10];
  82.                                 delay(5);
  83.                                 P1=0xF7;P0=Tab[daojishi%10];
  84.                                 delay(5);
  85.                         }
  86.                         P1=0xff;                                                
  87.                         LED=0;
  88.                         }
  89.                 }
  90. }
  91. /***************主  函  數***************/
  92. void main()
  93. {        
  94.         
  95.         TMOD=0X01;                 
  96.         TH0 = (65536-5000)/256;  
  97.         TL0 = (65536-5000)%256;
  98.         EA=1;                 
  99.         ET0=1;           //定時器中斷
  100.         TR0=0;         //定時器 ,等待手動開啟
  101.         for(i=0;i<6;i++)
  102.                 {
  103.                         LED=~LED;
  104.                         delay(500);
  105.                 }
  106.         LED=0;   
  107.         while(1)
  108.         {   
  109.                 djtime();
  110.                 if(start==0)      
  111.                         delay(33);
  112.                 if(start==0)
  113.                 {
  114.                         k=1;
  115.                         haoma=0;            
  116.                         xianshi=kaishi;           
  117.                         TR0=1;
  118.                 }                        
  119.                 while(k)
  120.                 {
  121.                         while(xianshi)
  122.                         {
  123.                                 if(d1==0)  
  124.                                         delay(33);
  125.                                 if(d1==0)
  126.                                 {         
  127.                                         haoma=1;
  128.                                         break;        
  129.                                 }
  130.                                 if(d2==0)  
  131.                                         delay(33);
  132.                                 if(d2==0)
  133.                                 {                                
  134.                                         haoma=2;
  135.                                         break;                                                                        
  136.                                 }
  137.                                 if(d3==0)         
  138.                                         delay(33);
  139.                                 if(d3==0)
  140.                                 {                                
  141.                                         haoma=3;
  142.                                         break;                                
  143.                                 }               
  144.                                 if(d4==0)                                 
  145.                                         delay(33);
  146.                                 if(d4==0)
  147.                                 {                                
  148.                                         haoma=4;
  149.                                         break;                                
  150.                                 }                        
  151.                                 if(d5==0)                                 
  152.                                         delay(33);
  153.                                 if(d5==0)
  154.                                 {                                
  155.                                         haoma=5;
  156.                                         break;                                
  157.                                 }                        
  158.                         
  159.                         }         
  160.                         xianshi=daojishi;        
  161.                         LED=1;     
  162.                         delay(400);         
  163.                         LED=0;
  164.                         k=0;
  165.                 }
  166.         }        
  167. }            
復制代碼

以上程序51hei提供下載:
搶答器.docx (14.97 KB, 下載次數: 7)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:791702 發表于 2020-6-28 12:29 | 只看該作者
想要仿真圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 综合精品在线 | 男人天堂手机在线视频 | 一区视频 | 亚洲一区精品在线 | 不卡在线一区 | 精品欧美一区二区三区久久久 | 亚洲激情综合 | av大片 | 久久另类视频 | 午夜视频在线免费观看 | 999久久久 | 久久久久久免费观看 | 日本不卡在线视频 | 亚洲精品一区二区在线 | 99久久中文字幕三级久久日本 | 久久天堂 | 91精品国产乱码久久久久久久久 | 精品欧美乱码久久久久久 | 中文字幕高清一区 | 99久久婷婷国产综合精品电影 | 久久久一区二区三区四区 | 国产精品中文字幕一区二区三区 | 一区二区三区国产精品 | 精品综合视频 | 日本精品网站 | 亚洲人a| 日韩在线视频精品 | 国产精品久久久久一区二区三区 | 精品美女视频在线观看免费软件 | 欧美黑人一区二区三区 | 欧洲一区二区三区 | 天天干狠狠操 | 色婷婷av久久久久久久 | 国产精品久久久久久238 | 午夜av电影 | 凹凸日日摸日日碰夜夜 | 自拍视频网站 | 久久av一区二区三区 | 免费同性女女aaa免费网站 | 在线观看免费av网站 | 国产一区二区视频免费在线观看 |