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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12197|回復(fù): 11
收起左側(cè)

單片機八路搶答器設(shè)計終極版

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

程序圖

程序圖

任務(wù)描述及要求
  
任務(wù)描述
  
重難點
完成搶答器系統(tǒng)的軟硬件設(shè)計與調(diào)試,系統(tǒng)主要功能要求如下:
  
     1. 在給定電路圖基礎(chǔ)上,完成8路搶答器設(shè)計;
  
2. 搶答成功后,顯示組號,同時蜂鳴器響一聲;
  
3. 搶答成功后,顯示20秒答題倒計時,計時時間到蜂鳴器響一聲;
  
3. 根據(jù)答題正確與否進行加、減分并顯示累計分數(shù)。
  
     4. 設(shè)主持人復(fù)位鍵;主持人加、減分鍵;
#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;                                                //設(shè)置初值;計時為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)           //動態(tài)掃描子程序
  {
                 
         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)       //計 數(shù)  
       {
                              
                   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)                                //復(fù) 位
                              {
                       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. 加減分功能的設(shè)計;
  
3. 各種信息的交替顯示;
  
4.系統(tǒng)的統(tǒng)調(diào)。

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

評分

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

查看全部評分

回復(fù)

使用道具 舉報

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

Proteus8.8版本.7z

54.31 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報

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

使用道具 舉報

ID:417279 發(fā)表于 2018-10-29 15:03 來自手機 | 顯示全部樓層
剛好需要,謝謝dalao
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

thanks for sharing
回復(fù)

使用道具 舉報

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

使用道具 舉報

ID:399179 發(fā)表于 2022-1-7 11:47 來自手機 | 顯示全部樓層
正好需要,謝謝樓主無私奉獻!
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕亚洲精品在线观看 | 人人九九精 | 久在线视频播放免费视频 | xx视频在线 | 91网站视频在线观看 | 日本成人免费网站 | 久久国产精品99久久久久久丝袜 | 久久久久久999 | 日韩在线视频免费观看 | 久久99深爱久久99精品 | 中文字幕日韩欧美 | 国产欧美日韩在线观看 | 欧美亚洲高清 | 久久骚| a级片在线观看 | 91精品国产91久久综合桃花 | 五月婷亚洲 | 亚洲成人二区 | 91xxx在线观看 | 伊人网站 | 国产福利资源在线 | 国产精品久久久久无码av | 成人免费看黄网站在线观看 | 伦理一区二区 | 国产91久久久久蜜臀青青天草二 | 日韩欧美在线一区 | 欧美男人天堂 | 天天拍天天操 | 日韩欧美视频免费在线观看 | 伊色综合久久之综合久久 | 亚洲狠狠爱 | aaa天堂| 天堂中文在线观看 | 国产激情网 | 羞羞视频在线观看网站 | 成人免费视频一区二区 | 欧美一区二区三区大片 | 精品视频一区二区三区在线观看 | 日本久久视频 | 亚洲一区在线观看视频 | 国产黄色网址在线观看 |