




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄1. 設計內容及要求21.1 設計任務21.2 設計要求21.3 設計方案22. 搶答器硬件設計32.1時鐘頻率電路的設計32.2 復位電路42.3 顯示電路的設計42.4 選手搶答按鍵電路的設計52.5 主持人按鍵電路設計63. 搶答器的程序流程63.1正常搶答流程73.2搶答時間調整83.3 答題時間調整流程94. 搶答器制作調試問題114.1 在仿真中出現(xiàn)的問題114.2 在實際電路制作中出現(xiàn)的問題115. 仿真測試效果125.1 初始及復位顯示125.2正常搶答顯示125.3 犯規(guī)顯示135.4 搶答時間調節(jié)146. 硬件電路功能顯示156.1 電路初始化顯示156.2 正常搶答顯
2、示156.3 搶答犯規(guī)顯示166.4 復位鍵顯示167. 實訓總結178. 參考文獻17附錄:188路搶答器源程序181. 設計內容及要求1.1 設計任務8路智力競賽搶答器1.2 設計要求(1)利用單片機設計并制作智力競賽搶答器。(2)設計一個6路或以上的搶答器;(3)有主持人按鍵,只有主持人按鍵按下之后,才允許選手搶答,否則視為犯規(guī),犯規(guī)時有對應指示燈亮;(4)設定搶答時間限制,超過時間若無人搶答則該題作廢,并用發(fā)光二極管閃爍報警;(5) 搶答限制時間用數(shù)碼管倒計時顯示;(6)有復位按鈕,出現(xiàn)犯規(guī)或超時后可復位。1.3 設計方案1、當主持人按下開始鍵,開始搶答,初始倒計時30秒開始倒計時,選
3、手搶答成功,進入60秒答題倒計時;2、如果在主持人按下開始鍵前按下?lián)尨鸢粹o,搶答犯規(guī),顯示器顯示犯規(guī)選手號碼,倒計時和選手號碼顯示閃爍;3、主持人可以通過,按"搶答時間調節(jié)"鍵或"答題時間調節(jié)"鍵進入調節(jié)狀態(tài),此時會顯示初始的搶答時間或回答時間,如想加一秒按一下"時間+"鍵,如果想減一秒按一下"時間-"鍵,時間LED上會顯示改變后的時間,調整范圍為0s99s, 0s時再減1s會跳到99,99s時再加1s會變到0s。 4、P3.0為開始搶答,P3.1為復位,p1.0-p1.7為八路搶答輸入 數(shù)碼管段選P0口,位選P2
4、口低3位。P3.2搶答時間調整整,P3.3回答時間調整,P3.4為時間加1調整,P3.5為時間減1調整。2. 搶答器硬件設計本設計基于AT89S52單片機AT89S52的引腳圖 AT89C52芯片引腳圖2.1時鐘頻率電路的設計單片機必須在時鐘的驅動下才能工作.在單片機內部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產生一定的時鐘信號送到單片機內部的各個單元,決定單片機的工作速度。1) 圖2-2 外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2的作用有
5、兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調。C1,C2的典型值為30PF。2) 單片機在工作時,由內部振蕩器產生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用fosc表示。如時鐘頻率為12MHz,即fosc=12MHz,則時鐘周期為1/12µs。2.2 復位電路單片機的第9腳RST為硬件復位端,只要將該端持續(xù)4個機器周期的高電平即可實現(xiàn)復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如圖4所示:值得注意的是,在設計當中使用到了硬件復位和軟件復位兩種功能,由上面的硬件復位后的各狀態(tài)可知寄存器及存儲器的值都恢復到了初始值
6、,而前面的功能介紹中提到了倒計時時間的記憶功能,該功能的實現(xiàn)的前提條件就是不能對單片機進行硬件復位,所以設定了軟復位功能。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉指令讓它跳轉到程序執(zhí)行的起始地址。2.3 顯示電路的設計電路采用的是CAJ5461BH 4位數(shù)碼管顯示,4數(shù)碼管實物及接線如圖所示:2.4 選手搶答按鍵電路的設計選手搶答按鍵選用的是以P1口為輸入,電路圖如圖所示:2.5 主持人按鍵電路設計支持人按鍵電路選用P3口為輸入,支持人按鍵“開始”鍵接P3.0,“復位”鍵接P3.1,“修改搶答時間”接P3.2,“修改答題時間”接P3.3,“時間+”接P3.4,“時間-”接P3
7、.5,電路圖如圖所示:3. 搶答器的程序流程本設計采用P3.2、P3.3分別接搶答時間調節(jié)和答題時間調節(jié)按鈕,即通過外部中斷0、外部中斷1分別控制搶答、答題時間的調整。因此,設計的軟件部分可分為工作模塊、外部中斷0模塊、外部中斷1模塊。對流程圖的分析,也分三部分來介紹。3.1正常搶答流程初始化部分:包括對定時計數(shù)器的工作方式、初始化數(shù)值的設置,還包括對搶答時間與答題時間的預設,另外,還應對外部中斷0、外部中斷1進行開放。開始初始化開始鍵沒按下開始鍵按下犯規(guī)搶答器倒計時按下復位鍵倒計時時間為0有人搶答?回答倒計時回答倒計時為03.2搶答時間調整搶答時間調整的流程圖見下圖INT0中斷Y顯示當前搶答
8、時間P3.4按下?P3.5按下?搶答時間加1sNYN結果為100結果置0N結果為0s?結果置100搶答時間減1sYYN按P3.2中斷返回NYP3.2對應鍵的按下,便進入INT0中斷過程。通過不斷對P3.4(加1s)和P3.5(減1s)進行不斷的查詢,來對搶答時間進行調整:發(fā)現(xiàn)P3.4按下,就對原搶答時間加1s, 發(fā)現(xiàn)P3.5下,就對原搶答時間減1s并調用顯示程序。根據(jù)設計要求,當加至99s時,若再加1s,則時間變?yōu)?;當減至0s后,若再減一秒,時間變?yōu)?9s。因此,流程中應該對當前時間于99s或0s比較,再作出相應處理。另外,在中斷過程中還需要不時對停止按鈕進行查詢,一旦發(fā)現(xiàn)其按下,立即中斷返
9、回。由于本中斷過程在返回前一直是循環(huán)執(zhí)行的,因此,只需要在每次循環(huán)末查詢一次即可,如流程圖所示3.3 答題時間調整流程與搶答時間調整類似,一旦因P3.3對應的按鈕按下,便進入INT1中斷過程。通過不斷對P3.4(加1s)和P3.5(減1s)進行不斷的查詢,來對搶答時間進行調整:發(fā)現(xiàn)P3.4按下,就對原搶答時間加1s, 發(fā)現(xiàn)P3.5下,就對原搶答時間減1s并調用顯示程序。當加至99s時,若再加1s,則時間變?yōu)?;當減至0s后,若再減一秒,時間變?yōu)?9s。因此,流程中應該對當前時間于99s或0s比較,再作出相應處理。INT1中斷Y顯示當前答題時間P3.4按下?P3.5按下?答題時間加1sNYN結果
10、為100s?結果置0N結果為0s?結果置100答題時間減1sYYN停止鍵按下?中斷返回NY4. 搶答器制作調試問題4.1 在仿真中出現(xiàn)的問題(1)電路接好后將16進制文件寫入單片機內,在數(shù)碼管顯示中,顯示的是亂碼。解決方法:1、檢查程序中的字型碼是否是共陽極顯示的字型碼,將共陰極字型碼改為共陽極字型碼;2、檢查電路圖,查看4位數(shù)碼管顯示是不是共陽極顯示,將共陰極更改為共陽極顯示(2)數(shù)碼管顯示的數(shù)字出現(xiàn)抖動解決方法:在顯示程序中更改顯示延時時間,加長顯示的延時時間(3)在調節(jié)搶答時間或調節(jié)答題時間是按一次按鍵顯示器上的數(shù)字會跳動多次解決方法:在按鍵去抖動程序中加長去抖動的延時時間4.2 在實際
11、電路制作中出現(xiàn)的問題(1)電路焊接完成將16進制程序燒寫進單片機后,電路板不能正常工作,數(shù)碼管沒顯示。解決方法:檢查電路,確認單片機最小系統(tǒng)是否正確及4位數(shù)碼管與單片機接線是否正確,用萬用表檢查各管腳間是否短路,排除短路的現(xiàn)象。(2)最小系統(tǒng)正確及各線路中沒有短路接線,數(shù)碼管全亮,但正確的顯示沒用顯示。解決方法:在顯示程序中加入將個顯示器清零的程序5. 仿真測試效果5.1 初始及復位顯示單片機初始顯示及復位顯示5.2正常搶答顯示(1)主持人按下開始鍵,數(shù)碼管顯示倒計時搶答倒計時(2)選手搶答成功,數(shù)碼管顯示選手號碼及答題倒計時4號選手搶答選手號碼及答題倒計時顯示5.3 犯規(guī)顯示支持人沒按下開始
12、鍵,選手搶答犯規(guī)。數(shù)碼管顯示選手號碼并閃爍4號選手搶答犯規(guī)顯示犯規(guī)顯示5.4 搶答時間調節(jié)支持人按下“復位鍵”P3.1,按下“修改搶答時間”P3.2,選擇調節(jié)搶答時間,按“時間+”P3.4和“時間-”P3.5,進行搶答時間的調節(jié);主持人要修改答題時間,按下“復位鍵”P3.1,按下“修改答題時間”P3.3,選擇調節(jié)搶答時間,按“時間+”P3.4和“時間-”P3.5,進行答題時間時間的調節(jié),顯示如圖所示:搶答時間加7秒顯示答題時間修改顯示6. 硬件電路功能顯示6.1 電路初始化顯示電路初始時數(shù)碼管顯示PPP6.2 正常搶答顯示1、當主持人按下開始按鍵后,數(shù)碼管顯示30秒倒計時2、選手搶答成功,數(shù)碼
13、管顯示選手號碼,并顯示答題時間倒計時6.3 搶答犯規(guī)顯示主持人開始按鍵沒按下,選手按下?lián)尨疰I后犯規(guī),數(shù)碼管顯示犯規(guī)選手號碼,倒計時顯示處顯示PP6.4 復位鍵顯示當支持人按下復位鍵,數(shù)碼管顯示初始值,顯示PPP7. 實訓總結在為期兩個周的單片機實訓中,通過完成所選的實訓題目,我們將課本中的所學到知識應用到制作中,加深了我們對課本知識的理解,在實訓中遇到的許多問題,通過查閱資料和老師的講解我們對單片機的應用又更進一層,在制作實際電路的過程中,不僅鍛煉了我們的的動手能力,通過對AT89S52單片機的應用使我們加深了對單片機的認識,將課本上的知識以實際生活中的應用相結合,在制作搶答器的過程中我們遇到
14、了許多的問題,在試過許多解決方案后,沒有解決問題,也想過放棄,但還是堅持了下來。在你解決一個問題,結果出來后,就會非常的興奮。在實訓中學到的東西對我們以后的生活學習也有很大的幫助在我們的生活中無亂多大的困難擋住我們前進的路,我們都不能放棄,世上沒有解決不了的困難,之遙我們堅持下來,成功就在手中。8. 參考文獻1 胡建主編. 單片機原理及接口技術實踐教程. 北京:機械工業(yè)出版社. 20042 何立民. MCS-51系列單片機應用系統(tǒng)設計. 北京:北京航空航天大學出版社. 19903 潘永雄. 新編單片機原理與應用. 西安:西安電子科技大學出版社. 20034 張迎新. 單片微型計算機原理、應用及
15、接口技術(第2版). 國防工業(yè)出版社. 20045 蘇平. 單片機原理與接口技術. 電子工業(yè)出版社. 2003附錄:8路搶答器源程序OKEQU20H;搶答開始標志位?ORG0000HAJMPMAINORG0003HAJMPINT_0ORG000BHAJMPT0INTORG0013HAJMPINT_1ORG001BHAJMPT1INTORG0040HMAIN:MOVR1,#30;初設搶答時間為30sMOVR2,#50MOVTMOD,#11H;設置未定時器/模式1MOVTH1,#3CHMOVTL1,#0B0HSETBEASETBET0SETBET1SETBEX0SETBEX1;允許四個中斷,T0/
16、T1/INT0/INT1CLROKSETBTR1SETBTR0;START:MOVR5,#0BHMOVR4,#0BHMOVR3,#0BHACALLDISPLAY;未開始搶答時候顯示000JBP3.0,NEXT;ACALLDELAYJBP3.0,NEXT;去抖動,如果"開始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢MOVA,R1MOVR6,A;送R1->R6,因為R1中保存了搶答時間SETBOK;搶答標志位,用于COUNT只程序中判斷是否查詢搶答MOVR7,#01H ;讀搶答鍵數(shù)據(jù)信號標志,這里表示只讀一次有用信號MOVR3,#0AH;搶答只顯示計時,滅號數(shù)AJMPCOU
17、NT;進入倒計時程序,"查詢有效搶答的程序"在COUNT里面NEXT:JNBP1.0,K1JNBP1.1,K2JNBP1.2,K3JNBP1.3,K4JNBP1.4,K5JNBP1.5,K6JNBP1.6,K7JNBP1.7,K8AJMPSTART;=非法搶答處理程序=K1:MOVR3,#01HAJMPFANGUIK2:MOVR3,#02HAJMPFANGUIK3:MOVR3,#03HAJMPFANGUIK4:MOVR3,#04HAJMPFANGUIK5:MOV R3,#05HAJMPFANGUIK6:MOVR3,#06HAJMPFANGUIK7: MOVR3,#07HAJ
18、MPFANGUIK8: MOVR3,#08HAJMPFANGUI/*=INT0(搶答時間R1調整程序)=*/INT_0:MOVA,R1MOVB,#0AHDIVABMOVR5,AMOVR4,BMOVR3,#0AHACALLDISPLAY;先在兩個時間LED上顯示R1JNBP3.4,INC0;P3.4為+1s鍵,如按下跳到INCOJNBP3.5,DEC0;P3.5為-1s鍵,如按下跳到DECOJNBP3.1,BACK0;P3.1為確定鍵,如按下跳到BACKOAJMPINT_0INC0:MOVA,R1CJNEA,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。MOVR
19、1,#00HACALLDELAY1AJMPINT_0ADD0:INCR1ACALLDELAY1AJMPINT_0DEC0:MOVA,R1JZSETR1;如果R1為0, R1就置99,DECR1ACALLDELAY1AJMPINT_0SETR1:MOVR1,#63HACALLDELAY1AJMPINT_0BACK0:RETI /*=INT1(回答時間R2調整程序)=*/INT_1:MOVA,R2MOVB,#0AHDIVABMOVR5,AMOVR4,BMOVR3,#0AHACALLDISPLAYJNBP3.4,INC1JNBP3.5,DEC1JNBP3.1,BACK1AJMPINT_1INC1:M
20、OVA,R2CJNEA,#63H,ADD1MOVR2,#00HACALLDELAY1AJMPINT_1ADD1:INCR2ACALLDELAY1AJMPINT_1DEC1:MOVA,R2JZSETR2DECR2ACALLDELAY1AJMPINT_1SETR2:MOVR2,#63HACALLDELAY1AJMPINT_1BACK1:RETI /*=倒計時程序(搶答倒計時和回答倒計時都跳到改程序)=*/REPEAT:MOVA,R2 ;使用設定始潯重新計時MOVR6,A COUNT:MOVR0,#00H;重置定時器中斷次數(shù)MOVTH1,#3CHMOVTL1,#0B0H;重置定時器RECOUNT:M
21、OVA,R6;R6保存了倒計時的時間,之前先將搶答時間或回答時間給R6MOVB,#0AHDIVAB;除十分出個位/十位MOV30H,A;十位存于(30H)MOV31H,B;個位存于(31H)MOVR5,30H;取十位MOVR4,31H;取個位MOVA,R6SUBBA,#07HJNCLARGER;大于5s跳到LARGER,小于等于5s會提醒MOVA,R0CJNEA,#0AH,FULL;1s中0.5s向下運行 AJMPCHECKFULL:CJNEA,#14H,CHECK;下面是1s的情況,響并顯示號數(shù)并清R0,重新計MOVA,R6JZQUIT;計時完畢MOVR0,#00HDECR6;一秒標志減1A
22、JMPCHECKLARGER: MOVA,R0CJNEA,#14H,CHECK;如果1s向下運行,否者跳到查"停/顯示"DECR6;計時一秒R6自動減1MOVR0,#00HCHECK:JNBP3.1,QUIT;如按下停止鍵退出JNBOK,CHECKK ;只在回答倒計時才有效AJMPNEXTTCHECKK:JNBP3.0,REPEAT ;判斷是否使用錦囊NEXTT:ACALLDISPLAYJBOK,ACCOUT;如果是搶答倒計時,如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用)AJMPRECOUNTACCOUT:MOVA,36HJNBACC.0,TRUE1JNBAC
23、C.1,TRUE2JNBACC.2,TRUE3JNBACC.3,TRUE4JNBACC.4,TRUE5JNBACC.5,TRUE6JNBACC.6,TZ1JNBACC.7,TZ2AJMPRECOUNTTZ1:JMPTRUE7TZ2:JMPTRUE8 QUIT:CLROK;如果按下了"停止鍵"執(zhí)行的程序AJMPSTART/*=正常搶答處理程序=*/TRUE1:MOVA,R2MOVR6,A;搶答時間R2送R6MOVR3,#01HCLROK;因為答題的計時不再查詢搶答,所以就鎖了搶答AJMPCOUNTTRUE2:MOVA,R2MOVR6,AMOVR3,#02HCLROKAJMPC
24、OUNTTRUE3:MOVA,R2MOVR6,AMOVR3,#03HCLROKAJMPCOUNTTRUE4:MOVA,R2MOVR6,AMOVR3,#04HCLR OKAJMPCOUNTTRUE5:MOVA,R2MOVR6,AMOVR3,#05HCLROKAJMPCOUNTTRUE6:MOVA,R2MOVR6,AMOVR3,#06HCLROKAJMPCOUNTTRUE7:MOVA,R2MOVR6,AMOVR3,#07HCLROKAJMPCOUNTTRUE8:MOVA,R2MOVR6,AMOVR3,#08HCLROKAJMPCOUNT/*=犯規(guī)搶答程序=*/FANGUI:MOVR0,#00HMO
25、VTH1,#3CHMOVTL1,#0B0HMOV34H,R3;犯規(guī)號數(shù)暫存與(34H)HERE:MOVA,R0CJNEA,#06H,FLASH;0.3s向下運行->滅并停響MOVR3,#0AHMOVR4,#0AHMOVR5,#0AH;三燈全滅AJMPCHECK1FLASH:CJNEA,#0CH,CHECK1;下面是0.8s的情況,響并顯示號數(shù)并清R0,重新計MOVR0,#00HMOVR3,34H;取回號數(shù)MOVR5,#0BHMOVR4,#0BH;顯示FF和號數(shù)AJMPCHECK1CHECK1:JNBP3.1,QUIT1ACALLDISPLAYAJMPHEREQUIT1:CLROKAJMPSTART;/*=顯示程序=*/DISPLAY:MOVDPTR,#DAT1MOVA,R3MOVCA,A+DPTRMOVP2,#0feHMOVP0,AMOVP2,#0FFHACALLDELAY2MOVDPTR,#DAT2MOVA,R5MOVCA,A+DPTRMOVP2,#0fdHMOVP0,AMOVP2,#0FFHAC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)玉米收購合同范本
- 外賣品牌加盟合同范本
- 醫(yī)院廚房協(xié)議合同范本
- 司機和公司合同范本
- 2025年腫瘤醫(yī)療服務合作協(xié)議書
- 叉車質保合同范本
- 南京古玩買賣合同范本
- 勞動合同范本 證明
- 印刷材料合同范本
- 公司服務用房合同范例
- 牙周檢查記錄表
- GB/T 10060-2023電梯安裝驗收規(guī)范
- TB編程從入門到進階
- 6人小品《沒有學習的人不傷心》臺詞完整版
- 教師溝通能力提升培訓幼兒園家長溝通技巧教學課件
- 喀喇沁旗樓子店鄉(xiāng)上燒鍋白石礦石灰?guī)r礦2022年度礦山地質環(huán)境治理計劃書
- 第三單元名著導讀《駱駝祥子》課件部編版語文七年級下冊
- 高老師講語文-燈籠-部編版
- 事業(yè)單位個人德能勤績廉工作總結(2篇)
- 《英語詞匯學》課程教學大綱
- YS/T 952-2014銅鉬多金屬礦化學分析方法銅和鉬量的測定電感耦合等離子體原子發(fā)射光譜法
評論
0/150
提交評論