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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12346|回復: 11
收起左側

單片機八路搶答器設計終極版

  [復制鏈接]
ID:211150 發表于 2017-6-15 16:21 | 顯示全部樓層 |閱讀模式
搶答器系統仿真原理圖如下(proteus工程文件可到附件下載):

程序圖

程序圖

任務描述及要求
  
任務描述
  
重難點
完成搶答器系統的軟硬件設計與調試,系統主要功能要求如下:
  
     1. 在給定電路圖基礎上,完成8路搶答器設計;
  
2. 搶答成功后,顯示組號,同時蜂鳴器響一聲;
  
3. 搶答成功后,顯示20秒答題倒計時,計時時間到蜂鳴器響一聲;
  
3. 根據答題正確與否進行加、減分并顯示累計分數。
  
     4. 設主持人復位鍵;主持人加、減分鍵;
#include<reg51.h>
sbit key1=P0^0;
sbit key2=P0^1;
sbit key3=P0^2;
sbit key4=P0^3;
sbit key5=P0^4;
sbit key6=P0^5;
sbit key7=P0^6;
sbit key8=P0^7;
sbit k1=P3^6;
sbit k2=P3^7;
sbit k3=P3^3;
sbit wy=P3^4;
sbit wk_key=P3^5;
sbit ghr_key=P3^2;
bit qd_hd,speaker_permit;
bit grade_hxj;
unsigned char duanma[13]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xa3,0xa1};         
unsigned char fenshu[10]={0,0,0,0,0,0,0,0,0,0};
unsigned char weima[6]={0x01,0x02,0x04,0x08,0x10,0x20};
unsigned char xianshi[6]={0,0,0,0,0,0};
unsigned char  saomiao_jishu, jishi,jishu,jishu1,jishu2,zuhao=0,fuhao1,jishu3,f_speaker;
unsigned char jishi,miao,fen;
unsigned int jishi1;
unsigned char data_out;

void chushihua (void)               
  {
    zuhao=0;                                //組號  顯示 0,
        TMOD=0X11;
        EA=1;                                                //設置初值;計時為0。
        ET1=1;TR1=1;
        ET0=1;TR0=1;
        TH1=(65536-1000)/256;
        TL1=(65536-1000)%256;
        TH0=(65536-10000)/256;
        TL0=(65536-10000)%256;
        jishi=0;grade_hxj=0;
        qd_hd=0;
        speaker_permit=1;
  }
void dtsm(void)           //動態掃描子程序
  {
                 
         fen=fenshu[zuhao] ;
                 xianshi[0]=duanma[zuhao/10];
                 xianshi[1]=duanma[zuhao%10];
                 xianshi[2]=duanma[miao/10];
                 xianshi[3]=duanma[miao%10];
                 xianshi[4]=duanma[fen/10];
                 xianshi[5]=duanma[fen%10];
                      saomiao_jishu++;
                      if(saomiao_jishu==6)
                        {
                                  saomiao_jishu=0;
                                }
                  P2=  weima[saomiao_jishu];//位碼
                      P1=xianshi[saomiao_jishu];//段碼  
                           
  
  }
void preemptive_answer(void)                 //搶答子程序
{
if(qd_hd==0)                                                 //允 許 搶 答         
                            {
                                if(key1==0)                                
                               {                                                                                
                                zuhao=1; miao=20;qd_hd=1;
                                          speaker_permit=0;grade_hxj=1;
                                                  
                                         }   
                                  if(key2==0)           
                                         {
                                     zuhao=2; miao=20;qd_hd=1;
                                          speaker_permit=0;grade_hxj=1;
                                         }
                  if(key3==0)   
                                           {                        
                                zuhao=3; miao=20;qd_hd=1;
                                          speaker_permit=0;grade_hxj=1;
                               }                     
                                     if(key4==0)
                                           {                        
                                zuhao=4; miao=20;qd_hd=1;
                                          speaker_permit=0;grade_hxj=1;
                               }                     
                                  if(key5==0)           
                                         {  
                                     zuhao=5; miao=20;qd_hd=1;
                                          speaker_permit=0;grade_hxj=1;
                                         }  
                                    if(key6==0)
                                           {                        
                                zuhao=6; miao=20;qd_hd=1;
                                          speaker_permit=0;grade_hxj=1;
                               }                     
                                  if(key7==0)           
                                         {  
                                     zuhao=7; miao=20;qd_hd=1;
                                          speaker_permit=0;grade_hxj=1;
                                         }  
                  if(key8==0)                                
                               {
                                zuhao=8; miao=20;qd_hd=1;
                                          speaker_permit=0;grade_hxj=1;                    
                                         }
                                }           
                   if(k3==0)         //開始
                                           {
                                          miao=10;qd_hd=0 ;

                                         }                                                  
if(qd_hd==1)       //計 數  
       {
                              
                   jishu2++;                                                  
           if(jishu2==200)                                          
          {
               jishu2=0;                                          
                   miao--;
                   if((miao==19)||(miao==0))        
                           {
                   speaker_permit=1;
                           }
                   if(miao==1)speaker_permit=0;                                                  
                   if(miao==0xff)miao=0;                  
              }
       }

                         if(wk_key==0)                                //復 位
                              {
                       zuhao=0;
                     miao=0;
                   qd_hd=0;
                     fen=0;
                     grade_hxj=0;   
                              }
if(grade_hxj==1)
                   {
                        if(k1==0)                                //加 分
                              {
                      fenshu[zuhao]=fenshu[zuhao]+1;
                    fen=fenshu[zuhao];
                    while(k1==0);
                                        }
                        if(k2==0)                                //減 分
                                       {
                    fenshu[zuhao]=fenshu[zuhao]-1;
                    fen=fenshu[zuhao];
                    while(k2==0);
                    }      
                 }
   
                                   

}
void zd(void) interrupt 3                        //蜂鳴 (中斷)
{
    TH1=(65536-8000)/256;
    TL1=(65536-8000)%256;
         jishu2++;                                                  
           if(jishu2==250)                                          
          {
               jishu2=0;                                          
                   miao--;
                   if(miao==0xff)miao=0;
                   }
                   if(miao==0)qd_hd=1;
        dtsm();
                preemptive_answer();         
}
void zd1(void) interrupt 1                //蜂鳴(中斷)
{
    TH0=(65536-1000)/256;
    TL0=(65536-1000)%256;
  if(speaker_permit==0)
        {
      f_speaker++;
          if(f_speaker==1)
           {
                   f_speaker=0;
                ghr_key=~ghr_key;
           }
    }
  if(wy==0)
                {
                 zuhao++;
                         if(zuhao==9)
                                {
                                 zuhao=0;
                                 fen=fenshu[zuhao] ;
                                }
                         while(wy==0);
            }
                 
}

void main(void)        
  {         
     chushihua();           
         while(1);

  }

1. 蜂鳴器的控制;
  
2. 加減分功能的設計;
  
3. 各種信息的交替顯示;
  
4.系統的統調。

0.png
全部資料下載地址:
五組搶答器終極版.rar (71.51 KB, 下載次數: 192)




評分

參與人數 3黑幣 +138 收起 理由
INVIO + 30 絕世好帖!
zqy181818 + 8 贊一個!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:359045 發表于 2018-6-29 14:33 | 顯示全部樓層
我轉成了Proteus8.8版本了

Proteus8.8版本.7z

54.31 KB, 下載次數: 10, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:363252 發表于 2018-7-2 16:39 | 顯示全部樓層
很好厲害
回復

使用道具 舉報

ID:417279 發表于 2018-10-29 15:03 來自觸屏版 | 顯示全部樓層
剛好需要,謝謝dalao
回復

使用道具 舉報

ID:434590 發表于 2018-11-30 14:44 | 顯示全部樓層
搶答快了喇叭會一直響,清零也不能停止,只有停止仿真....
回復

使用道具 舉報

ID:272006 發表于 2019-3-24 18:08 | 顯示全部樓層
為什么開始搶答以后,揚聲器就停不下來
回復

使用道具 舉報

ID:736988 發表于 2020-5-4 17:28 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:720479 發表于 2020-5-5 18:43 | 顯示全部樓層
太好了,剛好需要
回復

使用道具 舉報

ID:992517 發表于 2021-12-15 04:59 | 顯示全部樓層

thanks for sharing
回復

使用道具 舉報

ID:997835 發表于 2021-12-28 15:07 | 顯示全部樓層
牛逼哥,又美觀又實用
回復

使用道具 舉報

ID:399179 發表于 2022-1-7 11:47 來自觸屏版 | 顯示全部樓層
正好需要,謝謝樓主無私奉獻!
回復

使用道具 舉報

ID:942522 發表于 2022-3-21 16:24 | 顯示全部樓層
你好,我想請教一下,怎么把  答錯扣分  改成    答錯繼續搶答啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本天天操 | 日韩在线看片 | 中文字幕av在线一二三区 | 亚洲一区二区三区四区av | 欧美在线视频不卡 | 欧美精品综合在线 | 三级av网址 | 亚洲乱码国产乱码精品精的特点 | 国产精品99久久久久久大便 | 超碰97人人人人人蜜桃 | 色婷婷国产精品综合在线观看 | 久久久久国产一区二区三区 | 欧美一区二区三区在线 | 亚洲在线| 欧美在线国产精品 | 日本不卡一区二区三区 | 国产精品美女久久久久久免费 | 人人做人人澡人人爽欧美 | 久久久久国 | 亚洲午夜精品久久久久久app | 亚洲精品一区二区在线观看 | 亚洲一区在线日韩在线深爱 | 日韩三区在线 | 中文字幕一区二区三区精彩视频 | 91精品国产91久久综合桃花 | 91视视频在线观看入口直接观看 | 亚洲iv一区二区三区 | 在线观看国产视频 | 男女免费在线观看视频 | 美女爽到呻吟久久久久 | 久久精品91久久久久久再现 | 少妇精品亚洲一区二区成人 | 日韩一区二区在线播放 | 在线视频中文字幕 | 国产精品揄拍一区二区久久国内亚洲精 | 一级黄片一级毛片 | 久久久久国产精品 | 在线免费观看a级片 | 日韩精品一区二区三区在线 | 亚洲欧美视频在线观看 | 亚洲国产情侣自拍 |