給大家提供一個(gè)單片機(jī)八路搶答器設(shè)計(jì)的超詳細(xì)完整資料下載,含論文 仿真 原理圖 源碼 任務(wù)書(shū)及開(kāi)題報(bào)告 焊接仿真教程和其他相關(guān)教程等等一應(yīng)俱全 都有的都有了.
(1)、程序開(kāi)始當(dāng)主席臺(tái)按下開(kāi)始搶答按鈕后,數(shù)碼管顯示搶答倒計(jì)時(shí)。在該時(shí)間內(nèi)八路搶答按下有效,若超出搶答時(shí)間蜂鳴器發(fā)出搶答失敗警報(bào)預(yù)示該次搶答失敗。若有效時(shí)間內(nèi)有人搶答則1位數(shù)碼管顯示搶答選手號(hào),二位數(shù)碼管顯示答題倒計(jì)時(shí)。在答題有效時(shí)間內(nèi)答題完成則搶答成功,若超過(guò)答題時(shí)間,蜂鳴器給出答題超時(shí)警報(bào),答題失敗。 (2)、在開(kāi)始搶答的過(guò)程中主席臺(tái)可按下結(jié)束搶答來(lái)中斷此次搶答。直接結(jié)束搶答后數(shù)碼管均顯示0.等待下次搶答開(kāi)始。 (3)、在開(kāi)始搶答時(shí),主席臺(tái)可以不使用開(kāi)始搶答按鈕而按下隨機(jī)抽擊選手答題按鈕來(lái)隨機(jī)抽取一位選手答題。該按鈕按下后1位數(shù)碼管顯示隨機(jī)選手號(hào),二位數(shù)碼管顯示答題倒計(jì)時(shí),若時(shí)間超時(shí),蜂鳴器給出警報(bào)。若有效時(shí)間內(nèi)答題,則答題成功。 (4) 、在隨機(jī)抽取選手答題中,可以按下結(jié)束隨機(jī)抽取選手答題按鈕來(lái)結(jié)束隨機(jī)抽取答題。結(jié)束后數(shù)碼管均顯示0. 等待下次搶答開(kāi)始。
1.001.jpg (167.04 KB, 下載次數(shù): 128)
下載附件
2017-5-10 16:44 上傳
1.002.jpg (123.39 KB, 下載次數(shù): 135)
下載附件
2017-5-10 16:44 上傳
3、下面焊接步驟可按圖片進(jìn)行
1.003.jpg (104.98 KB, 下載次數(shù): 122)
下載附件
2017-5-10 16:44 上傳
下面圖片中畫(huà)的黑線表示也需要連線,在這里由于拍照時(shí)還未焊接,后來(lái)焊接的!在此特別提出!下面最后幾張圖片中可以看到該畫(huà)黑線處的連線! 很多同志需要自己焊接reset功能的找不到RST腳,可以上網(wǎng)查查的!上面圖單片機(jī)焊接兩排下面一排右邊開(kāi)始數(shù),第9個(gè)腳為RST腳!
1.004.jpg (107.17 KB, 下載次數(shù): 140)
下載附件
2017-5-10 16:44 上傳
1.005.jpg (103.01 KB, 下載次數(shù): 135)
下載附件
2017-5-10 16:44 上傳
1.006.jpg (106.97 KB, 下載次數(shù): 157)
下載附件
2017-5-10 16:44 上傳
1.007.jpg (104.64 KB, 下載次數(shù): 129)
下載附件
2017-5-10 16:44 上傳
仿真圖:
0.png (73.87 KB, 下載次數(shù): 151)
下載附件
2017-5-10 16:33 上傳
0.png (105.73 KB, 下載次數(shù): 134)
下載附件
2017-5-10 16:32 上傳
文件列表:
C51學(xué)習(xí)視頻沒(méi)有\(zhòng)
KEIL 軟件安裝視頻沒(méi)有\(zhòng)
keil_project\
keil_project2\
Keil_Project3\
Protel 99 軟件安裝包\
Protel 99畫(huà)圖軟件學(xué)習(xí)視頻\
proteus7.5仿真\
proteus8.0仿真\
PROTEUS仿真軟件的安裝方法\
proteus軟件安裝包\
仿真學(xué)習(xí)案例\
仿真指導(dǎo)\
單片機(jī)程序下載軟件\
參考論文及設(shè)計(jì)文檔\
開(kāi)題報(bào)告及任務(wù)書(shū)\
沒(méi)有單片機(jī)初學(xué)者視頻教程\
焊接指導(dǎo)\
電路圖\
程序\
Keil-Project說(shuō)明.txt
proteus7.5仿真.rar
proteus仿真.rar
八路搶答器設(shè)計(jì)功能說(shuō)明.docx
搶答器仿真指導(dǎo).docx
搶答器元器件清單.docx
畢設(shè)答辯技巧.rar
下面分享下基于單片機(jī)的八路搶答器設(shè)計(jì)任務(wù)書(shū)及開(kāi)題報(bào)告.doc(51hei提供的附件內(nèi)有完整的論文下載word格式 可編輯):
XXXX學(xué)校
任務(wù)書(shū)
學(xué)生姓名: XX 學(xué)號(hào): XXXXXX 系 別: 電子工程系 專(zhuān) 業(yè): 電子技術(shù) 畢業(yè)綜合實(shí)踐題目:基于單片機(jī)的八路搶答器設(shè)計(jì)
指導(dǎo)教師: XX講師 (姓名、專(zhuān)業(yè)技術(shù)職務(wù))
材 料 目 錄 序號(hào) | | | | 1 | | |
| 2 | 畢業(yè)綜合實(shí)踐任務(wù)書(shū) | |
| 3 | 畢業(yè)綜合實(shí)踐開(kāi)題報(bào)告 | |
| 4 | 畢業(yè)綜合實(shí)踐設(shè)計(jì)(論文) | |
| 5 | 畢業(yè)綜合實(shí)踐成績(jī)?cè)u(píng)定表 | |
| 6 | |
|
|
年月
XX學(xué)校
畢 業(yè) 綜 合 實(shí) 踐 任 務(wù) 書(shū)
學(xué)年 系專(zhuān)業(yè)
學(xué)生姓名: | | | | | | 畢業(yè)綜合實(shí)踐題目: | 基于單片機(jī)的八路搶答器設(shè)計(jì) | | 起迄日期: | | 實(shí)踐地點(diǎn): | | 指導(dǎo)教師: | | 顧問(wèn)教師: |
| 教研組(室)負(fù)責(zé)人: | | 發(fā)任務(wù)書(shū)日期: XXXX年 XX月XX日 |
|
|
|
|
|
|
|
一、選題背景: 在這個(gè)瞬息萬(wàn)變、競(jìng)爭(zhēng)激烈的時(shí)代,選擇一個(gè)優(yōu)越的工具往往能提升企業(yè)在這個(gè)市場(chǎng)上的競(jìng)爭(zhēng)力。進(jìn)入21世紀(jì),隨著科學(xué)技術(shù)的發(fā)展,生活中的競(jìng)賽越來(lái)越多,為了在比賽中能準(zhǔn)確、公正、直觀的判斷出第一搶答者,設(shè)計(jì)的搶答器通常有數(shù)碼顯示、燈光、音響等多種手段指示出第一搶答者。設(shè)計(jì)一種易于使用和區(qū)分度高的搶答器成了非常迫切的任務(wù),搶答器主要用于選手做搶答題時(shí),選手進(jìn)行搶答,搶到題的選手來(lái)回答問(wèn)題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時(shí)也要求選手具備足夠的知識(shí)面和一定的勇氣。選手們都站在同一個(gè)起跑線上,體現(xiàn)了公平公正的原則,因此我們?cè)O(shè)計(jì)了一種采用數(shù)字電路制作的多功能數(shù)顯搶答器,除了有搶答功能外,還具有定時(shí)報(bào)警功能和數(shù)顯功能。 | 二、設(shè)計(jì)(研究)內(nèi)容: 1.對(duì)本課題的總結(jié)介紹:“八路搶答器”設(shè)計(jì)采用STC89C51自身接口實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示和蜂鳴報(bào)警系統(tǒng)。當(dāng)主席臺(tái)按下開(kāi)始強(qiáng)大按鈕時(shí),數(shù)碼管顯示搶答倒計(jì)時(shí),在該時(shí)間內(nèi)搶答有效如無(wú)人搶答時(shí)間到后將進(jìn)行蜂鳴器報(bào)警。若有人搶答數(shù)碼管顯示答題倒計(jì)時(shí),有限時(shí)間內(nèi)答題則搶答成功,若有限時(shí)間內(nèi)無(wú)法答題,蜂鳴器進(jìn)行答題超時(shí)報(bào)警。 2.工作內(nèi)容:首先要對(duì)該設(shè)計(jì)進(jìn)行分析,用protel99SE將該電路的原理圖給繪出,然后用編寫(xiě)出程序并畫(huà)出流程圖。編譯編寫(xiě)的程序生成可執(zhí)行HEX文件,再用proteus軟件進(jìn)行設(shè)計(jì)仿真。再將程序下載到單片機(jī)中,最后將焊接電路,并進(jìn)行硬件調(diào)試。 3.能力要求及目標(biāo) (1)學(xué)習(xí)能力強(qiáng)、工作態(tài)度認(rèn)真,能及時(shí)完成任務(wù)。 (2)理論聯(lián)系實(shí)際,能綜合運(yùn)用所學(xué)的理論知識(shí)和技能解決實(shí)際問(wèn)題。具有較強(qiáng)的分析能力和解決問(wèn)題的能力。 (3)畢業(yè)綜合實(shí)踐成果對(duì)實(shí)際應(yīng)用有一定的現(xiàn)實(shí)意義且能體現(xiàn)較強(qiáng)的動(dòng)手能力。 (4)在工作中有創(chuàng)新意識(shí),在某些方面有獨(dú)到的見(jiàn)解和創(chuàng)新。 (5)在畢業(yè)綜合實(shí)踐中能較快的適應(yīng)崗位的需要,有較強(qiáng)的職業(yè)道德修養(yǎng),較強(qiáng)的溝通能力。 目標(biāo):通過(guò)該項(xiàng)目的設(shè)計(jì),增強(qiáng)了自身的設(shè)計(jì)能力,并且也提高了專(zhuān)業(yè)水平。同時(shí)分析和解決問(wèn)題的能力也涿漸提高。 | 三、課題任務(wù)具體要求及預(yù)期成果: 此設(shè)計(jì)方案是利用對(duì)數(shù)字電路知識(shí)的穩(wěn)固掌握來(lái)進(jìn)行課程設(shè)計(jì)的,要求做到熟悉各集成芯片的功能,進(jìn)行正確的引腳連接,從而完成搶答器的功能實(shí)現(xiàn)和軟件仿真。 課題要求完成的方案及成果: 1. 設(shè)計(jì)出基于單片機(jī)的八路搶答器設(shè)計(jì)的原理圖設(shè)計(jì)、proteus仿真設(shè)計(jì)、源程序的編寫(xiě)及調(diào)試、硬件的焊接及調(diào)試。 2. 編寫(xiě)相應(yīng)的設(shè)計(jì)相關(guān)文檔。 3.完成畢業(yè)綜合實(shí)踐報(bào)告。 | 四、時(shí)間安排與要求: : 選擇并確定課題,并收集好一些相關(guān)的資料。 : 下發(fā)任務(wù)書(shū)。 : 完成開(kāi)題報(bào)告。 : 完成初步設(shè)計(jì),包括電路圖、參數(shù)設(shè)置。 : 進(jìn)行有關(guān)的仿真實(shí)驗(yàn)、分析調(diào)試,并達(dá)到預(yù)期的效果。 : 完成論文的初稿,進(jìn)行中期的檢查。 : 修改論文,最終完成畢業(yè)設(shè)計(jì),上交材料。 | 五、完成課題需具備的條件: 實(shí)踐者應(yīng)具備扎實(shí)的電路分析、電子技術(shù)應(yīng)用、電子測(cè)量、等基礎(chǔ)知識(shí),能熟練應(yīng)用proteus、Protel等軟件對(duì)電路進(jìn)行仿真分析、對(duì)電路進(jìn)行檢測(cè)和排故。有一定的電路設(shè)計(jì)、分析問(wèn)題和解決問(wèn)題能力。同時(shí)需要一定的編程能力熟練KEIL下C51編程。 所需設(shè)備:裝有KEIL軟件、Protel軟件及Keil軟件的電腦。 參考資料: 【1】殷慶縱 李福勤 編著 電子線路CAD 北京:北京大學(xué)出版社,2009.8 【2】劉訓(xùn)非 編著 EDA技術(shù)(二)校本教材 【3】陳其純 編著 電子線路(第二版)北京:高等教育出版社,2006.6 【4】陳尚松 郭慶 雷加 編著 電子測(cè)量與儀器 北京:電子工業(yè)出版社,2009.1 【5】張毅剛 修林成 編著 MCS-51單片機(jī)應(yīng)用設(shè)計(jì) 北京:哈爾濱工業(yè)大學(xué)出版,社 2009.2 【6】何立民 主編 單片機(jī)應(yīng)用技術(shù)選編 北京: 北京航空航天大學(xué)出版社,1991.9
| 六、其他需要說(shuō)明的的事項(xiàng):
|
單片機(jī)源程序:
- #include <reg51.h>
- #include <intrins.h>
- #include <stdlib.h>
- sbit DG1 = P0^0; //二位數(shù)碼管第一位選擇腳
- sbit DG2 = P0^1; //二位數(shù)碼管第二位選擇腳
- sbit DG3 = P0^3;
- //P2端口 數(shù)碼管段選
- //P1端口 八位選手搶答
- sbit start_qd_pin = P3^7;//開(kāi)始搶答按鈕連接管腳
- sbit end_qd_pin = P3^5; //結(jié)束搶答按鈕連接管腳
- sbit start_srand_qd_pin = P3^4;//開(kāi)始隨機(jī)抽取選手按鈕連接管腳
- sbit end_srand_qd_pin = P3^6;//結(jié)束隨機(jī)抽取選手按鈕連接管腳
- sbit beep=P3^3;//蜂鳴器連接管腳
- unsigned char weixuan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//數(shù)碼管段碼:0123456789
- unsigned char qd_num=0; //搶答選手號(hào)
- unsigned char qd_time=0; //搶答倒計(jì)時(shí)間
- unsigned char timeout_num=0; //定時(shí)器產(chǎn)生中斷次數(shù)
- unsigned char work_status = 0; //工作狀態(tài),下面幾個(gè)為工作狀態(tài)定義的宏
- #define START_QD_STATUS 0
- #define WAIT_QD_STATUS 1
- #define ACK_QD_STATUS 2
- #define ACK_SRAND_QD_STATUS 3
- /*------延時(shí)2ms函數(shù)------*/
- void delay2ms(void) //誤差 0us
- {
- unsigned char a,b;
- for(b=4;b>0;b--)
- for(a=248;a>0;a--);
- _nop_(); //if Keil,require use intrins.h
- }
- /*------延時(shí)50ms函數(shù),參數(shù)num為延時(shí)多少個(gè)50ms------*/
- void delay50ms(unsigned int num) //誤差 0us
- {
- unsigned char a,b;
- unsigned char i=0;
- for(i=0; i<num; i++)
- {
- for(b=173;b>0;b--)
- for(a=143;a>0;a--);
- }
- }
- /*---初始化定時(shí)器0---*/
- void InitTimer0(void)//50ms
- {
- TMOD = 0x01;//定時(shí)器工作模式1
- TH0 = 0x3C; //定時(shí)器裝值高8位
- TL0 = 0x0B0;//定時(shí)器裝值低8位
- EA = 1; //使能總中斷
- ET0 = 1; //使能定時(shí)器0中斷
- TR0 = 1; //啟動(dòng)定時(shí)器
- }
- /*------關(guān)閉定時(shí)器0------*/
- void end_Timer0(void)
- {
- ET0 = 0;//關(guān)閉定時(shí)器0中斷
- TR0 = 0;//停止定時(shí)器0
- }
- /*----初始化函數(shù)-----*/
- void init(void)
- {
- DG1 = 0;
- DG2 = 0;
- DG3 = 0;
-
- beep = 0;//上電時(shí)由于該腳為高,而為高時(shí)蜂鳴器會(huì)叫,故初始化為低
- }
- /*----------等待開(kāi)始搶答狀態(tài)
- 該狀態(tài)下一直等待主席臺(tái)按下開(kāi)始搶答按鈕或隨機(jī)搶答按鈕,再進(jìn)入相應(yīng)的工作狀態(tài)!
- 這種狀態(tài)機(jī)的編程方式是當(dāng)前單片機(jī)開(kāi)發(fā)者的主流思想。
- ---------*/
- void start_qd_status(void)
- {
- if(start_qd_pin == 0)//檢測(cè)到開(kāi)始搶答按鈕按下
- {
- work_status = WAIT_QD_STATUS;//工作狀態(tài)設(shè)置為等待答題狀態(tài)
- qd_num = 0; //回答選手號(hào)為0,等待選手按下
- qd_time = 20; //20s搶答時(shí)間
- timeout_num=0; //中斷次數(shù)清0
- InitTimer0(); //開(kāi)啟定時(shí)器0
- }
- if(start_srand_qd_pin == 0)//檢測(cè)到隨機(jī)抽取選手答題按鈕按下
- {
- work_status = ACK_SRAND_QD_STATUS;//工作狀態(tài)設(shè)置為隨機(jī)選手回答狀態(tài)
- srand(TL0%100); //產(chǎn)生隨機(jī)數(shù)種子,srand和rand函數(shù)有興趣可以百度一下單片機(jī)產(chǎn)生隨機(jī)數(shù)方法!
- qd_num = (rand()%9);//0-8, 產(chǎn)生隨機(jī)數(shù)
- if(qd_num == 0) //防止產(chǎn)生隨機(jī)數(shù)0
- qd_num = (rand()%9); //再次產(chǎn)生隨機(jī)數(shù)
- qd_time = 30; //30s答題時(shí)間
- timeout_num=0; //中斷次數(shù)清0
- InitTimer0(); //開(kāi)始定時(shí)器0
- }
- }
- /*-------開(kāi)始按鈕按下后,等待選手搶答狀態(tài)函數(shù)------*/
- void wait_qd_status(void)
- {
- unsigned char i = 0;
- if(qd_time == 0)//無(wú)人搶答,搶答時(shí)間已到
- {
- end_Timer0();//停止定時(shí)器0
- //蜂鳴器給出無(wú)人搶答警報(bào)
- beep = 1; //蜂鳴器響
- delay50ms(40);
- beep = 0;
- work_status = START_QD_STATUS;//無(wú)人搶答后恢復(fù)原始狀態(tài),設(shè)置工作狀態(tài)為開(kāi)始搶答狀態(tài)
- }
- if(end_qd_pin == 0)//檢測(cè)到結(jié)束按鍵
- {
- end_Timer0();//停止定時(shí)器0
- qd_num = 0;//回答選手號(hào)為0
- qd_time = 0;//搶答時(shí)間清0
- work_status = START_QD_STATUS;//工作狀態(tài)置開(kāi)始搶答狀態(tài)
- }
- switch(P1)//檢測(cè)哪位選手按下?lián)尨鸢粹o
- {
- case 0xfe://1號(hào)
- qd_num = 1;//回答選手號(hào)為1
- qd_time = 30;
- timeout_num=0;
- InitTimer0();
- work_status = ACK_QD_STATUS;
- break;
- case 0xfd://2號(hào)
- qd_num = 2;//回答選手號(hào)為2
- qd_time = 30;
- timeout_num=0;
- InitTimer0();
- work_status = ACK_QD_STATUS;
- break;
- case 0xfb://3號(hào)
- qd_num = 3;//回答選手號(hào)為3
- qd_time = 30;
- timeout_num=0;
- InitTimer0();
- work_status = ACK_QD_STATUS;
- break;
- case 0xf7://4號(hào)
- qd_num = 4;//回答選手號(hào)為4
- qd_time = 30;
- timeout_num=0;
- InitTimer0();
- work_status = ACK_QD_STATUS;
- break;
- case 0xef://5號(hào)
- qd_num = 5;//回答選手號(hào)為5
- qd_time = 30;
- timeout_num=0;
- InitTimer0();
- work_status = ACK_QD_STATUS;
- break;
- case 0xdf://6號(hào)
- qd_num = 6;//回答選手號(hào)為6
- qd_time = 30;
- timeout_num=0;
- InitTimer0();
- work_status = ACK_QD_STATUS;
- break;
- case 0xbf://7號(hào)
- qd_num = 7;//回答選手號(hào)為7
- qd_time = 30;
- timeout_num=0;
- InitTimer0();
- work_status = ACK_QD_STATUS;
- break;
- case 0x7f://8號(hào)
- qd_num = 8;//回答選手號(hào)為8
- qd_time = 30;
- timeout_num=0;
- InitTimer0();
- work_status = ACK_QD_STATUS;
- break;
- default:
- break;
- }
- }
- /*------選手回答問(wèn)題狀態(tài)------*/
- void ack_qd_status()
- {
- unsigned char i = 0;
- if(qd_time == 0)//答題超時(shí)
- {
- end_Timer0();//結(jié)束定時(shí)器0
- qd_num = 0;
- qd_time = 0;
- for(i=0;i<3;i++)//選手回答問(wèn)題超時(shí)警報(bào)
- {
- beep = 1;
- delay50ms(5);
- beep = 0;
- delay50ms(5);
- }
- work_status = START_QD_STATUS;//設(shè)置工作狀態(tài)為開(kāi)始搶答狀態(tài)
- }
- if(end_qd_pin == 0)//結(jié)束按鍵按下
- {
- end_Timer0();//結(jié)束定時(shí)器0
- qd_num = 0;
- qd_time = 0;
- work_status = START_QD_STATUS;//設(shè)置工作狀態(tài)為開(kāi)始搶答狀態(tài)
- }
- }
- /*-------隨機(jī)選手回答狀態(tài)-------*/
- void ack_srand_status()
- {
- unsigned char i = 0;
- if(qd_time == 0)//答題超時(shí)
- {
- end_Timer0();//結(jié)束定時(shí)器0
- qd_num = 0;
- qd_time = 0;
- for(i=0;i<3;i++)//隨機(jī)選手回答問(wèn)題超時(shí)警報(bào)
- {
- beep = 1;
- delay50ms(5);
- beep = 0;
- delay50ms(5);
- }
- work_status = START_QD_STATUS;
- }
- if(end_srand_qd_pin == 0)//結(jié)束按鍵
- {
- end_Timer0();//結(jié)束定時(shí)器0
- qd_num = 0; //選手號(hào)清0
- qd_time = 0;//時(shí)間清0
- work_status = START_QD_STATUS;//設(shè)置工作狀態(tài)為開(kāi)始搶答狀態(tài)
- }
- }
- /*-----數(shù)碼管顯示函數(shù)
- 二位數(shù)碼管顯示倒計(jì)時(shí)時(shí)間
- 一位數(shù)碼管顯示搶答選手號(hào)------*/
- void display(unsigned char qd_time, unsigned char qd_num)
- {
- P2 = weixuan[qd_time/10];//顯示時(shí)間十位
- DG1 = 1; //打開(kāi)第一位數(shù)碼管位選
- delay2ms();
- DG1 = 0;
- P2 = weixuan[qd_time%10];//顯示時(shí)間個(gè)位
- DG2 = 1; //打開(kāi)第二位數(shù)碼管位選
- delay2ms();
- DG2 = 0;
- P2 = weixuan[qd_num%10];//顯示選手號(hào)
- DG3 = 1; //打開(kāi)第三位數(shù)碼管位選
- delay2ms();
- DG3 = 0;
- }
- /*-------主函數(shù)-----*/
- void main()
- {
- init();//初始化
- while(1)
- {
- switch(work_status)//工作狀態(tài)判斷
- {
- case START_QD_STATUS://開(kāi)始搶答狀態(tài)
- start_qd_status();
- break;
- case WAIT_QD_STATUS://等待選手搶答狀態(tài)
- wait_qd_status();
- break;
- …………限于本文篇幅 余下代碼請(qǐng)從51黑帖子末尾下載附件…………
復(fù)制代碼
八路搶答器全部資料打包下載(完整資料,含論文 仿真 原理圖 源碼 教程等等一應(yīng)俱全 都有的都有了):
八路搶答器.zip
(6.76 MB, 下載次數(shù): 416)
2017-5-10 16:19 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|