2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  1 設(shè)計課題任務(wù)、功能要求說明及總體方案介紹</p><p>  1.1 設(shè)計課題任務(wù)</p><p>  (一)設(shè)計題目:單片機(jī)搶答器課程設(shè)計</p><p><b> ?。ǘ┰O(shè)計任務(wù):</b></p><p>  通過理論知識的運(yùn)用和實物制作相結(jié)合,寫出搶答器匯編程序,做出搶答器實物,掌握

2、和理解《單片機(jī)技術(shù)》書本中所學(xué)的理論知識和實驗方法,掌握一些單片機(jī)應(yīng)用系統(tǒng)的設(shè)計方法,掌握keil和proteus軟件的使用方法,提高自己的思維能力、學(xué)習(xí)能力以及動手實踐能力,為以后從事電子電路設(shè)計、研發(fā)電子產(chǎn)品打下良好的基礎(chǔ)。</p><p>  1.2 功能要求說明</p><p>  設(shè)計一個具有特定功能的搶答器。該搶答器上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入準(zhǔn)備工作

3、狀態(tài)。主持人按下開始按鈕后,搶答開始并限定時間30S;10S內(nèi)無人搶答,蜂鳴器發(fā)出音響;主持人按下開始按鈕之前有人按下?lián)尨鹌?,搶答違規(guī),顯示器顯示違規(guī)臺號,違規(guī)指示燈亮,其它按鈕不起作用;正常搶答,顯示器顯示臺號,蜂鳴器發(fā)出音響,其它搶答按鈕無效;正常搶答下,從按下?lián)尨鸢粹o開始30S內(nèi),答完按鈕沒按下,則作超時處理,超時處理時,違規(guī)指示燈亮,數(shù)碼管顯示違規(guī)臺號。蜂鳴器發(fā)出音響;各臺數(shù)字顯示的消除,蜂鳴器音響及違規(guī)指示燈的關(guān)斷,都要通過主

4、持人按復(fù)位按鈕。</p><p>  1.3 設(shè)計總體方案介紹</p><p>  設(shè)計中采用AT89S52芯片、LED顯示器、蜂鳴器、LED燈、數(shù)碼管和一些獨立式按鍵構(gòu)成一個簡易六路搶答器。設(shè)計中是采用單片機(jī)的內(nèi)部定時器進(jìn)行定時,原理框圖如圖1所示 </p><p>  圖1 搶答器原理框圖</p><p>  整個搶答器的工作原理是:在

5、正常的供電狀態(tài)下顯示“P.”,開始搶答時利用單片機(jī)倒計時,并由單片機(jī)將所需要顯示的數(shù)據(jù)送到LED顯示器的輸入口,當(dāng)有鍵按下時則執(zhí)行相應(yīng)的鍵功能程序。</p><p>  2 搶答器的硬件系統(tǒng)的設(shè)計</p><p>  2.1 搶答器硬件系統(tǒng)各模塊功能簡要介紹</p><p>  該搶答器主要由單片機(jī)最小系統(tǒng)、按鍵電路模塊、LED顯示電路模塊、蜂鳴電路模塊和LED

6、指示燈電路模塊組成。各模塊的功能如下:</p><p>  (1)單片機(jī)最小系統(tǒng)</p><p>  單片機(jī)最小系統(tǒng)包括AT89S52單片機(jī)如圖2、晶振電路如圖3所示、復(fù)位電路如圖4所示。只有當(dāng)單片機(jī)有了這些電路才會工作。電源電路給單片機(jī)供電,晶振電路給單片機(jī)提供計數(shù)時間,復(fù)位電路可以實現(xiàn)單片機(jī)的復(fù)位。</p><p>  圖2 AT89S52單片機(jī)芯片</

7、p><p><b>  圖3 晶振電路</b></p><p><b>  圖4 復(fù)位電路</b></p><p> ?。?)獨立鍵盤電路模塊 </p><p>  如圖5所示運(yùn)用獨立鍵盤電路,設(shè)計一段公共接地,另一端通過上拉電阻接到P1口,當(dāng)有按鍵按下,相應(yīng)的口就會變成低電平,產(chǎn)生一個下降沿。&l

8、t;/p><p><b>  圖5 獨立鍵盤電路</b></p><p> ?。?)LED顯示電路模塊</p><p>  如圖6所示采用兩個四位一體共陽型數(shù)碼管顯示器進(jìn)行顯示。由于位控線的驅(qū)動電流較大,因此在P2口線上接了8個PNP型三極管提高驅(qū)動能力;在單片機(jī)的P1口線和P2口線上接了16個470Ω的電阻,這些電阻起限流的作用。將段控口a--d

9、p接在P0.0--P0.7上,位控口接在P2口線上,實現(xiàn)對顯示的控制。LED顯示電路模塊主要用來指示第一搶答者,顯示倒計時和違規(guī)的臺號。</p><p>  圖6 LED顯示電路模塊</p><p><b> ?。?)蜂鳴電路模塊</b></p><p>  如圖7所示單片機(jī)P3.1口線上接上一個1KΩ電阻然后再通過一個PNP型三極管與蜂鳴器

10、相連接組成蜂鳴器電路,接入PNP型三極管是為了增強(qiáng)蜂鳴器的驅(qū)動電流。蜂鳴電路主要完成提示和違規(guī)報警功能。</p><p>  圖7 蜂鳴電路模塊</p><p>  (5)LED指示燈電路模塊</p><p>  如圖8所示單片機(jī)P3.2口線上經(jīng)過一個470Ω的電阻與LED燈的陰極相連接,LED燈的陽極接正五伏電壓。470Ω的電阻起限流的作用。LED指示燈電路模塊

11、主要用來指示用違規(guī)操作發(fā)生。</p><p>  圖8 LED 指示燈電路模塊</p><p> ?。?)下載口電路模塊</p><p>  如圖9所示下載口的1腳接P1.5口,2腳懸空,3腳接單片機(jī)的復(fù)位口,4腳接P1.6口,5腳接P1.7口,6腳接地,7、8、8、10腳接地。</p><p><b>  圖9 下載口電路<

12、/b></p><p>  搶答器電路原理圖、PCB圖、元器件布局圖</p><p>  Proteus原理圖、PCB頂層圖、PCB底層圖 、元器件布局圖分別見附錄A附錄B附錄C以及附錄D。</p><p><b>  搶答器元器件清單</b></p><p>  元器件清單見附錄E。</p><

13、;p>  3 搶答器軟件系統(tǒng)的設(shè)計</p><p>  3.1 搶答器使用單片機(jī)資源的情況</p><p>  該搶答器使用了單片機(jī)的定時器的功能,其中具體用到了單片機(jī)的定時器0和定時器1,并且讓它們都以中斷方式工作,沒有用到外部中斷。寄存器用到了第0組,第1組,第2組。在數(shù)據(jù)的顯示時,采用查表的方法,因此需要將表格、數(shù)據(jù)存放在單片機(jī)的程序存儲器上。用到的LED顯示器接到了單片機(jī)

14、的P0口線上和P2口線上。LED指示燈和蜂鳴器接在P3口線上。</p><p>  3.2 搶答器軟件系統(tǒng)各模塊功能簡要介紹</p><p>  該搶答器所用的軟件模塊有定時器模塊、按鍵模塊、LED顯示模塊。</p><p><b> ?。?)定時器模塊</b></p><p>  選擇定時器0,設(shè)置定時器定時方式為方

15、式1以中斷方式工作,設(shè)置定時時間為50ms。</p><p><b> ?。?)按鍵模塊</b></p><p>  采用獨立式鍵盤,共用七個按鍵對電路進(jìn)行控制和操作,分別為S1、S2、S3、S4、S5、S6、S7來控制搶答器。S1、S2、S3、S4、S5、S6代表選手;S7為答完鍵、S8為開始鍵、S9為復(fù)位鍵。</p><p> ?。?)數(shù)碼

16、管顯示模塊</p><p>  搶答器上電顯示“P.”,按開始鍵開始搶答,顯示器顯示倒計時30s,10s內(nèi)若無人搶答報警一次,若30s內(nèi)都無人搶答,報警并燈亮。若沒按下開始鍵為無效搶答則顯示器顯示違規(guī)臺號并報警。</p><p>  3.3 搶答器軟件系統(tǒng)程序流程框圖</p><p>  3.3.1 主程序流程框圖</p><p>  主

17、程序流程框圖如圖10所示。</p><p>  圖10 主程序流程框圖</p><p>  3.3.2 開始鍵程序流程框圖</p><p>  開始鍵程序流程框圖如圖11所示。</p><p>  圖11 開始鍵程序流程框圖</p><p>  3.3.3 搶答鍵程序流程框圖</p><p>

18、;  搶答鍵程序流程框圖如圖12所示。</p><p>  圖12 開始鍵程序流程框圖</p><p>  3.3.4 答完鍵程序流程框圖</p><p>  答完鍵程序流程框圖如圖13所示。</p><p>  圖13 答完鍵程序流程框圖</p><p>  3.3.5 復(fù)位鍵程序流程框圖</p>

19、<p>  復(fù)位鍵程序流程框圖如圖14所示。</p><p>  圖14 答完鍵程序流程框圖</p><p><b>  程序清單</b></p><p><b>  見附錄F。</b></p><p>  搶答器的設(shè)計結(jié)論、心得體會、教學(xué)建議</p><p>  

20、4.1 搶答器的設(shè)計結(jié)論</p><p>  4.1.1 搶答器的設(shè)計結(jié)論</p><p>  通過對單片機(jī)進(jìn)行外接鍵盤和LED數(shù)碼管的操作以及加上硬件電路和軟件的結(jié)合,實現(xiàn)了搶答器P.顯示以及搶答倒計時的顯示,正常搶答時顯示臺號,搶答違規(guī)時顯示違規(guī)臺號、違規(guī)指示燈亮、蜂鳴器報警。本課程設(shè)計直接在實物數(shù)碼管板子上測試和修改,沒有仿真。該搶答器完成了設(shè)計任務(wù),符合設(shè)計要求。</p&

21、gt;<p>  4.1.2 使用說明</p><p>  本設(shè)計的S2到S7為搶答鍵,S8為自定義復(fù)位鍵,S9為開始鍵,S1為系統(tǒng)復(fù)位鍵。當(dāng)開始鍵按下后才能進(jìn)行搶答,搶答時間為30秒,搶答時,其他按鍵無效,答完后,答題人按下答完鍵,答題結(jié)束。若10S內(nèi)無人搶答,蜂鳴器發(fā)出警示音,若計時到仍無人搶答則違規(guī)指示燈亮,蜂鳴器報警。若沒有按下開始就搶答則違規(guī),違規(guī)燈亮,顯示違規(guī)者臺號。若倒計時時間到,還

22、沒按下答完鍵則違規(guī),違規(guī)燈亮。各臺數(shù)字顯示的消除、蜂鳴器音響及違規(guī)指示燈的關(guān)斷,都要通過主持人按復(fù)位鍵來實現(xiàn)。</p><p>  4.2 搶答器課題心得體會及教學(xué)建議</p><p>  臨近期末考試,學(xué)了一個學(xué)期的單片機(jī)課了,雖然感覺要掌握的知識內(nèi)容很復(fù)雜,而且需要完成的實驗也比較多,但是真正覺得學(xué)到了不少東西。通過這次搶答器課程設(shè)計,不僅加深了我對書本知識的認(rèn)識,而且更加深一步地掌

23、握了單片機(jī)的接口技術(shù)以及匯編語言的應(yīng)用和功能。在剛剛接觸單片機(jī)匯編語言的時候,別說自己編相關(guān)的程序,就是要我看懂某個不太難的程序都感覺有點吃力,然在進(jìn)行了一系列的知識學(xué)習(xí)、實驗實踐,特別是這次的搶答器課程設(shè)計以后,讓我深刻的了解了單片機(jī)的匯編功能以及方法,不僅可以看懂許多的程序,而且也能編寫一些不是太難的程序,也使得自己也不再像以前那樣,總把匯編看成是一個老大難的問題。當(dāng)然在這其中,也出現(xiàn)了不少問題。比如說在進(jìn)行數(shù)碼管的焊接時,因沒去了

24、解其不同引腳的排列順序,導(dǎo)致數(shù)碼管正反順序焊反,從而使得顯示數(shù)字也變法了。這算是個自己不細(xì)心導(dǎo)致的,所以以后再做此類相關(guān)的課程設(shè)計或者實驗的時候,許多細(xì)節(jié)方便一定得多注意些。</p><p>  從這個學(xué)期開始到結(jié)束,凌云老師一直都兢兢業(yè)業(yè)的指導(dǎo)我們學(xué)好單片機(jī)這門課程,很感謝老師的這份責(zé)任心??傮w來說,我覺得老師的教學(xué)還是挺好的,要說建議的話,可能還真說不上一兩點什么。</p><p>&

25、lt;b>  結(jié)束語</b></p><p>  將本設(shè)計的程序下載到單片機(jī)中,通過測試,基本上完成了任務(wù)書的要求,并且搶答的精確度也比較高,因為在調(diào)用鍵掃描函數(shù)的時候是在500ms函數(shù)中,基本上每50ms就會調(diào)用一次鍵掃描函數(shù)。當(dāng)然對于高精度的搶答比賽,本設(shè)計的精度還是不夠的,還需要進(jìn)一步的改進(jìn),甚至可以精度提高到微秒級。還有就是搶答的人數(shù)有限,只有六個人,所以當(dāng)有更多的人搶答時,應(yīng)該把獨立式

26、鍵盤改接成行列式鍵盤。而且制作工藝比較粗糙。 </p><p>  通過本次單片機(jī)課程設(shè)計,讓我更加深刻的了解了AT89S52芯片在電氣工程各方面的應(yīng)用,掌握了keil軟件和proteus軟件的使用操作。</p><p>  而且通過本次單片機(jī)課程設(shè)計,讓我也意識到了自己的理論知識掌握的不夠熟練,動手實踐能力也有待加強(qiáng),所以在以后的學(xué)習(xí)中,一定要努力學(xué)會掌握書本上的知識,鍛煉自己在專業(yè)設(shè)計

27、方面的動手能力。</p><p><b>  致 謝</b></p><p>  在本次搶答器課程設(shè)計的過程中,得到了**老師的悉心指導(dǎo)和同學(xué)們的熱情幫助,在這里特別要感謝老師和同學(xué)們。雖然說我們是**老師教的第一屆學(xué)生,老師在教學(xué)經(jīng)驗和方法上和其他一些有著豐富教學(xué)經(jīng)驗的老師相比,可能欠缺一點,但是真心覺得老師的教學(xué)很不錯,特別是不像其他老師那樣管得特別死板,很有活

28、力。也很注重和同學(xué)們的溝通和交流,是我們的良師益友哦。</p><p><b>  參考文獻(xiàn)</b></p><p> ?。?]馬忠梅,籍順心,張凱,馬巖.單片機(jī)的C語言應(yīng)用程序設(shè)計[M],北京:北京航空航天大學(xué)出版社,2006</p><p>  Ma Zhongmei, Ji shunxin, Zhang Kai, MaYan. MCU C

29、 language program design [M] .beijing: Beijing aerospace university press, 2006</p><p>  [2]李廣弟,朱月秀,冷祖祁.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2007</p><p>  Li Guangdi, ZhuYuexiu, Leng Zuqi. Microcontroller [M

30、] .Beijing: Beijing university of aeronautics and press, 2007 </p><p> ?。?]李光飛.單片機(jī)課程設(shè)計實例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2004.9</p><p>  Li Guangfei. This course design example guide [M] .Beijing: Beijing u

31、niversity of aeronautics and press, 2004.9 </p><p> ?。?]邢增平.Protel 99 SE設(shè)計專家指導(dǎo)[M].北京:中國鐵道出版社,2004</p><p>  Xing Zengping. Protel 99 SE design expert guidance [M] .Beijing: China railway publish

32、ing house, 2004 </p><p>  附錄 A proteus原理圖</p><p>  附錄B PCB頂層圖</p><p>  附錄C PCB底層圖</p><p>  附錄D 元器件布局圖</p><p><b>  附錄E 元器件清單</b></p>&

33、lt;p>  附錄 F 匯編語言程序清單</p><p>  **************************************************************************</p><p><b>  項目名稱:搶答器</b></p><p><b>  設(shè) 計 者:謝湘平</b>

34、;</p><p>  時 間:2012年12月14日</p><p>  項目功能:該搶答器上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符"P.",進(jìn)入準(zhǔn)備工作狀態(tài)。主持人按下開始按鈕后,搶答開始并限定時間30S;10S內(nèi)無人搶答,蜂鳴器發(fā)出音響;主持人按下開始按鈕之前有人按下?lián)尨鹌?,搶答違規(guī),顯示器顯示違規(guī)臺號,違規(guī)指示燈亮,其它按鈕不起作用;正常搶答,顯示器顯示臺號,

35、蜂鳴器發(fā)出音響,其它搶答按鈕無效;正常搶答下,從按下?lián)尨鸢粹o開始30S內(nèi),答完按鈕沒;按下,則作超時處理,超時處理時,違規(guī)指示燈亮,數(shù)碼管顯示違規(guī)臺號,蜂鳴器發(fā)出音響;各臺數(shù)字顯示的消除,蜂鳴器音響及違規(guī)指示燈的關(guān)斷,都要通過主持人按復(fù)位按鈕。</p><p>  偽指令定義**********************************************************************

36、****</p><p>  G EQU 78H ;賦值命令 EQU</p><p>  SHI EQU 79H</p><p>  X1 EQU 7FH</p><p>  X2 EQU 7EH</p><p>  X3 EQU

37、7DH</p><p>  X4 EQU 7CH</p><p>  X5 EQU 7BH</p><p>  X6 EQU 7AH</p><p>  系統(tǒng)起始程序區(qū)****************************************************************

38、********** </p><p>  ORG 0000H </p><p>  LJMP MAIN ;跳轉(zhuǎn)主程序</p><p>  ORG 000BH ;定時器0中斷向量區(qū)</p><p>  LJMP TTC0 ;跳轉(zhuǎn)中斷服務(wù)子程序

39、</p><p>  ORG 001BH ;定時器1中斷向量區(qū)</p><p>  LJMP TTC1 ;跳轉(zhuǎn)中斷服務(wù)子程序</p><p>  監(jiān)控程序區(qū)**************************************************************************<

40、/p><p>  ORG 0030H</p><p>  MAIN:MOV SP, #60H ;設(shè)置棧底為60H</p><p>  SETB EA ;定時器和中斷初始化</p><p>  SETB ET0 ;允許定時器0中斷</p>

41、<p>  SETB ET1 ;允許定時器1中斷</p><p>  MOV TMOD, #11H ;定時器0/定時器1選擇工作方式1</p><p>  MOV TH0, #3CH ;定時器0設(shè)置計數(shù)初值</p><p>  MOV TL0, #0B0H </

42、p><p>  MOV TH1, #3CH ;定時器1設(shè)置計數(shù)初值</p><p>  MOV TL1, #0B0H </p><p>  MOV DPTR, #DISBH ;系統(tǒng)初始化后提示符"P."字符代碼表首地址</p><p>  MOV R5,

43、#08H</p><p>  MOV R0, #78H</p><p>  DISPTSF:CLR A ;上電顯示P</p><p>  MOVC A, @A+DPTR ;查表</p><p>  MOV @R0, A</p><p>  I

44、NC R0 ;R0自動加1</p><p>  INC DPTR ;DPTR自動加1</p><p>  DJNZ R5, DISPTSF ;減1條件轉(zhuǎn)移</p><p>  D:LCALL DISP ;調(diào)用顯示子程序</p>

45、<p>  LCALL KEY;調(diào)鍵掃描程序</p><p><b>  ;判斷鍵值</b></p><p>  JB 20H.7, KEY7 ;指定位狀態(tài)為1轉(zhuǎn)移</p><p>  JB 20H.0, KEY1 ;20H單元地址的第0位</p><p&

46、gt;  JB 20H.1, KEY2 ;20H單元地址的第1位</p><p>  JB 20H.2, KEY3 ;20H單元地址的第2位</p><p>  JB 20H.3, KEY4 ;20H單元地址的第3位</p><p>  JB 20H.4, KEY5 ;2

47、0H單元地址的第4位</p><p>  JB 20H.5, KEY6 ;20H單元地址的第6位</p><p>  LJMP D ;跳轉(zhuǎn)回D</p><p>  鍵功能程序區(qū)*****************************************************************

48、*********</p><p><b>  ;開始鍵</b></p><p>  KEY7: MOV A, #30;按下開始鍵,時間30秒</p><p>  MOV R2, A ;將A送入R2</p><p>  LOOP: LCALL JS

49、;計算當(dāng)前秒,并送給顯示緩沖區(qū)</p><p>  MOV X1, #0FFH </p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL Z1;顯示當(dāng)前秒</p><p>  DEC R2 ;R2自減1<

50、;/p><p>  MOV A, R2 ;將R2的值送入寄存器A</p><p>  JZ TZ;判斷30秒是否到</p><p>  CJNE R2, #20, PDCY;判斷是否過了10秒</p><p>  SJMP FM ;跳轉(zhuǎn)FM

51、</p><p>  PDCY:CJNE R2,#10,LOOP ;R2為10跳轉(zhuǎn) </p><p>  FM: MOV R7,#125</p><p>  FM1: CLR P3.1 ;過了10秒,開蜂鳴器</p><p>  DJNZ R7,FM1

52、 ;判斷R7是否為1跳轉(zhuǎn)</p><p>  SETB P3.1 ;P3.1置1</p><p>  LJMP LOOP ;返回循環(huán)</p><p>  TZ: LCALL JS ;停止在00處</p><p>  TZ1: LC

53、ALL DISP ;調(diào)用顯示子程序</p><p>  CLR P3.1 ;P3.1清零</p><p>  LCALL KEY</p><p>  JNB 20H.6,TZ1 ;</p><p>  LJMP FUWEI

54、;跳轉(zhuǎn)復(fù)位程序</p><p><b>  違 規(guī) 區(qū)</b></p><p>  **************************************************************************</p><p>  1號選手違規(guī) ;1號違規(guī),顯示1號臺和違規(guī)燈</p><

55、p>  KEY1: CLR P3.0 ;P3.0清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  MOV 7FH, #01H ;01H賦值給7FH</p><p>  LCALL DISP ;調(diào)用顯示子程序</p>

56、;<p>  LCALL KEY </p><p>  JNB 20H.6,KEY1</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  2號選手違規(guī) ;2號違規(guī),顯示2號臺和違規(guī)燈</p><p>  KEY2: CLR P3

57、.1 ;P3.1清零</p><p>  CLR P3.1 ;P3.1清零 </p><p>  MOV 7FH, #10H</p><p>  MOV 7EH, #02H</p><p>  LCALL DISP ;調(diào)用

58、顯示子程序</p><p>  LCALL KEY</p><p>  JNB 20H.6,KEY2</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  3號選手違規(guī) ;3號違規(guī),顯示3號臺和違規(guī)燈</p><p>  KEY3: CLR P

59、3.2 ;P3.2清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  MOV 7FH, #10H</p><p>  MOV 7DH, #03H</p><p>  LCALL DISP ;調(diào)用顯示子程序

60、</p><p>  LCALL KEY</p><p>  JNB 20H.6,KEY3</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  4號選手違規(guī) ;4號違規(guī),顯示4號臺和違規(guī)燈</p><p>  KEY4: CLR P3.

61、3 ;P3.3清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  MOV 7FH, #10H</p><p>  MOV 7CH, #04H</p><p>  LCALL DISP ;調(diào)用顯示子程序&

62、lt;/p><p>  LCALL KEY</p><p>  JNB 20H.6,KEY4</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  5號選手違規(guī) ;5號違規(guī),顯示5號臺和違規(guī)燈</p><p>  KEY5: CLR P3.4

63、 ;P3.4清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  MOV 7FH, #10H</p><p>  MOV 7BH, #05H</p><p>  LCALL DISP ;調(diào)用顯示子程序&l

64、t;/p><p>  LCALL KEY</p><p>  JNB 20H.6,KEY5</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  6號選手違規(guī) ;6號違規(guī),顯示6號臺和違規(guī)燈</p><p>  KEY6: CLR P3.5

65、 ;P3.5清零 </p><p>  CLR P3.1 ;P3.1清零</p><p>  MOV 7FH, #10H</p><p>  MOV 7AH, #06H</p><p>  LCALL DISP ;調(diào)用顯示子程序

66、</p><p>  LCALL KEY</p><p>  JNB 20H.6,KEY6</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p><b>  搶 答 區(qū)</b></p><p>  ********************

67、******************************************************1號搶答 ;1號搶答,倒計時30秒</p><p>  KEY11: MOV R1, #01H</p><p>  MOV A, #30 ;預(yù)置時間30秒</p><p>  MOV R2

68、, A</p><p>  LOOP10:LCALL JS ;調(diào)用JS</p><p>  MOV X1, #01H ;送入#7FH</p><p>  CLR P3.1 ;P3.1清零</p><p>  LCALL DISP

69、 ;調(diào)用顯示子程序</p><p>  LCALL Z2 ;調(diào)用Z2程序</p><p>  DJNZ R2, LOOP10 ;滿1跳轉(zhuǎn)循環(huán)</p><p>  LCALL JS ;繼續(xù)調(diào)用JS</p><p>  L

70、OOP11:LCALL DISP ;調(diào)用顯示子程序</p><p>  CLR P3.0 ;P3.0清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  LCALL KEY</p><p>  J

71、NB 20H.6,LOOP11</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  2號搶答;2號搶答,倒計時30秒</p><p>  KEY22: MOV R1, #2 </p><p>  MOV A, #30

72、 ;預(yù)置時間30秒 </p><p>  MOV R2, A</p><p>  LOOP20:LCALL JS ;調(diào)用JS</p><p>  MOV X2, #02H ;送入#7EH</p><p>  CLR P3.1

73、 ;P3.1清零</p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL Z2 ;調(diào)用延時子程序</p><p>  DJNZ R2, LOOP20 ;滿1跳轉(zhuǎn)循環(huán)</p><p>  LCALL JS

74、 ;繼續(xù)調(diào)用JS</p><p>  LOOP21:LCALL DISP ;調(diào)用顯示子程序</p><p>  CLR P3.0 ;P3.0清零</p><p>  CLR P3.1 ;P3.1清零</p><p&g

75、t;  LCALL KEY</p><p>  JNB 20H.6,LOOP21</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  3號搶答 ;3號搶答,倒計時30秒</p><p>  KEY33: MOV R1, #3</p><

76、;p>  MOV A, #30 ;預(yù)置時間30秒</p><p>  MOV R2, A</p><p>  LOOP30:LCALL JS ;調(diào)用JS</p><p>  MOV X3, #03H ;送入#7DH</p><p>  CLR

77、 P3.1 ;P3.1清零</p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL Z2 ;調(diào)用延時子程序</p><p>  DJNZ R2, LOOP30 ;滿1跳轉(zhuǎn)循環(huán)</p><p>  LCALL

78、 JS ;繼續(xù)調(diào)用JS</p><p>  LOOP31:LCALL DISP</p><p>  CLR P3.0 ;P3.0清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  LCALL KEY<

79、/p><p>  JNB 20H.6,LOOP31</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  4號搶答;4號搶答,倒計時30秒</p><p>  KEY44: MOV R1, #4</p><p>  MOV A,

80、 #30 ;預(yù)置時間30秒</p><p>  MOV R2, A</p><p>  LOOP40:LCALL JS ;調(diào)用JS</p><p>  MOV X4, #04H ;送入#7CH</p><p>  CLR P3.1

81、 ;P3.1清零</p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL Z2 ;調(diào)用延時子程序</p><p>  DJNZ R2, LOOP40 ;滿1跳轉(zhuǎn)循環(huán)</p><p>  LCALL JS

82、 ;繼續(xù)調(diào)用JS</p><p>  LOOP41:LCALL DISP</p><p>  CLR P3.0 ;P3.0清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  LCALL KEY</p&

83、gt;<p>  JNB 20H.6,LOOP41</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  5號搶答;5號搶答,倒計時30秒</p><p>  KEY55: MOV R1, #5</p><p>  MOV A,

84、#30 ;預(yù)置時間30秒</p><p>  MOV R2, A</p><p>  LOOP50:LCALL JS ;調(diào)用JS</p><p>  MOV X5, #05H ;送入#7BH</p><p>  CLR P3.1

85、 ;P3.1清零</p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL Z2 ;調(diào)用延時子程序</p><p>  DJNZ R2, LOOP50 ;滿1跳轉(zhuǎn)循環(huán)</p><p>  LCALL JS

86、 ;繼續(xù)調(diào)用JS</p><p>  LOOP51:LCALL DISP</p><p>  CLR P3.0 ;P3.0清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  LCALL KEY</p><p

87、>  JNB 20H.6,LOOP51</p><p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p>  6號搶答;6號搶答,倒計時30秒</p><p>  KEY66: MOV R1, #6</p><p>  MOV A, #30 ;預(yù)置

88、時間30秒</p><p>  MOV R2, A</p><p>  LOOP60:LCALL JS ;調(diào)用JS</p><p>  MOV X6, #06H ;送入#7AH</p><p>  CLR P3.1 ;P3.1清零</p>&

89、lt;p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL Z2 ;調(diào)用延時子程序</p><p>  DJNZ R2, LOOP60 ;滿1跳轉(zhuǎn)循環(huán)</p><p>  LCALL JS ;繼續(xù)調(diào)用JS</p><p&

90、gt;  LOOP61:LCALL DISP</p><p>  CLR P3.0 ;P3.0清零</p><p>  CLR P3.1 ;P3.1清零</p><p>  LCALL KEY </p><p>  JNB 20H.6,LOOP61</p>&l

91、t;p>  LJMP FUWEI ;跳轉(zhuǎn)復(fù)位程序</p><p><b>  答 完 區(qū)</b></p><p>  **************************************************************************</p><p>  KEY111:CJNE

92、R1, #1, TT1;1號答完,顯示臺號和當(dāng)前剩余時間</p><p>  SETB P3.1 ;開啟P3.1</p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL KEY</p><p>  JB 20H.6,FUWEI<

93、;/p><p>  LJMP KEY111</p><p>  TT1:LJMP FF</p><p>  KEY222:CJNE R1, #2, TT2;2號答完,顯示臺號和當(dāng)前剩余時間</p><p>  SETB P3.1 ;開啟P3.1</p><p>

94、;  LCALL DISP ;調(diào)用顯示子程序</p><p>  LJMP KEY222</p><p>  TT2: LJMP FF</p><p>  KEY333:CJNE R1, #3, TT3 ;3號答完,顯示臺號和當(dāng)前剩余時間</p><p>  SETB P3.

95、1 ;開啟P3.1</p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL KEY</p><p>  JB 20H.6,FUWEI</p><p>  LJMP KEY333</p><p>  TT3:

96、 LJMP FF</p><p>  KEY444:CJNE R1, #4, TT4;4號答完,顯示臺號和當(dāng)前剩余時間</p><p>  SETB P3.1 ;開啟P3.1</p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  

97、LCALL KEY</p><p>  JB 20H.6,FUWEI</p><p>  LJMP KEY444</p><p>  TT4: LJMP FF ;跳轉(zhuǎn)FF</p><p>  KEY555:CJNE R1, #5, TT5 ;5號答完,顯示臺號和當(dāng)前剩余

98、時間</p><p>  SETB P3.1 ;開啟P3.1</p><p>  LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL KEY</p><p>  JB 20H.6,FUWEI</p><p>  LJMP

99、 KEY555</p><p>  TT5: LJMP FF</p><p>  KEY666: CJNE R1, #6, TT6 ;6號答完,顯示臺號和當(dāng)前剩余時間</p><p>  SETB P3.1 ;開啟P3.1</p><p>  LCALL DISP

100、 ;調(diào)用顯示子程序</p><p>  LCALL KEY</p><p>  JB 20H.6,FUWEI</p><p>  LJMP KEY666</p><p>  TT6: LJMP FF</p><p>  FUWEI: MOV P3,#0FFH</p>&l

101、t;p>  LJMP MAIN</p><p>  *************************************************************** **********</p><p><b>  子 程 序 區(qū);</b></p><p>  ******************************

102、************************************** *****</p><p>  定時器延時子程序******************延時子程序,延時1秒,用于搶答時的倒計時延時</p><p>  Z1: PUSH PSW ;堆棧保護(hù)</p><p>  CLR RS0 ;開啟寄存器組2&l

103、t;/p><p>  SETB RS1 </p><p>  SETB TR0 ;啟動定時器0</p><p>  MOV R5, #20</p><p>  EE: LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL KEY<

104、;/p><p>  JB 20H.0, K1</p><p>  JB 20H.1, K2</p><p>  JB 20H.2, K3</p><p>  JB 20H.3, K4</p><p>  JB 20H.4, K5</p><p>  

105、JB 20H.5, K6 </p><p>  CJNE R5, #0, CC;判斷R5為0跳轉(zhuǎn)CC</p><p>  CLR TR0 ;定時器0清零</p><p>  POP PSW </p><p>  LJMP BB ;跳轉(zhuǎn)BB

106、</p><p>  CC:LJMP EE ;跳轉(zhuǎn)EE</p><p>  BB:RET ;中斷返回</p><p>  跳轉(zhuǎn)區(qū)*************************************;由于跳轉(zhuǎn)范圍有限,在此設(shè)一跳轉(zhuǎn)區(qū)</p><p>  K1: LJMP

107、 KEY11</p><p>  K2: LJMP KEY22</p><p>  K3: LJMP KEY33</p><p>  K4: LJMP KEY44</p><p>  K5: LJMP KEY55</p><p>  K6: LJMP KE

108、Y66</p><p>  K11: LJMP KEY111</p><p>  K22: LJMP KEY222</p><p>  K33: LJMP KEY333</p><p>  K44: LJMP KEY444</p><p>  K55: LJMP KEY

109、555</p><p>  K66: LJMP KEY666</p><p>  定時延時子程序2***************延時子程序,延時1秒,用于回答問題倒計時時的延時</p><p>  Z2: PUSH PSW ;堆棧保護(hù)</p><p>  CLR RS0 ;開啟寄存器組

110、2</p><p>  SETB RS1</p><p>  SETB TR1 ;開啟定時器1</p><p>  MOV R6, #20</p><p>  FF: LCALL DISP ;調(diào)用顯示子程序</p><p>  LCALL KEY</

111、p><p>  JB 20H.0, K11</p><p>  JB 20H.1, K22</p><p>  JB 20H.2, K33</p><p>  JB 20H.3, K44</p><p>  JB 20H.4, K55</p><p>

112、;  JB 20H.5, K66 </p><p>  CJNE R6, #0, FF;判斷R6為0跳轉(zhuǎn)FF</p><p>  CLR TR1 ;定時器1清零</p><p>  POP PSW ;恢復(fù)現(xiàn)場</p><p>  RET ;中斷

113、返回</p><p>  計算字符序號子程序 ;把當(dāng)前秒分成十位和個位送往顯示緩沖數(shù)組</p><p>  JS: MOV A, R2</p><p>  MOV B, #10</p><p><b>  DIV AB</b></p><p>  MOV

114、 SHI, A</p><p>  MOV G, B</p><p><b>  ;鍵盤掃瞄子程序</b></p><p>  KEY: LCALL KEYCHU; 調(diào)P1口數(shù)據(jù)處理子程序</p><p>  JZ EXIT; 沒有鍵按下,轉(zhuǎn)返回</p&g

115、t;<p>  LCALL DISP; 調(diào)顯示子程序去抖動</p><p>  LCALL DISP;</p><p>  LCALL KEYCHU; 調(diào)P1口數(shù)據(jù)處理子程序</p><p>  JZ EXIT; 沒有鍵按下,轉(zhuǎn)返回</p><p>  MOV B,

116、 20H ; 保存取反后的鍵值</p><p>  KEYSF: LCALL KEYCHU; 調(diào)P1口數(shù)據(jù)處理子程序</p><p>  JZ KEYA; 鍵釋放,轉(zhuǎn)恢復(fù)鍵值</p><p>  LCALL DISP; 調(diào)顯示子程序延時</p><p>  LJMP KEYSF;

117、 等待鍵釋放</p><p>  KEYA: MOV 20H, B ; 鍵值送20H保存 </p><p>  EXIT: RET </p><p>  KEYCHU: PUSH PSW; 保護(hù)現(xiàn)場 </p><p>  MOV P1, #0FFH; 先

118、向P1口寫1 </p><p>  MOV A, P1; 讀P1口數(shù)據(jù)</p><p>  CPL A; P1口數(shù)據(jù)取反</p><p>  ANL A, #0FFH;</p><p>  MOV 20H , A; </p&g

119、t;<p>  POP PSW; ;恢復(fù)現(xiàn)場</p><p>  RET; ;中斷返回</p><p>  ;數(shù)碼管顯示子程序DISP</p><p><b>  入口:</b></p><p>  7FH,7EH,7DH,7CH,7BH,7AH,79H,

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論