八路搶答器說(shuō)明書(shū)_第1頁(yè)
八路搶答器說(shuō)明書(shū)_第2頁(yè)
八路搶答器說(shuō)明書(shū)_第3頁(yè)
八路搶答器說(shuō)明書(shū)_第4頁(yè)
八路搶答器說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 煙臺(tái)大學(xué)51單片機(jī) 課程設(shè)計(jì)說(shuō)明書(shū)課題:八路搶答器學(xué)生姓名:王志林學(xué)號(hào):201056501312院系:機(jī)電汽車工程學(xué)院指導(dǎo)老師:姜風(fēng)國(guó)同組成員:張鳳禮、張?bào)w棟、程事業(yè)、范光科2013 年 06 月 05 日目錄1 設(shè)計(jì)任務(wù).2 2 系統(tǒng)總體方案.23 硬件設(shè)計(jì).3 3.1 控制系統(tǒng)所需硬件.3 3.2 硬件原理介紹.44 軟件設(shè)計(jì).64.1 軟件總體設(shè)計(jì).64.2 程序流程圖.75 軟件仿真.95.1 Keil軟件.95.2在Proteus軟件.96小結(jié).10附1:源程序代碼.11附2:參考文獻(xiàn) .18 1 .設(shè)計(jì)任務(wù) 本設(shè)計(jì)要求學(xué)生結(jié)合現(xiàn)有的實(shí)際條件,以51單片機(jī)為控制核心,設(shè)計(jì)一個(gè)8路智

2、能搶答器。要求實(shí)現(xiàn)以下功能: 1) 有一主持人和8個(gè)參賽隊(duì)員 2) 當(dāng)主持人按下?lián)尨鸢存I,參賽隊(duì)員在10秒內(nèi)可以搶答,并且搶答器開(kāi)始倒計(jì)時(shí)。剩余5秒時(shí),如果仍無(wú)人搶答,則系統(tǒng)每1s報(bào)警一次。如超出10秒則不能搶答;如搶答成功,則顯示搶答隊(duì)號(hào)。 3) 搶答成功則需在60秒內(nèi)回答完成,如超出時(shí)間則搶答無(wú)效,顯示無(wú)效指示。如果60秒完成回答,則搶答成功,顯示有效。剩余5秒時(shí),如果仍無(wú)人回答,則系統(tǒng)每1s報(bào)警一次。4) 當(dāng)主持人按下復(fù)位鍵時(shí),系統(tǒng)回到初始狀態(tài)。5) 倒計(jì)時(shí)期間,如果主持人想終止倒計(jì)時(shí),可以按下“停止”按鍵,系統(tǒng)會(huì)自動(dòng)進(jìn)入準(zhǔn)備狀態(tài)。主要硬件設(shè)備:AT89C51單片機(jī),8輸入3態(tài)緩沖器/線

3、驅(qū)動(dòng)器74LS244,六反相驅(qū)動(dòng)器7404,共陽(yáng)極LED數(shù)碼管等,12MHZ晶振,74LS04反相器,手動(dòng)開(kāi)關(guān),按鍵若干,報(bào)警喇叭。2.系統(tǒng)總體方案2.1整體方案設(shè)計(jì) 該智能搶答器以AT89C51單片機(jī)為控制核心,控制精度較高,操作誤差主要來(lái)自晶振自身所造成的誤差。其他外圍電路包括復(fù)位電路,時(shí)鐘電路,報(bào)警電路,LED顯示電路,搶答按鍵等。該智能搶答器具有計(jì)時(shí)記憶功能,一次時(shí)間設(shè)置完,復(fù)位后不需重新進(jìn)行時(shí)間設(shè)定;通過(guò)按鍵掃描輸出按鍵信息,并通過(guò)單片機(jī)將它轉(zhuǎn)化為在七段數(shù)碼管上顯示的字符型。單片機(jī)的P1口為8組搶答按鍵的輸入口,P0.0P0.6為數(shù)碼管的段選口,P2.0P2,2為數(shù)碼管的片選口。P3

4、.6為報(bào)警電路的控制口。智能搶答器的整體方案設(shè)計(jì)圖如下所示。 智能搶答器的整體方案設(shè)計(jì)圖3.硬件設(shè)計(jì)3.1 硬件總體設(shè)計(jì) 1)控制系統(tǒng)主要由單片機(jī)應(yīng)用電路、存儲(chǔ)器接口電路、顯示接口電路組成。其中單片機(jī)AT89C51是系統(tǒng)工作的核心,它主要負(fù)責(zé)控制各個(gè)部分協(xié)調(diào)工作.2)硬件組成及所需元件:該系統(tǒng)的核心器件是AT89C51。在其外圍接上復(fù)位電路、上拉電阻、數(shù)碼管、按鈕及揚(yáng)聲器。元件為:晶振X1、電容C1、C2、C3、 電阻RP1。P3.0和P3.1由裁判控制,分別是開(kāi)始鍵和搶答停止。P1.0-P1.7是8組搶答的輸入口,P2.0-P2.3口為數(shù)碼管的段選口,位選口用的是P0.0-P0.6口輸出 硬

5、件接線圖如圖所示: 7SEG-MPX4-CC LED顯示內(nèi)部結(jié)構(gòu)如上圖所示:3.2 原理介紹 智力競(jìng)賽搶答器用單片機(jī)來(lái)設(shè)計(jì)制作完成,由于其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成, 采用單片機(jī)AT89C51,它是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲(chǔ)器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。該智力競(jìng)賽搶答器的準(zhǔn)確度很高,其誤差主要由晶振自身的誤差所造成。AT89C51單片機(jī)由微處理器,存儲(chǔ)器,I/O口以及特殊功能寄存器SFR等部分構(gòu)成。其存儲(chǔ)器在物理上設(shè)計(jì)成程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器兩個(gè)獨(dú)立的空間,片內(nèi)程序存儲(chǔ)器的容量為4KB,片內(nèi)數(shù)據(jù)存儲(chǔ)器為128個(gè)字節(jié)。89C51單片機(jī)有4個(gè)

6、8位的并行I/O口:P0口,P1口,P2口和P3口。各個(gè)接口均由接口鎖存器,輸出驅(qū)動(dòng)器,和輸入緩沖器組成。P1口是唯一的單功能口,僅能用作通用的數(shù)據(jù)輸入/輸出口。P3口是雙功能口除了具有數(shù)據(jù)輸入/輸出功能外,每條接口還具有不同的第二功能,如P3.0是串行輸入口線,P3.1口是串行輸出口線。在需要外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí),P0可作為分時(shí)復(fù)用的低8位地址/數(shù)據(jù)總線,P2口可作為高8位的地址總線。P3口也可作為AT89C51的一些特殊功能口,同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。AT89C51的管腳圖:外部振蕩電路單片機(jī)必須在AT89C51的驅(qū)動(dòng)下才能工作.在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路

7、,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元。外部振蕩電路見(jiàn)圖一 復(fù)位電路采用圖二所示: 圖一圖二外部還接有蜂鳴器用來(lái)發(fā)出報(bào)警音,其圖形如下:采用七段碼7SEG-MPX4-CC 顯示,它是共陽(yáng)極的由低電平點(diǎn)亮。圖形如下:采用八個(gè)BUTTON按鈕作為搶答的選擇按鍵如圖所示:4.軟件設(shè)計(jì)4.1軟件總體設(shè)計(jì) 智力競(jìng)賽搶答器要求有計(jì)時(shí)記憶功能,一次時(shí)間設(shè)置完, 復(fù)位后不需重新進(jìn)行時(shí)間設(shè)定,通過(guò)鍵盤掃描輸出按鍵信息,再通過(guò)單片機(jī)將它轉(zhuǎn)換成能在七段數(shù)碼管上顯示字型碼. 當(dāng)搶答完畢時(shí),會(huì)在數(shù)碼管上顯示搶答者數(shù)字號(hào)碼提示以表示搶答成功.同時(shí)顯示其分?jǐn)?shù),分?jǐn)?shù)的加減可由裁判手動(dòng)進(jìn)行. 采用

8、獨(dú)立式鍵盤,可實(shí)現(xiàn)8路搶答. 在顯示時(shí)使用的是七段數(shù)碼管顯示在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法. 并通過(guò)查表法 將其在數(shù)碼管上顯示出來(lái),其中P1口為字型碼輸入端,P2口低3位為字選段輸入端.通過(guò)查表將字型碼送給7段數(shù)碼管顯示的數(shù)字。軟件去抖動(dòng),如果開(kāi)始鍵按下就向下執(zhí)行,否者跳到開(kāi)始。采用倒計(jì)時(shí)程序,使其具有倒計(jì)時(shí)功能。回答倒計(jì)時(shí)60秒。搶答時(shí)間10秒。采用發(fā)聲警報(bào),起到報(bào)警作用。 1、主持人按搶答開(kāi)始鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)10s搶答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù)并立刻進(jìn)入回答倒計(jì)時(shí)(預(yù)設(shè)60s搶答時(shí)間),不進(jìn)行搶答查詢,所以只有第一個(gè)按搶答的選手有

9、效。倒數(shù)時(shí)間到小于5s會(huì)每秒響一下提示音。 2、如倒計(jì)時(shí)期間,主持人想停止倒計(jì)時(shí)可以隨時(shí)按停止按鍵,系統(tǒng)會(huì)自動(dòng)進(jìn)入準(zhǔn)備狀態(tài),等待主持人按搶答開(kāi)始進(jìn)入下次搶答計(jì)時(shí)。 3、如果主持人未按搶答開(kāi)始鍵,而有人按了搶答按鍵,犯規(guī)搶答,LED上不斷閃爍FF和犯規(guī)號(hào)數(shù)并響個(gè)不停,直到按下停止 鍵為止。4、P3.0為開(kāi)始搶答,P3.1為停止,p1.0-p1.7為八路搶答輸入 數(shù)碼管段選P0口,位選P2口低3位,蜂鳴器輸出為P3.6口。4.2流程圖4.2.1主程序流程圖智能搶答器在正常工作的情況下,首先對(duì)控制系統(tǒng)進(jìn)行初始化,然后進(jìn)行鍵盤掃描,判斷主持人是否按下了“開(kāi)始搶答”按鍵按下則執(zhí)行倒計(jì)時(shí)子程序和顯示子程序

10、。其中倒計(jì)時(shí)程序包括搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)。主程序流程圖如下圖所示:開(kāi)始初始化子程序P3.0是否按下非法搶答處理子程序倒計(jì)時(shí)子程序顯示子程序正常搶答處理子程序結(jié)束4.2.2初始化子程序流程圖任何控制系統(tǒng)開(kāi)始正常工作前都必須要進(jìn)行初始化。初始化子程序流程圖如上圖所示4.2.3非法搶答查詢子程序流程圖開(kāi)始在主持人未按下“搶答開(kāi)始鍵”P1.0按下時(shí),為防止參賽選手發(fā)生搶答, Y專門設(shè)計(jì)了非法搶答查詢子程序。當(dāng)有選手發(fā)生搶答時(shí),系統(tǒng)會(huì)將選手的號(hào)碼保存,P1.1按下N下來(lái),并送到LED顯示裝置 Y進(jìn)行顯示,同時(shí)調(diào)用犯規(guī)搶答子程序。非法搶答查詢子程序流程圖如圖P1.2按下:NYP1.3按下NYNP1.4按

11、下YYP1.5按下NYYP1.6按下NYYNP1.7按下YYNP1.8按下YY將犯規(guī)號(hào)送到R3犯規(guī)搶答程序返回5. 軟件仿真5.1:Keil軟件 用該軟件進(jìn)行程序的檢查調(diào)試,調(diào)試完成后在仿真器里設(shè)置生成*.HEX文件。5.2:Protus軟件 系統(tǒng)仿真還用到了Protus軟件,可通過(guò)仿真可以完全顯示出所設(shè)計(jì)系統(tǒng)的功能,對(duì)于程序的調(diào)試等有很大的幫助.系統(tǒng)仿真時(shí)首先要在使用Keil編譯器,把所寫的程序進(jìn)行編譯,同時(shí)在仿真器里設(shè)置生成HEX文件,編譯無(wú)錯(cuò)誤時(shí)進(jìn)行Protus仿真。首先要新建一個(gè)文檔是DNS型的找出需要的器件,可以使用搜索功能。接著把各個(gè)器件放到合適的位置都要放到藍(lán)色框內(nèi)。然后根據(jù)自己

12、的設(shè)計(jì)要求連線。等所有的元件都連接完成后可以把,偉福編譯生成的無(wú)錯(cuò)誤文件加載到AT89C51中,方法是,右鍵點(diǎn)中器件然后在用左鍵點(diǎn)擊,出來(lái)一個(gè)對(duì)話框在program file后選擇要添加文件,文件要求必須是HEX文件。然后可以點(diǎn)擊運(yùn)行觀察現(xiàn)象,看與自己設(shè)置的符合否,如果不相符在查找錯(cuò)誤進(jìn)行修改. 作好的Protus圖:八號(hào)搶答到時(shí)時(shí)的顯示圖:倒計(jì)時(shí)到30秒時(shí)的顯示圖:倒計(jì)時(shí)還有5秒時(shí)的報(bào)警顯示圖:蜂鳴器會(huì)開(kāi)始發(fā)出警報(bào)6.小結(jié) 這次實(shí)習(xí)讓我受益匪淺,無(wú)論從知識(shí)上還是其他的各個(gè)方面。上課的時(shí)候的學(xué)習(xí)從來(lái)沒(méi)有見(jiàn)過(guò)真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見(jiàn)過(guò)甚至使用了單片機(jī)及其系統(tǒng),能

13、夠理論聯(lián)系實(shí)際的學(xué)習(xí),開(kāi)闊了眼界,提高了單片機(jī)知識(shí)的理解和水平。在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力量,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來(lái)的地方,我們就會(huì)在QQ群里討論或者是同學(xué)之間相互幫助。團(tuán)結(jié)就是力量,無(wú)論在現(xiàn)在的學(xué)習(xí)中還是在以后的工作中,團(tuán)結(jié)都是至關(guān)重要的,有了團(tuán)結(jié)會(huì)有更多的理念、更多的思維、更多的情感。單片機(jī)是很重要的一門課程,老師和一些工作的朋友都曾說(shuō)過(guò),如果學(xué)好一門單片機(jī),就憑這個(gè)技術(shù)這門手藝找一個(gè)好工作也不成問(wèn)題。盡管我們?cè)谡n堂學(xué)到的內(nèi)容很有限,但在以后的學(xué)習(xí)中單片機(jī)還需要好好的深入研究和學(xué)習(xí),學(xué)好了單片機(jī)也就多了一項(xiàng)生存的本錢。最后感謝老師對(duì)我們的精心指導(dǎo)和幫助,感謝同學(xué)們對(duì)我的

14、幫助附1:源程序代碼OK EQU20H ;搶答開(kāi)始標(biāo)志位RING EQU 22H ;響鈴標(biāo)志位 ORG 0000H;主程序入口地址 AJMP MAIN;跳轉(zhuǎn)到主程序 ORG 000BH;定時(shí)器0服務(wù)程序入口地址 AJMPT0INT;跳轉(zhuǎn)到定時(shí)器0服務(wù)子程序 ORG 001BH;定時(shí)器1服務(wù)程序入口地址 AJMP T1INT;跳轉(zhuǎn)到定時(shí)器1服務(wù)子程序 ORG 0040H;主程序起始地址MAIN: MOV R1,#0AH;初設(shè)搶答時(shí)間為10s MOV R2,#3BH;初設(shè)答題時(shí)間為60s MOV TMOD,#11H;設(shè)置T0,T1定時(shí)器/計(jì)數(shù)器均工作在1模式 MOV TH0,#0F0H;設(shè)置T0計(jì)

15、數(shù)初值 MOV TL0,#0FFH;越高發(fā)聲頻率越高,越尖 MOV TH1,#3CH;設(shè)置T1計(jì)數(shù)初值 MOV TL1,#0B0H;50ms為一次溢出中斷 SETB EA ;開(kāi)總中斷 SETB ET0 ;開(kāi)T0中斷 SETB ET1 ;開(kāi)T1中斷 SETB EX0 ;開(kāi)外部中斷0 SETB EX1 ;開(kāi)外部中斷1 CLR OK ;清搶答開(kāi)始標(biāo)志位 CLR RING;清響鈴標(biāo)志位 SETB TR1 ;T1開(kāi)始計(jì)數(shù) SETB TR0 ;一開(kāi)始就運(yùn)行定時(shí)器,以開(kāi)始顯示FFF.如果想重新計(jì)數(shù),重置TH1/TL1就可以了;=查詢程序=START: MOV R5,#0BH;R3,R4,R5賦值在DISPL

16、AY中顯示F FFF MOV R4,#0BH MOVR3,#0BH ACALL DISPLAY;未開(kāi)始搶答時(shí)候顯示FFF JB P3.0,NEXT;去抖動(dòng),如果開(kāi)始鍵按下就向下執(zhí)行,否者跳到非法搶答查詢 ACALL DELAY JB P3.0,NEXT;判斷開(kāi)始搶答鍵是否按下,否則執(zhí)行進(jìn)入非法程序查詢 ACALL BARK;按鍵發(fā)聲 MOV A,R1 MOV R6,A;送R1-R6,因?yàn)镽1中保存了搶答時(shí)間 SETB OK ;搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答 MOV R7,#01H;讀搶答鍵數(shù)據(jù)信號(hào)標(biāo)志,這里表示只讀一次有用信號(hào) MOV R3,#0AH;搶答只顯示計(jì)時(shí),滅號(hào)數(shù)

17、 AJMP COUNT;進(jìn)入倒計(jì)時(shí)程序,其中包括查詢有效搶答的查詢;=-非法搶答查詢程序=NEXT: JNB P1.0,FALSE1; 判斷1號(hào)選手是否按鍵 JNB P1.1,FALSE2; 判斷2號(hào)選手是否按鍵 JNB P1.2,FALSE3; 判斷3號(hào)選手是否按鍵 JNB P1.3,FALSE4; 判斷4號(hào)選手是否按鍵 JNB P1.4,FALSE5; 判斷5號(hào)選手是否按鍵 JNB P1.5,FALSE6; 判斷6號(hào)選手是否按鍵 JNB P1.6,FALSE7; 判斷7號(hào)選手是否按鍵 JNB P1.7,FALSE8; 判斷8號(hào)選手是否按鍵 AJMP START;跳轉(zhuǎn)到查詢程序FALSE1:

18、MOV R3,#01H;R3中保存1號(hào)數(shù) AJMP ERROR;跳轉(zhuǎn)到ERROR犯規(guī)搶答子程序FALSE2: MOV R3,#02H;R3中保存2號(hào)數(shù) AJMPERROR;RROR犯規(guī)搶答子程序FALSE3: MOV R3,#03H;R3中保存3號(hào)數(shù) AJMP ERROR;RROR犯規(guī)搶答子程序FALSE4:MOV R3,#04H;R3中保存4號(hào)數(shù) AJMP ERROR;RROR犯規(guī)搶答子程序FALSE5:MOV R3,#05H;R3中保存5號(hào)數(shù) AJMP ERROR;RROR犯規(guī)搶答子程序FALSE6:MOV R3,#06H;R3中保存6號(hào)數(shù) AJMP ERROR;RROR犯規(guī)搶答子程序FA

19、LSE7:MOV R3,#07H;R3中保存7號(hào)數(shù) AJMP ERROR;RROR犯規(guī)搶答子程序FALSE8:MOV R3,#08H;R3中保存8號(hào)數(shù) AJMP ERROR;RROR犯規(guī)搶答子程序;=犯規(guī)搶答程序=ERROR:MOV R0,#00H MOV TH1,#3CH;重置T1初值 MOV TL1,#0B0H MOV 34H,R3;犯規(guī)號(hào)數(shù)暫存與34H;=指示燈閃爍處理程序=HERE: MOV A,R0 CJNE A,#06H,FLASH ;0.3s向下運(yùn)行-滅并停響 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH ;三個(gè)燈全滅 AJMP CHE

20、CK1FLASH:CJNE A,#0CH,CHECK1;下面是0.8s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)數(shù) SETB RING;響鈴 MOV R0,#00H MOV R3,#34H;取回號(hào)數(shù) MOV R4,#0BH MOV R5,#0BH;顯示FF和號(hào)數(shù) AJMP CHECK1CHECK1:JNB P3.1,QUIT1;判斷復(fù)位鍵是否按下 MOV R3,34H;號(hào)數(shù)給R3 ACALL DISPLAY;顯示號(hào)數(shù) AJMP HEREQUIT1: CLR RING ;停止響鈴 CLR OK ;禁止搶答 AJMP START;跳轉(zhuǎn)到查詢程序;=顯示子程序=DISPLAY:MOV DPTR,#DAT1

21、;查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出, MOV A,R3 MOVC A,A+DPTR;查第一個(gè)顯示字形碼 MOV P2,#0FBH;段選 MOV P0,A;字形碼送到P0口 ACALL DELAY2;調(diào)用延時(shí)子程序 MOV DPTR,#DAT2 MOVA,R5 MOVC A,A+DPTR;查第二個(gè)顯示字形碼 MOV P2,#0FEH;段選 MOV P0,A;字形碼送到P0口 ACALL DELAY2;調(diào)用延時(shí)子程序 MOVA,R4 MOVC A,A+DPTR;查第三個(gè)顯示字形碼 MOV P2,#0FDH;段選 MOV P0,A;字形碼送到P0口 ACALL DELA

22、Y2;調(diào)用延時(shí)子程序 RET DAT1:DB 0FFH,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,0FFH,8EH;滅,1,2,3,4,5,6,7,8,9,滅,F DAT2:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,0FFH,8EH;第一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅;=倒計(jì)時(shí)程序=COUNT:MOV R0,#00H;重置定時(shí)器的中斷次數(shù) MOV TH1,#3CH MOV TL1,#0B0H ;重置定時(shí)器RECOUNT:MOV A,R6;R6保存了倒計(jì)時(shí)的時(shí)間,之前先

23、將搶答時(shí)間或回答時(shí)間給R6 MOV B,#0AH DIV AB ;除十分出個(gè)位/十位 MOV 30H,A;十位存于(30H) MOV31H,B;個(gè)位存于(31H) MOV R5,30H;取十位 MOV R4,31H;取個(gè)位 MOV A,R6 SUBB A,#07H JNC LARGER;大于5s跳到LARGER,小于等于5s會(huì)提醒 MOV A,R0 CJNE A,#0AH,FULL;1s中0.5s向下運(yùn)行 CLR RING AJMPCHECKFULL:CJNE A,#14H,CHECK;下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)數(shù) SETB RING MOV A,R6 JZ QUIT MO

24、V R0,#00H DEC R6 ;一秒標(biāo)志減1 AJMP CHECKLARGER:MOV A,R0 CJNE A,#14H,CHECK ;如果1s向下運(yùn)行,否者跳到查停/顯示 DEC R6 ;計(jì)時(shí)一秒R6自動(dòng)減1 MOV R0,#00HCHECK:JNB P3.1,QUIT ;如按下停止鍵退出 NEXTT:ACALL DISPLAY JB OK,ACCOUT ;如果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過(guò)查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用) AJMP RECOUNTACCOUT:MOV A,36H JNB ACC.0,TRUE1 JNB ACC.1,TRUE2 JNB ACC.2,TRUE3 J

25、NB ACC.3,TRUE4 JNB ACC.4,TRUE5 JNB ACC.5,TRUE6 JNB ACC.6,TRUE7 JNB ACC.7,TRUE8 AJMP RECOUNTQUIT: CLR OK ;如果按下了停止鍵執(zhí)行的程序 CLR RING AJMP START;=正常搶答處理程序=TRUE1: ACALL BARK;調(diào)用發(fā)聲程序 MOV A,R2 MOV R6,A;搶答時(shí)間R2送R6 MOV R3,#01H CLR OK ;因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就鎖了搶答 AJMP COUNT;調(diào)用倒計(jì)時(shí)子程序TRUE2: ACALL BARK;調(diào)用發(fā)聲程序 MOV A,R2;搶答時(shí)

26、間R2送R6 MOV R6,A MOV R3,#02H CLR OK AJMP COUNT;調(diào)用倒計(jì)時(shí)子程序TRUE3: ACALL BARK;調(diào)用倒計(jì)時(shí)子程序 MOV A,R2;搶答時(shí)間R2送R6 MOV R6,A MOV R3,#03H CLR OK AJMP COUNT;調(diào)用倒計(jì)時(shí)子程序TRUE4: ACALL BARK;調(diào)用發(fā)聲程序 MOV A,R2;搶答時(shí)間R2送R6 MOV R6,A MOV R3,#04H CLR OK AJMP COUNT;調(diào)用發(fā)聲程序TRUE5: ACALL BARK;調(diào)用發(fā)聲程序 MOV A,R2;搶答時(shí)間R2送R6 MOV R6,A MOV R3,#05H CLR OK AJMP COUNT;調(diào)用倒計(jì)時(shí)子程序TRUE6: ACALL BARK;調(diào)用發(fā)聲程序 MOVA,R2;搶答時(shí)間R2送R6 MOV R6,A MOV R3,#06H CLR OK AJMP COUNT;調(diào)用倒計(jì)時(shí)子程序TRUE7: ACALL BARK;調(diào)用發(fā)聲程序 MOV A,R2;搶答時(shí)間R2送R6 MOV R6,A MOV R3,#07H CLR OK AJMP COUNT;調(diào)用倒計(jì)時(shí)子程序TRUE8: ACALL BARK;調(diào)用發(fā)聲程序 MOV A,R2;搶答時(shí)間R2送R6 MOV R6,A MOV R3,#08H CLR OK AJMP COUNT

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論