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

下載本文檔

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

文檔簡介

1、<p>  電氣與電子信息工程學(xué)院</p><p>  單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作</p><p>  設(shè)計(jì)題目:  搶答器的設(shè)計(jì) </p><p>  專業(yè)班級(jí): 電氣自動(dòng)化技術(shù)2011級(jí)(1)班 </p><p>  學(xué)  號(hào):    

2、      </p><p>  姓 名: </p><p>  指導(dǎo)教師: </p><p>  設(shè)計(jì)時(shí)間: 2013/5/13~2013/5/25 </p><p>

3、  設(shè)計(jì)地點(diǎn): </p><p>  單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作</p><p><b>  課程設(shè)計(jì)成績評定表</b></p><p>  指導(dǎo)教師簽字: </p><p>  年 月 日</p>&

4、lt;p><b>  目錄</b></p><p>  第一部分 課程設(shè)計(jì)任務(wù)書</p><p>  1、課程設(shè)計(jì)任務(wù)書····················

5、·························3</p><p>  第二部分 課程設(shè)計(jì) </p><p><b>

6、  一、方案論證</b></p><p>  1、設(shè)計(jì)任務(wù)與要求····························&#

7、183;·················5</p><p>  2、方案論證··············

8、····································

9、3;·5</p><p><b>  二、硬件設(shè)計(jì)</b></p><p>  1、復(fù)位電路······················&#

10、183;·····························6</p><p>  2、穩(wěn)壓電源電路·

11、3;····································&#

12、183;·········7</p><p>  3、外部震蕩電路·····················

13、3;··························7</p><p>  4、報(bào)警電路·····&#

14、183;····································

15、··········8</p><p>  5、選手搶答電路·····················&#

16、183;··························9</p><p>  6、時(shí)間調(diào)整電路····

17、3;····································&#

18、183;······9</p><p>  7、顯示與顯示驅(qū)動(dòng)電路························&

19、#183;················10</p><p><b>  三、設(shè)計(jì)框圖</b></p><p>  1、搶答器電路框圖······&

20、#183;····································

21、;··10</p><p>  2、系統(tǒng)主程序設(shè)計(jì)·····························

22、;················11</p><p><b>  四、設(shè)計(jì)電路圖</b></p><p>  1、總電路·······&#

23、183;····································

24、·········13</p><p><b>  五、軟件仿真</b></p><p>  1、keil程序仿真··············

25、;·································14</p><p&g

26、t;  2、protues仿真··································&

27、#183;·············14</p><p><b>  六、實(shí)物圖</b></p><p>  1、啟動(dòng)電路··········

28、;····································

29、83;····19</p><p>  2、搶答計(jì)時(shí)···························

30、························20</p><p>  3、一號(hào)選手搶答·······&

31、#183;····································

32、;···21</p><p>  4、四號(hào)選手違規(guī)搶答···························

33、3;···············22</p><p><b>  七、總結(jié)</b></p><p>  1、實(shí)驗(yàn)總結(jié)········

34、83;····································&

35、#183;·····23</p><p><b>  八、附錄</b></p><p>  1、參考文獻(xiàn)··················

36、·································23</p><p>

37、;  2、程序···································

38、83;···················24</p><p>  3、元件清單············

39、····································

40、3;··29</p><p>  第一部分 課程設(shè)計(jì)任務(wù)書</p><p>  一、課程設(shè)計(jì)題目: 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作 </p><p><b>  二、課程設(shè)計(jì)內(nèi)容</b></p><p>  1. 根據(jù)具體設(shè)計(jì)課題的技術(shù)指標(biāo)和給定條件,以單片機(jī)為核心器件,能獨(dú)立而正確地進(jìn)行

41、方案論證和電路設(shè)計(jì),要求概念清楚、方案合理、方法正確、步驟完整;</p><p>  2. 熟悉、掌握各種外圍接口電路芯片的工作原理和控制方法;</p><p>  3. 熟練使用單片機(jī)匯編語言進(jìn)行軟件設(shè)計(jì);</p><p>  4. 熟練使用Proteus、Keil軟件進(jìn)行仿真電路測試;</p><p>  5. 熟練使用Protel軟件設(shè)

42、計(jì)印刷電路板;</p><p>  6. 學(xué)會(huì)查閱有關(guān)參考資料和手冊,并能正確選擇有關(guān)元器件和參數(shù);</p><p>  7. 編寫設(shè)計(jì)說明書,參考畢業(yè)設(shè)計(jì)論文格式撰寫設(shè)計(jì)報(bào)告。</p><p>  注:詳細(xì)要求和技術(shù)指標(biāo)見附錄。</p><p><b>  三、進(jìn)度安排</b></p><p>

43、<b>  1.時(shí)間安排</b></p><p><b>  2.執(zhí)行要求</b></p><p>  單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作多個(gè)選題,每組不超過6人,為避免雷同,在設(shè)計(jì)中每個(gè)同學(xué)所采用的方案不能一樣。</p><p><b>  四、基本要求</b></p><p> ?。?/p>

44、1)根據(jù)要求確定系統(tǒng)設(shè)計(jì)方案;</p><p> ?。?)繪制系統(tǒng)框圖、系統(tǒng)原理總圖,印刷電路板圖,列出元器件明細(xì)表;</p><p> ?。?)計(jì)算電路參數(shù)和選擇元器件,畫出軟件框圖,列出程序清單;</p><p> ?。?)仿真,測試與修改調(diào)整;</p><p> ?。?)誤差分析與調(diào)整;</p><p> ?。?

45、)寫出使用說明書;</p><p> ?。?)對設(shè)計(jì)進(jìn)行全面總結(jié),寫出課程設(shè)計(jì)報(bào)告。</p><p>  五、課程設(shè)計(jì)考核辦法與成績評定</p><p>  根據(jù)過程、報(bào)告、答辯等確定設(shè)計(jì)成績,成績分優(yōu)、良、中、及格、不及格五等。</p><p>  第二部分 課程設(shè)計(jì)</p><p><b>  

46、方案論證</b></p><p><b>  1、設(shè)計(jì)任務(wù)與要求</b></p><p>  1、搶答器同時(shí)供8名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕S0 ~ S8表示。</p><p>  2、設(shè)置一個(gè)系統(tǒng)確定和搶答控制開關(guān)S,該開關(guān)由主持人控制。</p><p>  3、 搶答器具有鎖存與顯示功能。即選手

47、按動(dòng)按鈕,鎖存相應(yīng)的編號(hào),并在LED數(shù)碼管上顯示,同時(shí)揚(yáng)聲器發(fā)出報(bào)警聲響提示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。</p><p>  4、搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動(dòng)"開始"鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間0.5秒左右。</p><p>  5、參賽選

48、手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號(hào)和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。</p><p>  6、如果定時(shí)時(shí)間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00 。</p><p><b>  2.設(shè)計(jì)方案與論證</b></p><p>  方案一:系統(tǒng)各部分采用中小規(guī)模集成數(shù)字

49、電路,用機(jī)械開關(guān)按鈕作為控制開關(guān),完成搶答輸入信號(hào)的觸發(fā)。該方案的特點(diǎn)是中小規(guī)模集成電路應(yīng)用技術(shù)成熟,性能可靠,能方便地完成選手搶答的基本功能,但是由于系統(tǒng)功能要求較高,所以電路連接集成電路相對較多,而且過于復(fù)雜,并且制作過程工序比較煩瑣,使用不太方便。</p><p>  方案二:該系統(tǒng)采用51系列單片機(jī)AT89C51作為控制核心,該系統(tǒng)可以完成運(yùn)算控制、信號(hào)識(shí)別以及顯示功能的實(shí)現(xiàn)。由于用了單片機(jī),使其技術(shù)比較

50、成熟,應(yīng)用起來方便、簡單并且單片機(jī)周圍的輔助電路也比較少,便于控制和實(shí)現(xiàn)。整個(gè)系統(tǒng)具有極其靈活的可編程性,能方便地對系統(tǒng)進(jìn)行功能的擴(kuò)張和更改。MCS-51單片機(jī)特點(diǎn)如下:</p><p>  <1>可靠性好:單片機(jī)按照工業(yè)控制要求設(shè)計(jì),抵抗工業(yè)噪聲干擾優(yōu)于一般的CPU,程序指令和數(shù)據(jù)都可以寫在ROM里,許多信號(hào)通道都在同一芯片,因此可靠性高,易擴(kuò)充。</p><p>  <

51、;2>單片機(jī)有一般電腦所必須的器件,如三態(tài)雙向總線,串并行的輸入及輸出引腳,可擴(kuò)充為各種規(guī)模的微電腦系統(tǒng)。</p><p>  <3> 控制功能強(qiáng):單片機(jī)指令除了輸入輸出指令,邏輯判斷指令外還有更豐富的條件分支跳躍指令。</p><p>  方案比較及其選用依據(jù),顯然方案二比方案一簡單的多,不但從性能上優(yōu)于方案一,而且在使用上及其功能的實(shí)現(xiàn)上都較方案一簡潔,并且由于單片機(jī)

52、具有優(yōu)越的高集成電路性,使其工作速度更快、效率更高。另外80C51單片機(jī)采用12MHz的晶振,提高了信號(hào)的測量精度,并且使該系統(tǒng)可以通過軟件改進(jìn)來擴(kuò)張功能。而方案一采用了中小規(guī)模集成電路,有其復(fù)雜的電路性能,從而可能會(huì)使信號(hào)的輸入輸出產(chǎn)生延時(shí)及不必要的誤差。依此依據(jù)選擇方案二比較適合。</p><p><b>  硬件電路設(shè)計(jì)</b></p><p><b>

53、;  1、復(fù)位電路</b></p><p>  外部中斷和內(nèi)部中斷并存,單片機(jī)硬件復(fù)位端,只要持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,硬件復(fù)位后的各狀態(tài)可知寄存器以及存儲(chǔ)器的值都恢復(fù)到了初始值,因?yàn)楸驹O(shè)計(jì)中功能中有倒計(jì)時(shí)時(shí)間的記憶功能,所以不能對單片機(jī)進(jìn)行硬件復(fù)位,只能用軟件復(fù)位,軟件復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完之后,將程序通過一條跳轉(zhuǎn)指令讓它完成復(fù)位。復(fù)位電路如下圖示:</p><p

54、><b>  2、穩(wěn)壓電源電路</b></p><p>  首先利用220v用220V~12V的變壓器降壓,再用橋式整流。在電源電路中,整流電路將交流變成脈動(dòng)的直流,而在整流電路之后接入一個(gè)較大容量的電解電容(470uf),利用其充放電特性,使整流后的脈動(dòng)直流電壓變成相對比較穩(wěn)定的直流電壓。在實(shí)際中,為了防止電路各部分供電電壓因負(fù)載變化而產(chǎn)生變化,所以在電源的輸出端及負(fù)載的電源輸入端一

55、般接有數(shù)十至數(shù)百微法的電解電容.由于大容量的電解電容一般具有一定的電感,對高頻及脈沖干擾信號(hào)不能有效地濾</p><p>  除,故在其兩端并聯(lián)了一只容量為0.001--0.lpF的電容,以濾除高頻及脈沖干擾然后并接一個(gè)0.1uF的小電容然后輸入的7805的1腳、7805的2腳接地、78L05的3腳輸出,加一個(gè)0.1uF的電容到地,這就可以了。本次設(shè)計(jì)沒有用穩(wěn)壓電源而是用4枚1.2V電池充當(dāng)電源。穩(wěn)壓電源電路如下

56、圖所示:</p><p><b>  3、外部震蕩電路</b></p><p>  外部震蕩電路單片機(jī)必須在AT89C51的驅(qū)動(dòng)下才能工作,在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘震蕩電路,只需要外接一個(gè)振蕩器就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,外部震蕩電路如下圖:</p><p><b>  4、報(bào)警電路</b></p&

57、gt;<p>  報(bào)警電路用于報(bào)警,當(dāng)遇到報(bào)警信號(hào)時(shí),發(fā)出警報(bào)。8951驅(qū)動(dòng)喇叭的信號(hào)為各種頻率的脈沖。因此,最簡單的喇叭驅(qū)動(dòng)方式就是利用達(dá)林頓晶體管,或者以兩個(gè)常用的小晶體管連接成達(dá)林頓架勢。在右圖中電阻R為限流電阻,在此利用晶體管的高電流增益,以達(dá)到電路快速飽和的目的。不過,如果要由P0輸出到此電路,還需要連接一個(gè)10K的上拉電阻。</p><p>  選手在設(shè)定的時(shí)間內(nèi)搶答時(shí),實(shí)現(xiàn):優(yōu)先判斷、

58、編號(hào)鎖存、編號(hào)顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答、定時(shí)器顯示剩余時(shí)間。如果再次搶答必須由主持人再次作"確定"和"開始"狀態(tài)開關(guān)。報(bào)警電路如下圖所示:</p><p><b>  5、選手搶答電路</b></p><p>  89C51的P1口做一個(gè)為選手搶答的輸入按鍵引腳,P1.0至P1.7輪流輸出低電位

59、,給每一個(gè)選手編號(hào)1至8,當(dāng)選手按下按鈕時(shí),P1口個(gè)端口的電平變化從P1口輸入,經(jīng)單片機(jī)處理后從P0輸出由數(shù)碼管顯示搶答者編號(hào)。搶答電路如圖所示:</p><p><b>  6、時(shí)間調(diào)整電路</b></p><p>  利用89C51的P3.2-P3.5口作為搶答和回答時(shí)間的調(diào)整電路,搶答時(shí)間存放在寄存器R1中,回答時(shí)間存放在R2中。通過設(shè)置定時(shí)方式將P3.2-P3

60、.5的觸發(fā)設(shè)置為低電平觸發(fā),通過中斷來調(diào)整時(shí)間。時(shí)間調(diào)整電路如圖所示:</p><p>  7、顯示與顯示驅(qū)動(dòng)電路</p><p>  此電路包括顯示和驅(qū)動(dòng),顯示采用數(shù)碼管,驅(qū)動(dòng)用P2口, 違規(guī)者編號(hào)、搶答30秒倒計(jì)時(shí)、正常搶答者編號(hào)和回答問題時(shí)間60秒倒計(jì)時(shí),數(shù)碼管采用動(dòng)態(tài)顯示。驅(qū)動(dòng)電路P2口,查詢顯示程序利用P0口做段選碼口輸出P2低3位做位選碼輸出,當(dāng)為低電平則能驅(qū)動(dòng)數(shù)碼管使其顯示數(shù)

61、字。在+5V電壓下接10k的電阻,保證正常壓降。顯示與顯示驅(qū)動(dòng)電路如圖所示:</p><p><b>  三、設(shè)計(jì)框圖</b></p><p><b>  1、搶答器電路框圖</b></p><p>  其工作原理為:接通電源后,主持人將開關(guān)撥到“確定”狀態(tài),搶答器處于禁止?fàn)顟B(tài),編號(hào)顯示器滅燈,定時(shí)器顯示設(shè)定時(shí)間;主持人將

62、開關(guān)置,“開始”狀態(tài),宣布“開始”搶答器工作。定時(shí)器倒計(jì)時(shí),揚(yáng)聲器給出聲響提示。選手在定時(shí)時(shí)間內(nèi)搶答時(shí),搶答器完成:優(yōu)先判斷、編號(hào)鎖存、編號(hào)顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答、定時(shí)器顯示剩余時(shí)間。如果再次搶答必須由主持人再次操作"開始、確定"狀態(tài)開關(guān)。系統(tǒng)框圖如圖所示:</p><p><b>  2、系統(tǒng)主程序設(shè)計(jì)</b></p>

63、<p>  為了能夠達(dá)到搶答的公平、公正、合理,應(yīng)該在主持人發(fā)布搶答命令之前必須先設(shè)定搶答的時(shí)間,因而在編開始搶答前的程序得先編寫設(shè)定時(shí)間的程序,當(dāng)時(shí)間設(shè)好了之后,主持人發(fā)布搶答命令按下P1.7按鍵,程序開始打開定時(shí)中斷開始倒計(jì)時(shí),然后調(diào)用鍵盤掃描子程序,編寫鍵盤掃描程序。當(dāng)在掃描到有人按下了答題鍵,馬上關(guān)閉T0、調(diào)用顯示程序、封鎖鍵盤。主程序的流程圖如下圖所示:</p><p><b>  

64、四、設(shè)計(jì)電路圖</b></p><p><b>  1、總電路圖</b></p><p><b>  五、軟件仿真</b></p><p><b>  1、keil仿真</b></p><p>  2、protues仿真</p><p>&l

65、t;b>  <1>接通電路</b></p><p><b>  <2>開始搶答</b></p><p><b>  <3>一號(hào)選手搶答</b></p><p>  <4>4號(hào)選手違規(guī)搶答</p><p><b>  六、實(shí)物

66、圖</b></p><p><b>  1、啟動(dòng)電路</b></p><p><b>  2、搶答計(jì)時(shí)</b></p><p><b>  3、一號(hào)選手搶答</b></p><p>  4、四號(hào)選手違規(guī)搶答</p><p><b>

67、  七、總結(jié)</b></p><p><b>  1、實(shí)驗(yàn)小結(jié)</b></p><p>  為期兩周的單片機(jī)課程設(shè)計(jì)即將結(jié)束,我們的作品也隨著即將完成??吹阶约鹤罱K的勞動(dòng)成果,心中落下了圓滿的句號(hào)。</p><p>  單片機(jī)是一門綜合性質(zhì)比較強(qiáng)的科目,要學(xué)好單片機(jī),首先要有較強(qiáng)的邏輯思維,然后就是要掌握單片機(jī)的核心——編程。單片機(jī)

68、的很多控制作用都是通過程序來完成的,所以好的作品離不開好的程序,好的程序離不開好的程序編譯者。當(dāng)然,單片機(jī)所涉及的范圍也很廣,除了一些基本的微型計(jì)算機(jī)的知識(shí)外,還有電路電子、數(shù)電、模電等相關(guān)電路知識(shí)。因此想掌握好的單片機(jī)我們必須花足夠的時(shí)間和精力。</p><p>  在確定方案,編寫程序花了很大的功夫,平時(shí)也只編一編小的程序,這么產(chǎn)長的程序也是第一次編寫。查資料,上網(wǎng)用了各種辦法才將程序弄出來。期間利用keil

69、和protues多次調(diào)試。將程序與電路的作用相結(jié)合。在制作實(shí)物的時(shí)候也花費(fèi)了大量的時(shí)間。</p><p>  經(jīng)過這次課程設(shè)計(jì)讓我對單片機(jī)有了更深的了解,同時(shí)也明白了沒有一件事是簡單的,但是沒有一件事會(huì)很難,只要努力鉆研任何問題都不是問題。</p><p><b>  八、附錄</b></p><p><b>  1、參考文獻(xiàn)<

70、/b></p><p>  [1]陳志旺 李亮等. 51單片機(jī)快速上手 機(jī)械工業(yè)出版社</p><p>  [2]朱清慧等. proteus教程 清華大學(xué)出版社、</p><p>  [3]李全利. 單片機(jī)原理及接口技術(shù) 高等教育出版社</p><p>  [4] 電氣與電子信息工程學(xué)院.單片機(jī)實(shí)驗(yàn)指導(dǎo)書</p><

71、;p>  [5]韓志軍等.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)入門向?qū)c設(shè)計(jì)實(shí)例.北京:機(jī)械工業(yè)出版社</p><p>  [6]皮大能等. 單片機(jī)課程設(shè)計(jì)指導(dǎo)書. 北京:北京理工大學(xué)出版社</p><p><b>  2、程序</b></p><p>  OK EQU 20H;搶答開始標(biāo)志位</p><p>  RING EQU

72、22H;響鈴標(biāo)志位</p><p><b>  ORG 0000H</b></p><p><b>  AJMP MAIN</b></p><p><b>  ORG 0003H</b></p><p>  AJMP INT0SUB</p><p>&l

73、t;b>  ORG 000BH</b></p><p>  AJMP T0INT</p><p><b>  ORG 0013H</b></p><p>  AJMP INT1SUB</p><p><b>  ORG 001BH</b></p><p> 

74、 AJMP T1INT</p><p><b>  ORG 0040H</b></p><p>  MAIN: MOV R1,#30;初設(shè)搶答時(shí)間為30s</p><p>  MOV R2,#60;初設(shè)答題時(shí)間為60s</p><p>  MOV TMOD,#11H;設(shè)置未定時(shí)器/模式1</p><p

75、>  MOV TH0,#0F0H</p><p>  MOV TL0,#0FFH;越高發(fā)聲頻率越高,越尖</p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H;50ms為一次溢出中斷</p><p><b>  SETB EA</b></p><p>

76、<b>  SETB ET0</b></p><p><b>  SETB ET1</b></p><p><b>  SETB EX0</b></p><p>  SETB EX1;允許四個(gè)中斷,T0/T1/INT0/INT1</p><p><b>  CLR O

77、K</b></p><p><b>  CLR RING</b></p><p><b>  SETB TR1</b></p><p>  SETB TR0;一開始就運(yùn)行定時(shí)器,以開始顯示FFF.如果想重新計(jì)數(shù),重置TH1/TL1就可以了</p><p>  ;=====查詢程序====

78、=</p><p>  START: MOV R5,#0BH</p><p>  MOV R4,#0BH</p><p>  MOV R3,#0BH</p><p>  ACALL DISPLAY;未開始搶答時(shí)候顯示FFF</p><p>  JB P3.0,NEXT;ddddddd</p><p&

79、gt;  ACALL DELAY</p><p>  JB P3.0,NEXT;去抖動(dòng),如果"開始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢</p><p>  ACALL BARK;按鍵發(fā)聲</p><p><b>  MOV A,R1</b></p><p>  MOV R6,A;送R1->R

80、6,因?yàn)镽1中保存了搶答時(shí)間</p><p>  SETB OK;搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答</p><p>  MOV R7,#01H ;讀搶答鍵數(shù)據(jù)信號(hào)標(biāo)志,這里表示只讀一次有用信號(hào)</p><p>  MOV R3,#0AH;搶答只顯示計(jì)時(shí),滅號(hào)數(shù)</p><p>  AJMP COUNT;進(jìn)入倒計(jì)時(shí)程序,&qu

81、ot;查詢有效搶答的程序"在COUNT里面</p><p>  NEXT: JNB P1.0,FALSE1</p><p>  JNB P1.1,FALSE2</p><p>  JNB P1.2,FALSE3</p><p>  JNB P1.3,FALSE4</p><p>  JNB P1.4,FALS

82、E5</p><p>  JNB P1.5,FALSE6</p><p>  JNB P1.6,FALSE7</p><p>  JNB P1.7,FALSE8</p><p>  AJMP START</p><p>  ;=====非法搶答處理程序=====</p><p>  FALSE1

83、: MOV R3,#01H</p><p>  AJMP ERROR</p><p>  FALSE2: MOV R3,#02H</p><p>  AJMP ERROR</p><p>  FALSE3: MOV R3,#03H</p><p>  AJMP ERROR</p><p>  F

84、ALSE4: MOV R3,#04H</p><p>  AJMP ERROR</p><p>  FALSE5: MOV R3,#05H</p><p>  AJMP ERROR</p><p>  FALSE6: MOV R3,#06H</p><p>  AJMP ERROR</p><p&g

85、t;  FALSE7: MOV R3,#07H</p><p>  AJMP ERROR</p><p>  FALSE8: MOV R3,#08H</p><p>  AJMP ERROR</p><p>  ;=====INT0(搶答時(shí)間R1調(diào)整程序)=====</p><p>  INT0SUB:MOV A,R1

86、</p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  MOV R5,A</b></p><p><b>  MOV R4,B</b></p><p>  MOV R3,#0AH</

87、p><p>  ACALL DISPLAY;先在兩個(gè)時(shí)間LED上顯示R1</p><p>  JNB P3.4,INC0;P3.4為+1s鍵,如按下跳到INCO</p><p>  JNB P3.5,DEC0;P3.5為-1s鍵,如按下跳到DECO</p><p>  JNB P3.1,BACK0;P3.1為確定鍵,如按下跳到BACKO</

88、p><p>  AJMP INT0SUB</p><p>  INC0: MOV A,R1</p><p>  CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。</p><p>  MOV R1,#00H</p><p>  ACALL DELAY1</p>&l

89、t;p>  AJMP INT0SUB</p><p>  ADD0: INC R1</p><p>  ACALL DELAY1</p><p>  AJMP INT0SUB</p><p>  DEC0: MOV A,R1</p><p>  JZ SETR1;如果R1為0, R1就置99,</p>

90、<p><b>  DEC R1</b></p><p>  ACALL DELAY1</p><p>  AJMP INT0SUB</p><p>  SETR1: MOV R1,#63H</p><p>  ACALL DELAY1</p><p>  AJMP INT0SUB&

91、lt;/p><p>  BACK0: RETI</p><p>  ;=====INT1(回答時(shí)間R2調(diào)整程序)=====</p><p>  INT1SUB:MOV A,R2</p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p

92、><b>  MOV R5,A</b></p><p><b>  MOV R4,B</b></p><p>  MOV R3,#0AH</p><p>  ACALL DISPLAY</p><p>  JNB P3.4,INC1</p><p>  JNB P3.5

93、,DEC1</p><p>  JNB P3.1,BACK1</p><p>  AJMP INT1SUB</p><p>  INC1: MOV A,R2</p><p>  CJNE A,#63H,ADD1</p><p>  MOV R2,#00H</p><p>  ACALL DELA

94、Y1</p><p>  AJMP INT1SUB</p><p>  ADD1: INC R2</p><p>  ACALL DELAY1</p><p>  AJMP INT1SUB</p><p>  DEC1: MOV A,R2</p><p><b>  JZ SETR2&

95、lt;/b></p><p><b>  DEC R2</b></p><p>  ACALL DELAY1</p><p>  AJMP INT1SUB</p><p>  SETR2: MOV R2,#63H</p><p>  ACALL DELAY1</p><p

96、>  AJMP INT1SUB</p><p>  BACK1: RETI</p><p>  ;=====倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到改程序)=====</p><p>  REPEAT:MOV A,R2 ;使用錦囊時(shí)重新計(jì)時(shí)</p><p><b>  MOV R6,A</b></p>

97、<p><b>  CLR RING</b></p><p>  COUNT: MOV R0,#00H;重置定時(shí)器中斷次數(shù)</p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H;重置定時(shí)器</p><p>  RECOUNT:MOV A,R6;R6保存了倒計(jì)時(shí)的時(shí)間,之

98、前先將搶答時(shí)間或回答時(shí)間給R6</p><p>  MOV B,#0AH</p><p>  DIV AB;除十分出個(gè)位/十位</p><p>  MOV 30H,A;十位存于(30H)</p><p>  MOV 31H,B;個(gè)位存于(31H)</p><p>  MOV R5,30H;取十位</p>

99、<p>  MOV R4,31H;取個(gè)位</p><p><b>  MOV A,R6</b></p><p>  SUBB A,#07H</p><p>  JNC LARGER;大于5s跳到LARGER,小于等于5s會(huì)提醒</p><p><b>  MOV A,R0</b></

100、p><p>  CJNE A,#0AH,FULL;1s中0.5s向下運(yùn)行</p><p><b>  CLR RING</b></p><p>  AJMP CHECK</p><p>  FULL: CJNE A,#14H,CHECK;下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)</p><p>

101、<b>  SETB RING</b></p><p><b>  MOV A,R6</b></p><p>  JZ QUIT;計(jì)時(shí)完畢</p><p>  MOV R0,#00H</p><p>  DEC R6;一秒標(biāo)志減1</p><p>  AJMP CHECK&l

102、t;/p><p>  LARGER: MOV A,R0</p><p>  CJNE A,#14H,CHECK;如果1s向下運(yùn)行,否者跳到查"停/顯示"</p><p>  DEC R6;計(jì)時(shí)一秒R6自動(dòng)減1</p><p>  MOV R0,#00H</p><p>  CHECK: JNB P3.1

103、,QUIT;如按下停止鍵退出</p><p>  JNB OK,CHECKK ;只在回答倒計(jì)時(shí)才有效</p><p>  AJMP NEXTT</p><p>  CHECKK:JNB P3.0,REPEAT ;判斷是否使用錦囊</p><p>  NEXTT: ACALL DISPLAY</p><p>  JB O

104、K,ACCOUT;如果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用)</p><p>  AJMP RECOUNT</p><p><b>  ACCOUT:</b></p><p><b>  MOV A,36H</b></p><p>  JNB ACC.0,TRUE1

105、</p><p>  JNB ACC.1,TRUE2</p><p>  JNB ACC.2,TRUE3</p><p>  JNB ACC.3,TRUE4</p><p>  JNB ACC.4,TRUE5</p><p>  JNB ACC.5,TRUE6</p><p>  JNB ACC

106、.6,TZ1</p><p>  JNB ACC.7,TZ2</p><p>  AJMP RECOUNT</p><p>  TZ1:JMP TRUE7</p><p>  TZ2:JMP TRUE8</p><p>  QUIT: CLR OK;如果按下了"停止鍵"執(zhí)行的程序</p>

107、<p><b>  CLR RING</b></p><p>  AJMP START</p><p>  ;=====正常搶答處理程序=====</p><p>  TRUE1: ACALL BARK</p><p><b>  MOV A,R2</b></p><

108、;p>  MOV R6,A;搶答時(shí)間R2送R6</p><p>  MOV R3,#01H</p><p>  CLR OK;因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就鎖了搶答</p><p>  AJMP COUNT</p><p>  TRUE2:ACALL BARK</p><p><b>  MOV A

109、,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#02H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE3:ACALL BARK<

110、;/p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#03H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p&g

111、t;<p>  TRUE4:ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#04H</p><p><b>  CLR OK</b></p&

112、gt;<p>  AJMP COUNT</p><p>  TRUE5:ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#05H</p><p>

113、<b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE6: ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>

114、;  MOV R3,#06H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE7:ACALL BARK</p><p><b>  MOV A,R2</b></p><p><b>  MOV

115、R6,A</b></p><p>  MOV R3,#07H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE8:ACALL BARK</p><p><b>  MOV A,R2</b>&l

116、t;/p><p><b>  MOV R6,A</b></p><p>  MOV R3,#08H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  ;=====犯規(guī)搶答程序=====</p><p

117、>  ERROR: MOV R0,#00H</p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H</p><p>  MOV 34H,R3;犯規(guī)號(hào)數(shù)暫存與(34H)</p><p>  HERE: MOV A,R0</p><p>  CJNE A,#06H,FLASH;0

118、.3s向下運(yùn)行->滅并停響</p><p><b>  CLR RING</b></p><p>  MOV R3,#0AH</p><p>  MOV R4,#0AH</p><p>  MOV R5,#0AH;三燈全滅</p><p>  AJMP CHECK1</p>&

119、lt;p>  FLASH: CJNE A,#0CH,CHECK1;下面是0.8s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)</p><p><b>  SETB RING</b></p><p>  MOV R0,#00H</p><p>  MOV R3,34H;取回號(hào)數(shù)</p><p>  MOV R5,#0BH&l

120、t;/p><p>  MOV R4,#0BH;顯示FF和號(hào)數(shù)</p><p>  AJMP CHECK1</p><p>  CHECK1: JNB P3.1,QUIT1</p><p>  ACALL DISPLAY</p><p><b>  AJMP HERE</b></p>&l

121、t;p>  QUIT1: CLR RING</p><p><b>  CLR OK</b></p><p>  AJMP START</p><p>  ;=====顯示程序=====</p><p>  DISPLAY:MOV DPTR,#DAT1;查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出

122、,</p><p><b>  MOV A,R3</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0feH</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY2</p>

123、<p>  MOV DPTR,#DAT2</p><p><b>  MOV A,R5</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0fdH</p><p><b>  MOV P0,A</b></p><p>  

124、ACALL DELAY2</p><p><b>  MOV A,R4</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0fbH</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY2&

125、lt;/p><p><b>  RET</b></p><p>  DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H</p><p>  ;"滅","1","2","3","4",&quo

126、t;5","6","7","8","9","滅","F"</p><p>  DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H</p><p>  ;第一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅

127、</p><p>  ;====加減時(shí)間延時(shí)(起到不會(huì)按下就加N個(gè)數(shù))======</p><p>  DELAY1: MOV 35H,#08H</p><p>  LOOP0: ACALL DISPLAY</p><p>  DJNZ 35H,LOOP0</p><p><b>  RET</b>

128、;</p><p>  ;=====延時(shí)4236個(gè)機(jī)器周期(去抖動(dòng)用到)=====</p><p>  DELAY: MOV 32H,#12H</p><p>  LOOP: MOV 33H,#0AFH</p><p>  LOOP1: DJNZ 33H,LOOP1</p><p>  DJNZ 32H,LOOP<

129、;/p><p><b>  RET</b></p><p>  ;=====延時(shí)4236個(gè)機(jī)器周期(顯示用到)=====</p><p>  DELAY2: MOV 32H,#43H</p><p>  LOOP3: MOV 33H,#1EH</p><p>  MOV A,R7 ;每隔60~70個(gè)機(jī)

130、器周期讀一次P1口,全為1時(shí)為無效數(shù)據(jù),繼續(xù)讀,有一個(gè)不為1時(shí),轉(zhuǎn)到正常搶答處理</p><p>  JNZ AAAA1 ;沒讀到有效數(shù)據(jù)時(shí)繼續(xù)轉(zhuǎn)到AAAA1</p><p>  LOOP2: DJNZ 33H,LOOP2</p><p>  DJNZ 32H,LOOP3</p><p><b>  RET</b><

131、;/p><p>  ;=====讀搶答按鍵數(shù)據(jù)口程序=====</p><p>  ;由于在讀搶答數(shù)據(jù)口的時(shí)候,單片機(jī)首先進(jìn)入倒計(jì)時(shí)程序,再調(diào)用顯示程序,最后才檢測按鍵口</p><p>  ;然而在檢測按鍵口時(shí)動(dòng)態(tài)掃描要調(diào)用三次(4ms)延時(shí)程序.這樣就會(huì)導(dǎo)致讀數(shù)據(jù)口出現(xiàn)滯后,造成1號(hào)優(yōu)先最高.8號(hào)最低.</p><p>  ;故采用在延時(shí)子程

132、序中加了讀數(shù)據(jù)口程序.保證了靈敏度和可靠性</p><p>  AAAA1: MOV A,P1</p><p>  CJNE A,#0FFH,AA1 ;當(dāng)不全為1時(shí)的數(shù)據(jù)為有效數(shù)據(jù)</p><p>  AA0: MOV 36H,A ;將有效數(shù)據(jù)送到36H暫存</p><p>  AJMP LOOP2</p><p> 

133、 AA1: DEC R7</p><p><b>  AJMP AA0</b></p><p>  ;=====發(fā)聲程序=====</p><p>  BARK: SETB RING</p><p>  ACALL DELAY1</p><p>  ACALL DELAY1</p>

134、<p>  CLR RING;按鍵發(fā)聲</p><p><b>  RET</b></p><p>  ;=====TO溢出中斷(響鈴程序)=====</p><p>  T0INT: MOV TH0,#0ECH</p><p>  MOV TL0,#0FFH</p><p>  JNB

135、 RING,OUT;</p><p>  CPL P3.6;RING標(biāo)志位為1時(shí)候P3.6口不短取反使喇叭發(fā)出一定頻率的聲音</p><p><b>  OUT: RETI</b></p><p>  ;=====T1溢出中斷(計(jì)時(shí)程序)=====</p><p>  T1INT: MOV TH1,#3CH</p&

136、gt;<p>  MOV TL1,#0B0H</p><p><b>  INC R0</b></p><p><b>  RETI</b></p><p><b>  END</b></p><p><b>  3、元件清單</b><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論