




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、惠 州 學(xué) 院 數(shù)字電子技術(shù)課程設(shè)計說明書 題 目:基于單片機(89c52)的四人搶答器 系 部: 電子科學(xué)系 班 級: 09級電信二班 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 2011年12月29日智能四路搶答器 目錄一、 前言2二、 方案設(shè)計21、 方案比較22、 系統(tǒng)總體設(shè)計方案與實現(xiàn)框圖3三、 理論分析3四、 電路設(shè)計41、 按鍵部分42、 顯示部分53、 總原理圖6五、 軟件流程圖模塊7六、 結(jié)論8七、 程序9一、前言本設(shè)計要求能夠在主持人按下開始鍵后,四個參賽者開始搶按自己的按鍵,誰的按鍵先按下,誰面前的燈就會亮并且有相應(yīng)的提示,當(dāng)參賽者耗時太多時又會有相應(yīng)的提示。根據(jù)設(shè)計的要求,本系統(tǒng)
2、采用獨立式按鍵,通過單片機不停的掃描按鍵來控制led燈和蜂鳴器,并用定時器t0、t1來定超時的時間,其中搶答定時時間可以由主持人隨意的修改。當(dāng)超時的時候讓蜂鳴器響和點亮相應(yīng)的led燈(t0用于參賽者回答問題的定時,t1用于參賽者搶答時間的選定)。二、方案設(shè)計 1、方案比較 (1)、總體設(shè)計方案一:采用可編程i/o口擴(kuò)展芯片8155 8155作為單片機的擴(kuò)展接口能實現(xiàn)很多功能,但是這個系統(tǒng)并不復(fù)雜,用8155會浪費很多的資源,而且8155要用p0和p2端口作為地址線對它進(jìn)行讀寫,這樣不僅浪費端口還使得編程變的復(fù)雜。從節(jié)省資源和簡化編程的角度考慮,放棄了此方案。方案二:直接采用at89c51單片機
3、 直接用單片機不僅編程被簡化,還有效的利用了各個端口。8051單片機的資源完全夠這個系統(tǒng)的要求。所以最終選擇了此方案。 (2)、模塊 方案一:采用4*4矩陣鍵盤 此種鍵盤是常用的按鍵掃描方法,但是本系統(tǒng)只需要六個按鍵,這樣就會浪費十個,而且矩陣按鍵掃描要送數(shù)讀數(shù),對于編程很復(fù)雜,最終放棄了此方案。 方案二:采用獨立式鍵盤 本系統(tǒng)只要8個按鍵就可以,用獨立式鍵盤不僅節(jié)省端口還使編程變得簡單。程序只要不停的讀數(shù)檢查就行。所以,最終選擇此方案。 2、系統(tǒng)總體設(shè)計方案與實現(xiàn)框圖 搶答模塊、修改搶答時間模塊、主持人控制模塊一共采用8個獨立式的鍵盤作為按鍵輸入,當(dāng)在主持人按下開始鍵后有參賽者按鍵按下時,就
4、會有對應(yīng)于這個按鍵的燈亮并且蜂鳴器響一聲,其它按鍵再按也無效。在規(guī)定時間之后如不清除,蜂鳴器就會一直響,超時的led會點亮,提示已經(jīng)到時間??驁D如圖1。修改搶答時間是在按下了修改按鍵之后就會等待增量、減量的輸入以修改時間,直到再一次按下修改鍵以確定修改完成。獨立式按鍵部分單片機處理顯示部分按鍵掃描圖1三、理論分析 51單片機的端口上電是高電平,而且當(dāng)外部沒有輸入時能自動的彈跳到高電平,所以通過按鍵所接端口的高低電平變化可以判斷出哪個按鍵按下了。獨立按鍵p1口電平變化單片機識別圖2四、電路設(shè)計圖31、按鍵掃描部分單片機不停的掃描p1口的電平變化,當(dāng)有按鍵按下時,對應(yīng)的i/o口會跳變?yōu)榈碗娖?,單?/p>
5、機檢測到后,經(jīng)過處理將作出相應(yīng)的顯示。電路如圖1.圖42、顯示部分 根據(jù)按鍵按下的情況led作出相應(yīng)的亮滅,蜂鳴器作出相應(yīng)的反應(yīng)。當(dāng)開始鍵按下啟動后,當(dāng)s1按下時,則燈d1亮,并蜂鳴器響一聲,如果超過規(guī)定時間,蜂鳴器一直響,并提示超時led燈被點亮。如果s1在限定的時間內(nèi)再次被按下,說明參賽者1已完成回答;當(dāng)s2按下時,則燈d2亮,并蜂鳴器響一聲,如果超過規(guī)定時間,蜂鳴器一直響,并提示超時led燈被點亮。如果s2在限定的時間內(nèi)再次被按下,說明參賽者2已完成回答;當(dāng)s3按下時,則燈d3亮,并蜂鳴器響一聲,如果超過規(guī)定時間,蜂鳴器一直響,并提示超時led燈被點亮。如果s3在限定的時間內(nèi)再次被按下,
6、說明參賽者3已完成回答;當(dāng)s4按下時,則燈d4亮,并蜂鳴器響一聲,如果超過規(guī)定時間,蜂鳴器一直響,并提示超時led燈被點亮。如果s4在限定的時間內(nèi)再次被按下,說明參賽者4已完成回答;搶答完后可以按下主持人的確定鍵將其初始化??傇韴D如圖所示:五、軟件模塊本系統(tǒng)用了定時器0和定時器1。圖5六、結(jié)論本次設(shè)計按照題目要求,基于單片機,利用較合適的控制算法,成功的實現(xiàn)了搶答器的基本功能。硬件原理結(jié)構(gòu)簡單,減少硬件成本和繁瑣的電路連接;軟件設(shè)計方面,設(shè)計簡單,可塑造性強,便于維護(hù)。因此選擇使用單片機實現(xiàn)四人搶答器的設(shè)計具有很強的效益,能任意地修改搶答時間,使此搶答器適合在很多場合使用且成本低。通過此課程
7、設(shè)計讓我真正的了解到了程序設(shè)計的難點所在,難的并不是程序框架的搭建、理論上的思考此方法是否可行、代碼的寫入、調(diào)試其結(jié)果,真正難的是在調(diào)試的過程中,明明知道是有些問題的,但是又無法鎖定問題所在,造成的結(jié)果是心理的成就感受到抨擊,反復(fù)的對可能存在的問題反復(fù)修改,一次又一次的修改,可怕的是代碼越修越錯,結(jié)果該不會來。折騰一段時間后,一不小心才發(fā)現(xiàn)開始的時候問題僅僅時非常簡單、愚蠢的錯誤。從這程序設(shè)計過程中不斷的提醒我,必須步步為營,步步小心,耐心加細(xì)心即等于完美的程序設(shè)計的實現(xiàn)。七、程序代碼:/實現(xiàn)功能:四人搶答器/*1、只有主持人宣布開始搶答時,選手才能進(jìn)行搶答,搶答有一定的時間限制,超過一定時間
8、就會出現(xiàn)報警聲。 2、選手回答時必須在規(guī)定的時間里面回答,否則就會出現(xiàn)報警聲 3、數(shù)碼管會顯示時間 4、各通道的規(guī)定: 5、搶答時間是可以設(shè)置的*/#include#include #define uint unsigned int#define uchar unsigned charsbit beep=p36;/making voice(低電平有效)sbit led1=p27;/competitor 1(低電平有效)sbit one=p10;/(高電平有效)sbit led2=p26;/competitor 2(低電平有效)sbit two=p11;/(高電平有效)sbit led3=p25
9、;/competitor 3(低電平有效)sbit three=p12;sbit led4=p21;/competitor 4sbit four=p13;sbit led5=p20;/host announced begingsbit host=p15;/低電平有效sbit over=p37;/overtimesbit chang=p14;/change the overtime(低電平有效)sbit up=p16;/(低電平有效)sbit down=p17;/低電平有效sbit ls138a = p22; /定義譯碼器輸入端a 在 p2.2 管腳上sbit ls138b = p23; /定義
10、譯碼器輸入端b 在 p2.3 管腳上sbit ls138c = p24; /定義譯碼器輸入端c 在 p2.4 管腳上static uint max1=10,num1=20;uint max,num,temp,tt=0,dd=0x00;/max用于表示選手搶答的時間/uint i,lednumval=1 ;/uint ledout10;unsigned char code disp_tab = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;void delay(uint x);void display(uint key_val);v
11、oid change();void press(void);void time1_max();void time0_num();/unsigned long uint ledout5,ledhdsjval;void display(uint key_val) uchar i; /*以下將鍵值送到led數(shù)碼管顯示*/ ledhdsjval=key_val; /把鍵值送到ledhdsjval變量中 ledout0=disp_tabledhdsjval%10000/1000; ledout1=disp_tabledhdsjval%1000/100;/|0x80; ledout2=disp_table
12、dhdsjval%100/10; /十位 ledout3=disp_tabledhdsjval%10; /個位 for(i=1; i0;x-) for(y=110;y0;y-); void change(void)if(chang=0)delay(5);if(chang=0)while(!chang);delay(5);while(!chang);delay(100);while(chang) display(max1); if(up=0) delay(5);if(up=0)max1+;delay(20); while(!up); delay(5); while(!up); if(down=0
13、)delay(10);if(down=0)max1-;delay(20);while(!down);delay(5);while(!down);while(!chang);delay(5);while(!chang);void press(void) if(one=0)delay(5);if(one=0)while(!one);delay(50);while(!one);delay(50);while(!one); tr1=0;led1=0;beep=0;delay(250);beep=1; num =num1; time0_num(); while(num&one) temp=num; di
14、splay(temp); while(!one); delay(5); while(!one); tr0=0; if(num=0) beep=0; over=0; delay(10); while(host) display(num); while(!host);delay(10);while(!host);beep=1; led1=1; led5=1; over=1; void main() while(1) display(dd); change(); if(host=0) delay(5); if(host=0) max=max1; time1_max(); led5=0; beep=0
15、;delay(250);beep=1; while(!host); delay(5); while(!host); while(max&one&two&three&four) display(max); press(); tr0=0; if(max=0) over=0; beep=0; while(host) display(0); led5=1; over=1; beep=1; while(!host); delay(5); while(!host);/ delay(10);/ while(!host); /* t1 (1ms)中斷 中斷*/void t1zd(void) interrupt 3 /3定時器1的中斷號 1定時器0的中斷號 0外部中斷1 2外部中斷2 4串口中斷 th1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全職助理合同范本
- 2025年長沙貨物從業(yè)資格證考試
- 保安服務(wù)合同范本
- 代辦注銷合同范本
- 內(nèi)部包協(xié)議合同范本
- 動遷協(xié)議出租合同范本
- 公司團(tuán)購合同范例
- 農(nóng)業(yè)行業(yè)勞動合同范本
- 修路回收物資合同范本
- 人員勞動合同范本
- 國際留學(xué)合作框架協(xié)議書
- DL-T 297-2023 汽輪發(fā)電機合金軸瓦超聲檢測
- JGJT 152-2019 混凝土中鋼筋檢測技術(shù)標(biāo)準(zhǔn)
- DB3212-T 1157-2024 病案庫房建設(shè)規(guī)范
- 欠款還款計劃范文
- QBT 2088-1995 硅藻土行業(yè)標(biāo)準(zhǔn)
- 交管12123學(xué)法減分考試題庫及答案
- 數(shù)字電子技術(shù)(武漢科技大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年武漢科技大學(xué)
- 《冷作工》 課件 七、扣縫制作
- 室內(nèi)設(shè)計采光分析報告
- 學(xué)習(xí)解讀2024年新制定的學(xué)位法課件
評論
0/150
提交評論