版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、江西工業(yè)貿(mào)易職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)課題名稱:基于AT89S51的八路搶答器的設(shè)計(jì)(2014年上學(xué)期)系部木機(jī)電技術(shù)工程系專、業(yè)機(jī)電一體化班級(jí)12機(jī)電(2)班姓 名 蔡錦桂指導(dǎo)教師胡雪松2014年_0乞月07日獨(dú)創(chuàng)性聲明本人聲明:所呈交的畢業(yè)論文(設(shè)計(jì))是在導(dǎo)師指導(dǎo)下進(jìn)行的研究 工作及取得的研究成果,論文中引用他人的文獻(xiàn)、數(shù)據(jù)、圖表、資料 均已作明確標(biāo)注,論文中的結(jié)論和成果為本人獨(dú)立完成 ,真實(shí)可靠,不 包含他人成果及已獲得江西工業(yè)貿(mào)易職業(yè)技術(shù)學(xué)院或其他教育機(jī)構(gòu)的 學(xué)位或證書(shū)使用過(guò)的材料。與我一同工作的同志對(duì)本研究所做的任何 貢獻(xiàn)均已在論文中作了明確的說(shuō)明并表示了謝意。設(shè)計(jì)作者簽名:蔡錦桂日期:2
2、014年06月07日版權(quán)使用授權(quán)書(shū)本畢業(yè)設(shè)計(jì)作者同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交設(shè)計(jì) 的復(fù)印件和電子版,允許設(shè)計(jì)被查閱和借閱本人授權(quán)江西工業(yè)貿(mào)易職 業(yè)技術(shù)學(xué)院可以將本畢業(yè)設(shè)計(jì)全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢 索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本畢業(yè)論文(設(shè)計(jì))本人離校后發(fā)表或使用該畢業(yè)設(shè)計(jì)或與該設(shè)計(jì)直接相關(guān)的學(xué)術(shù)論 文或成果時(shí),單位署名為江西工業(yè)貿(mào)易職業(yè)技術(shù)學(xué)院。設(shè)計(jì)作者簽名:蔡錦桂日期:2014年06月 07日指導(dǎo)教師簽名: 日期:年月日摘要本方案以AT89S51單片機(jī)作為主控核心,與晶振、數(shù)碼管、蜂鳴器等構(gòu)成八 路搶答器,利用了單片機(jī)的延時(shí)電路、按鍵復(fù)位電路、時(shí)鐘電路
3、、定時(shí) / 中斷等電 路, 設(shè)計(jì)的八路搶答器具有實(shí)時(shí)顯示搶答選手的號(hào)碼和搶答時(shí)間的特點(diǎn),還有復(fù)位 電路,使其再開(kāi)始新的一輪的答題和比賽,同時(shí)還利用匯編語(yǔ)言編程 , 使其實(shí)現(xiàn)一 些基本的功能。關(guān)鍵詞 :單片機(jī)、AT89S51搶答器目錄設(shè)計(jì)目的與任務(wù) 各模塊的選擇和論證 2.1 搶答器顯示模塊選擇 2。2 控制器選擇 2。3 鍵盤選擇 2.4 時(shí)鐘頻率電路的設(shè)計(jì)2。5 復(fù)位電路的設(shè)計(jì) 82.6 報(bào)警電路 82。7AT89S51 簡(jiǎn)介92。 7.1 AT89S51 單片機(jī)的結(jié)構(gòu) 92。 7。 2 AT89S51 單片機(jī)管腳說(shuō)明 10模塊最終方案的設(shè)計(jì) 123。 1 總體設(shè)計(jì)思路 127123。2 功
4、能介紹 3。3 搶答器的軟件設(shè)計(jì) 3.4 數(shù)碼顯示軟件設(shè)計(jì) 系統(tǒng)調(diào)試與仿真 4.1 軟件調(diào)試問(wèn)題分析 4.2 PROTEUS仿真電路板的制作與檢查 總結(jié) 16131412131415參考文獻(xiàn) 附 錄 附 錄 一 主程序 附 錄 二 元件清單 附錄三 Proteus 仿真原理圖 2916172228基于 AT89S51 的八路數(shù)顯搶答器摘要:本方案以AT89S51單片機(jī)作為主控核心,與晶振、數(shù)碼管、蜂鳴器等 構(gòu)成八路搶答器,利用了單片機(jī)的延時(shí)電路、按鍵復(fù)位電路、時(shí)鐘電路、定時(shí) / 中斷等電路,設(shè)計(jì)的八路搶答器具有實(shí)時(shí)顯示搶答選手的號(hào)碼和搶答時(shí)間的特 點(diǎn),還有復(fù)位電路 , 使其再開(kāi)始新的一輪的答題
5、和比賽,同時(shí)還利用匯編語(yǔ)言編 程,使其實(shí)現(xiàn)一些基本的功能。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、AT89S51、搶答器一 設(shè)計(jì)目的與任務(wù)1 課程設(shè)計(jì)目的(1)結(jié)合所學(xué)的電子電路的理論知識(shí)完成數(shù)碼顯示八路搶答器課程設(shè)計(jì);(2)通過(guò)該設(shè)計(jì)學(xué)會(huì)并掌握常用電子元器件的選擇和使用方法 ;(3)提高自己綜合分析問(wèn)題和解決問(wèn)題的能力。2 課程設(shè)計(jì)任務(wù)在比賽開(kāi)始, 主持人讀完題之后按下總開(kāi)關(guān), 即計(jì)時(shí)開(kāi)始, 此時(shí)數(shù)碼管開(kāi) 始進(jìn)行30s的倒計(jì)時(shí),直到有一個(gè)選手搶答時(shí),對(duì)應(yīng)的會(huì)在數(shù)碼管上顯示出該選 手的編號(hào)和搶答所用的時(shí)間 , 同時(shí)蜂鳴器也會(huì)發(fā)出聲音,以提示有人搶答本題 , 如果在規(guī)定的 60s 時(shí)間內(nèi)沒(méi)有做出搶答,則此題作廢,即開(kāi)始
6、重新一輪的搶答。 在搶答和回答時(shí)間的最后5s,蜂鳴器都會(huì)給予報(bào)警提示。二 各模塊的選擇和論證2。 1 搶答器顯示模塊選擇 顯示模塊主要是顯示搶答的時(shí)間,組別號(hào)碼等??紤]有以下兩種顯示方案 . 方案一:使用液晶屏顯示時(shí)間液晶顯示屏(LCD具有輕薄短小、低耗電量、 無(wú)輻射危險(xiǎn),平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢(shì),可視面積大 , 畫面效果 好,分辨率高,抗干擾能力強(qiáng)的特點(diǎn)。但由于只需要顯示時(shí)間和轉(zhuǎn)向、相數(shù)這樣 的數(shù)字 , 信息量比較少, 且由于液晶是以點(diǎn)陣的模式顯示各種符號(hào) , 需要利用控制 芯片創(chuàng)建字符庫(kù),編程工作量大,控制器的資源占用較多,其成本也偏高。在使 用時(shí),不能有靜電干擾,否則易燒壞液
7、晶顯示芯片,不易維護(hù) .方案二:在使用傳統(tǒng)的數(shù)碼管顯示。數(shù)碼管具有:低能耗、低損耗、低壓、 壽命長(zhǎng)、耐老化、防曬、防潮、防火、防高(低)溫 , 對(duì)外界環(huán)境要求低,易于 維護(hù),同時(shí)其精度高,稱量快,精確可靠,操作簡(jiǎn)單數(shù)碼顯示是采用BCD編碼顯 示數(shù)字,程序編譯容易,資源占用較少。根據(jù)以上的論述,選擇采用方案二 . 顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后 , 如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。在這里我們使用的是七段數(shù)碼管顯 示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍, 程序編寫簡(jiǎn)單,但占用端口資源
8、多;動(dòng)態(tài)顯示的特點(diǎn)是:顯示穩(wěn)定性沒(méi)靜態(tài)好,程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯 示而言占用端口資源少在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法。4位七段數(shù)碼管顯示電路如下圖所示。2哎咒d 殳*£ g 二M 目總圖2 1 4 位七段數(shù)碼管顯示電路圖上圖中數(shù)碼管采用的是4位一體七段共陽(yáng)數(shù)碼管,其中AH段分別接到單片 機(jī)的P0 口,由單片機(jī)輸出的P0 口數(shù)據(jù)來(lái)決定段碼值,位選碼C0M,1 COM3 COM4 分別接到單片機(jī)的P2。0,P2。1,P2。2,由單片機(jī)來(lái)決定當(dāng)前該顯示的是哪一 位在圖中還有八個(gè)電阻,連接在P0 口上,用作P0 口的上拉電阻,保證P0 口沒(méi)有 數(shù)據(jù)輸出時(shí)候處于高電平狀態(tài)。通
9、過(guò)查表法,將其在數(shù)碼管上顯示出來(lái),其中 P0 口為字型碼輸入端,P2 口 低3位為字選段輸入段。在這里我們通過(guò)查表將字型碼送給 7段數(shù)碼管顯示的數(shù) 字。2。2控制器選擇控制器主要用于對(duì)顯示、搶答、音樂(lè)、計(jì)分等模塊進(jìn)行控制??刂破鞯倪x擇 有以下兩鐘方案.方案一:采用FPG(現(xiàn)場(chǎng)可編程門列陣)作為系統(tǒng)的控制器.FPGA可以實(shí)現(xiàn) 各種復(fù)雜的邏輯功能,規(guī)模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩(wěn)定性,并且可以應(yīng)用EDA軟件仿真、調(diào)試,易于進(jìn)行功能擴(kuò)展。 FPGA采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí) 系統(tǒng)的控制核心.但由于本設(shè)計(jì)對(duì)數(shù)據(jù)處理的速度要求不高,
10、FPGA的高速處理的 優(yōu)勢(shì)得不到充分體現(xiàn),并且由于其集成度高,使其成本偏高,同時(shí)由于芯片的引 腳較多,實(shí)物硬件電路板布線復(fù)雜,加重了電路設(shè)計(jì)和實(shí)際焊接的工作方案二:采用ATME公司的AT89S51作為系統(tǒng)控制器的CPU方案。單片機(jī)算 術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可以用軟件編程實(shí)現(xiàn)各種算法和邏輯 控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使其在各個(gè)領(lǐng)域 應(yīng)用廣泛?;谝陨戏治?,我選擇采用方案二2.3鍵盤選擇鍵盤是單片機(jī)不可缺少的輸入設(shè)備, 是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。鍵盤按結(jié)構(gòu)形 式可以分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件 方法來(lái)產(chǎn)生鍵碼.在單片機(jī)中
11、使用的都是非編碼鍵盤,因?yàn)榉蔷幋a鍵盤結(jié)構(gòu)簡(jiǎn)單, 成本低廉,非編碼鍵盤的類型很多,常用的有獨(dú)立式鍵盤,行列式鍵盤等。方案一:獨(dú)立式鍵盤鍵盤接口中使用多少根I/O線,鍵盤中就有幾個(gè)按鍵,鍵盤接口使用了8根I/O 口線,該鍵盤就有8個(gè)按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中 各按鍵的工作互不干擾。因此可以根據(jù)實(shí)際需要對(duì)鍵盤中的按鍵靈活的編碼。如圖 22。最簡(jiǎn)單的編碼方式就是根據(jù)I/O輸入口所直接反映的相應(yīng)按鍵,按下的狀態(tài) 進(jìn)行編碼,稱按鍵直接狀態(tài)碼,對(duì)于這樣編碼的獨(dú)立式鍵盤,CPU可以通過(guò)直接讀取I/O 口的狀態(tài)來(lái)獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個(gè)值直接進(jìn)行按鍵識(shí) 別,這樣形式的鍵盤結(jié)構(gòu)簡(jiǎn)單,按
12、鍵識(shí)別容易。獨(dú)立式鍵盤的缺點(diǎn)是需要占用比較多的I/O 口線,當(dāng)單片機(jī)應(yīng)用系統(tǒng)鍵盤中 需要的按鍵比較少或I/O 口線比較富余時(shí),可以采用這樣類型的鍵盤。 1qo47o o8方案二:行列式鍵盤行列式鍵盤是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤,在 行線和列線的每個(gè)交叉點(diǎn)上。這種形式的鍵盤結(jié)構(gòu),能夠有效的提高單片機(jī)系統(tǒng) 中I/O的利用率,列線接P1.0P1。3行線接P1.4P1。7,行列適用于按鍵輸入 多的情況。CPU寸鍵盤的掃描可以采用取程序控制的隨機(jī)方式,即只有在CPU空閑是時(shí) 才去掃描鍵盤,響應(yīng)操作人員的鍵盤輸入,即利用單片機(jī)內(nèi)部定時(shí)器每隔一定時(shí) 間對(duì)鍵盤掃描一次,這樣控制方式
13、,不管鍵盤上有無(wú)鍵閉合,CPU總是定時(shí)的關(guān)心鍵盤狀態(tài)在大多數(shù)情況下,CPU對(duì)鍵盤可能進(jìn)行空掃描。為了提高 CPU的效 率而又能及時(shí)響應(yīng)鍵盤輸入,可以采用中斷方式,既CPU平時(shí)不必掃描鍵盤,只 要當(dāng)鍵盤上有鍵盤閉合時(shí)就產(chǎn)生中斷請(qǐng)求,向CPL申請(qǐng)中斷后,立即對(duì)鍵盤上有鍵盤進(jìn)性掃描,識(shí)別閉合鍵,并做相應(yīng)的處理。圖2-3行列式鍵盤2.4時(shí)鐘頻率電路的設(shè)計(jì)單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作.在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路, 只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元, 決 定單片機(jī)的工作速度。時(shí)鐘電路如下圖所示。C130曠圖2-5外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大
14、約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振 的頻率確定。電路中兩個(gè)電容C1, C2的作用有兩個(gè):一是幫助振蕩器起振;二是 對(duì)振蕩器的頻率進(jìn)行微調(diào)。單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù).圖中時(shí)鐘頻率為12MHz2.5復(fù)位電路的設(shè)計(jì)單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平 即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài), 其電路圖如下所示:丄2。6報(bào)警電路我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制
15、單片 機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的巨型波, 接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低"電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。本文設(shè)計(jì)如下圖所示。圖中單片機(jī)的14腳輸出具有復(fù)合功能,此處用到了單片機(jī)17腳的10端口功能,單片機(jī)通過(guò)內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波形 輸出驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。圖2 7發(fā)聲電路2。7 AT89S51 簡(jiǎn)介2。7。1 AT89S51單片機(jī)的結(jié)構(gòu)AT89S51單片機(jī)是美國(guó)Atmel公司生產(chǎn)低電壓,高性能 CMOS駐單片機(jī), 片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(EP
16、ROM和128 bytes的隨機(jī) 存取數(shù)據(jù)存儲(chǔ)器(RAM,器件采用Atmel公司的高密度、非易失性存取技術(shù)生產(chǎn), 兼容標(biāo)準(zhǔn)MC51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU和Flash存儲(chǔ) 單元,功能強(qiáng)大。AT89S51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用 于各種控制領(lǐng)域。圖2-8為AT89S51單片機(jī)的基本組成功能方塊圖。由圖可見(jiàn),在這一塊芯片 上,集成了一臺(tái)微型計(jì)算機(jī)的主要組成部分,其中包括CPU存儲(chǔ)器、可編程I/O 口、定時(shí)器/計(jì)數(shù)器、串行口等,各部分通過(guò)內(nèi)部總線相連.下面介紹幾個(gè)主要部 分.圖2-8單片機(jī)結(jié)構(gòu)框圖2。7.2 AT89S51單片機(jī)管腳說(shuō)明0Qr2q3D4c7aT
17、Cxld2a3a£HLaPL円PLP1P1PIP1P1.RSP3.U 骯嘆氏船P3.減TAD DX XR T/k(-2 3 4 5 6 7 8 920VCCPO.G2.1P0.2P0. 3Ptk4P0. 5口 PO.b PQ. 7(ADO)(ADI)<AD2)<AD3)<AD4)(ADS)(AD6)(AD7)E5/VPP ALSi/PRUS fshr" P2,7 (M5) 3P2. 6 (A14) P2. &(AL3) P2, 4 (A12)24 JP2. 3 (AU)23 3P2,2 (A 10)22 HpN 1 (A9>21 "
18、24叮圖2 9 AT89S51單片機(jī)管腳圖ATMEL公司的AT89S51是一種高效微控制器.采用40引腳雙列直插封裝形 式。AT89S51單片機(jī)是高性能單片機(jī),因?yàn)槭芤_數(shù)目的限制,所以有不少引腳 具有第二功能。VCC供電電壓。GND接地。P0 口: P0 口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O 口,每腳可吸收8TTL門電流.當(dāng) P1 口的管腳第一次寫1時(shí),被定義為高阻輸入.P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器, 它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0 口作為原碼輸入口, 當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高.P1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的 8位雙向
19、I/O 口,P1 口緩沖器能接 收輸出4TTL門電流。P1 口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1 口被 外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故 .在FLASH編程和 校驗(yàn)時(shí),P1 口作為第八位地址接收。P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O 口,P2 口緩沖器可接收, 輸出4個(gè)TTL門電流,當(dāng)P2 口被寫1時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸 入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流.這是由于內(nèi)部上 拉的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器或 16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取 時(shí),P2 口輸出地址的高八位。在給出地址 1時(shí),它利用內(nèi)
20、部上拉優(yōu)勢(shì),當(dāng)對(duì)外部 八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在 FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào).P3 口 : P3 口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸出4個(gè)TTL 門電流。當(dāng)P3 口寫入1后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入, 由于外部下拉為低電平,P3 口將輸出電流。P3 口也可作為AT89S51的一些特殊功能口,如下表所示:P3 口管腳備選功能P3o 0 RXD (串行輸入口)P3.1 TXD (串行輸出口)P3o 2 INTO(外部中斷0)P3o 3 INT1 (外部中斷1)P3o 4 T0 (記時(shí)器0
21、外部輸入)P3o 5 T1(記時(shí)器1外部輸入)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3o 7 RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。ALE/PROG :當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許端的輸出電平用于鎖存地 址的地址字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí), ALE端 以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6 o因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。 然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器 時(shí),將跳過(guò)一個(gè)ALE脈沖中.如想禁止ALE的輸出可在SFR8E地址上置0此時(shí),ALE 只有在執(zhí)行MOV,MOV指令是AL
22、E才起作用。PSEN外部程序存儲(chǔ)器的選通信號(hào)端。在由外部程序存儲(chǔ)器取指期間,每個(gè) 機(jī)器周期兩次PSEN有效但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào) 將不出現(xiàn)。EA/VP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH) 不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET當(dāng)EA 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加 12V編程電源.XTAL1反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2反向振蕩器的輸出,如采用外部時(shí)鐘源驅(qū)動(dòng)器件,應(yīng)不接。三模塊最終方案的設(shè)計(jì)3o 1總體設(shè)計(jì)思路主控制器模塊:采用
23、AT89S51單片機(jī)控制搶答器顯示模塊:數(shù)碼管顯示電源方案的選擇:采用5V電源供電搶答器鍵盤模塊:獨(dú)立式鍵3。2功能介紹如果想調(diào)節(jié)搶答時(shí)間或答題時(shí)間,按“搶答時(shí)間調(diào)節(jié)”鍵或“回答時(shí)間調(diào)節(jié)” 鍵進(jìn)入調(diào)節(jié)狀態(tài),此時(shí)會(huì)顯示現(xiàn)在設(shè)定的搶答時(shí)間或回答時(shí)間值,如果想加1秒按一下“加1秒”鍵,如果想減1秒按一下“減1秒”鍵,時(shí)間LED上會(huì)顯示 改變后的時(shí)間,調(diào)整范圍為 OS99S, OS時(shí)再減1S會(huì)跳到99, 99S時(shí)再加1S 會(huì)變到OS。主持人按“搶答開(kāi)始”鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)30S搶 答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù)并立刻進(jìn)入回答倒計(jì)時(shí)(預(yù) 設(shè)60S回答時(shí)間),不
24、進(jìn)行搶答查詢,所以第一個(gè)按搶答的選手有效。倒數(shù)時(shí)間 到小于5S會(huì)每秒響一下提示音。如倒計(jì)時(shí)期間,主持人想停止倒計(jì)時(shí)可以隨時(shí)按“停止”按鍵,系統(tǒng)會(huì)自動(dòng) 進(jìn)入準(zhǔn)備狀態(tài),等待主持人按“搶答開(kāi)始”進(jìn)入下次搶答計(jì)時(shí)。如果主持人未按“搶答開(kāi)始”鍵,而有人按了搶答按鍵,犯規(guī)搶答,LED上不 斷閃爍FF和犯規(guī)號(hào)數(shù)并響個(gè)不停,直到按下“停止"鍵為止。3.3搶答器的軟件設(shè)計(jì)系統(tǒng)軟件由主程序和INTO中斷服務(wù)組成。主程序由驗(yàn)鍵,違規(guī)顯示,倒計(jì) 時(shí)等功能子程序組成,系統(tǒng)完成初始化后循環(huán)檢查各個(gè)功能當(dāng)用戶使用某個(gè)功能 時(shí),按下相應(yīng)的按鈕(或開(kāi)關(guān))單片機(jī)進(jìn)入相應(yīng)的功能處理。INTO中斷服務(wù)程序 完成搶答信號(hào)采樣
25、和識(shí)別處理。該智能搶答器以AT89S51單片機(jī)為控制核心,控制精度較高,操作誤差主要 來(lái)自晶振自身所造成的誤差。其他外圍電路包括復(fù)位電路、時(shí)鐘電路、報(bào)警電路、 LED顯示電路、搶答按鍵、功能設(shè)置鍵等。該智能搶答器具有計(jì)時(shí)記憶功能,一次時(shí)間設(shè)置完,復(fù)位后不需重新進(jìn)行時(shí)間設(shè)定;通過(guò)按鍵掃描輸出按鍵信息,并 通過(guò)單片機(jī)將它轉(zhuǎn)化為在七段數(shù)碼管上顯示的字形符。單片機(jī)的P1 口為8組搶答按鍵的輸入口,PO。OPO。6為數(shù)碼管的段選口,P2。OP2 2為數(shù)碼管的片選 口 外部中斷INTO和INT1分別為搶答時(shí)間和回答時(shí)間的調(diào)整口,P3。4和P3o 5分別實(shí)現(xiàn)時(shí)間調(diào)整時(shí)的加1和減1功能;P3o 6為報(bào)警電路的
26、控制口。3.4數(shù)碼顯示數(shù)碼顯示管用來(lái)作為時(shí)間的顯示輸出,一般用 7段數(shù)碼顯示管.本次設(shè)計(jì)中 采用7段共陽(yáng)數(shù)碼顯示管應(yīng)用簡(jiǎn)單、可靠性高、成本低,作為顯示輸出。連接時(shí) 段選信號(hào)接在P0 口的P0.0P0。6七個(gè)I/O 口上,P1 口是準(zhǔn)雙向I/O接口在輸 出驅(qū)動(dòng)部分具有驅(qū)動(dòng)4個(gè)TTL負(fù)載的能力,即輸出電流不大于 400卩A,所以在 接電阻時(shí)選擇接510Q限流電阻。而在位選方面采用P2 口的P2。0用單片機(jī)P2.2三個(gè)I/O 口作為位選信號(hào)的輸出口。四 系統(tǒng)調(diào)試與仿真 系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試 , 而且兩者是密不可分的 . 我們?cè)O(shè)計(jì)好的 硬件電路和軟件程序,只有經(jīng)過(guò)聯(lián)合調(diào)試,才能驗(yàn)證其正確性
27、; 軟硬件的配人情 況以及是否達(dá)到設(shè)計(jì)任務(wù)的要求 , 也只有經(jīng)過(guò)調(diào)試,才能發(fā)現(xiàn)問(wèn)題并加以解決、 完善,最終開(kāi)發(fā)成實(shí)用產(chǎn)品。硬件調(diào)試分單元電路調(diào)試和聯(lián)機(jī)調(diào)試, 單元電路試驗(yàn)在硬件電路設(shè)計(jì)時(shí)已經(jīng) 進(jìn)行,這里的調(diào)試只是將其制成印刷電路板后試驗(yàn)電路是否正確 , 并排除一些加 工工藝性錯(cuò)誤(如錯(cuò)線、開(kāi)路、短路等) 。這種調(diào)試可單獨(dú)模擬進(jìn)行,也可通過(guò) 開(kāi)發(fā)裝置由軟件配合進(jìn)行,硬件聯(lián)機(jī)調(diào)試則必須在系統(tǒng)軟件的配合下進(jìn)行。軟件調(diào)試一般包括分塊調(diào)試和聯(lián)機(jī)調(diào)試兩個(gè)階段 . 程序的分塊調(diào)試一般在單 片機(jī)開(kāi)發(fā)裝置上進(jìn)行, 可根據(jù)所調(diào)程序功能塊的入口參量初值編制一個(gè)特殊的程 序段, 并連同被調(diào)程序功能塊一起在開(kāi)發(fā)裝置上運(yùn)
28、行;也可配合對(duì)應(yīng)硬件電路單 獨(dú)運(yùn)行某程序功能塊 , 然后檢查是否正確 , 如果執(zhí)行結(jié)果與預(yù)想的不一致 , 可以通 過(guò)單步運(yùn)行或設(shè)置斷點(diǎn)的方法,查出原因并加以改正,直到運(yùn)行結(jié)果正確為止。 這時(shí)該 程序功能塊已調(diào)試完畢, 可去掉附加程序段 . 其它程序功能塊可按此法進(jìn) 行調(diào)試。程序聯(lián)機(jī)調(diào)試就是將已調(diào)試好的各程序功能塊按總體結(jié)構(gòu)聯(lián)成一個(gè)完整 程序,在所研制的硬件電路上運(yùn)行。 從而試驗(yàn)程序整體運(yùn)行的完整性、 正確性和 與硬件電路的配合情況 . 在聯(lián)調(diào)中可能會(huì)有某些支路上的程序、功能塊因受條件 制約而得不到相應(yīng)的輸入?yún)?shù), 這時(shí),調(diào)試人員應(yīng)創(chuàng)造條件進(jìn)行模擬調(diào)試 . 在聯(lián)調(diào) 中如發(fā)現(xiàn)硬件問(wèn)題也應(yīng)及時(shí)修正,
29、 直到單片機(jī)系統(tǒng)的軟件、 硬件全部調(diào)試成功為 止。系統(tǒng)調(diào)試完成后, 還要進(jìn)行一段時(shí)間的試運(yùn)行, 從而檢驗(yàn)系統(tǒng)的穩(wěn)定性和抗 干擾能力,驗(yàn)證系統(tǒng)功能是否達(dá)到設(shè)計(jì)要求,是否達(dá)到預(yù)期的效果。4.1 軟件調(diào)試問(wèn)題分析數(shù)碼管顯示問(wèn)題 : 本次設(shè)計(jì)的最終方案是采用數(shù)碼管顯示屏實(shí)現(xiàn)顯示功能, 最初數(shù)碼管顯示不正常,出現(xiàn)閃爍現(xiàn)象 . 通過(guò)調(diào)試發(fā)現(xiàn)這是由于延時(shí)時(shí)間選擇不 當(dāng)會(huì)使人眼產(chǎn)生視覺(jué)暫留效果, 每一次顯示時(shí)都必須加入適當(dāng)?shù)臅r(shí)間延時(shí)。 由于 一開(kāi)始所選用的延時(shí)時(shí)間太短因此出現(xiàn)閃爍現(xiàn)象, 在增加顯示延時(shí)之后, 數(shù)碼管 顯示正常。蜂鳴器異常啟動(dòng)問(wèn)題:蜂鳴器的啟動(dòng) / 關(guān)閉是通過(guò)單片機(jī)輸出的控制信號(hào)來(lái) 實(shí)現(xiàn)的 ,
30、當(dāng)前時(shí)間與鬧鐘設(shè)置時(shí)間比較吻合時(shí) , 單片機(jī)將對(duì)鬧鈴控制口執(zhí)行取反 命令,從而啟動(dòng)蜂鳴器發(fā)聲。 一開(kāi)始編寫程序時(shí), 沒(méi)有對(duì)控制口的最初狀態(tài)作正 確設(shè)置,由于系統(tǒng)開(kāi)機(jī)復(fù)位后,鬧鈴控制口處于高電平狀態(tài) , 因此出現(xiàn)一開(kāi)機(jī)蜂 鳴器就處于啟動(dòng)狀態(tài)的情況。通過(guò)在主程序最開(kāi)始加入對(duì)鬧鈴控制口取零命令 后,蜂鳴器啟動(dòng) / 關(guān)閉控制恢復(fù)正常。按鍵消抖問(wèn)題:在最初編寫程序時(shí),鍵盤控制部分按照常例加入了按鍵消 抖程序.在實(shí)際調(diào)試中 ,發(fā)現(xiàn)按鍵出現(xiàn)反應(yīng)不靈敏現(xiàn)象。 這是因?yàn)樵阪I盤控制程序 中,除了消抖程序外,還加入了按鍵提示音程序(每次按壓鍵盤時(shí),蜂鳴器發(fā)出“嘩”的一聲提示音 ) 。由于在調(diào)用提示音子程序時(shí),實(shí)際上
31、已實(shí)現(xiàn)了一次時(shí)間 的延時(shí),因此再加入按鍵消抖程序的延時(shí)后, 致使延時(shí)時(shí)間過(guò)長(zhǎng)而出現(xiàn)按鍵反應(yīng) 不靈敏問(wèn)題 . 通過(guò)調(diào)試發(fā)現(xiàn)提示音子程序本身所產(chǎn)生的延時(shí)已能夠滿足按鍵消抖 時(shí)間延遲的要求, 因此在鍵盤控制程序中無(wú)需再加入專門的按鍵消抖程序。 在去 除按鍵消抖程序后,按鍵控制靈敏度恢復(fù)正常。4。 2 Proteus 仿真Proteus軟件是來(lái)自英國(guó) Labcenter Electronics 公司的EDA工具軟件, Proteus軟件除了其具有和其它EDA工具一樣的原理布圖,PCB自動(dòng)或人工布線及 電路仿真的功能外, 其革命性的功能是 , 他的電路仿真是互動(dòng)的, 針對(duì)微處理器 的應(yīng)用,還可以直接在基
32、于原理圖的虛擬原型上編程, 并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí) 調(diào)試, 如有顯示及輸出, 還能看到運(yùn)行后輸入輸出的效果 , 配合系統(tǒng)配置的虛擬 儀器如示波器,邏輯分析儀等,PROTUES勺ISIS是一款Labcenter出品的電路分 析實(shí)物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機(jī),元件庫(kù)齊全,使用方便,是不可多得的專業(yè)的單片機(jī)軟件仿真系統(tǒng)。該軟件的特點(diǎn) :1. 全部滿足我們提出的單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn) , 并在同類產(chǎn)品中具有 明顯的優(yōu)勢(shì).2. 具有模擬電路仿真、 數(shù)字電路仿真、 單片機(jī)及其外圍電路組成的系統(tǒng)的仿 真、RS-232動(dòng)態(tài)仿真、C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有 各種虛
33、擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。3. 目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12 系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片.4. 支持大量的存儲(chǔ)器和外圍芯片.總之該軟件是一款集單片機(jī)和 SPICE分 析于一身的仿真軟件,功能極其強(qiáng)大 , 可仿真 51、 AVR、 PIC。五 電路板的制作與檢查在電路板的制作中,首先要進(jìn)行線路的排布。利用PROTEK件模擬實(shí)際電路 板的線路走向, 盡量避免線路出現(xiàn)交叉短路, 電源線路盡量安排在電路板的最外 圈。PCB板刻錄完成之后,開(kāi)始進(jìn)行焊接工作。焊接完后進(jìn)行電路板檢查,將原
34、線路圖與實(shí)際焊接的電路板進(jìn)行對(duì)比, 由于線路不多, 所以用萬(wàn)用表的歐姆檔或 是短路聲響指示功能來(lái)做焊點(diǎn)的檢測(cè), 如此可以避免焊接時(shí)漏焊、 虛焊和配線錯(cuò) 誤的問(wèn)題 , 同時(shí)保證了所制作出來(lái)的線路與原設(shè)計(jì)線路的一致性 .一般來(lái)說(shuō), 造成硬件問(wèn)題的首要問(wèn)題就是焊接了,也就是說(shuō)焊接的好與壞直 接響產(chǎn)品的正常運(yùn)行 . 造成焊接質(zhì)量不高的常見(jiàn)原因是 :1。焊錫用量過(guò)多,形成焊點(diǎn)的錫堆積;焊錫過(guò)少 , 不足以包裹焊點(diǎn)。2. 冷焊。焊接時(shí)烙鐵溫度過(guò)低或加熱時(shí)間不足 , 焊錫未完全熔化、浸潤(rùn)、焊 錫表面不光亮(不光滑),有細(xì)小裂紋 .3。夾松香焊接 , 焊錫與元器件或印刷板之間夾雜著一層松香 , 造成電連接不
35、良。若夾雜加熱不足的松香,則焊點(diǎn)下有一層黃褐色松香膜;若加熱溫度太高, 則焊點(diǎn)下有一層碳化松香的黑色膜 . 對(duì)于有加熱不足的松香膜的情況 , 可以用烙 鐵進(jìn)行補(bǔ)焊。 對(duì)于已形成黑膜的 , 則要”吃”凈焊錫, 清潔被焊元器件或印刷板表 面, 重新進(jìn)行焊接才行。4。焊錫連橋。指焊錫量過(guò)多,造成元器件的焊點(diǎn)之間短路。這在對(duì)超小元 器件及細(xì)小印刷電路板進(jìn)行焊接時(shí)要尤為注意。5。焊劑過(guò)量 , 焊點(diǎn)明圍松香殘?jiān)芏?。?dāng)少量松香殘留時(shí) ,可以用電烙鐵再 輕輕加熱一下,讓松香揮發(fā)掉 , 也可以用蘸有無(wú)水酒精的棉球,擦去多余的松香 或焊劑.6. 焊點(diǎn)表面的焊錫形成尖銳的突尖。這多是由于加熱溫度不足或焊劑過(guò)少,
36、以及烙鐵離開(kāi)焊點(diǎn)時(shí)角度不當(dāng)浩成的內(nèi)。最小系統(tǒng)的電路不工作, 首先應(yīng)該確認(rèn)電源電壓是否正常。 用電壓表測(cè)量接 地引腳跟電源引腳之間的電壓,看是否符合電源電壓,常用的是5V左右。接下來(lái) 就是檢測(cè)復(fù)位引腳的電壓是否正常,EA引腳的電壓要正常為5V左右。六 總結(jié)通過(guò)這次畢業(yè)設(shè)計(jì) , 我明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過(guò)程 , 在以后的工作、生活 中都應(yīng)該不斷的學(xué)習(xí) , 努力提高自己知識(shí)和綜合素質(zhì) . 這次制作與設(shè)計(jì)不僅涉及 到我們以前所學(xué)到的單片機(jī), 模擬電子技術(shù), 數(shù)字電子技術(shù), 高等數(shù)學(xué)等課程的 知識(shí)還涉及到很多我們的選修及課外的知識(shí)像實(shí)訓(xùn)課上學(xué)到的手工焊接技術(shù)等 等知識(shí). 第二是理論聯(lián)系實(shí)際性太強(qiáng),把所
37、學(xué)的搜集到得知識(shí)運(yùn)用的實(shí)際中不是 一件容易的事 , 不僅由元件從課本上的符號(hào)到實(shí)物的認(rèn)識(shí)還是理論的測(cè)量結(jié)果與 實(shí)際值的誤差。畢業(yè)設(shè)計(jì)是我作為一名學(xué)生即將完成學(xué)業(yè)的最后一次作業(yè) , 他既是對(duì)學(xué)校所 學(xué)知識(shí)的全面總結(jié)和綜合應(yīng)用, 又為今后走向社會(huì)的實(shí)際操作應(yīng)用鑄就了一個(gè)良 好開(kāi)端 , 畢業(yè)設(shè)計(jì)是我對(duì)所學(xué)知識(shí)理論的檢驗(yàn)與總結(jié),能夠培養(yǎng)和提高設(shè)計(jì)者獨(dú) 立分析和解決問(wèn)題的能力; 畢業(yè)設(shè)計(jì)提高了我理論聯(lián)系實(shí)際的能力更在知識(shí)的鞏 固與實(shí)際的操作上的銜接提高了我的能力, 畢業(yè)設(shè)計(jì)中遇到的困難與挫折以及解 決這些問(wèn)題的思路與方法更增加了我對(duì)以后工作中遇到困難我能克服解決的信 心,也讓我積累了經(jīng)驗(yàn), 為以后的工作
38、打下了良好的基礎(chǔ), 同時(shí)也培養(yǎng)了我遇到 突發(fā)狀況要穩(wěn)定冷靜的精神, 也培養(yǎng)了我學(xué)會(huì)怎么與別人合作的方法, 怎么解決 與合作的伙伴意見(jiàn)不同一時(shí)狀況 , 為以后怎么和同事相處好奠定了基礎(chǔ)。這次畢 業(yè)設(shè)計(jì)業(yè)也讓我懂得了分析問(wèn)題, 才能解決問(wèn)題的道理, 通過(guò)了這次更增加了我 以后能夠干好自己工作的信心?!緟⒖嘉墨I(xiàn)】1 模擬電子技術(shù) 江曉安著;西安電子科技大學(xué)出版社2 數(shù)字電子技術(shù)康華光著;高等教育出版式社3 單片機(jī)技術(shù)任務(wù)驅(qū)動(dòng)式教程徐進(jìn)強(qiáng)、左翠紅著;天津大學(xué)出版社4 電子設(shè)計(jì)與仿真技術(shù)李忠波、袁宏等著;機(jī)械工業(yè)出版社5 單片機(jī)原理及接口技術(shù) 李全利、遲榮強(qiáng)著 高等教育出版社6基于Proteus的單片機(jī)
39、可視軟硬件仿真 林志琦著北京航空航天大學(xué)出版社7單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)張齊著電子工業(yè)出版社附 錄:附錄一主程序主程序如下:OK EQU 20H搶答開(kāi)始標(biāo)志位RING EQU 22H響鈴標(biāo)志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,# 30;初設(shè)搶答時(shí)間為30sMOV R2,#60;初設(shè)答題時(shí)間為60sMOV TMOD,#11H設(shè)置未定時(shí)器/模式1MOV TH0井 0F0HMOV TL0,#0FFH
40、越高發(fā)聲頻率越高,越尖MOVTH1 # 3CHMOV TL1,# 0B0H 50ms為一次溢出中斷SETB EASETB ET0SETB ET1SETB EX0SETB EX1 允許四個(gè)中斷,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0一開(kāi)始就運(yùn)行定時(shí)器,以開(kāi)始顯示FFF。如果想重新計(jì)數(shù),重置TH1/TL1就可以了;=查詢程序=START MOV R5,#0BHMOV R4,# 0BHMOV R3,# 0BHACALL DISPLAY未開(kāi)始搶答時(shí)候顯示FFFJB P3。0,NEXT;dddddddACALL DELAYJB P3。0,NEXT去抖動(dòng)
41、,如果”開(kāi)始鍵”按下就向下執(zhí)行,否者跳到非法搶 答查詢ACALL BAR;按鍵發(fā)聲MOV A R1MOV R6,A送R1R6,因?yàn)镽1中保存了搶答時(shí)間SETB OK搶答標(biāo)志位,用于COUNTS程序中判斷是否查詢搶答MOV R7 # 01H ;讀搶答鍵數(shù)據(jù)信號(hào)標(biāo)志,這里表示只讀一次有用信號(hào)MOV R3 #0AH搶答只顯示計(jì)時(shí),滅號(hào)數(shù)AJMP COUN進(jìn)入倒計(jì)時(shí)程序,”查詢有效搶答的程序”在 COUN里面NEXT: JNB P1。0, FALSE1JNB P1.1,FALSE2JNB P1。2, FALSE3JNB P1。3, FALSE4JNB P1。4,FALSE5JNB P1。5,FALSE
42、6JNB P1。6, FALSE7JNB P1。7,FALSE8AJMP START;=非法搶答處理程序=FALSE1: MOV R3 #01HAJMP ERRORFALSE2 MOV R3 #02HAJMP ERRORFALSE3: MOV R3 # 03HAJMP ERRORFALSE4 MOV R3,# 04HAJMP ERRORFALSE5 MOV R3,# 05HAJMP ERRORFALSE6 MOV R3 #06HAJMP ERRORFALSE7: MOV R3 #07HAJMP ERRORFALSE8 MOV R3 # 08HAJMP ERROR;=INT0 (搶答時(shí)間R1調(diào)整
43、程序)=INT0SUB:MOV A R1MOV B,# 0AHDIV ABMOV R5,AMOV R4,BMOV R3#0AHACALL DISPLAY先在兩個(gè)時(shí)間LED上顯示R1JNB P3.4,INC0 ; P3 4 為 +1s 鍵,如按下跳到 INCOJNB P3.5,DEC0 P3.5 為一1s 鍵,如按下跳至U DECOJNB P3.1,BACK0;P3.1為確定鍵,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1CJNEA,#63H,ADD0如果不是99,R2加1,如果加到99,R1就置0,重新加起MOV R1#00HACALL DELAY1AJMP INT
44、0SUBADD0 INC R1ACALL DELAY1AJMP INT0SUBDEC0 MOV A R1JZ SETR1;如果 R1 為 0, R1 就置 99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1 MOV R1 # 63HACALL DELAY1AJMP INT0SUBBACK0: RETI;=INT1(回答時(shí)間R2調(diào)整程序)=INT1SUB:MOV A,R2MOV B,#0AHDIV ABMOV R5 AMOV R4,BMOV R3 # 0AHACALL DISPLAYJNB P3o 4,INC1JNB P3o 5, DEC1JNB P3.1 , BACK
45、1AJMP INT1SUBINC1: MOV A,R2CJNE A,#63H ADD1MOV R2,# 00HACALL DELAY1AJMP INT1SUBADD1 INC R2ACALL DELAY1AJMP INT1SUBDEC1: MOV A R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUBSETR2 MOV R2,# 63HACALL DELAY1AJMP INT1SUBBACK1 RETI;=倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到改程序 )=REPEAT:MOV A,R2使用錦囊時(shí)重新計(jì)時(shí)MOV R6 ACLR RINGCOUNT MOV R0,#
46、00H;重置定時(shí)器中斷次數(shù)MOV TH1,#3CHMOV TL1,# 0B0H重置定時(shí)器RECOUNTMOVA R6; R6保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)間或回答時(shí) 間給R6MOV B # 0AHDIV AB;除十分出個(gè)位/十位MOV 30H,A十位存于(30H)MOV 31H B;個(gè)位存于(31H)MOV R5 30H;取十位MOV R4,31H取個(gè)位MOV A R6SUBB A #07HJNC LARGE;大于5s跳到LARGER小于等于5s會(huì)提醒MOV A,R0CJNE A,#0AH,FULL;1s中 0.5s 向下運(yùn)行CLR RINGAJMP CHECKFULL CJNE A,#
47、14H,CHEC;下面是1s的情況,響并顯示號(hào)數(shù)并清 R0,重 新計(jì)SETB RINGMOV A R6JZ QUIT;計(jì)時(shí)完畢MOV RO,# OOHDEC R6 一秒標(biāo)志減1AJMP CHECKLARGER MOV A R0CJNE A,#14H CHECK如果1s向下運(yùn)行,否者跳到查”停/顯示"DEC R6計(jì)時(shí)一秒R6自動(dòng)減1MOV R0 # 00HCHEC: JNB P3.1 , QUIT如按下停止鍵退出JNB OK,CHECKK只在回答倒計(jì)時(shí)才有效AJMP NEXTTCHECKK:JNB R3 0,REPEAT;判斷是否使用錦囊NEXTT ACALL DISPLAYJB OK
48、, ACCOUT如果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過(guò)查詢繼續(xù)倒 數(shù)(這里起到鎖搶答作用)AJMP RECOUNTACCOUT:MOV A,36HJNB ACC.0 TRUE1JNB ACC.1, TRUE2JNB ACC.2 TRUE3JNB ACC.3 TRUE4JNB ACC 4,TRUE5JNB ACC 5,TRUE6JNB ACC 6, TZ1JNB ACC 7,TZ2AJMP RECOUNTTZ1:JMP TRUE7TZ2: JMP TRUE8QUIT: CLR OK如果按下了”停止鍵"執(zhí)行的程序CLR RINGAJMP START;=正常搶答處理程序=TRUE1 A
49、CALL BARKMOV A,R2MOV R6 A;搶答時(shí)間R2送R6MOV R3 #01HCLR OK因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就鎖了搶答AJMP COUNTTRUE2:ACALL BARKMOV A R2MOV R6 AMOV R3,# 02HCLR OKAJMP COUNTTRUE3 ACALL BARKMOV A R2MOV R6 AMOV R3 # 03HCLR OKAJMP COUNTTRUE4 ACALL BARKMOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUNTTRUE5:ACALL BARKMOV A R2MOV R6 AMOV R3
50、 #05HCLR OKAJMP COUNTTRUE6 ACALL BARKMOV A,R2MOV R6,AMOV R3 # 06HCLR OKAJMP COUNTTRUE7:ACALL BARKMOV A R2MOV R6 AMOV R3 #07HCLR OKAJMP COUNTTRUE8 ACALL BARKMOV A R2MOV R6 AMOV R3,#08HCLR OKAJMP COUNT;=犯規(guī)搶答程序=ERRO: MOV R0 # 00HMOV TH1 #3CHMOV TL1 # 0B0HMOV 34H,R3犯規(guī)號(hào)數(shù)暫存與(34H)HERE: MOV A,R0CJNE A,#06H,FLASH;0 3s向下運(yùn)行-滅并停響CLR RINGMOV R3,# 0AHMOV R4,#0AHMOV R5 #0AH三燈全滅AJMP CHECK1FLASH: CJNE A # 0CH CHECK仆面是0.8s的情況,響并顯示號(hào)數(shù)并清 R0,重新計(jì)SETB RINGMOV R0,#00HMOV R3 34H;取回號(hào)數(shù)MOV R5,#0BHMOV R4,#0BH顯示FF和號(hào)數(shù)AJMP CHECK1CHECK: JNB P3。1, QUIT1ACALL D
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《焊接工程綜合實(shí)驗(yàn)》實(shí)驗(yàn)教學(xué)大綱
- 玉溪師范學(xué)院《體育科學(xué)研究方法》2022-2023學(xué)年第一學(xué)期期末試卷
- 數(shù)學(xué)15的認(rèn)識(shí)教學(xué)課件教學(xué)課件教學(xué)
- 拆除工程施工方案
- 2024年電子控制自動(dòng)變速箱項(xiàng)目評(píng)估分析報(bào)告
- 2024年網(wǎng)絡(luò)接口適配器項(xiàng)目成效分析報(bào)告
- 2024年堿錳電池項(xiàng)目成效分析報(bào)告
- 采購(gòu)產(chǎn)品特定模具費(fèi)用先期墊付協(xié)議書(shū)
- 不帶機(jī)械操作手的機(jī)械租賃合同
- 必勝客離職合同
- 音樂(lè)劇院演出商業(yè)計(jì)劃書(shū)
- 糖尿病中醫(yī)特色治療課件
- 提升員工服務(wù)意識(shí)培訓(xùn)課件
- 大學(xué)生職業(yè)生涯規(guī)劃書(shū)環(huán)境設(shè)計(jì)
- 【川教版】《生命 生態(tài) 安全》五上第17課《發(fā)明讓生活更美好》課件
- 五年級(jí)上冊(cè)口算練習(xí)400題及答案
- 2024年中國(guó)鐵路成都局集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 藝術(shù)機(jī)構(gòu)退費(fèi)制度
- 《河流(第2課時(shí))》公開(kāi)課教學(xué)設(shè)計(jì)【人教八年級(jí)地理上冊(cè)】
- 諾如病毒幼兒園知識(shí)講座
- 2023年浙江嘉興南湖區(qū)教育研究培訓(xùn)中心選聘研訓(xùn)員考前自測(cè)高頻考點(diǎn)模擬試題(共500題)含答案詳解
評(píng)論
0/150
提交評(píng)論