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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  單片機(jī)課程設(shè)計(jì)說明書 </p><p>  題目:搶答器系統(tǒng)設(shè)計(jì)</p><p>  課程名稱: 《單片機(jī)技術(shù)》 </p><p>  學(xué) 院: 電子信息與電氣工程學(xué)院 </p><p><b>  2014年6月</b></p><p>

2、;  課 程 設(shè) 計(jì) 任 務(wù) 書</p><p><b>  搶答器系統(tǒng)設(shè)計(jì)</b></p><p>  摘 要:利用單片機(jī)系統(tǒng)來設(shè)計(jì)搶答器,使以上問題得以解決,即使兩組的搶答時(shí)間相差甚小,也可分辨出哪組優(yōu)先答題。此次設(shè)計(jì)使用AT89S52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的搶答器,與數(shù)碼管、報(bào)警器等構(gòu)成八路搶答器,利用了單片機(jī)的延時(shí)電路、按鍵復(fù)位電路、時(shí)鐘電路、定

3、時(shí)/中斷電路等。設(shè)計(jì)的搶答器具有實(shí)時(shí)顯示搶答選手的號(hào)碼和搶答時(shí)間的特點(diǎn),而復(fù)位電路,則使其能再開始新的一輪答題和比賽,與此同時(shí)還利用匯編語言編程,使其能夠?qū)崿F(xiàn)一些基本的功能。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī)、搶答器、數(shù)碼管、報(bào)警器</p><p><b>  目 錄</b></p><p><b>  1. 設(shè)計(jì)背景1</

4、b></p><p><b>  2. 設(shè)計(jì)方案2</b></p><p>  2.1 總體設(shè)計(jì)2</p><p><b>  3 方案設(shè)計(jì)2</b></p><p>  3.1 電源電路設(shè)計(jì)2</p><p>  3.2 時(shí)鐘電路設(shè)計(jì)5</p>

5、<p>  3.3 復(fù)位電路設(shè)計(jì)6</p><p>  3.4 搶答電路設(shè)計(jì)6</p><p>  3.5 程序設(shè)計(jì)8</p><p>  3.6 仿真與調(diào)試8</p><p>  3.7 PCB制作過程10</p><p>  4. 結(jié)果與結(jié)論11</p><p>&

6、lt;b>  4.1結(jié)果11</b></p><p><b>  4.2結(jié)論12</b></p><p>  5. 收獲與致謝12</p><p>  6. 參考文獻(xiàn)13</p><p><b>  7. 附件14</b></p><p><

7、b>  1. 設(shè)計(jì)背景</b></p><p>  本課題利用AT89S52單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間和選手號(hào)碼。用開關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)生提示。系統(tǒng)達(dá)到要求:在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時(shí)間和回答問題的時(shí)間可是在1-30

8、s設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時(shí)間和回答問題時(shí)間倒記時(shí)顯示,時(shí)間完后系統(tǒng)自動(dòng)復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法</p><p><b>  2.設(shè)計(jì)方案</b></p><p><b>  2.1 總體設(shè)計(jì)</b></p><p>  本設(shè)計(jì)是采用單片機(jī)設(shè)計(jì)的比賽用搶答器系

9、統(tǒng)。它具有電路簡(jiǎn)單、功能齊全、制作成本低、性價(jià)比高等特點(diǎn),是一種經(jīng)濟(jì)、實(shí)用的比賽用搶答器。硬件部分主要由單片機(jī)、LED 顯示器、發(fā)光二極管、聲音報(bào)警器、主持人操作鍵盤和其它基本外圍電子電路組成。采用Proteus模擬硬件電路、KEIL軟件進(jìn)行編程相結(jié)合以達(dá)到理論模擬的效果。根據(jù)課程設(shè)計(jì)項(xiàng)目要求該系統(tǒng)所需要的器件在Proteus中基本都可以找出來。KEIL編出的程序也能與Proteus結(jié)合。因此該系統(tǒng)可以實(shí)現(xiàn)。以AT89S52為核心,連接

10、LED數(shù)碼管,晶振電路,開關(guān)電路組成。</p><p><b>  圖1 系統(tǒng)框圖</b></p><p><b>  3方案設(shè)計(jì)</b></p><p><b>  3.1電源電路設(shè)計(jì)</b></p><p>  本設(shè)計(jì)是要設(shè)計(jì)一個(gè)+5V直流電源供電,這里沒有直接的+5V電

11、壓,而直流電源的輸入電壓為220V的電網(wǎng)電壓,在正常情況下,這一電網(wǎng)電壓是遠(yuǎn)遠(yuǎn)的高于本設(shè)計(jì)所需的電壓值,因而需要先使用變壓器,將220V的電網(wǎng)電壓降低后,再進(jìn)行下一階段的處理。</p><p>  變壓器是這一電源電路起始部分,將220V的電網(wǎng)電壓轉(zhuǎn)變?yōu)楸驹O(shè)計(jì)所需的較低的電壓,就可以進(jìn)行下一階段的整流部分。一般規(guī)定v1為變壓器的高壓側(cè),v2為變壓器的低壓側(cè),v1側(cè)的線圈要比v2側(cè)的線圈要多,這樣就可以將220V的

12、電網(wǎng)電壓降低</p><p><b>  圖2 變壓器</b></p><p>  單相橋式整流電路,就是將交流電網(wǎng)電壓轉(zhuǎn)換為所需電壓,整流電路由四只整流二極管組成。下面簡(jiǎn)單介紹一下單相橋式整流電路的工作原理,為簡(jiǎn)便起見,這里所選的二極管都是理想的二極管,二極管正向?qū)〞r(shí)電阻為零,反向?qū)〞r(shí)電阻無窮大。在v2的正半周,電流從變壓器副邊線圈的上端流出,經(jīng)過二極管D1,再

13、由二極管D4流回變壓器,所以D1、D4正向?qū)?,D2、D3反向截止,產(chǎn)生一個(gè)極性為上正下負(fù)的輸出電壓。在v2的負(fù)半周,其極性正好相反,電流從變壓器副邊線圈的下端流出,經(jīng)過二極管D2,再由二極管D3流回變壓器,所以D1、D4反向截止,D2、D3正向?qū)?。橋式整流電路利用了二極管的單向?qū)щ娦?,利用四個(gè)二極管,是它們交替導(dǎo)通,從而負(fù)載上始終可以得到一個(gè)單方向的脈動(dòng)電壓。單相橋式整流電路如圖3所示:</p><p>  

14、圖 3 單相橋式整流電路</p><p>  本設(shè)計(jì)的濾波電路采用的是電解電容和二極管并聯(lián)方式濾波,簡(jiǎn)單的講就是電容兩端電壓升高時(shí),電容充電,電壓降低時(shí),電容放電,讓電壓降低時(shí)的坡度變得平緩,從而起到濾波的作用。這里選用電解電容是因?yàn)殡娊怆娙輪挝惑w積的電容量非常大,能比其它種類的電容大幾十到數(shù)百倍,并且其額定的容量可以做到非常大,價(jià)格比其它種類相比具有相當(dāng)大的優(yōu)勢(shì),因?yàn)槠浣M成材料都是普通的工業(yè)材料,比如鋁等等。電

15、解電容并聯(lián)二極管,有效防止了電壓反相。濾波電路如圖4所示:</p><p><b>  圖 4 濾波電路</b></p><p>  三端穩(wěn)壓器MC78M05CT將輸出電壓穩(wěn)定在+5V上,三端穩(wěn)壓器如圖5所示:</p><p>  圖 5 三端穩(wěn)壓器:</p><p><b>  總電源電路圖如下</b&

16、gt;</p><p>  圖6直流穩(wěn)壓電源電路</p><p>  3.2 時(shí)鐘電路設(shè)計(jì)</p><p>  AT89S52單片機(jī)內(nèi)部由一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為51單片機(jī)的引腳XTAL1,輸出為XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器</p><p>  電路

17、中的電容C1和C2的典型值通常取為30pF左右,對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但是電容的大小會(huì)影響石英晶體振蕩器頻率的高低,振蕩器的穩(wěn)定性和起振的快速性。晶振的振蕩器的頻率范圍通常是在1.2 MHz-12 MHz之間,晶振的頻率越高,則系統(tǒng)的時(shí)鐘頻率也就越高,單片機(jī)的運(yùn)行速度也就越快,晶振和電容應(yīng)該盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容</p><p>  AT89S52單片機(jī)常選擇

18、振蕩器的頻率為是12MHz的石英晶體。隨著集成電路制造工藝的發(fā)展,單片機(jī)的時(shí)鐘頻率也在逐步提高,現(xiàn)在某些高速單片機(jī)芯片的時(shí)鐘頻率以達(dá)40MHz。AT89S52內(nèi)部時(shí)鐘電路的內(nèi)部時(shí)鐘方式的振蕩器</p><p><b>  圖7 時(shí)鐘電路圖</b></p><p>  3.3 復(fù)位電路設(shè)計(jì)</p><p>  復(fù)位方法一般有上電自動(dòng)復(fù)位和外部按

19、鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電路工作以后, 在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。例如使用晶振頻率為12MHz時(shí),則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)不小于2us。本設(shè)計(jì)采用的是外部手動(dòng)按鍵復(fù)位電路。</p><p><b>  圖8 復(fù)位電路圖</b></p><p>  3.4 搶答電路設(shè)計(jì)</p><p>  P3.3接口的開關(guān)按下

20、意味著答題結(jié)束,P3.4接口開關(guān)表示給搶答相應(yīng)組加上一分,P3.5接口開關(guān)按下表示相應(yīng)組減去一分。</p><p>  裁判示意開始搶答、有組搶答成功、違規(guī)搶答、最后5s倒計(jì)時(shí)都會(huì)觸發(fā)蜂鳴器發(fā)出警報(bào)。P3.6為蜂鳴器控制口。 </p><p>  圖9 加減分電路及蜂鳴器報(bào)警電路</p><p>  P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1-P

21、1.6是6組搶答的輸入口,按下按鈕搶答。 </p><p>  圖10 搶答電路及裁判控制開始停止電路</p><p><b>  3.5 程序設(shè)計(jì)</b></p><p><b>  Y</b></p><p><b>  N</b></p><p&g

22、t;<b>  N</b></p><p><b>  Y</b></p><p>  圖11 程序流程圖</p><p>  3.6 仿真與調(diào)試</p><p>  在Proteus軟件中搭建仿真電路,并在軟件Keil中用匯編語言編程并將編譯的無誤。</p><p> 

23、 程序轉(zhuǎn)換成十六進(jìn)制的hex文件導(dǎo)入到Proteus中。經(jīng)過反復(fù)調(diào)整和修改仿真。</p><p>  圖12 搶答開始 </p><p>  允許搶答后,開始倒計(jì)時(shí)從15s直到0s。在最后5s蜂鳴器會(huì)發(fā)出警報(bào)。</p><p>  圖13 搶答倒計(jì)時(shí)</p><p>  第一組搶答,答題時(shí)間有30s,在最后5s蜂鳴器會(huì)發(fā)出警報(bào)。<

24、;/p><p>  圖14 第一組答題及答題倒計(jì)時(shí)</p><p>  若還沒有允許搶答就有人按下?lián)尨鹌?,那么蜂鳴器會(huì)發(fā)出警報(bào),并顯示是哪一組違規(guī)搶答。</p><p>  如圖為第一組回答正確加一分</p><p>  圖15 第一組答題正確加一分</p><p>  如圖為第一組回答錯(cuò)誤減一分。</p>

25、<p>  圖16 第一組答題錯(cuò)誤減一分</p><p>  3.7 PCB制作過程</p><p>  1、打印電路板。將繪制好的電路板用轉(zhuǎn)印紙打印出來,注意滑的一面面向自己,一般打印兩張電路板,即一張紙上打印兩張電路板。在其中選擇打印效果最好的制作線路板。</p><p>  2、裁剪覆銅板,用感光板制作電路板全程圖解,也就是兩面都覆有銅膜的線路板

26、,將覆銅板裁成電路板的大小,不要過大,以節(jié)約材料。</p><p>  3、預(yù)處理覆銅板。用細(xì)砂紙把覆銅板表面的氧化層打磨掉,以保證在轉(zhuǎn)印電路板時(shí),熱轉(zhuǎn)印紙上的碳粉能牢固的印在銅板上,打磨好的標(biāo)準(zhǔn)是板面光亮,沒有明顯污漬。</p><p>  4、轉(zhuǎn)印電路板。將打印好的電路板裁剪成合適大小,把印有電路板的一面貼在覆銅板上,對(duì)齊好后把覆銅板放入熱轉(zhuǎn)印機(jī),放入時(shí)一定要保證轉(zhuǎn)印紙沒有錯(cuò)位。一般來

27、說經(jīng)過2-3次轉(zhuǎn)印,電路板就能很牢固的轉(zhuǎn)印在覆銅板上。熱轉(zhuǎn)印機(jī)事先就已經(jīng)預(yù)熱,溫度設(shè)定在160-200攝氏度,由于溫度很高,操作時(shí)注意安全!</p><p>  5、腐蝕線路板。先檢查一下電路板是否轉(zhuǎn)印完整,若有少數(shù)沒有轉(zhuǎn)印好的地方可以用黑色油性筆修補(bǔ)。然后就可以腐蝕了,等線路板上暴露的銅膜完全被腐蝕掉時(shí),將線路板從腐蝕液中取出清洗干凈,這樣一塊線路板就腐蝕好了。腐蝕液的成分為濃鹽酸、濃雙氧水、水,比例為1:2:

28、3,在配制腐蝕液時(shí),先放水,再加濃鹽酸、濃雙氧水,若操作時(shí)濃鹽酸、濃雙氧水或腐蝕液不小心濺到皮膚或衣物上要及時(shí)用清水清洗,由于要使用強(qiáng)腐蝕性溶液,操作時(shí)一定注意安全!</p><p>  6、線路板鉆孔。線路板上是要插入電子元件的,所以就要對(duì)線路板鉆孔了。依據(jù)電子元件管腳的粗細(xì)選擇不同的鉆針,在使用鉆機(jī)鉆孔時(shí),線路板一定要按穩(wěn),鉆機(jī)速度不能開的過慢,請(qǐng)仔細(xì)看操作人員操作。</p><p>

29、  7、線路板預(yù)處理。鉆孔完后,用細(xì)砂紙把覆在線路板上的墨粉打磨掉,用清水把線路板清洗干凈。水干后,用松香水涂在有線路的一面,為加快松香凝固,我們用熱風(fēng)機(jī)加熱線路板,只需2-3分鐘松香就能凝固。</p><p>  8、焊接電子元件。焊接完板上的電子元件。</p><p><b>  4. 結(jié)果與結(jié)論</b></p><p><b>

30、  4.1結(jié)果</b></p><p>  通過對(duì)電路的仿真,可以看出基于AT89S52單片機(jī)控制的搶答器在PROTEUS軟件上可以很好的實(shí)現(xiàn)搶答報(bào)警、搶答成功顯示、搶答倒計(jì)時(shí)等一系列功能。</p><p>  當(dāng)仿真開始運(yùn)行時(shí),各個(gè)模塊處于初始狀態(tài)。此時(shí)顯示器并無狀態(tài)顯示,但此時(shí)搶答鍵和蜂鳴器都處于開啟狀態(tài),若此時(shí)有選手按下?lián)尨疰I,則蜂鳴器會(huì)發(fā)出報(bào)警聲,并且在數(shù)碼管上顯示犯規(guī)

31、的選手的編號(hào)。主持人重新按下開始鍵,此時(shí)表示搶答正式開始,并且數(shù)碼管顯示30秒倒計(jì)時(shí),同時(shí)蜂鳴器發(fā)出聲音提醒選手搶答開始了。選手搶答成功,同時(shí)也進(jìn)入到倒計(jì)時(shí)30秒答題時(shí)間。并且做成pcb.</p><p><b>  4.2結(jié)論</b></p><p>  本課程設(shè)計(jì)的六路多功能搶答器采用了通用的電子元器件,利用AT89S52單片機(jī)及外圍接口實(shí)現(xiàn)搶答系統(tǒng),利用單片機(jī)的

32、定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來。整體性好,人性化強(qiáng)、可靠性高,實(shí)現(xiàn)了數(shù)字顯示控制的智能化,是各個(gè)需要顯示數(shù)字或廣告宣傳的有力工具。</p><p>  通過查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動(dòng)手能力。在以往的傳統(tǒng)的學(xué)習(xí)模式下,我們可能會(huì)記住很多的書本知識(shí),但是通過畢業(yè)論文,我們學(xué)會(huì)了如何將學(xué)到的知識(shí)轉(zhuǎn)化為自己的東西,并且由原先的被動(dòng)的接受知識(shí)轉(zhuǎn)換為主動(dòng)的尋求知識(shí),這可以說是學(xué)習(xí)方法

33、上的一個(gè)很大的突破。</p><p>  整個(gè)設(shè)計(jì)通過了軟件和硬件上的設(shè)計(jì)。在這次設(shè)計(jì)中遇到了很多實(shí)際性的問題,在實(shí)際設(shè)計(jì)中才發(fā)現(xiàn),書本上理論性的東西與在實(shí)際運(yùn)用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯(cuò)誤思維。我在此次課程設(shè)計(jì)中,主要負(fù)責(zé)電路板的印制與元器件的焊接,看似簡(jiǎn)單的事情,卻給我?guī)砹撕芏嗦闊N以诤附訒r(shí)由于焊點(diǎn)掌握的大小不夠好,焊點(diǎn)過大,造成電路短路,焊點(diǎn)太小,以至

34、于虛焊。這次切實(shí)的操作,讓我學(xué)到很多。</p><p><b>  5. 收獲與致謝</b></p><p>  課程設(shè)計(jì)是對(duì)我知識(shí)運(yùn)用能力的一次全面的考核,也是對(duì)我進(jìn)行科學(xué)研究基本功的訓(xùn)練,培養(yǎng)我綜合運(yùn)用所學(xué)知識(shí)獨(dú)立地分析問題和解決問題的能力,為以后撰寫專業(yè)學(xué)術(shù)論文和工作打下良好的基礎(chǔ)。這除了自身的努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓勵(lì)是分不開的。<

35、/p><p>  *老師指導(dǎo)我的課程設(shè)計(jì),他的這種無私奉獻(xiàn)的敬業(yè)精神令人欽佩,在此我向他表示我誠摯的謝意。此外,我還要感謝在課程設(shè)計(jì)中給予我?guī)椭母魑煌瑢W(xué)。由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方。如果沒有*老師的督促指導(dǎo)以及周圍同學(xué)的幫助,想要完成這個(gè)設(shè)計(jì)是非常不易的。正是由于你們的幫助和支持,我才能克服一個(gè)個(gè)的困難和疑惑,直至課程設(shè)計(jì)的順利完成。正是由于他們,我才能在各方面取得顯著的進(jìn)步,在此向他們表示我由衷的

36、謝意。</p><p><b>  6. 參考文獻(xiàn)</b></p><p>  [1] 張毅剛. 單片機(jī)原理及應(yīng)用[M]. 北京:高等教育出版社,2009.</p><p>  [2] 杜尚豐. CAN總線測(cè)控技術(shù)及其應(yīng)用[M]. 北京:電子工業(yè)出版社,2007.</p><p>  [3] 杜樹春. 單片機(jī)C語言和匯編

37、語言混合編程詳解[M]. 北京:北京航空航天大學(xué)出版社,2006.</p><p>  [4] 胡漢才. 單片機(jī)原理及其接口技術(shù)[M]. 北京:清華大學(xué)出版社,1996.</p><p>  [5] 施隆照. 數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制器CH51及其應(yīng)用[J]. 國外電子元器件,2004.</p><p>  [6] 謝嘉奎. 電子線路[M]. 北京:高等教育出版

38、社2004. .</p><p>  [7] 臧春華. 電子線路設(shè)計(jì)與應(yīng)用[M]. 北京:高等教育出版社,2005.</p><p>  [8] 王守中,聶元銘. 51單片機(jī)開發(fā)與典型事例[M]. 北京:人民郵電出版社,2009.</p><p>  [9] 陳粵初. 單片機(jī)應(yīng)用系統(tǒng)技術(shù)與實(shí)踐[M]. 北京:北京航空航天大學(xué)出版社,1991.</p>

39、<p>  [10] 何立民. 單片機(jī)應(yīng)用技術(shù)選編[M]. 北京:北京航空航天大學(xué)出版社,1993.</p><p><b>  7. 附件</b></p><p>  單片機(jī)技術(shù)課程設(shè)計(jì)元器件清單</p><p><b>  附圖</b></p><p><b>  附圖一 原

40、理電路圖</b></p><p><b>  附圖二 PCB</b></p><p><b>  附圖三 熱轉(zhuǎn)印圖</b></p><p>  附圖四 腐蝕的PCB</p><p>  附圖五 PCB焊接面</p><p><b>  附圖六 實(shí)物圖&l

41、t;/b></p><p><b>  源程序清單</b></p><p>  OK EQU 20H</p><p>  RING EQU 22H</p><p><b>  ORG 0000H</b></p><p><b>  AJMP MAIN</

42、b></p><p><b>  ORG 000BH</b></p><p>  AJMP T0INT</p><p><b>  ORG 0013H</b></p><p>  AJMP INT1SUB</p><p><b>  ORG 001BH<

43、/b></p><p>  AJMP T1INT</p><p><b>  ORG 0040H</b></p><p>  MAIN: MOV R1,#0FH</p><p>  MOV R2,#01EH</p><p>  MOV TMOD,#11H;設(shè)置未定時(shí)器/模式1</p

44、><p>  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>

45、<p><b>  SETB ET0</b></p><p><b>  SETB ET1</b></p><p>  SETB EX1;允許3個(gè)中斷,T0/T1/INT0/INT1</p><p><b>  CLR OK</b></p><p><b&g

46、t;  CLR RING</b></p><p><b>  SETB TR1</b></p><p>  SETB TR0;開始就運(yùn)行定時(shí)器,初始顯示888如果想重新計(jì)數(shù),重置TH1/TL1 </p><p>  ;=====查詢程序=====</p><p>  START: MOV R5,#00H

47、</p><p>  MOV R4,#00H</p><p>  MOV R3,#00H</p><p>  ACALL DISPLAY;未開始搶答時(shí)候顯示888</p><p>  JB P1.0,NEXT</p><p>  ACALL DELAY</p><p>  JB P1.0,NEX

48、T;去抖動(dòng),如果"開始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢</p><p>  ACALL BARK;按鍵發(fā)聲</p><p><b>  MOV A,R1</b></p><p>  MOV R6,A;送R1->R6,因?yàn)镽1中保存了搶答時(shí)間</p><p>  SETB OK;搶答標(biāo)志位

49、,用于COUNT只程序中判斷是否查詢搶答</p><p>  MOV R3,0AH;搶答只顯示計(jì)時(shí),滅號(hào)數(shù)</p><p>  AJMP COUNT;進(jìn)入倒計(jì)時(shí)程序,"查詢有效搶答的程序"在COUNT里面</p><p>  NEXT:JNB P1.1,FALSE1</p><p>  JNB P1.2,FALSE2<

50、;/p><p>  JNB P1.3,FALSE3</p><p>  JNB P1.4,FALSE4</p><p>  JNB P1.5,FALSE5</p><p>  JNB P1.6,FALSE6</p><p>  AJMP START</p><p>  ;=====非法搶答處理程序=

51、====</p><p>  FALSE1: ACALL BARK;按鍵發(fā)聲</p><p>  MOV R3,#01H</p><p>  AJMP ERROR</p><p>  FALSE2: ACALL BARK</p><p>  MOV R3,#02H</p><p>  AJMP

52、ERROR</p><p>  FALSE3: ACALL BARK</p><p>  MOV R3,#03H</p><p>  AJMP ERROR</p><p>  FALSE4: ACALL BARK</p><p>  MOV R3,#04H</p><p>  AJMP ERRO

53、R</p><p>  FALSE5: ACALL BARK</p><p>  MOV R3,#05H</p><p>  AJMP ERROR</p><p>  FALSE6: ACALL BARK</p><p>  MOV R3,#06H</p><p>  AJMP ERROR<

54、;/p><p>  ;=====INT1(答題對(duì)錯(cuò)加減分?jǐn)?shù)程序)=====</p><p>  INT1SUB:MOV R4,#0AH</p><p>  MOV R5,#0AH</p><p>  JNB P3.4,INC1</p><p>  JNB P3.5,DEC1</p><p>  JN

55、B P1.7,BACK1</p><p>  ACALL DISPLAY</p><p>  AJMP INT1SUB</p><p><b>  MOV A,R3</b></p><p>  SUBB A,#01H</p><p><b>  JZ XXY1</b><

56、/p><p>  SUBB A,#02H</p><p><b>  JZ XXY2</b></p><p>  SUBB A,#03H</p><p><b>  JZ XXY3</b></p><p>  SUBB A,#04H</p><p><

57、;b>  JZ XXY4</b></p><p>  SUBB A,#05H</p><p><b>  JZ XXY5</b></p><p>  SUBB A,#06H</p><p><b>  JZ XXY6</b></p><p>  XXY1:M

58、OV R7,41H</p><p>  XXY2:MOV R7,42H</p><p>  XXY3:MOV R7,43H</p><p>  XXY4:MOV R7,44H</p><p>  XXY5:MOV R7,45H</p><p>  XXY6:MOV R7,46H</p><p>

59、  INC1:INC R7</p><p>  CJNE R3,#01H,L1</p><p>  MOV 51H,R7</p><p>  L1:CJNE R3,#02H,L2</p><p>  MOV 52H,R7</p><p>  L2:CJNE R3,#03H,L3</p><p>

60、  MOV 53H,R7</p><p>  L3:CJNE R3,#04H,L4</p><p>  MOV 54H,R7</p><p>  L4:CJNE R3,#05H,L5</p><p>  MOV 55H,R7</p><p>  L5:CJNE R3,#06H,LL</p><p&g

61、t;  MOV 56H,R7</p><p>  LL:ACALL DELAY1</p><p>  AJMP INT1SUB</p><p>  DEC1:DEC R7</p><p>  ACALL DELAY1</p><p>  AJMP INT1SUB</p><p>  BACK1:

62、RETI</p><p>  ;=====倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到改程序)=====</p><p>  COUNT: MOV R0,#00H;重置定時(shí)器中斷次數(shù)</p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H;重置定時(shí)器</p><p>  RECOUNT

63、:MOV A,R6;R6保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(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

64、 R5,30H;取十位</p><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>  

65、MOV A,R0</b></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;下面時(shí)1s的情況,報(bào)警,顯示號(hào)數(shù)并清R0,重

66、新計(jì)數(shù)</p><p><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>

67、<p>  AJMP CHECK</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>&l

68、t;p>  CHECK: JNB P1.7,QUIT;如按下停止鍵退出</p><p>  ACALL DISPLAY</p><p>  JB OK,ACCOUT;如果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用)</p><p>  AJMP RECOUNT</p><p>  ACCOUT:JNB P1.

69、1,TRUE1</p><p>  JNB P1.2,TRUE2</p><p>  JNB P1.3,TRUE3</p><p>  JNB P1.4,TRUE4</p><p>  JNB P1.5,TRUE5</p><p>  JNB P1.6,TRUE6</p><p>  AJMP

70、RECOUNT</p><p>  QUIT:CLR OK;如果按下了"停止鍵"執(zhí)行的程序</p><p><b>  CLR RING</b></p><p>  AJMP START</p><p>  ;=====正常搶答處理程序=====</p><p>  TRUE1

71、: ACALL BARK;按鍵發(fā)聲</p><p><b>  MOV A,R2</b></p><p>  MOV R6,A;搶答時(shí)間R2送R6</p><p>  MOV R3,#01H</p><p>  MOV R7,41H</p><p>  CLR OK;因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所

72、以就鎖了搶答</p><p>  AJMP COUNT</p><p>  TRUE2:ACALL BARK;</p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#02H</p&

73、gt;<p>  MOV R7,42H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE3:ACALL BARK;</p><p><b>  MOV A,R2</b></p><p>&l

74、t;b>  MOV R6,A</b></p><p>  MOV R3,#03H</p><p>  MOV R7,43H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  TRUE4:ACALL BARK;</

75、p><p><b>  MOV A,R2</b></p><p><b>  MOV R6,A</b></p><p>  MOV R3,#04H</p><p>  MOV R7,44H</p><p><b>  CLR OK</b></p>

76、<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>  

77、MOV R7,45H</p><p><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,

78、A</b></p><p>  MOV R3,#06H</p><p>  MOV R7,46H</p><p><b>  CLR OK</b></p><p>  AJMP COUNT</p><p>  ;=====犯規(guī)搶答程序=====</p><p>

79、  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,#0AH,FLASH;0.5s向下

80、運(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><p&

81、gt;  FLASH:CJNE A,#14H,CHECK1;下面系1s的情況,響并顯示號(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</p>

82、<p>  MOV R4,#0BH;顯示FF和號(hào)數(shù)</p><p>  AJMP CHECK1</p><p>  CHECK1:JNB P1.7,QUIT1</p><p>  ACALL DISPLAY</p><p><b>  AJMP HERE</b></p><p>  

83、QUIT1: CLR RING</p><p><b>  CLR OK</b></p><p>  AJMP START</p><p>  ;=====顯示程序=====</p><p>  DISPLAY:MOV 41H,51H</p><p>  MOV 42H,52H</p>

84、<p>  MOV 43H,53H</p><p>  MOV 44H,54H</p><p>  MOV 45H,55H</p><p>  MOV 46H,56H</p><p>  MOV DPTR,#DAT1;查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出,</p><p><

85、;b>  MOV A,r5</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#01H</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY</p><p>  MOV DPTR,#DAT2&l

86、t;/p><p><b>  MOV A,r4</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#02H</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY</p><p

87、><b>  MOV A,r3</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#04H</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY</p><p><b>  

88、MOV A,R7</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#08H</p><p><b>  MOV P0,A</b></p><p>  ACALL DELAY</p><p><b>  RET</b>&l

89、t;/p><p>  DAT1:DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H</p><p>  ;"滅","1","2","3","4","5","6","7","8&

90、quot;,"9","滅","F"</p><p>  DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H</p><p>  ;第一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅</p><p>  ;====加減時(shí)間延時(shí)(起到不會(huì)按下就加N個(gè)數(shù)

91、)======</p><p>  DELAY1: MOV 35H,#08H</p><p>  LOOP0: ACALL DISPLAY</p><p>  DJNZ 35H,LOOP0</p><p><b>  RET</b></p><p>  DELAY: MOV 32H,#12H&

92、lt;/p><p>  LOOP: MOV 33H,#0AFH</p><p>  LOOP1: DJNZ 33H,LOOP1</p><p>  DJNZ 32H,LOOP</p><p><b>  RET</b></p><p>  BARK: SETB RING</p>

93、<p>  ACALL DELAY1</p><p>  ACALL DELAY1</p><p>  CLR RING;按鍵發(fā)聲</p><p><b>  RET</b></p><p>  T0INT: MOV TH0,#0ECH</p><p>  MOV TL0,#0FFH

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論