在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于單片機的八路電子搶答器系統設計

multisim ? 來源:multisim ? 作者:multisim ? 2022-09-23 10:27 ? 次閱讀

01課程設計目的

單片機原理及應用課程設計是學生綜合運用所學知識,全面掌握單片微型計算機及其接口工作原理編程和使用方法的重要實踐環節。通過獨立或協作提出并論證設計方案,進行軟、硬件調試,最后獲得正確的運行結果,可以加深和鞏固對理論教學和實驗教學內容的掌握,進一步建立計算機應用系統整體概念,初步掌握單片機軟、硬件開發方法。

根據單片機原理及應用課程的要求,主要進行兩個方面的設計,即單片機最小系統和存儲器擴展設計、接口技術應用設計。其中,單片機最小系統主要要求學生熟悉單片機的內部結構和引腳功能、引腳的使用、復位電路、時鐘電路4個并行接口和一個串行接口的實際應用,從而可構成最小應用系統,并編程進行簡單使用。

存儲器擴展設計要求學生掌握常用半導體芯片與單片機的接口,如EPROM存儲器用作外部程序存儲器時與單片機的連接關系,SRAM存儲器用作外部數據存儲器時與單片機的連接關系,E2PROM存儲器用作外部程序/數據存儲器時與單片機的連接關系。能合理分配和使用單片機的內部和外部存儲器,編程實現正常的讀寫功能。

02課程設計的任務與要求

2.1課程設計的任務

根據所學的單片機知識,設計一個八路的電子搶答器系統,實現功能為:可供8個選手使用,可顯示30s倒計時,并可顯示出搶到的選手號。

2.2課程設計要求

(1)設計出硬件電路;

(2)設計出軟件編程方法,并寫出源代碼;

(3)PROTEUS進行仿真

03設計方案與論證

3.1設計方案

系統采用51系列單片機AT89C51作為控制核心,該系統可以完成運算控制、信號識別以及顯示功能的實現。由于用了單片機,使其技術比較成熟,應用起來方便、簡單并且單片機周圍的輔助電路也比較少,便于控制和實現。整個系統具有極其靈活的可編程性,能方便地對系統進行功能的擴張和更改。

3.2方案論證

(1)可靠性好:單片機按照工業控制要求設計,抵抗工業噪聲干擾優于一般的CPU,程序指令和數據都可以寫在ROM里,許多信號通道都在同一芯片,因此可靠性高,易擴充。

(2)單片機有一般電腦所必須的器件,如三態雙向總線,串并行的輸入及輸出引腳,可擴充為各種規模的微電腦系統。

(3) 控制功能強:單片機指令除了輸入輸出指令,邏輯判斷指令外還有更豐富的條件分支跳躍指令。

04設計原理及功能介紹

4.1設計原理

八路搶答器的工作原理是利用單片機的定時器T0T1中斷完成,其余狀態循環調用顯示子程序,4個共陰極LED數碼管來顯示,用P0口作為數碼管的八個段選,用P2口中的P2.0P2.1P2.2、作為4個數碼管其中3個位選,P1口接8個按鍵,提供選手搶答,P3.0-P3.5四個接四個按鍵,提供開始、結束、答題時間調整、搶答時間調整,加1、減1調整之用

接通電源后,主持人將開關撥到“清除”狀態,搶答器處于禁止狀態,編號顯示器滅燈,定時器顯示設定時間;主持人將開關置,“開始”狀態,宣布“開始”搶答器工作。定時器倒計時,揚聲器給出聲響提示。選手在定時時間內搶答時,搶答器完成:優先判斷、編號鎖存、編號顯示、揚聲器等提示。當一輪搶答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必的條件分支跳躍指令。其原理框圖如4-1所示

be29929e-3ae0-11ed-9e49-dac502259ad0.png

4-1八路搶答器原理框圖

4.2功能介紹

1如果想調節搶答時間或答題時間,按"搶答時間調節"鍵或"答題時間調節"鍵進入調節狀態,此時會顯示現在設定的搶答時間或回答時間值,如想加一秒按一下"加1s"鍵,如果想減一秒按一下"-1s"鍵,時間LED上會顯示改變后的時間,調整范圍為0s~99s, 0s時再減1s會跳到9999s時再加1s會變到0s

2主持人按"搶答開始"鍵,會有提示音,并立刻進入搶答倒計時(預設30s搶答時間),如有選手搶答,會有提示音,并會顯示其號數并立刻進入回答倒計時(預設60s搶答時間),不進行搶答查詢,所以只有第一個按搶答的選手有效。倒數時間到小于5s會每秒響一下提示音。

3)如倒計時期間,主持人想停止倒計時可以隨時按"停止"按鍵,系統會自動進入準備狀態,等待主持人按"搶答開始"進入下次搶答計時。

4如果主持人未按"搶答開始"鍵,而有人按了搶答按鍵,犯規搶答,LED上不斷閃爍FF和犯規號數并響個不停,直到按下"停止" 鍵為止。

5P3.0為開始搶答,P3.1為停止,p1.0-p1.7為八路搶答輸入 數碼管段選P0口,位選P2口低3位,蜂鳴器輸出為P3.6口。P3.2搶答時間調整結,P3.3回答時間調整,P3.4為時間加1調整,P3.5為時間減1調整

05單元電路設計

5.1時鐘電路

be8b2dd8-3ae0-11ed-9e49-dac502259ad0.png

5-1時鐘電路圖

一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中有兩個電容C1,C2它們的主要作用為:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調。C1,C2的典型值為30PF

單片機在工作時,由內部振蕩器產生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數,常用fosc表示。如時鐘頻率為12MHz,fosc=12MHz,則時鐘周期為1/12μs

5.2復位電路

AT89C51的復位由外部的復位電路實現。復位電路通常采用上電自動復位和按鈕復位兩種方式。本次設計采用按鈕復位方式。

單片機的第9RST為硬件復位端,只要持續4個機器周期的高電平即可實現復位,硬件復位后的各狀態可知寄存器以及存儲器的值都恢復到了初始值。

bee8701a-3ae0-11ed-9e49-dac502259ad0.png

5-2復位電路圖

5.3數碼管顯示電路

本次課程設計采用了7SEG-MPX2-CC 的兩位7段共陰極數碼管,用來顯示30s倒計時,和7SEG-MPX1-CC的一位7段共陰極數碼管,用來顯示搶答中的選手號碼。位選端分別與P2口的第七位,第六位以及第零位相接。同時7段數碼管線段通過上拉電阻power,實現數碼管的點亮。

bf54dd4a-3ae0-11ed-9e49-dac502259ad0.png

5-3數碼管顯示電路圖

5.4報警電路

這里能利用程序來控制單片機P3.7口線反復輸出高電平或低電平,即在該口線上產生一定頻率的矩形波,接上揚聲器就能發出一定頻率的聲音,再利用延時程序控制“高”“低”電平的持續時間,就能改變輸出頻率,從而改變音調,使揚聲器發出不同的聲音,由于材料有限,本次實驗采用發光二極管代替報警器

bf8ac8d8-3ae0-11ed-9e49-dac502259ad0.png

5-4報警電路圖

5.5按鈕輸入電路

bfe6e65e-3ae0-11ed-9e49-dac502259ad0.png

5-5按鈕電路圖

8個按鈕接P1口,表示8個選手的搶答按鈕,一個總開關接P3.0口負責啟動定時程序。

06軟件調試過程及結果

6.1調試過程

1軟件調試

問題1:選手搶答后計時未停止。

解決辦法:在if語句判斷按鈕是否按下后,增加TR0=0語句,使計時器停止計時。

問題2:倒計時開始之前,以及選手搶答后都可按下按鈕。

解決辦法:增加檢測變量n,當TR01n1n1時才開始檢測是否有鍵按下,一旦有鍵按下n置為0,此后按鍵均無效。

2硬件仿真調試

問題1:七段數碼管不亮

解決辦法:開始采用Input作為數碼管電源,改為power后顯示正常。

問題2:一位七段數碼管管腳較密集無法正常畫線

解決辦法:在走線困難的地方按住ctrl鍵即可。

6.2調試結果

1 keil uVision3

c05a1aca-3ae0-11ed-9e49-dac502259ad0.png

6.2.2 proteus

2開始計時

c08655a4-3ae0-11ed-9e49-dac502259ad0.png

(3)7號選手搶答

c0bfd43c-3ae0-11ed-9e49-dac502259ad0.png

07

總結

經過一周的單片機課程設計,終于完成了八路搶答器的設計,不僅基本上達到設計要求,而且還是收獲良多。通過這次課程設計,使我更進一步地熟悉了單片機芯片的工作原理和其具體的使用方法。單片機課程設計重點就在于軟件算法的設計,需要有很巧妙的程序算法,這鍛煉了自己獨立思考問題的能力和通過查看相關資料來解決問題的習慣。還有了解了課程設計的一般步驟,和設計中應注意的問題。

設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。下面我對整個設計的過程做一下簡單的總結。第一,接到任務以后進行選題。選題是設計的開端,選擇恰當的、感興趣的題目,這對于整個設計是否能夠順利進行關系極大。好比走路,這開始的第一步是具有決定意義的,第一步邁向何方,需要慎重考慮。否則,就可能走許多彎路、費許多周折,甚至南轅北轍,難以到達目的地。因此,選;題時一定要考慮好了。第二,題目確定后就是找資料了。查資料是做設計的前期準備工作,好的開端就相當于成功了一半,到圖書館、書店、資料室去雖說是比較原始的方式,但也有可取之處的。總之,不管通過哪種方式查的資料都是有利用價值的,要一一記錄下來以備后用。第三,通過上面的過程,已經積累了不少資料,對所選的題目也大概有了一些了解,這一步就是在這樣一個基礎上,綜合已有的資料來更透徹的分析題目。第四,有了研究方向,就應該動手實現了。其實以前的三步都是為這一步作的鋪墊。通過這次設計,我對數字電路設計中的邏輯關系等有了一定的認識,對以前學的數字電路又有了一定的新認識,溫習了以前學的知識,就像人們常說的溫故而知新嘛,但在設計的過程中,遇到了很多的問題,有一些知識都已經不太清楚了,但是通過一些資料又重新的溫習了一下數字電路部分的內容。在這次設計中也使我們的同學關系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法我們更好的理解知識,所以在這里非常感謝幫助我的同學。

在此要感謝我的指導老師,感謝老師給我這樣的機會鍛煉。在整個設計過程中我懂得了許多東西,也培養了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學習工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創造過程中的探索的艱難和成功的喜悅。雖然這個項目還不是很完善,但是在設計過程中所學到的東西是這次設計的最大收獲和財富,使我終身受益。

參考文獻

[1] 張毅剛.單片機原理及應用[M].高等教育出版社 2003.

[2] 王章瑞.單片機課程實驗及課程設計指導書[J]. 西南石油大學 2013.

[3] 李光飛.單片機課程設計實例指導[J].北京航天航空大學出版社 2004.

[4] 馮育長.單片機系統設計與實例指導[J].西安電子科技大學出版社2007.

[5] 王冬梅等.基于單片機的八路搶答器設計與實現[M].佳木斯大學學報 2009.

[6] 吳亦峰、陳德為.單片機原理與接口技術[M]. 北京:電子工業出版社.2005.

[7] 周潤景、張麗娜.基于PROTEUS的電路及單片機仿真[M]. 北京: 航空航天大學出版社,2007.

[8] 胡耀輝、朱朝華等.單片機系統開發實例經典[M].北京:冶金工業出版社.2006.

[9] 張迎新.單片機初級教程[M]. 北京: 航空航天大學出版社,2007.

附錄1電路原理

c0e617e6-3ae0-11ed-9e49-dac502259ad0.png

附錄2:實物圖

c1361cbe-3ae0-11ed-9e49-dac502259ad0.jpg

附錄3元器件清單

序號

名稱

型號規格

數量

1

單片機

STC89C51

1

2

三極管

8050

4

3

電阻

10K

13

4

電容

30PF

2

5

晶振

12MHz

1

6

電源開關

小型

1

7

搶答按鈕

小型

10

8

LED

黃色

1

附錄4:源程序

#include

#define uint unsigned int

#define uchar unsigned char

sbit key1=P3^0; //定義"啟動"按鈕
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
sbit k7=P1^6;
sbit k8=P1^7; //選手按鍵
sbit beep=P3^7; //蜂鳴器
uchar temp;
ucharaa,shi,ge,i;
uint n;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77}; //共陰極數碼管編碼
void display(ucharshi,ucharge); //聲明顯示子函數
void dis(uchari);
void delay(uint z); //聲明延時子函數
void init(); //聲明初始化函數
void main()
{
init( ); //調用初始化子程序
while(1)
{
if(key1==0) //檢測"啟動"按鈕是否按下
{
delay(10); //延時去抖動
if(key1==0) //再次檢測"啟動"按鈕是否按下
{
while(!key1); //松手檢測,若按鍵沒有釋放,key1始終為0,那么!key1始終為1,程序就一直停在此while語句處
TR0=1; //啟動定時器開始工作
n=1;
}
}

display(shi,ge); //調用顯示子函數


dis(i); //顯示選手號數
if(n==1) {
if(k1==0){ delay(10);if(k1==0){while(!k1) i=1;TR0=0;n=0;beep=1;delay(500);beep=0;}}
if(k2==0){ delay(10);if(k2==0){while(!k2) i=2;TR0=0;n=0;beep=1;delay(500);beep=0;}}
if(k3==0){ delay(10);if(k3==0){while(!k3) i=3;TR0=0;n=0;beep=1;delay(500);beep=0;}}
if(k4==0){ delay(10);if(k4==0){while(!k4) i=4;TR0=0;n=0;beep=1;delay(500);beep=0;}}
if(k5==0){ delay(10);if(k5==0){while(!k5) i=5;TR0=0;n=0;beep=1;delay(500);beep=0;}}
if(k6==0){ delay(10);if(k6==0){while(!k6) i=6;TR0=0;n=0;beep=1;delay(500);beep=0;}}
if(k7==0){ delay(10);if(k7==0){while(!k7) i=7;TR0=0;n=0;beep=1;delay(500);beep=0;}}
if(k8==0){ delay(10);if(k8==0){while(!k8) i=8;TR0=0;n=0;beep=1;delay(500);beep=0;}}


}
}
}

void delay(uint z) //延時子函數
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

void display(ucharshi,ucharge) //顯示子程序
{
P2=0xbf;
P0=table[shi];
delay(10);

P2=0x7f;
P0=table[ge];
delay(10); //使用動態掃描的方法實現數碼管顯示
}
void dis(uchari)
{ P2=0xfe;
P0=table[i];
delay(10);
}

void init( ) //初始化子程序
{
n=0;
temp=30;
TMOD=0x01; //使用定時器T0的方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256; //定時50ms中斷一次
EA=1; //中斷總允許
ET0=1; //允許定時器T0中斷
}

void timer0( ) interrupt 1
{

TH0=(65536-50000)/256;//重新賦初值
TL0=(65536-50000)%256;
aa++; //中斷一次變量aa的值加1
if(aa==20) //中斷20次后,定時時間為20*50ms=1000ms=1s,將變量temp的值加1
{
aa=0;
temp--;
if (temp==0)
{ temp=30;
}
shi=temp%100/10;
ge=temp%10; //分離個位和十位
}
}


審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 搶答器
    +關注

    關注

    16

    文章

    243

    瀏覽量

    34582
  • 單片機
    +關注

    關注

    6043

    文章

    44621

    瀏覽量

    638579
  • 存儲器
    +關注

    關注

    38

    文章

    7528

    瀏覽量

    164345

原文標題:4

文章出處:【微信號:A1411464185,微信公眾號:multisim】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    八路搶答器設計論文

    八路搶答器設計論文數碼顯示八路搶答器的設計:搶答器作為一種電子產品,早已廣泛應用于各種智力和知識
    發表于 12-01 21:13

    誰有基于單片機八路搶答器

    誰有基于單片機八路搶答器
    發表于 09-23 21:31

    求基于單片機(AT89C51)的八路搶答器的設計

    求基于單片機(AT89C51)的八路搶答器的設計,謝謝
    發表于 04-13 10:32

    單片機制作的八路搶答器電路圖

    單片機制作的八路搶答器電路圖 搶答器單片機以及外圍電路組成,由于采用單片機,使得外圍電路非常
    發表于 05-16 01:24 ?8724次閱讀
    <b class='flag-5'>單片機</b>制作的<b class='flag-5'>八路</b><b class='flag-5'>搶答器</b>電路圖

    基于51單片機八路搶答器設計

    基于51單片機八路搶答器設計很不錯哦可以看看哦
    發表于 11-17 16:59 ?106次下載

    基于單片機八路搶答器開題報告

    基于單片機八路搶答器開題報告方便廣大同學做單片機課程設計,同時也可以作為畢業設計參考
    發表于 12-08 18:12 ?12次下載

    Protel Schematic八路搶答器原理圖

    八路搶答器原理圖可以為學習單片機的同學畫電路和設計電路提供參考
    發表于 12-08 18:12 ?33次下載

    八路掃描式搶答器設計

    基于51單片機的8八路掃描式搶答器設計的原理圖與代碼
    發表于 12-22 17:41 ?41次下載

    基于單片機八路搶答器

    關于單片機八路搶答器,可以看看哈~~~~~~~~~~
    發表于 06-22 15:56 ?5次下載

    八路搶答器

    單片機八路搶答器
    發表于 12-26 22:08 ?51次下載

    基于單片機八路智力搶答器設計

    基于單片機八路智力搶答器設計論文
    發表于 06-28 14:53 ?205次下載

    單片機如何設計八路搶答器

    單片機來設計八路搶答器是一個常見的小課題,本人之前在大學期間就設計過八路搶答器的課程設計,也正是這個課程設計,讓我喜歡上了
    發表于 07-17 09:46 ?3230次閱讀

    基于51單片機八路搶答器設計

    隨著科學技術的發展和普及,各種各樣的競賽越來越多,其中搶答器的作用也越來越重要。本文設計出以STC89C52RC單片機為核心的八路搶答器。所需元器件如下:...
    發表于 11-04 13:36 ?27次下載
    基于51<b class='flag-5'>單片機</b>的<b class='flag-5'>八路</b><b class='flag-5'>搶答器</b>設計

    基于51單片機八路搶答器控制設計(畢設課設資料)

    基于51單片機八路搶答器控制設計(畢設課設資料)
    發表于 11-13 10:21 ?109次下載
    基于51<b class='flag-5'>單片機</b>的<b class='flag-5'>八路</b><b class='flag-5'>搶答器</b>控制設計(畢設課設資料)

    基于51單片機八路搶答器洞洞板&覆銅板設計技術手冊

    基于51單片機八路搶答器洞洞板&覆銅板設計技術手冊
    發表于 09-18 10:57 ?7次下載
    主站蜘蛛池模板: 深深激情网 | 四虎网址大全 | 黄色大秀视频 | 国产成人91青青草原精品 | 女张腿男人桶羞羞漫画 | 日本丝瓜着色视频 | 夜夜骑天天干 | 天堂在线www天堂中文在线 | 猛操女人| 久久狠狠色噜噜狠狠狠狠97 | 午夜啪啪福利视频 | 老司机成人精品视频lsj | 人人干人人爽 | 色女人久久| 拍拍拍拍拍拍拍无挡大全免费 | 欧美色视频日本片免费高清 | 噜噜噜天天躁狠狠躁夜夜精品 | 欧美爱爱网址 | 黄色免费片| 成人a一级毛片免费看 | 爱爱永久免费视频网站 | 另类五月| 欧美激情二区三区 | 四虎影视精品 | 久久国产香蕉一区精品 | 中国高清色视频www 中国高清性色生活片 | 色多多黄| 男女www视频在线看网站 | 国产成人精品一区二区三区 | 观看在线人视频 | 亚洲免费福利视频 | 国产色综合一区二区三区 | 久久国产免费福利永久 | 国产精品黄页网站在线播放免费 | 在线观看视频播放 | 欧美成人性色区 | 5060精品国产福利午夜 | 激情六月色 | 亚洲黄色激情网 | 色爱综合网欧美 | 色视频免费在线观看 |