欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 13638|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)c語(yǔ)言8位競(jìng)賽搶答器課程設(shè)計(jì)報(bào)告

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:213168 發(fā)表于 2017-6-21 01:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
課程設(shè)計(jì)報(bào)告

課程名稱:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)

報(bào)告題目:8位競(jìng)賽搶答器的設(shè)計(jì)
學(xué)生姓名:
所在學(xué)院:信息科學(xué)與工程學(xué)院
專業(yè)班級(jí):
學(xué)生學(xué)號(hào):
指導(dǎo)教師:


2013 年12月25日
課程設(shè)計(jì)任務(wù)書
  
報(bào)告題目
  
8位競(jìng)賽搶答器的設(shè)計(jì)
完成時(shí)間
12.15-12.29
學(xué)生姓名


專業(yè)班級(jí)


指導(dǎo)教師


職稱
講師
總體設(shè)計(jì)要求和技術(shù)要點(diǎn)
設(shè)計(jì)一個(gè)數(shù)字式電容測(cè)量?jī)x電路,要求如下:
  
    以單片機(jī)為核心,設(shè)計(jì)一個(gè)8位競(jìng)賽搶答器:同時(shí)供8名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕S0~S7表示。
  
    設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān)S,開關(guān)由主持人控制。
  
    搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號(hào),并在優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。當(dāng)主持人啟動(dòng)“開始”鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間為0.5s左右。
  
    參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號(hào)和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。
  
如果定時(shí)時(shí)間已到,無(wú)人搶答,本次搶答無(wú)效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00
工作內(nèi)容及時(shí)間進(jìn)度安排
第17周:
  
周一、周二:選題,明確任務(wù),指導(dǎo)教師對(duì)課題進(jìn)行講解,資料檢索
  
周三:硬件設(shè)計(jì),硬件仿真
  
周四、周五:軟件設(shè)計(jì)
  
第18周:
  
周一:綜合調(diào)試
  
周二、周三、周四:書寫課程設(shè)計(jì)報(bào)告
  
周五:答辯評(píng)分
課程設(shè)計(jì)成果
1.與設(shè)計(jì)內(nèi)容對(duì)應(yīng)的軟件程序
  
2.課程設(shè)計(jì)總結(jié)報(bào)告








摘要
搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合。但搶答器的使用頻率較低,且有的要么制作復(fù)雜,要么可靠性低。作為一個(gè)單位,如果專門購(gòu)一臺(tái)搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往往因長(zhǎng)期存放使(電子器件的)搶答器損壞,再購(gòu)置的麻煩和及時(shí)性就會(huì)影響活動(dòng)的開展,因此設(shè)計(jì)了本搶答器。
本設(shè)計(jì)是以八路搶答為基本理念?紤]到依需設(shè)定限時(shí)回答的功能,利用AT89C52單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間。用開關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)生提示。同時(shí)系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無(wú)效;搶答限定時(shí)間和回答問題的時(shí)間可在1-30s設(shè)定;可以顯示是哪位選手有效搶答,正確按鍵后有5s的音樂提示(即揚(yáng)聲器發(fā)出響聲);搶答時(shí)間和回答問題時(shí)間倒記時(shí)顯示,滿時(shí)后系統(tǒng)計(jì)時(shí)自動(dòng)復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無(wú)效非法。

關(guān)鍵詞:89c52;電路;顯示;按鍵


目錄
一、概述…………………………………………………………………………1
二、方案設(shè)計(jì)………………………………………………………………1
三、硬件電路設(shè)計(jì)…………………………………………………………2
1、搶答器的電路框圖…………………………………………………………2
2、單元電路 ………………………………………………………………………………3
   2.1、搶答器電路………………………………………………………………………3
  2.2、時(shí)序控制電路……………………………………………………………………3
2.3、復(fù)位電路…………………………………………………………………………3                                 
    3、時(shí)鐘震蕩電路………………………………………………………………3
4、報(bào)警電路…………………………………………………………………3
四、軟件設(shè)計(jì)………………………………………………………………4
1、系統(tǒng)主程序…………………………………………………………4
2、系統(tǒng)程序…………………………………………………………5
五、結(jié)論與心得………………………………………………………………………10
六、參考文獻(xiàn)……………………………………………………………………10


一、概述
本實(shí)驗(yàn)電路由搶答電路、譯碼顯示電路、主持人控制電路、定時(shí)電路、報(bào)警電路組成。通過復(fù)位按鍵FW,電路進(jìn)入準(zhǔn)備就緒狀態(tài)。將搶答時(shí)間設(shè)定在30S,然后按下開始鍵開始搶答。,在電路中“S0-S7”為8路搶答器的8個(gè)按鍵,當(dāng)有鍵按下,程序鎖定信號(hào),從P2口輸出搶答者號(hào)碼的七段碼值,送到數(shù)碼管顯示,并封鎖按鍵,保持剛才按鍵按下時(shí)刻的時(shí)間,禁止其他人按鍵的輸入,從而實(shí)現(xiàn)了搶答的功能。當(dāng)設(shè)定的搶答時(shí)間結(jié)束,仍然沒有搶答鍵被按下,則產(chǎn)生已經(jīng)超時(shí)的報(bào)警信號(hào),結(jié)束搶答。當(dāng)要進(jìn)行下一次的搶答時(shí),首先按一下復(fù)位按鍵,電路復(fù)位。
該設(shè)計(jì)是以MCS51為基礎(chǔ),結(jié)合單片機(jī)匯編語(yǔ)言知識(shí),設(shè)計(jì)而成的8位競(jìng)賽搶答器。在偉福試驗(yàn)箱上實(shí)現(xiàn)仿真。
主持人按下“開始搶答鍵”既單脈沖鍵后,喇叭響0.5秒給出提示信號(hào),并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)30秒搶答時(shí)間)此時(shí),數(shù)碼顯示管上顯示倒計(jì)時(shí)時(shí)間:有選手搶答,停止計(jì)時(shí),八段數(shù)碼顯示搶答時(shí)間和選手號(hào);無(wú)選手搶答,倒計(jì)時(shí)30秒后,顯示00。然后選手等待主持人按下按鈕開始新一輪搶答。
注意:                             
(1)由于設(shè)計(jì)的局限性,如果在無(wú)人搶答期間,30秒還未到,主持人不能按下重新下一輪搶答按鈕。
(2)由于試驗(yàn)箱上按鈕數(shù)量有限,故選用開關(guān)代替按鈕,供8位選手搶答使用。鑒于開關(guān)與按鈕動(dòng)作過程的差異,所以每次當(dāng)選手搶答,撥下開關(guān)時(shí)必須將開關(guān)復(fù)位。
(3)當(dāng)系統(tǒng)出現(xiàn)錯(cuò)誤的時(shí)候,停止操作,重新編譯開始。

二、方案設(shè)計(jì)
方案:該系統(tǒng)采用51系列單片機(jī)AT89C51作為控制核心,該系統(tǒng)可以完成運(yùn)算控制、信號(hào)識(shí)別以及顯示功能的實(shí)現(xiàn)。由于用了單片機(jī),使其技術(shù)比較成熟,應(yīng)用起來(lái)方便、簡(jiǎn)單并且單片機(jī)周圍的輔助電路也比較少,便于控制和實(shí)現(xiàn)。整個(gè)系統(tǒng)具有極其靈活的可編程性,能方便地對(duì)系統(tǒng)進(jìn)行功能的擴(kuò)張和更改。MCS-51單片機(jī)特點(diǎn)如下:
    <1>可靠性好:?jiǎn)纹瑱C(jī)按照工業(yè)控制要求設(shè)計(jì),抵抗工業(yè)噪聲干擾優(yōu)于一般的CPU,程序指令和數(shù)據(jù)都可以寫在ROM里,許多信號(hào)通道都在同一芯片,因此可靠性高,易擴(kuò)充。
<2>單片機(jī)有一般電腦所必須的器件。
<3> 控制功能強(qiáng):?jiǎn)纹瑱C(jī)指令除了輸入輸出指令,邏輯判斷指令外還有更豐富的條件分支跳躍指令。

三、硬件電路設(shè)計(jì)1、搶答器的電路框圖
    如圖3.1.1所示為電路框圖。其工作原理為:接通電源后,主持人按下開關(guān)即為“開始”狀態(tài),宣布“開始”搶答器工作。編號(hào)顯示器滅燈,定時(shí)器顯示設(shè)定時(shí)間。定時(shí)器倒計(jì)時(shí),揚(yáng)聲器給出5s聲響提示。選手在定時(shí)時(shí)間內(nèi)搶答時(shí),搶答器完成:優(yōu)先判斷、編號(hào)鎖存、編號(hào)顯示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答、定時(shí)器顯示剩余時(shí)間。如果再次搶答必須由主持人再次操作"開始、停止"狀態(tài)按鍵。
                     


圖3.1.1電路框圖                 
2、單元電路
3.2.1、搶答器電路
該電路完成兩個(gè)功能:一是判斷出選手按鍵的先后,并鎖存優(yōu)先搶答者的編號(hào),同時(shí)譯碼顯示電路顯示編號(hào);二是禁止其他選手按鍵操作無(wú)效。如有再次搶答需由主持人將S開關(guān)重新置,“清除”然后再進(jìn)行下一次搶答。
3.2.2、時(shí)序控制電路
時(shí)序控制電路是搶答器設(shè)計(jì)的關(guān)鍵,它要完成以下功能:
a.主持人將控制開關(guān)撥到"開始"位置時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路進(jìn)人正常搶答工作狀態(tài)!                     
b.當(dāng)參賽選手按動(dòng)搶答鍵時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路停止工作。
3.2.3、復(fù)位電路設(shè)計(jì)
外部中斷和內(nèi)部中斷并存,單片機(jī)硬件復(fù)位端,只要持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,硬件復(fù)位后的各狀態(tài)可知寄存器以及存儲(chǔ)器的值都恢復(fù)到了初始值,因?yàn)楸驹O(shè)計(jì)中功能中有倒計(jì)時(shí)時(shí)間的記憶功能,所以不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,只能用軟件復(fù)位,軟件復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完之后,將程序通過一條跳轉(zhuǎn)指令讓它完成復(fù)位。
3、時(shí)鐘震蕩電路
時(shí)鐘震蕩電路單片機(jī)必須在89C52驅(qū)動(dòng)下才能工作,在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘震蕩電路,只需要外接一個(gè)振蕩器就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元。
4、報(bào)警電路
報(bào)警電路用于報(bào)警,當(dāng)遇到報(bào)警信號(hào)時(shí),發(fā)出警報(bào)。8952動(dòng)喇叭的信號(hào)為各種頻率的脈沖。因此,最簡(jiǎn)單的喇叭驅(qū)動(dòng)方式就是利用達(dá)林頓晶體管,或者以兩個(gè)常用的小晶體管連接成達(dá)林頓架勢(shì)。在右圖中電阻R為限流電阻,在此利用晶體管的高電流增益,以達(dá)到電路快速飽和的目的。不過,如果要由P0輸出到此電路,還需要連接一個(gè)10K的上拉電阻。
file:///C:/Users/83570/AppData/Local/Temp/OICE_78C48033-D549-423C-91D1-C72951558F6E.0/msohtmlclip1/01/clip_image003.jpg
圖3硬件電路圖

四、軟件設(shè)計(jì)1、系統(tǒng)主程序
為了能夠達(dá)到搶答的公平、公正、合理,應(yīng)該在主持人發(fā)布搶答命令之前必須先設(shè)定搶答的時(shí)間,因而在編開始搶答前的程序得先編寫設(shè)定時(shí)間的程序,當(dāng)時(shí)間設(shè)好了之后,主持人發(fā)布搶答命令按下s1按鍵,程序開始打開定時(shí)中斷開始倒計(jì)時(shí),然后調(diào)用鍵盤掃描子程序,編寫鍵盤掃描程序。當(dāng)在掃描到有人按下了答題鍵,馬上關(guān)閉T0、調(diào)用顯示程序、封鎖鍵盤。
以單片機(jī)為核心,設(shè)計(jì)一個(gè)8位競(jìng)賽搶答器:同時(shí)供8名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕S0~S7表示。
   設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān)S,開關(guān)由主持人控制。
   搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號(hào),并在優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。當(dāng)主持人啟動(dòng)“開始”鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間為0.5s左右。
   參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號(hào)和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。
如果定時(shí)時(shí)間已到,無(wú)人搶答,本次搶答無(wú)效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00。

file:///C:/Users/83570/AppData/Local/Temp/OICE_78C48033-D549-423C-91D1-C72951558F6E.0/msohtmlclip1/01/clip_image004.gif
圖4.1主程序方框圖
2、系統(tǒng)程序
#include<reg52.h>
#defineuint unsigned int
#defineuchar  unsigned char
sbits1=P3^0;
sbitwe=P3^6;
ucharh[]={0xe0,0xd0,0xb0,0x70};         
uchar code table[]
={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
uchar num,count;
uchara=0,c=0,t,bb=0,t1;
voiddelay(uint z)
{  
     uint x,y;
     for(x=110;x>0;x--)
       for(y=z;y>0;y--);   
}
voidwrite_sx()
{  
   P2=0xdf;
   P0=0x08;
   P2=0x00;
   P0=0xff;
   P2=0xff;
   P0=table[t1];
   P2=0x00;
   P0=0x00;
   delay(5);                    
   P2=0xdf;
   P0=0x40;
   P2=0x00;
   P0=0xff;
   P2=0xff;
   P0=table[(t/10)%10];
   P2=0x00;
   P0=0x00;
   delay(5);      
   P2=0xdf;
   P0=0x80;
   P2=0x00;
   P0=0xff;
   P2=0xff;
   P0=table[t%10];
   P2=0x00;
   P0=0x00;
   delay(5);  
}

voidinit()
{
   P2=0xbf;P0=0xbf;
   TMOD=0x01;
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   EA=0;
   ET0=1;
   TR0=1;
}

voidkeyscan()
{   we=0;
    if(s1==0)
    {
        delay(5);
        if(s1==0)
        {  
            while(!s1);
            EA=1;
           P2=0xbf;P0=0xff;
           t=30;
           a=1;
          t1=10;
           c=0;
       }
     }
         if(c==0)
        {
            P3=0xfd;
            num=P3;
            num=num&0xf0;
            if(num!=0xf0)
             {
               delay(5);
               if(num!=0xf0)
               {
                   while(P3!=0xfd);
                    c=1;
                     EA=0;
                     if(num==h[3])
                      t1=1;
                     if(num==h[2])
                      t1=2;
                     if(num==h[1])
                      t1=3;
                     if(num==h[0])
                      t1=4;
               }
             }

                P3=0xfb;
               num=P3;
               num=num&0xf0;
               if(num!=0xf0)
               {
                   delay(5);
                   if(num!=0xf0)
                   {
                       while(P3!=0xfb);
                      c=1;
                      EA=0;
                      if(num==h[3])
                        t1=5;
                      if(num==h[2])
                        t1=6;
                      if(num==h[1])
                        t1=7;
                       if(num==h[0])
                        t1=8;
                   }
                }      
        }
   }
voidmain()
{   
    init();
    while(1)
    {
     keyscan();
     if((a==1)&&((t>0)&&(t<=30)))
      {
       write_sx();
      }     
      if(t==0)
      {
        EA=0;
        t=0;
        t1=10;
      }
    }
}
voidtimer0() interrupt 1
{
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
count++;
     if(count==10)
     {
       P2=0xbf;P0=0xbf;
     }
    if(count==20)
{  
count=0;
        t--;
    }
}
五、結(jié)論與心得
通過這次課程設(shè)計(jì),我深刻的認(rèn)識(shí)到自己在許多方面的不足。通過編程,我學(xué)會(huì)了如何獨(dú)立的寫出程序,提高了自己的分析解決問題的能力,并且使自己所學(xué)的知識(shí)與實(shí)踐相結(jié)合,應(yīng)用到實(shí)踐當(dāng)中。
在剛開始的時(shí)候無(wú)從下手,感覺有些茫然,但同學(xué)和老師給予我很大的幫助,每當(dāng)設(shè)計(jì)過程中遇到困難時(shí),老師都會(huì)細(xì)心的教導(dǎo)我,耐心的為我講解,同學(xué)也熱心幫助我,為我排憂解難,讓我深深的體會(huì)到了團(tuán)隊(duì)的力量和重要性。
通過設(shè)計(jì),我也學(xué)到了很多書本上沒有的知識(shí)。在設(shè)計(jì)當(dāng)中遇到了很多問題,但通過查找資料,克服了這些問題,提高了自己在實(shí)際當(dāng)中解決問題的能力。
在此我感謝學(xué)校給了我們的這次實(shí)踐機(jī)會(huì)。在這里為奔波勞累在這次設(shè)計(jì)中老師便是感謝,老師們不辭勞苦,不在乎身體的不適認(rèn)真為我們講解并為我們知道實(shí)際操作過程中的問題。讓我們一步一步有序完成此次課程設(shè)計(jì)。在這里對(duì)我們的廖老師、曹老師說(shuō)聲謝謝,謝謝你們,你們辛苦了!也祝你們身體健康工作順利
六、參考文獻(xiàn)
[1] 張毅剛.《單片機(jī)原理及應(yīng)用》.高等教育出版社,2009
[2] 譚浩強(qiáng).《C程序設(shè)計(jì)教程》.清華大學(xué)出版社
[3] 周興華.《單片機(jī)C程序設(shè)計(jì)》.北京航空航天大學(xué)出版社
  
教師評(píng)語(yǔ)及設(shè)計(jì)成績(jī)
  
教師評(píng)語(yǔ):
  
  


  
  
課程設(shè)計(jì)成績(jī):
  
  
  
  
  
指導(dǎo)教師:(簽名)
  
日期:年月日

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

使用道具 舉報(bào)

沙發(fā)
ID:555451 發(fā)表于 2019-6-9 09:09 | 只看該作者
你用的是AT89C52不是C51,寫錯(cuò)了
回復(fù)

使用道具 舉報(bào)

板凳
ID:575686 發(fā)表于 2019-7-1 15:19 | 只看該作者
圖看不了啊,有沒有仿真圖能參考一下
回復(fù)

使用道具 舉報(bào)

地板
ID:854097 發(fā)表于 2020-12-9 20:49 | 只看該作者
本帖最后由 單片機(jī)110 于 2020-12-9 22:38 編輯

推薦一個(gè)大神寫的,很不錯(cuò)東西很全
原理圖
程序均有

2樓:http://www.raoushi.com/bbs/dpj-124950-1.html

回復(fù)

使用道具 舉報(bào)

5#
ID:854097 發(fā)表于 2020-12-9 20:51 | 只看該作者
可以參考一下

原理圖.7z

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

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表