欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      4路搶答器設(shè)計(jì)程序

      時(shí)間:2019-05-14 21:02:42下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《4路搶答器設(shè)計(jì)程序》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《4路搶答器設(shè)計(jì)程序》。

      第一篇:4路搶答器設(shè)計(jì)程序

      #include

      unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,//0~f顯示表

      0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};unsigned char code table0[]={0xf1,0xf2,0xf4,0xf8};

      //P2口位選

      unsigned char code table2[]={0xef,0xdf,0xbf,0x7f};

      //P3口送行信號 unsigned char display[]={0,0,0,0};//顯示位 void sw1();

      //子函數(shù)申明 void sw2();void sw3();void sw4();void xianshi();void init();unsigned char temp,num2,x,x1,x2,a,count;

      //變量聲明 int num,num1;unsigned char key;unsigned char i,j;sbit P3_4=P3^4;sbit P3_5=P3^5;sbit P3_6=P3^6;sbit P3_7=P3^7;sbit k1=P1^0;

      //位申明(時(shí)間加)sbit k2=P1^1;

      //位申明(時(shí)間減)sbit k3=P1^2;

      //位申明(開始)sbit k4=P1^3;

      //位申明(復(fù)位)sbit sp=P1^4;

      //蜂鳴器 sbit l1=P1^5;

      //LED顯示 sbit l2=P1^6;

      //LED顯示

      void delay(unsigned char z)

      //延時(shí)1ms子函數(shù) {

      unsigned char x,y;

      for(x=z;x>0;x--)

      for(y=110;y>0;y--);}

      void init()

      //初始化子函數(shù) { a=0;TMOD=0x01;

      //定時(shí)器T0工作方式設(shè)定

      TH0=(65536-10000)/256;//裝初值

      TL0=(65536-10000)%256;EA=1;

      //開定時(shí)器T0 ET0=1;

      if(k1==0)

      //判斷時(shí)間加K1是否按下

      {

      delay(5);

      //延時(shí)躲過抖動

      if(k1==0)

      //再次確認(rèn)是否按下K1

      {

      num++;

      //時(shí)間自加1

      if(num==99)

      //如果時(shí)間num=99,清零num

      {

      num=0;

      }

      num2=num;

      //將num值賦值給num2

      while(k1==0);//等待K1松手

      }

      }

      if(k2==0)

      //判斷時(shí)間減K2是否按下

      {

      delay(5);

      //延時(shí)躲過抖動

      if(k2==0)

      //再次確認(rèn)是否按下K2

      {

      num--;

      //時(shí)間自減1

      if(num==-1)//如果時(shí)間num=-1,賦值num=99

      {

      num=99;

      }

      num2=num;//將num值賦值給num2

      while(k2==0);//等待K2松手

      }

      }

      if(k3==0)

      //判斷開始按鈕K3是否按下

      {

      delay(5);

      //延時(shí)躲過抖動

      if(k3==0)//再次確認(rèn)是否按下K3

      {

      x++;

      //自加1

      if(x==2)//假如x=2,清零x

      {

      x=0;

      }

      }

      } }

      void keyboad()

      //按鍵檢測子函數(shù) { while(1)

      {

      P3=0xff;

      //讀引腳前需寫入高電平

      P3_4=0;

      //置第一行線為低

      temp=P3;

      //P3口信息送入temp中

      temp=temp & 0x0f;//屏蔽高四位,保留低四位

      if(temp!=0x0f)//判斷:假如列線有不為高的時(shí)候,執(zhí)行if循環(huán)體

      {

      delay(5);//延時(shí)躲過抖動

      temp=P3;

      temp=temp & 0x0f;

      if(temp!=0x0f)

      {

      temp=P3;

      temp=temp & 0x0f;//判斷是哪個鍵按下

      switch(temp)

      {

      case 0x0e: //第一行第四個按下

      {delay(5);num1=4;l2=0;xianshi();} //第一行第一個鍵按下

      break;

      case 0x0d:

      //第一行第三個按下

      {delay(5);num1=3;l2=0;xianshi();}

      break;

      case 0x0b:

      //第一行第二個按下

      {delay(5);num1=2;l2=0;xianshi();}

      break;

      case 0x07: //第一行第一個按下

      {delay(5);num1=1;l2=0;xianshi();} break;//第一行第一個鍵按下

      }

      }

      }

      P3=0xff;

      P3_5=0;

      temp=P3;

      temp=temp & 0x0f;

      if(temp!=0x0f)

      {

      delay(5);//延時(shí)躲過抖動

      temp=P3;

      temp=temp & 0x0f;

      if(temp!=0x0f)

      {

      temp=P3;

      temp=temp & 0x0f;

      switch(temp)

      {

      case 0x0e:

      {delay(5);num1=8;l2=0;xianshi();} break;

      case 0x0d:

      {delay(5);num1=7;l2=0;xianshi();} break;

      case 0x0b:

      {delay(5);num1=6;l2=0;xianshi();} break;

      case 0x07:

      {delay(5);num1=5;l2=0;xianshi();} break;

      }

      }

      }

      P3=0xff;

      P3_6=0;

      temp=P3;

      temp=temp & 0x0f;

      if(temp!=0x0f)

      {

      delay(5);//延時(shí)躲過抖動

      temp=P3;

      temp=temp & 0x0f;

      if(temp!=0x0f)

      {

      temp=P3;

      temp=temp & 0x0f;

      switch(temp)

      {

      case 0x0e:

      {delay(5);num1=12;l2=0;xianshi();} break;

      case 0x0d:

      {delay(5);num1=11;l2=0;xianshi();} break;

      case 0x0b:

      {delay(5);num1=10;l2=0;xianshi();} break;

      case 0x07:

      {delay(5);num1=9;l2=0;xianshi();} break;

      //第二行第四個鍵按下//第二行第三個鍵按下//第二行第二個鍵按下//第二行第一個鍵按下//第三行第四個鍵按下//第三行第三個鍵按下//第三行第二個鍵按下//第三行第一個鍵按下

      }

      }

      }

      P3=0xff;

      P3_7=0;

      temp=P3;

      temp=temp & 0x0f;

      if(temp!=0x0f)

      {

      delay(5);//延時(shí)躲過抖動

      temp=P3;

      temp=temp & 0x0f;

      if(temp!=0x0f)

      {

      temp=P3;

      temp=temp & 0x0f;

      switch(temp)

      {

      case 0x0e:

      {delay(5);num1=16;l2=0;xianshi();} break;

      case 0x0d:

      {delay(5);num1=15;l2=0;xianshi();} break;

      case 0x0b:

      {delay(5);num1=14;l2=0;xianshi();} break;

      case 0x07:

      {delay(5);num1=13;l2=0;xianshi();} break;

      }

      temp=P3;

      P0=table[key];

      }

      }

      } }

      void xianshi(){

      TR0=0;

      //停止定時(shí)計(jì)數(shù)

      num=0;

      //倒計(jì)時(shí)num清零

      sp=1;

      //成功搶答,蜂鳴器叫

      delay(100);

      //延時(shí)一段時(shí)間

      sp=0;

      //關(guān)蜂鳴器

      //第四行第四個鍵按下//第四行第三個鍵按下//第四行第二個鍵按下//第四行第一個鍵按下

      while(1)

      {

      for(a=0;a<4;a++)//顯示部分位選

      {

      delay(5);

      P2=table0[a];

      P0=table[display[a]];

      }

      display[0]=num/10;

      //倒計(jì)時(shí)顯示0

      display[1]=num%10;

      display[2]=num1/10;

      //顯示搶答者號

      display[3]=num1%10;

      if(k4==0)

      //判斷復(fù)位鍵K4是否按下

      {

      num=num2;

      //num2值賦值給num

      num1=0;

      //清零搶答者號顯示

      TR0=1;

      //啟動定時(shí)器TO

      l1=1;

      //D1,D2關(guān)閉

      l2=1;

      return;

      }

      } }

      void main()

      //主函數(shù) {

      l1=1;

      //D1,D2關(guān)閉

      l2=1;

      sp=0;//初始化蜂鳴器

      x=0;

      num=num2=30;

      //賦初值

      while(1)

      {

      if(x==1)

      //開始鍵按下

      {

      delay(5);

      TR0=1;

      //啟動定時(shí)

      while(1)

      {

      keyboad();//調(diào)用按鍵檢測子函數(shù)

      if(k4==0)//判斷復(fù)位鍵是否按下

      {

      l1=1;//D1,D2關(guān)閉

      l2=1;

      delay(5);

      num=num2;//倒計(jì)時(shí)時(shí)間30秒賦值給num

      TR0=1;//啟動定時(shí)器T0

      }

      }

      }

      else

      //開始鍵沒有按下

      {

      for(a=0;a<4;a++)

      //顯示部分位選

      {

      delay(5);

      P2=table0[a];

      P0=table[display[a]];

      }

      display[0]=num/10;//倒計(jì)時(shí)顯示0

      display[1]=num%10;

      display[2]=num1/10;

      //顯示搶答者號

      display[3]=num1%10;

      init();

      //初始化

      }

      } }

      void time0()interrupt 1 //定時(shí)器T0中斷 {

      TH0=(65536-10000)/256;

      //重裝初值

      TL0=(65536-10000)%256;count++;

      //中斷次數(shù)記錄

      if(k4==0)

      //復(fù)位鍵K4檢測

      {

      num=num2;

      TR0=1;

      num1=0;

      return;

      }

      for(a=0;a<4;a++)

      {

      delay(10);

      P2=table0[a];

      P0=table[display[a]];

      } display[0]=num/10;

      //倒計(jì)時(shí)顯示0

      display[1]=num%10;

      display[2]=num1/10;//顯示搶答者號

      display[3]=num1%10;

      if(count==100)

      //1秒定時(shí)是否已到

      {

      count=0;

      //清零記錄

      num--;

      //顯示倒計(jì)時(shí)自減一

      if(num<6)

      //倒計(jì)時(shí)倒數(shù)6秒,D2亮,蜂鳴器報(bào)警

      {

      l1=~l1;

      sp=1;

      delay(100);

      sp=0;

      if(num==0)

      //倒計(jì)時(shí)為0,D2亮,蜂鳴器報(bào)警

      {

      l1=0;

      sp=1;delay(200);sp=0;

      delay(100);

      sp=1;delay(200);sp=0;

      delay(100);

      sp=1;delay(200);sp=0;

      }

      if(num==0)

      {

      while(1)

      {

      xianshi();

      //調(diào)用延時(shí)子函數(shù)

      if(k4==0)//假如復(fù)位鍵按下

      {

      l1=1;

      //D1,D2滅

      l2=1;

      num=num2;//30秒倒計(jì)時(shí)賦值給num

      TR0=1;//啟動定時(shí)器T0

      return;

      }

      }

      }

      } } x2++;if(x2==4){

      x2=0;} P3=table2[x2];

      //分別給行線送低電?

      第二篇:搶答器~C51~帶程序

      前 言

      在電視和學(xué)校中我們會經(jīng)常看到一些智力搶答的節(jié)目,如果要是讓搶答者用舉手等方法,主持人很容易誤判,會造成搶答的不公平,比賽中為了準(zhǔn)確、公正、直觀地判斷出第一搶答者,所設(shè)計(jì)的搶答器通常由數(shù)碼顯示、燈光、音響等多種手段指示出第一搶答者。為了使這種不公平不發(fā)生,只有靠電子產(chǎn)品的高準(zhǔn)確性來保障搶答的公平性。

      功能分為基本功能和擴(kuò)展功能,基本功能是能夠?qū)崿F(xiàn)搶答器的功能,擴(kuò)展功能進(jìn)一步豐富了搶答器的功能,更佳人性化。

      基本功能可以有同時(shí)供8名選手比賽,分別用8個按鈕S0 ~ S7表示;設(shè)置一個系統(tǒng)復(fù)位按鈕和搶答控制按鈕,這組開關(guān)由主持人控制;搶答器具有鎖存與顯示功能。即選手按動按鈕,揚(yáng)聲器發(fā)出聲響提示,鎖存相應(yīng)的選手號碼并且通過數(shù)碼管顯示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。

      擴(kuò)展功能有搶答器具有定時(shí)搶答功能,且搶答的時(shí)間由主持人設(shè)定(如30秒)。當(dāng)主持人按下啟動鍵后,定時(shí)器進(jìn)行倒計(jì)時(shí);參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。如果定時(shí)時(shí)間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00。

      此設(shè)計(jì)可以用三種方法實(shí)現(xiàn):數(shù)字電路,單片機(jī),PLC。其中PLC方案與單片機(jī)方案原理相似,但成本太高,故不采用此方案,在此不另作比較。主要在數(shù)字電路和單片機(jī)兩個方案中選擇。

      AT89C52 是美國ATMEL 公司生產(chǎn)的低電壓,高性能CMOS 8 位單片機(jī),片內(nèi)含8k bytes 的可反復(fù)擦寫的Flash 只讀程序存儲器和256 bytes 的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51 指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8 位中央處理器(CPU)和Flash 存儲單元,功能強(qiáng)大AT89C52 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場合。

      基于單片機(jī)的八路搶答器是針對目前的搶答器市場而設(shè)計(jì)的,其高度的準(zhǔn)確性,低廉的成本,是絕對有競爭優(yōu)勢,其市場前景巨大。通過本課題的訓(xùn)練,不僅可以研制出一套八路搶答器,還可以使我們通過對單片機(jī)電路的設(shè)計(jì)與編程,達(dá)到理論與實(shí)踐相結(jié)合的目的,強(qiáng)化我們四年中的學(xué)習(xí)知識,能提高解決實(shí)際問題的能力。

      第一章 設(shè)計(jì)的依據(jù)

      1.1 課題的提出

      在電視和學(xué)校中我們會經(jīng)??吹揭恍┲橇尨鸬墓?jié)目,如果要是讓搶答者用舉手等方法,主持人很容易誤判,會造成搶答的不公平,比賽中為了準(zhǔn)確、公正、直觀地判斷出第一搶答者,所設(shè)計(jì)的搶答器通常由數(shù)碼顯示、燈光、音響等多種手段指示出第一搶答者。為了使這種不公平不發(fā)生,只有靠電子產(chǎn)品的高準(zhǔn)確性來保障搶答的公平性。

      1.2 實(shí)現(xiàn)的系統(tǒng)功能簡介

      功能分為基本功能和擴(kuò)展功能,基本功能是能夠?qū)崿F(xiàn)搶答器的功能,擴(kuò)展功能進(jìn)一步豐富了搶答器的功能,更佳人性化。

      1.基本功能:

      (1)同時(shí)供8名選手比賽,分別用8個按鈕S0 ~ S7表示。

      (2)設(shè)置一個系統(tǒng)復(fù)位按鈕和搶答控制按鈕,這組開關(guān)由主持人控制。(3)搶答器具有鎖存與顯示功能。即選手按動按鈕,揚(yáng)聲器發(fā)出聲響提示,鎖存相應(yīng)的選手號碼并且通過數(shù)碼管顯示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。

      2.擴(kuò)展功能:

      (1)搶答器具有定時(shí)搶答功能,且搶答的時(shí)間由主持人設(shè)定(如30秒)。當(dāng)主持人按下啟動鍵后,定時(shí)器進(jìn)行倒計(jì)時(shí)。

      (2)參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。如果定時(shí)時(shí)間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00。

      第二章 總體方案確定

      2.1 方案論證

      此設(shè)計(jì)可以用三種方法實(shí)現(xiàn):數(shù)字電路,單片機(jī),PLC。其中PLC方案與單片機(jī)方案原理相似,但成本太高,故不采用此方案,在此不另作比較。2.1.1數(shù)字電路總體方案

      如下圖所示為數(shù)字電路總體方框圖。其工作原理為:接通電源后,主持人將開關(guān)撥到“清除”狀態(tài),搶答器處于禁止?fàn)顟B(tài),編號顯示器滅燈,定時(shí)器顯示設(shè)定時(shí)間;主持人將開關(guān)置“開始”狀態(tài),宣布“開始”搶答器工作。定時(shí)器倒計(jì)時(shí),揚(yáng)聲器給出聲響提示。選手在定時(shí)時(shí)間內(nèi)搶答時(shí),搶答器完成:優(yōu)先判斷、編號鎖存、編號顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答、定時(shí)器顯示剩余時(shí)間。如果再次搶答必須由主持人再次操作“清除”和“開始”狀態(tài)開關(guān)。

      圖2.1.1 數(shù)字電路方案

      2.1.2 MCS-51方案

      該方案主要由 搶答、聲音警示、燈光指示和計(jì)時(shí)電路組成,借助較少的外圍元件完成搶答的整個過程。系統(tǒng)框圖如下圖所示。

      圖2.1.2 單片機(jī)方案

      2.2 方案確定

      通過三個方案比較,單片機(jī)控制的設(shè)計(jì)方案外圍的元件也很少,成本比較低,制作簡單,實(shí)現(xiàn)的功能靈活。由于是單片機(jī)控制,對搶答器隊(duì)參賽選手的動作的先后有很強(qiáng)的分辨力,即使先后只相差幾毫秒,搶答器也能分辨出來,搶答器直接顯示動作選手的編號和答題時(shí)間,并保持到主持人清零為止。所以我選擇采用單片機(jī)控制的方案來完成搶答器電路。

      第三章 硬件設(shè)計(jì)

      3.1 整體電路設(shè)計(jì)

      整個系統(tǒng)可以分為五部分:搶答電路,主持人控制按鈕,單片機(jī)最小系統(tǒng),顯示電路,蜂鳴器。如下圖所示

      圖3.1 整體電路

      3.2 復(fù)位電路設(shè)計(jì)

      復(fù)位電路采用經(jīng)典的51系列單片機(jī)的復(fù)位方法:上電復(fù)位和開關(guān)復(fù)位。通電后,給電容充電,在此過程中,單片機(jī)復(fù)位;運(yùn)行時(shí),按下復(fù)位按鈕,RST端口變?yōu)楦唠娖?,進(jìn)行復(fù)位。復(fù)位電路和晶振電路如下:

      圖3.2 復(fù)位電路和晶振電路 3.3 顯示電路的設(shè)計(jì)

      顯示電路和揚(yáng)聲器電路如下圖所示:

      圖3.3.1 顯示電路 圖3.3.2 揚(yáng)聲器電路

      3.4 控制電路實(shí)現(xiàn)

      主持人的按鍵有四個,分別是:開始、復(fù)位、加

      1、減1。按鍵一般按下的過程中有抖動,需要消抖處理,本設(shè)計(jì)中采用了并聯(lián)電容處理,實(shí)際調(diào)試過程中證明效果很好,故軟件不需要再次做消抖處理。

      圖3.4.1 選手按鍵電路 圖3.4.2 主持人控制電路

      3.5 硬件電路設(shè)計(jì)小結(jié)

      經(jīng)過幾十個晝夜奮戰(zhàn),硬件電路終于調(diào)試成功,想想開始的時(shí)候什么都不確定,第一次焊接好了之后,到處都是問題,到現(xiàn)在的穩(wěn)定運(yùn)行,真的有一種莫大的滿足感。特別是消抖這一塊,一直是我們設(shè)計(jì)不穩(wěn)定運(yùn)行的主因,在指導(dǎo)老師的悉心指導(dǎo)下,在院系領(lǐng)導(dǎo)的關(guān)懷下,我們的問題也一一迎刃而解。

      第四章 軟件設(shè)計(jì)

      4.1 總體設(shè)計(jì)

      第五章 電路調(diào)試

      5.1硬件調(diào)試

      基本電路板檢查: 根據(jù)前面的研究完成各個電路模塊的原理設(shè)計(jì)并生成PCB圖,制作電路板,進(jìn)行實(shí)驗(yàn)調(diào)試。

      (1)檢查印制板的印制線是否有斷路,是否有毛刺,是否與其它線或是焊盤粘連,焊盤是否有脫落,過孔是否有未金屬化現(xiàn)象等等。

      (2)先用萬用表復(fù)核目測中認(rèn)為可疑的連接或是接點(diǎn),檢查它們的通短狀態(tài)是否與設(shè)計(jì)規(guī)定相符。再檢查各種電源線與地線之間是否有短路現(xiàn)象,如有再仔細(xì)檢查出并排除。短路現(xiàn)象一定要在器件安裝及加電前檢查出。

      (3)路接通電源后,用手摸一下芯片是否發(fā)熱,如果發(fā)熱,立即關(guān)掉電源,稍后再進(jìn)行再次檢測;如果沒有發(fā)熱,再測試芯片的VCC端電壓是否達(dá)到設(shè)計(jì)要求,接地端是否都接地。

      主控模塊調(diào)試: 在本次設(shè)計(jì)中,主控模塊是非常重要的部分,它不僅是本次設(shè)計(jì)的核心,同時(shí)在后面的8255A顯示也是起關(guān)鍵的作用。在本次硬件調(diào)試中也遇到了問題,接上電源的時(shí)候,數(shù)碼管不亮,沒有任何顯示,于是我做了如下的工作:(1)檢查電源是否通電,發(fā)現(xiàn)指示燈亮著;(2)編程使P1為低電平,檢查到P1輸出為低;(3)檢查P0口未接上拉電阻,接上數(shù)碼管發(fā)亮了。

      由次我深刻的認(rèn)識到:制作電路板是一個比較繁瑣的過程,它需要我們時(shí)刻都要用心去做,每個環(huán)節(jié)都不能忽視,只有這樣才能達(dá)到鍛煉的目的。

      5.2軟件調(diào)試

      當(dāng)硬件制作完成后,軟件制作也是不可輕視的部分,是實(shí)現(xiàn)電路的功能的關(guān)鍵部分,通過本次畢業(yè)設(shè)計(jì),總結(jié)經(jīng)驗(yàn)如下:

      (1)先進(jìn)行人工檢查。寫好程序后,不立刻燒入單片機(jī),先對紙面上的程序進(jìn)行人工檢查。由于采用C語言編程,所以要特別小心地檢查語法錯誤,如括號不配對,漏寫分號等,通過仔細(xì)的檢查,發(fā)現(xiàn)并排除這些錯誤。

      (2)人工檢查無誤后,上機(jī)調(diào)試。在編譯時(shí)給出的語法錯誤的信息,根據(jù)提示的信息具體找出程序中錯誤之處并改之,從上至下逐一改正。應(yīng)當(dāng)注意的是:有的提示出錯行并不是真正出錯的行,如果在提示出錯的行上找不到錯誤的話,則應(yīng)該到上行再找。

      (3)當(dāng)確認(rèn)程序無語法錯誤和邏輯錯誤時(shí),通過直接下載到單片機(jī)來調(diào)試。采用的是自下到上的調(diào)試方法,即單獨(dú)調(diào)好每一個模塊,然后再連接成一個完整的系統(tǒng)調(diào)試。

      (4)程序燒入單片機(jī)后,觀察各個部件的工作是否正常,功能是否實(shí)現(xiàn)。如不能正常工作,則繼續(xù)檢查程序中的相應(yīng)模塊,必要時(shí)從上到下重新檢查程序。

      總 結(jié)

      搶答器豐富了我們的生活,社會中本來就充滿著競爭。只是沒有很明顯的表現(xiàn)出來,通過運(yùn)用它我們可以很好的證明自己的膽識和自信,所以做起搶答器來,也很想去了解它,對于八路搶答器原理說起來很簡單,也沒什么復(fù)雜性,所以看似很簡單,但實(shí)踐中卻發(fā)現(xiàn)不是那么回事,實(shí)際調(diào)試的過程中,一點(diǎn)問題都不能存在,否則它就不運(yùn)行,真正體會到了什么叫一絲不茍,什么叫鍥而不舍。在以后的工作和學(xué)習(xí)中,我一定會深刻運(yùn)用這次的心得體會。

      總之,這次實(shí)踐是非常成功的,我們追求的是理論與實(shí)踐并存,這次畢業(yè)設(shè)計(jì)就很好的為大學(xué)生表現(xiàn)自己綜合能力提供有力的平臺。實(shí)踐中也發(fā)了自己有一點(diǎn)不懂的地方,通過這次實(shí)踐才徹底搞懂,這證明了理論學(xué)習(xí)后還是需要實(shí)踐課程的。

      在這個過程中,通過老師的指導(dǎo)和自己的摸索,學(xué)會了自己學(xué)習(xí)新知識,查找資料的方法,我想這應(yīng)該是我們大學(xué)中應(yīng)該掌握的方法。

      致 謝

      本設(shè)計(jì)經(jīng)過一個學(xué)期的的時(shí)間,到今天終于完成了。在此,向我的指導(dǎo)老師表示最誠摯的謝意。從課題的選擇,前期的準(zhǔn)備工作、方案的制定,系統(tǒng)的開發(fā)與調(diào)試,到論文的撰寫修改定稿都滲透了老師的心血。在這三個月中,老師以他淵博的學(xué)識、卓越的才智、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和求實(shí)創(chuàng)新的工作作風(fēng)以及平易近人的態(tài)度使我受益匪淺,在學(xué)習(xí)中給我很大的啟迪和幫助,對我的指導(dǎo)更是給我留下了極為深刻的印象。使我在這次畢業(yè)設(shè)計(jì)中學(xué)到了許多知識。

      在整個課題的研究和設(shè)計(jì)過程中,還得到了其他院系和實(shí)驗(yàn)室的老師們的幫助和支持,在我設(shè)計(jì)時(shí)遇到困難時(shí),他們給予了我不少的幫助和鼓勵,再次表示誠摯的感謝。正是由于他們的幫助,才使這次設(shè)計(jì)能順利的完成。

      此外,我還要特別感謝大學(xué)四年里的老師和同學(xué),感謝我們系的全體老師以及所有關(guān)心我,幫助我,鼓勵我的人,沒有你們的無私幫助,我是很難完成我的畢業(yè)設(shè)計(jì)的,謝謝你們。

      參考文獻(xiàn)

      [1] 康華光,《電子技術(shù)基礎(chǔ).數(shù)字部分(第四版)》[M],北京:高等教育出版社,2003.

      [2] 李廣弟,《單片機(jī)基礎(chǔ)》[M],北京:北航出版社,2001.

      [3] 梁超,一款基于單片機(jī)技術(shù)的電子搶答器[J ],機(jī)電工程技術(shù),2005,34(1). [4] 李朝青,單片機(jī)原理及接口技術(shù)[M],北京:北京航空航天大學(xué)出版社,1999. [5] 齊向東,多功能數(shù)字顯示搶答器[J ].黃石高等??茖W(xué)院學(xué)報(bào),1996.

      附錄

      附錄1數(shù)字搶答器原理圖

      附錄2 AT89S52芯片主程序

      #include #define uchar unsigned char

      sbit P2_4=P2^4;///加1鍵 sbit P2_5=P2^5;//減1鍵 sbit P2_6=P2^6;//確認(rèn)鍵 sbit P2_7=P2^7;//蜂鳴器

      uchar a=20,b=0,c=0;unsigned

      int gong=100,yi=100,er=100,san=100,si=100,wu=100,liu=100,qi=100,ba=100;//8組得分變量

      uchar disp[]={0,0,0,0};//四個顯示單元

      uchar dispbit[]={0xfe,0xfd,0xfb,0xf7};//數(shù)碼管掃描代碼 uchar dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xbf};//共陽數(shù)碼管數(shù)字代碼

      //------------------------數(shù)碼管顯示子程序

      void display(void){ uchar i,j;disp[3]=b;//求得四個單元值 disp[2]=10;disp[1]=a/10;disp[0]=a%10;for(i=0;i<4;i++)//循環(huán)四次送四個單元供顯示 { P0=dispcode[disp[i]];P2=dispbit[i];for(j=0;j<255;j++);} } //--------------void display1(void){ uchar i,j;disp[3]=b;disp[2]=gong/100;disp[1]=gong%100/10;disp[0]=gong%100%10;for(i=0;i<4;i++){ P0=dispcode[disp[i]];P2=dispbit[i];for(j=0;j<255;j++);} } //------------中斷定時(shí)50ms子程序 void t0(void)interrupt 1 using 1 { c++;TH0=0x3c;//定時(shí)器0附初值 TL0=0xb0;} //--------------------------void main(void){unsigned int d;//條件判斷,用于第一個人按到后,后面的人再按不管用.TMOD=0x01;//用定時(shí)器定時(shí)50MS TH0=0x3c;//定時(shí)器0附初值 TL0=0xb0;ET0=1;EA=1;while(1){ P2_7=1;// display();if(c==20)// { c=0;a--;} if(P2_4==0)// { while(P2_4==0);// if(a==99){ a=0;a--;} a++;//} if(P2_5==0)//{ while(P2_5==0);if(a==0)a=100;a--;} if(P2_6==0)//蜂鳴器不響 一秒到,秒減1 加1鍵 松開鍵 定時(shí)加1 減1鍵 確認(rèn)鍵 { while(P2_6==0);TR0=1;} if(a==0)//定時(shí)時(shí)間到報(bào)警一直響 { TR0=0;P2_7=0;} if(tj==1){ while(P2_6==1){ display1();if(P2_4==0){ while(P2_4==0);if(b==1)//加分

      { yi=yi+10;gong=yi;}

      if(b==2){er=er+10;gong=er;}

      if(b==3){san=san+10;gong=san;}

      if(b==4){si=si+10;gong=si;}

      if(b==5){wu=wu+10;gong=wu;}

      if(b==6){liu=liu+10;gong=liu;}

      if(b==7){qi=qi+10;gong=qi;}

      if(b==8){ba=ba+10;gong=ba;}

      } if(P2_5==0){while(P2_5==0);if(b==1){yi=yi-10;gong=yi;}//減分

      if(b==2){er=er-10;gong=er;}

      if(b==3){san=san-10;gong=san;}

      if(b==4){si=si-10;gong=si;}

      if(b==5){wu=wu-10;gong=wu;}

      if(b==6){liu=liu-10;gong=liu;}

      if(b==7){qi=qi-10;gong=qi;}

      if(b==8){ba=ba-10;gong=ba;}

      } }while(P2_6==0);tj=0;a=20,b=0;} if(tj==0){ switch(P1&0xff)//程序判斷是哪一組搶答 {case 0xef:b=5;TR0=0;P2_7=0;tj=1;for(d=0;d<10000;d++);gong=wu;break;case 0xdf:b=6;TR0=0;P2_7=0;tj=1;for(d=0;d<10000;d++);gong=liu;break;case 0xbf:b=7;TR0=0;P2_7=0;tj=1;for(d=0;d<10000;d++);gong=qi;break;case 0x7f:b=8;TR0=0;P2_7=0;tj=1;for(d=0;d<10000;d++);gong=ba;break;case 0xfe:b=1;TR0=0;P2_7=0;tj=1;for(d=0;d<10000;d++);gong=yi;break;case 0xfd:b=2;TR0=0;P2_7=0;tj=1;for(d=0;d<10000;d++);gong=er;break;case 0xfb:b=3;TR0=0;P2_7=0;tj=1;for(d=0;d<10000;d++);gong=san;break;case 0xf7:b=4;TR0=0;P2_7=0;tj=1;for(d=0;d<10000;d++);gong=si;break;default: break;} } } }

      第三篇:FPGA搶答器設(shè)計(jì)報(bào)告

      Vb開辦上海電力學(xué)院

      課程設(shè)計(jì)報(bào)告

      信息工程系

      搶答器設(shè)計(jì)報(bào)告

      一、設(shè)計(jì)目的:

      本課程的授課對象是電子科學(xué)與技術(shù)專業(yè)本科生,是電子類專業(yè)的一門重要的實(shí)踐課程,是理論與實(shí)踐相結(jié)合的重要環(huán)節(jié)。

      本課程有助于培養(yǎng)學(xué)生的數(shù)字電路設(shè)計(jì)方法、掌握模塊劃分、工程設(shè)計(jì)思想與電路調(diào)試能力,為以后從事各種電路設(shè)計(jì)、制作與調(diào)試工作打下堅(jiān)實(shí)的基礎(chǔ)

      二、實(shí)驗(yàn)器材和工具軟件:

      PC機(jī)一臺、QuartusII軟件、DE2板。

      三、設(shè)計(jì)內(nèi)容:

      (1)搶答器可容納四組12位選手,每組設(shè)置三個搶答按鈕供選手使

      用。

      (2)電路具有第一搶答信號的鑒別和鎖存功能。在主持人將系統(tǒng)復(fù)位并發(fā)出搶答指令后,蜂鳴器提示搶答開始,時(shí)顯示器顯示初始時(shí)間并開始倒計(jì)時(shí),若參賽選手按搶答按鈕,則該組指示燈亮并用組別顯示器顯示選手的組別,同時(shí)蜂鳴器發(fā)出“嘀嘟”的雙音頻聲。此時(shí),電路具備自鎖功能,使其它搶答按鈕不起作用。

      (3)如果無人搶答,計(jì)時(shí)器倒計(jì)時(shí)到零,蜂鳴器有搶答失敗提示,主持人可以按復(fù)位鍵,開始新一輪的搶答。

      (4)設(shè)置犯規(guī)功能。選手在主持人按開始鍵之前搶答,則認(rèn)為犯規(guī),犯規(guī)指示燈亮和顯示出犯規(guī)組號,且蜂鳴器報(bào)警,主持人可以終止搶答執(zhí)行相應(yīng)懲罰。

      (5)搶答器設(shè)置搶答時(shí)間選擇功能。為適應(yīng)多種搶答需要,系統(tǒng)設(shè)有10秒、15秒、20秒和3O秒四種搶答時(shí)間選擇功能。

      四、設(shè)計(jì)具體步驟:

      首先把系統(tǒng)劃分為組別判斷電路模塊groupslct,犯規(guī)判別與搶答信號判別電路模塊fgqd,分頻電路模塊fpq1,倒計(jì)時(shí)控制電路模塊djs,顯示時(shí)間譯碼電路模塊num_7seg模塊,組別顯示模塊showgroup模塊這六個模塊,各模塊設(shè)計(jì)完成后,用電路原理圖方法將各模塊連接構(gòu)成系統(tǒng)。

      各模塊功能及代碼:

      1、組別判別模塊

      (1)功能:可容納四組12位選手,每組設(shè)置三個搶答按鈕供選手使用。若參賽選手按搶答按鈕,則輸出選手的組別。此時(shí),電路具

      signal rst : std_logic;begin

      h<=“0000” when(a=“000” and b=“000” and c=“000” and d=“000”)else

      “0001” when(a/=“000” and b=“000” and c=“000” and d=“000”)else

      “0010” when(a=“000” and b/=“000” and c=“000” and d=“000”)else

      “0100” when(a=“000” and b=“000” and c/=“000” and d=“000”)else

      “1000” when(a=“000” and b=“000” and c=“000” and d/=“000”)else

      “0000”;process

      begin

      wait on clock until rising_edge(clock);

      if clr='1' then

      rst<='1';

      g<=“0000”;

      end if;

      if h/=“0000” then

      if rst='1' then

      g<=h;

      rst<='0';

      end if;

      end if;

      end process;

      end behave_groupslct;

      2、犯規(guī)判別與搶答信號判別模塊

      (1)功能:若參賽選手在主持人按開始鍵之后按搶答按鈕,則使該組指示燈亮并輸出選手的組別,同時(shí)蜂鳴器發(fā)出響聲。

      選手在主持人按開始鍵之前搶答,則認(rèn)為犯規(guī),犯規(guī)指示燈亮并輸出犯規(guī)組號,且蜂鳴器報(bào)警。

      (2)原理:c[3..0]接組別判別模塊的g[3..0],即此時(shí)c為按鍵組別的信息。go接主持人的“開始”按鍵。由于無論是在正常情況還是犯規(guī)情況下按下按鍵,都必須顯示按鍵的組別且蜂鳴器響,所以將c的值給hex以輸出按鍵組別,且在有按鍵按下(c/=“0000”)時(shí)輸出fm為‘1’,否則為‘0’。若在開始之前有按鍵按下時(shí),即go='0'且c/=“0000”,輸出ledfg為‘1’,否則為‘0’。若在開始之后有按鍵按下,將c的值給led,使該組指示燈亮,開始之前l(fā)ed輸出“0000”。

      (3)程序代碼:

      library ieee;

      use ieee.std_logic_1164.all;

      entity fgqd is port(c:in std_logic_vector(3 downto 0);

      go:in std_logic;

      hex:out std_logic_vector(3 downto 0);

      led:out std_logic_vector(3 downto 0);

      ledfg,fm:out std_logic);

      end fgqd;

      architecture behave_fgqd of fgqd is begin);end djs;

      architecture behave_djs of djs is begin

      process(clock,aclr,s)

      begin

      if(aclr='1')then

      if(s=“00”)then

      q<=“01010”;

      elsif(s=“01”)then

      q<=“01111”;

      elsif(s=“10”)then

      q<=“10100”;

      else

      q<=“11110”;

      end if;

      else

      if rising_edge(clock)then

      if en='1' then

      q<=q-1;

      if(q=“00000” and grpsl=“0000”)then

      time0<='1';

      else

      time0<='0';

      end if;

      end if;

      end if;

      end if;

      end process;end behave_djs;

      4、分頻器模塊

      (1)功能:實(shí)現(xiàn)50MHz—1Hz的分頻,為倒計(jì)時(shí)模塊提供時(shí)鐘。

      (2)程序代碼

      library ieee;

      use ieee.std_logic_1164.all;

      entity fpq1 is port(clkin :in std_logic;

      clkout:out std_logic);end fpq1;

      architecture behave_fpq1 of fpq1 is constant N: Integer:=24999999;signal Counter:Integer RANGE 0 TO N;signal Clk: Std_Logic;begin

      process(clkin)

      begin

      if rising_edge(clkin)then--每計(jì)到N個(0~n-1)上升沿,輸出信號翻轉(zhuǎn)一次

      if Counter=N then

      Counter<=0;

      Clk<=NOT Clk;

      else

      Counter<= Counter+1;

      end if;

      end if;

      end process;clkout<= Clk;end behave_fpq1;

      5、時(shí)間顯示譯碼器

      (1)功能:將時(shí)間信息在7段數(shù)碼管上顯示。

      (2)程序代碼

      library ieee;

      use ieee.std_logic_1164.all;

      entity num_7seg is port(c:in std_logic_vector(4 downto 0);

      hex:out std_logic_vector(13 downto 0));

      end num_7seg;

      architecture behave_num_7seg of num_7seg is begin

      with c(4 downto 0)select

      hex<= “10000001000000” when “00000” ,--“0”

      “10000001111001” when “00001” ,--“1”

      “10000000100100” when “00010” ,--“2”

      “10000000110000” when “00011” ,--“3”

      “10000000011001” when “00100” ,--“4”

      “10000000010010” when “00101” ,--“5”

      “10000000000010” when “00110” ,--“6”

      “10000001111000” when “00111” ,--“7”

      “10000000000000” when “01000” ,--“8”

      “10000000010000” when “01001” ,--“9”

      “11110011000000” when “01010” ,--“10”

      “11110011111001” when “01011” ,--“11”

      “11110010100100” when “01100” ,--“12”

      “11110010110000” when “01101” ,--“13”

      “11110010011001” when “01110” ,--“14”

      “11110010010010” when “01111” ,--“15”

      “11110010000010” when “10000” ,--“16”

      “11110011111000” when “10001” ,--“17”

      “11110010000000” when “10010” ,--“18”

      “11110010010000” when “10011” ,--“19”

      “01001001000000” when “10100” ,--“20”

      “01001001111001” when “10101” ,--“21”

      “01001000100100” when “10110” ,--“22”

      “01001000110000” when “10111” ,--“23”

      “01001000011001” when “11000” ,--“24”

      “01001000010010” when “11001” ,--“25”

      “01001000000010” when “11010” ,--“26”

      “01001001111000” when “11011” ,--“27”

      來。然后就是將選出的組別鎖存。將按下按鍵的組別賦給一內(nèi)部信號“h”(沒有按鍵按下時(shí)h=“0000”),當(dāng)復(fù)位鍵按下時(shí)(clr=‘1’)輸出g=“0000”并且將另一內(nèi)部信號rst置1。當(dāng)復(fù)位后(rst=‘1’)有按鍵按下時(shí)將h的值給輸出信號g,并且將標(biāo)志信號rst清零。這樣就實(shí)現(xiàn)最快按鍵組別鎖存功能。

      六、心得體會

      通過此次設(shè)計(jì),我掌握了數(shù)字電路的設(shè)計(jì)方法,尤其是模塊劃分、工程設(shè)計(jì)思想與電路調(diào)試能力,都有了一定的提高。為以后從事各種電路設(shè)計(jì)、制作與調(diào)試工作打下堅(jiān)實(shí)的基礎(chǔ)。

      第四篇:基于aduino的搶答器設(shè)計(jì)

      /*

      QIANG DA QI

      disigned by ckj

      2012/12/8

      */

      int d[4]={7,12,2,6};//shuju

      boolean ds[4]={0,0,0,0};//si ge jie kou de shuju

      int lt=3;//ceshi shuruduan

      int bi=4;//xiaoyin duankou

      int le=5;//suoding kongzhiduan

      int xuanshou[9]={0,A0,A1,A2,A3,A4,A5,8,9};//xuanshou int fuwei=10;

      int zhishideng=11;//zhishideng

      int fengmingqi=13;//xiang

      /*************************************/

      void shuchushezhi()//shezhi duankou wei shuchu {

      int i(0);

      for(i=0;i<=3;i++)

      pinMode(d[i],OUTPUT);//sige shujuduan zhiwei shuchupinMode(bi,OUTPUT);//xiaoyin

      pinMode(le,OUTPUT);//suocun

      pinMode(lt,OUTPUT);//dnegceshiduan

      pinMode(zhishideng,OUTPUT);

      pinMode(fengmingqi,OUTPUT);

      }

      /*************************************/

      void shurushezhi()//shezhi shuchu duankou

      {

      int i(0);

      for(i=0;i<=7;i++)//shezhi xuanshou wei shuchupinMode(xuanshou[i],INPUT);

      pinMode(fuwei,INPUT);//fuwei

      }

      /*************************************/

      {

      int i(0);

      digitalWrite(le,LOW);

      digitalWrite(bi,HIGH);//quxiao xiaoyin

      digitalWrite(lt,HIGH);//shumaguan quanliang

      for(i=0;i<=3;i++)

      {

      digitalWrite(d[i],ds[i]);

      }

      delay(200);

      digitalWrite(bi,LOW);//xiaoyindelay(200);

      digitalWrite(bi,HIGH);//quxiao xiaoyin

      digitalWrite(lt,HIGH);//quxiao quanliang

      }

      /*************************************/

      void zhuanhuan(int i)//shijinzhi zhuan erjinzhi bing shuchu shuju

      {

      switch(i)

      {

      case 0:

      ds[0]=0;

      ds[1]=0;

      ds[2]=0;

      ds[3]=0;

      break;

      case 1:

      ds[0]=1;

      ds[1]=0;

      ds[2]=0;

      ds[3]=0;

      break;

      case 2:

      ds[0]=0;

      ds[1]=1;

      ds[2]=0;

      ds[3]=0;

      break;

      case 3:

      ds[0]=1;

      ds[1]=1;

      ds[2]=0;

      break;

      case 4:

      ds[0]=0;

      ds[1]=0;

      ds[2]=1;

      ds[3]=0;

      break;

      case 5:

      ds[0]=1;

      ds[1]=0;

      ds[2]=1;

      ds[3]=0;

      break;

      case 6:

      ds[0]=0;

      ds[1]=1;

      ds[2]=1;

      ds[3]=0;

      break;

      case 7:

      ds[0]=1;ds[1]=1;ds[2]=1;ds[3]=0;

      break;

      case 8:

      ds[0]=0;

      ds[1]=0;

      ds[2]=0;

      ds[3]=1;

      break;

      default:

      break;

      }

      int j;

      for(j=0;j<=3;j++)

      {

      digitalWrite(d[j],ds[j]);//shujuduan xieru shuju

      }

      }

      /*************************************/

      void xianshi(int i)//shezhixianshihanshu

      {

      boolean f(0);//shezhi yi ge biaozhi bianliang

      digitalWrite(le,LOW);//suocun bu gongzuo

      digitalWrite(fengmingqi,HIGH);//fengmingqi gongzuo

      zhuanhuan(i);//diaoyong zhuanhuan hanshu

      digitalWrite(le,HIGH);//suocun

      delay(200);//yanshi 200 haomiao

      digitalWrite(zhishideng,HIGH);//zhishidengliang

      digitalWrite(fengmingqi,LOW);//fengmingqi guanbi

      while(!f)//meiyou an fuwei jianshi yizhi xunhuan

      {

      f=digitalRead(fuwei);

      if(f)//fangzhidoudong

      {

      delay(10);

      f=digitalRead(fuwei);

      if(f)//fuwei jian anxia

      {

      digitalWrite(le,LOW);//guandiaosuocun

      digitalWrite(zhishideng,LOW);//guandiao zhishi deng

      zhuanhuan(0);//xianshi0

      break;//likai xunhuan

      }

      }

      }

      }

      /*************************************/

      void setup()

      {

      shuchushezhi();//shuchu chushihua

      shurushezhi();//shuru chushihua

      ceshi();//ceshi yixia shumaguan

      }

      /*************************************/

      void loop()

      {

      boolean flag(0);//shezhi yige biaozhi bianliang

      int i(0);//shezhi yi ge zhongjian bianliang

      for(i=1;i<=8;i++)

      {

      flag=digitalRead(xuanshou[i]);//jiancha shi fou you xuanshou anxia jianif(flag)//ruguo youren an anjian

      {

      delay(10);

      flag=digitalRead(xuanshou[i]);//fangzhi doudong

      if(flag)//ruguo zhende anxiaqule

      {

      xianshi(i);//xianshi bing sucun

      }

      else//bushi dehua flagbianwei 0

      {

      flag=0;//biaoshi bian wei 0;

      }

      }

      }

      }

      第五篇:搶答器設(shè)計(jì)心得

      回顧上一周課程設(shè)計(jì)的時(shí)間,收獲了很多,也付出了很多,周一至周二主要熟悉ewb軟件的操作使用,學(xué)會仿真,周三至周四是看書查找資料,對相關(guān)元器件做一些了解,并把元器件布好線,以待焊接,周五至周六主要是焊接與調(diào)試,由于我底子薄弱了一點(diǎn),剛開始可能會有一點(diǎn)害怕,害怕失敗,因?yàn)樯弦淮巫鍪找魴C(jī)都不成功,雖說認(rèn)真努力的做了,但看到舍友們都找資料在桌面上仿真,我也不甘示弱,并認(rèn)真的去查找資料,在桌面上仿真,布線,焊接等一步一步的慢慢的走過來,當(dāng)我看到搶答器正常工作時(shí),興奮不已,給了我自信和勇氣,希望以后能有更多的時(shí)間和機(jī)會和同學(xué)一起動手做一些產(chǎn)品出來,不僅提高我們的動手能力,而且鞏固了平常所學(xué)的知識,通過我們自己去查找總結(jié)印象更深刻,與此同時(shí),增進(jìn)了我們同學(xué)之間的友誼,也許某年后的一天看到自己的搶答器,一定會想起我的搭檔和一起合作的時(shí)間。

      在這幾天中,體會到了團(tuán)結(jié)協(xié)作的重要性和樂趣,有什么問題很想法拿出來一起探討與分享,將會有更好的答案,活躍了一個人的思維,豐富了我們的頭腦,學(xué)會去接受別人,肯定別人,同樣也得到了別人的尊重與肯定,除了討論之外,還需積極獨(dú)立思考,唯獨(dú)通過自己的獨(dú)立思考,才能解決相關(guān)問題,才能提高對專業(yè)知識的熟悉程度,以后才能學(xué)會用,同樣這也是我該努力的兩個方向。

      我不敢說以后一定要學(xué)得怎么樣,至少現(xiàn)在懂得一定要善于觀察,積極思考,態(tài)度認(rèn)真,堅(jiān)持到底做好每一件事,同樣對待身邊的每個人。

      有時(shí)會感覺這些并不是我自己摸索到的,而是老師您在教學(xué)中無形傳授給我們的,雖然我現(xiàn)在學(xué)得不怎么樣,但我不怕失敗,并勇敢地走下去。

      搶答器設(shè)計(jì)心得(2):

      一、設(shè)計(jì)目的:

      比賽中為了準(zhǔn)確、公正、直觀地判斷出第一搶答者,所設(shè)計(jì)的搶答器通常由數(shù)碼顯示、燈光、音響等多種手段指示出第一搶答者。同時(shí)還應(yīng)設(shè)計(jì)記分、犯規(guī)和獎懲記錄等多種功能。

      設(shè)計(jì)一四人搶答器,具體要求:當(dāng)主持人宣布開始時(shí),一旦有任何參賽者最先按下按鈕,則此參賽者對應(yīng)的指示燈點(diǎn)亮,而其余三個參賽者的按鈕將不起作用,信號也不再被輸出,直到主持人宣布下一輪搶答開始為止。

      二、設(shè)計(jì)任務(wù):

      1、基本部分:

      (1)搶答氣可供四組使用,組別鍵號可以鎖存;搶答指示用發(fā)光二極管(led)。

      (2)記分部分獨(dú)立(不受組別信號控制),至少用2位二組數(shù)碼管指示,步進(jìn)有10分,5分兩種選擇,并且具有預(yù)置、遞增、遞減功能。

      (3)要求可靠性,操作簡便。

      2、發(fā)揮部分:

      (1)增加搶答路數(shù)。

      (2)數(shù)碼管顯示組別鍵號。

      (3)自動記分:當(dāng)主持人分別按步進(jìn)得分鍵,遞增鍵或遞減鍵后能夠?qū)⒎种底詣永塾?jì)在某組記分器上。

      (4)超時(shí)報(bào)警。

      (5)其他。

      3、分析各部分工作原理,繪制電路圖,撰寫設(shè)計(jì)報(bào)告。

      三、設(shè)計(jì)內(nèi)容:

      1、儀器設(shè)備及元件:

      電工學(xué)實(shí)驗(yàn)臺、集成電路74ls175、74ls20、74ls00,蜂鳴器,電源、邏輯電平顯示等。

      2、操作步驟:

      圖示是四人(組)參加智力競賽的搶答電路,電路中的主要器件是74ls175型四上升沿d觸發(fā)器,它的清零端和時(shí)鐘脈沖是四個d觸發(fā)器公用的。

      (1)按照電路圖連接電路。

      (2)搶答前先清零,q1-q4均為0,相應(yīng)的發(fā)光二極管led都不亮;q1-q4均為1,與非門g1輸出為0,揚(yáng)聲器不響。同時(shí),g2輸出為1,將g3開通,時(shí)鐘脈沖cp可以經(jīng)過g3進(jìn)入d觸發(fā)器的cp端。此時(shí),由于s1-s4均未按下,d1-d4均為0,所以觸發(fā)器的狀態(tài)不變。

      (3)搶答開始,若s1首先被按下,d1和q1均變?yōu)?,相應(yīng)的發(fā)光二極管亮;q1變?yōu)?,g1的輸出為1,揚(yáng)聲器響。同時(shí)g2輸出為0,將g3關(guān)斷,時(shí)鐘脈沖cp便不能經(jīng)過g3進(jìn)入d觸發(fā)器。由于沒有時(shí)鐘脈沖,因此再接著按其他按鈕,就不起作用了,觸發(fā)器的狀態(tài)不會改變。

      (4)搶答判決完畢,清零,準(zhǔn)備下次搶答用。

      四、設(shè)計(jì)心得:

      電子課程設(shè)計(jì)是本學(xué)期中唯一的一門課程設(shè)計(jì),我們理所當(dāng)然的要認(rèn)真對待,本次設(shè)計(jì)我選擇的是數(shù)字智力競賽搶答器的設(shè)計(jì),這個課題用到了數(shù)字電路方面的知識,通過這次課程設(shè)計(jì),使我對與非門以及集成電路有了一定的了解,對課本上的知識有了近一步的掌握。

      完成本次課程設(shè)計(jì)的過程,是一個從無到有的過程,因?yàn)橐郧皼]有過類似的課程設(shè)計(jì),所以起初不知該從何下手,后來仔細(xì)閱讀設(shè)計(jì)的題目和要求,閱讀設(shè)計(jì)指導(dǎo)書,再到圖書館和網(wǎng)上查找資料,總算是有點(diǎn)眉目了。

      知道了如何下手,后面的工作就容易一些了,萬事開頭難啊,和同學(xué)們在一起,不明白的地方可以隨時(shí)問,互相幫助,完成課程設(shè)計(jì),這樣的一段經(jīng)歷,或許是我在完成課程設(shè)計(jì)的同時(shí),收獲的一份財(cái)富。

      埋頭苦干的過程是苦澀的,在書山中查找資料的過程是疲倦的,但當(dāng)課程設(shè)計(jì)完成時(shí),那感覺是甜蜜的,沒有耕耘,哪來得收獲的喜悅,不懂付出怎么能知道回報(bào)的快樂,一分耕耘一分收獲,有付出才會有回報(bào),就在這樣的痛與快樂的交換中,我學(xué)到了知識,學(xué)到了道理,學(xué)到了做人的道理。

      下載4路搶答器設(shè)計(jì)程序word格式文檔
      下載4路搶答器設(shè)計(jì)程序.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        51單片機(jī)四路搶答器程序(5篇范例)

        #include sbit key1=P3^0; sbit key2=P3^1; sbit key3=P3^2; sbit key4=P3^3; sbit key5=P3^7; sbit BEEP=P2^0; unsigned char temp; unsigned char pulse_number1=9; uns......

        八路智力競賽搶答器設(shè)計(jì)實(shí)驗(yàn)報(bào)告

        數(shù)字電子技術(shù)課程設(shè)計(jì) 題 目: 姓 名: 專 業(yè): 班 級: 學(xué) 號: 指導(dǎo)教師: 八路智力競賽搶答器設(shè)計(jì) 電子科學(xué)與技術(shù) 122班 20 年 月 日 安徽科技學(xué)院理學(xué)院 安徽科技學(xué)......

        74LS148四路搶答器設(shè)計(jì)報(bào)告

        目錄1.設(shè)計(jì)任務(wù)和要求…………………………………….3 2.設(shè)計(jì)方案…………………………………………….3 2.1 設(shè)計(jì)思路………………………………………3 2.2 設(shè)計(jì)原理………......

        基于51單片機(jī)的搶答器設(shè)計(jì)[最終定稿]

        1. 系統(tǒng)設(shè)計(jì) 1.1設(shè)計(jì)要求 1、 需要自己設(shè)計(jì)電路并焊接電路板。 2、 基本要求:有一個主持人控制開關(guān)和6路搶答按扭,當(dāng)主持人允許搶答時(shí)才能進(jìn)行搶答操作,并用一個數(shù)碼管顯示搶答......

        EDA4人搶答器設(shè)計(jì)報(bào)告(范文大全)

        四人搶答器 一、 設(shè)計(jì)任務(wù): l、設(shè)計(jì)用于競賽的四人搶答器,功能如下: 有多路搶答器,臺數(shù)為四; 具有搶答開始后20秒倒計(jì)時(shí),20秒倒計(jì)時(shí)后無人搶答顯示超時(shí),并報(bào)警; 能顯示......

        微機(jī)原理_多路搶答器設(shè)計(jì)論文

        課程設(shè)計(jì)(論文) 課程名稱: 微機(jī)原理與接口技術(shù)題目:多路搶答器設(shè)計(jì) 院 (系): 理學(xué)院 專業(yè)班級:電子信息科學(xué)與技術(shù)1301 姓名:彭博 學(xué)號:131004033 指導(dǎo)教師:張愛萍2016 年 1 月 8 日......

        智力競賽搶答器的設(shè)計(jì)與制作

        我們的課程設(shè)計(jì)的實(shí)驗(yàn)報(bào)告 智力競賽搶答器的設(shè)計(jì)與制作 一. 設(shè)計(jì)任務(wù)與要求 1. 搶答器同時(shí)供8名選手或8個代表隊(duì)比賽,分別用8個按鈕S0 ~ S7表示。2. 設(shè)置一個系統(tǒng)清除和搶答控......

        基于單片機(jī)的數(shù)字搶答器的設(shè)計(jì)及仿真

        基于單片機(jī)的數(shù)字搶答器的設(shè)計(jì)及仿真 一、摘 要:數(shù)字搶答器由主體電路與擴(kuò)展電路組成。優(yōu)先編碼電路、鎖存器、譯碼電路將參賽隊(duì)的輸入信號在顯示器上輸出;用控制電路和主持人......