版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(論文)題目名稱課程名 稱 單片機(jī)原理及應(yīng)在電氣測控學(xué)科中的應(yīng)用學(xué)生姓名學(xué)號系、專業(yè)電氣工程系指導(dǎo)教師學(xué)生學(xué) 號學(xué)院課程設(shè)計(論文)評閱表系 電氣工程系 專業(yè)班級題目名稱課程名稱單片機(jī)原理及應(yīng)用在電氣測控學(xué)科中的應(yīng)用一、學(xué)生自我總結(jié)學(xué)生簽名:年 月 日二、指導(dǎo)教師評定評分項(xiàng)目平時成績答辯綜合成績權(quán)重304030老師填寫等級:優(yōu)、良、中、及格、不及格單項(xiàng)成績指導(dǎo)教師評語:指導(dǎo)教師(簽名):年月日注:1.本表是學(xué)生課程設(shè)計(論文)成績評定的依據(jù),裝訂在設(shè)計說明書(或論文)的“任務(wù)書”頁后面:2、表中的“評分項(xiàng)目"及“權(quán)重”根據(jù)各系的考核細(xì)則和評分標(biāo)準(zhǔn)確定?!菊繑?shù)字電路在日常生
2、活中的應(yīng)用很多,隨著它的發(fā)展,其應(yīng)用將來會越來越廣泛。 工廠、學(xué)校和電視臺等單位常舉辦各種智力比賽,搶答器是必要設(shè)備。搶答器是一名公 正的裁判員,它有主體電路與擴(kuò)展電路組成,其基本原理是主持人按開始按鈕是以開始,利用一個優(yōu)先編碼器,譯岀最先搶到答題權(quán)的選手編號,并經(jīng)LED顯示器顯示出來,同 時還要封鎖電路以防其他選手再搶答。本文所介紹了一種六路搶答器的設(shè)計與制作。【關(guān)鍵詞】搶答鎖存計時顯示第1節(jié)引言21.1 數(shù)字搶答器的概述21.2 設(shè)計任務(wù)與要求21.3 系統(tǒng)主要功能3第2節(jié)系統(tǒng)主要硬件電路設(shè)計52.1單片機(jī)控制系統(tǒng)原理圖62.2單片機(jī)主機(jī)系統(tǒng)電路62.2. 1時鐘頻率電路的設(shè)計62.2.2
3、復(fù)位電路的設(shè)計72.2.3顯示電路的設(shè)計72.2.4鍵盤掃描電路的設(shè)計72.3 發(fā)聲82. 4 系統(tǒng)復(fù)位8第3節(jié)系統(tǒng)軟件設(shè)計103.1主程序系統(tǒng)結(jié)構(gòu)圖103.2程序流程圖103.3 系統(tǒng)程序11第4節(jié) 調(diào)試及性能分析20第5節(jié)結(jié)束語21基于單片機(jī)的六路搶答器數(shù)理與信息工程學(xué)院計本072倪曉靜指導(dǎo)教師:余水寶第1節(jié)引言單片機(jī)把我們帶入了智能化的電子領(lǐng)域,許多繁瑣的系統(tǒng)若由單片機(jī)進(jìn)行設(shè)計,便 能收到電路更簡單、功能更齊全的良好效果。若把經(jīng)典的電子系統(tǒng)當(dāng)作一個僵死的電子 系統(tǒng),那么智能化的現(xiàn)代電子系統(tǒng)則是一個具有“生命”的電子系統(tǒng)。而隨著技術(shù)的進(jìn) 步,單片機(jī)與串口通信的結(jié)合更多地應(yīng)用到各個電子系統(tǒng)中
4、已成一種趨勢。本設(shè)計就是 基于單片機(jī)設(shè)計搶答系統(tǒng),通過串口通信動態(tài)傳輸數(shù)據(jù),使搶答系統(tǒng)有了更多更完善的 功能。單片機(jī)系統(tǒng)的硬件結(jié)構(gòu)給予了搶答系統(tǒng)“身軀”,而單片機(jī)的應(yīng)用程序賦予了其 新的“生命”,使其在傳統(tǒng)的搶答器面前具有電路簡單、成本低、運(yùn)行可靠等特色。對 于搶答器我們大家都知道那是用于選手做搶答題時用的,選手進(jìn)行搶答,搶到題的選手 來回答問題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時也要求選手具備足夠的知識面和一定 的勇氣。選手們都站在同一個起跑線上,體現(xiàn)了公平公正的原則。1.1數(shù)字搶答器的概述對于搶答器我們大家都知道那是用于選手做搶答題時用的,選手進(jìn)行搶答,搶到題 的選手來回答問題。搶答器不僅考
5、驗(yàn)選手的反應(yīng)速度同時也要求選手具備足夠的知識面 和一定的勇氣。選手們都站在同一個起跑線上,體現(xiàn)了公平公正的原則。本實(shí)驗(yàn)設(shè)計 的數(shù)字搶答器由主體電路與擴(kuò)展電路組成。優(yōu)先編碼電路、鎖存器、譯碼電路將參賽隊(duì) 的輸入信號在顯示器上輸出;用控制電路和主持人開關(guān)啟動報警電路,以上兩部分組成 主體電路。通過定時電路和譯碼電路將秒脈沖產(chǎn)生的信號在顯示器上輸出實(shí)現(xiàn)計時功 能,構(gòu)成擴(kuò)展電路。經(jīng)過布線、焊接、調(diào)試等工作后數(shù)字搶答器成形。更具有實(shí)用性。1.2設(shè)計任務(wù)與要求任務(wù):設(shè)計一款數(shù)字搶答器1.基本要求(1)搶答器同時供6名選手或6個代表隊(duì)比賽,分別用6個按鈕SO、S5表示。(2)設(shè)置一個系統(tǒng)清除和搶答控制開關(guān)S
6、,該開關(guān)由主持人控制。(3)搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應(yīng)的編號,并在LED 數(shù)碼管上顯示,同時揚(yáng)聲器發(fā)出報警聲響提示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手 的編號一直保持到主持人將系統(tǒng)清除為止。(4)搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。當(dāng) 主持人啟動”開始"鍵后,定時器進(jìn)行減計時,同時揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的 時間0.5秒左右。(5)參賽選手在設(shè)定的時間進(jìn)行搶答,搶答有效,定時器停止工作,顯示器上顯示 選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。(6)如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時
7、顯 示器上顯示00o優(yōu)點(diǎn):與普通搶答器相比,本作品有以下幾方面優(yōu)勢 具有清零裝置和搶答控制,可由主持人操縱避免有人在主持人說"開始”前提前 搶答違反規(guī)則。 具有定時功能,在30秒無人搶答表示所有參賽選手獲參賽隊(duì)對本題棄權(quán)。 30秒時仍無人搶答其報警電路工作表示搶答時間耗盡并禁止搶答。1. 3系統(tǒng)主要功能搶答器原理:該搶答器供不多于四個的搶答比賽使用。每個選手的座位前安裝一只 搶答按鈕開關(guān)和一只信號燈。主持人的座位前安裝一只復(fù)原按鈕開關(guān)、一只蜂鳴器和一 只搶答器工作狀態(tài)指示燈。每當(dāng)主持人口頭發(fā)出允許搶答的號令之后,哪個隊(duì)先按下座 位上的按鈕開關(guān),該座位的信號燈就先被點(diǎn)亮,同時封鎖其他按
8、鈕開關(guān)的活動。并且熄 滅主持人座位上的狀態(tài)指示燈和發(fā)出3聲類似于振鈴的提示聲,以“聲明”此次搶答 動作已經(jīng)完成。在主持人確認(rèn)后,按下復(fù)原按鈕,狀態(tài)指示燈重新點(diǎn)亮,并且同時發(fā)出 “笛一一笛一一”聲,為下一次的搶答作好準(zhǔn)備。電路中的蜂鳴器FM是一只帶有助音 腔的壓電瓷蜂鳴器,用于模擬發(fā)出報警聲的功率放大器和喇叭。在FM發(fā)聲的同時,燈 D6也在發(fā)光。FM可以看作是一個電容性負(fù)載,本身不能流過直流電流。發(fā)聲的原理是, 作用在兩個電極極板的電位在發(fā)生變化時,瓷材料就發(fā)生彎曲,從而振動空氣發(fā)出聲音。 FM和4只按鈕開關(guān)SWaSWd以及4只電阻RaRd都是在演示板的基礎(chǔ)上額外添加 的。由于RB端口部具有上拉
9、電阻,只要用軟件設(shè)置其有效,即可省略在4只端口引腳 上外接上拉電阻。按鈕開關(guān)和指示燈與座位的對應(yīng)關(guān)系如表1. 1所示:表1.1按鈕開關(guān)和指示燈與座位的對應(yīng)關(guān)系座位主持人席座位1座位2座位3座位4位5座 位6按鈕 開關(guān)SW1SWaSWbSWCSWdSWeSWf指示燈D7DOD1D2D3D4D5蜂鳴器有無無無無無無第2節(jié) 系統(tǒng)主要硬件電路設(shè)計為使硬件電路設(shè)計盡可能合理,應(yīng)注意以下幾方面:(1) 盡可能采用功能強(qiáng)的芯片,以簡化電路,功能強(qiáng)的芯片可以代替若干普通芯片, 隨著生產(chǎn)工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總 和高。(2) 留有設(shè)計余地。在設(shè)計硬件電路時,要考慮到將
10、來修改擴(kuò)展的方便。因?yàn)楹苌?有一錘定音的電路設(shè)計,如果現(xiàn)在不留余地,將來可能要為一點(diǎn)小小的修改或擴(kuò)展而被 迫進(jìn)行全面返工。(3) 程序空間,選用片程序空間足夠大的單片機(jī),本設(shè)計采用AT89C51單片機(jī)。(4) 1/0端口,在樣機(jī)研制出來后進(jìn)行現(xiàn)場試用時,往往會發(fā)現(xiàn)一些被忽視的問題, 而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要釆集,就必須增加輸 入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計就預(yù)留出一 些I/O端口,雖然當(dāng)時空著沒用,那么用的時候就派上用場了。2.1單片機(jī)控制系統(tǒng)原理圖如圖2-1,卩10為開始搶答,P1.7為停止,Pl. 1-P1.6為六路搶答
11、輸入,數(shù)碼管段 選P0 口,位選P2 口低3位,蜂鳴器輸出為P3.6 口。P3.2為時間加1調(diào)整,P3.3為時 間減1調(diào)整。圖2-1系統(tǒng)原理圖八ny21a隸R.13:U2只U2 E甩 D.UD R2.11KM R22.ME R2iKfl3R2M6 rtZ/LXCTALEP2鈕它 KJSTAtS pzm* P2?MF1CP3JMQF1.1町EOM7",WFF13F33WOFUF3VDMSF3S71F36/77仿玖36 F2TO P221KO P2MM1UZC:2.2單片機(jī)主機(jī)系統(tǒng)電路該六路搶答器的設(shè)計細(xì)分為時鐘頻率電路的設(shè)計,復(fù)位電路的設(shè)計,顯示電路的設(shè) 計和鍵盤掃描電路的設(shè)計等。2.
12、 2.1時鐘頻率電路的設(shè)計單片機(jī)必須在時鐘的驅(qū)動下才能工作.在單片機(jī)部有一個時鐘振蕩電路,只需要外 接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機(jī)部的各個單元,決定單片機(jī)的工作速度。圖2-2外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引 腳產(chǎn)生幅度為3Y左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路 中兩個電容C1.C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。 C1,C2的典型值為30PF。單片機(jī)在工作時,由部振蕩器產(chǎn)生或由外直接輸入的送至部控制邏輯單元的時鐘信 號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù)
13、,常用fosc表示。如時鐘頻率為 12MHz,即 fosc=12MHz,則時鐘周期為 l/12pi s。2. 2.2復(fù)位電路的設(shè)計單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個機(jī)器周期的高電平即可實(shí) 現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖2-3所示:圖2-3復(fù)位電路值得注意的是,在設(shè)計當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件 復(fù)位后的各狀態(tài)可知寄存器及存儲器的值都恢復(fù)到了初始值,而前面的功能介紹中提到 了倒計時時間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對單片機(jī)進(jìn)行硬件復(fù)位, 所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條
14、 跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。2. 2.3顯示電路的設(shè)計顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供 盡可能豐富的信息,全靠軟件來解決。2. 2.4鍵盤掃描電路的設(shè)計鍵盤是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計方法也可以在文 獻(xiàn)和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應(yīng)的鍵盤掃描 程序。站在系統(tǒng)監(jiān)控軟件設(shè)計的立場上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時刻的鍵盤 狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作 和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤。圖2-4獨(dú)立鍵盤它
15、們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計上也不復(fù)雜, 一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在 硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口 資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛 剌”現(xiàn)象。這里采用最常用的方法,即延時重復(fù)掃描法,延時法的原理為:因?yàn)椤懊獭?000000. 0片機(jī)檢測到有按鍵動靜后再延時一段時間(這里我們?nèi)?0ms)后再判斷此電平 是否保持原狀態(tài),如果是則為有效按鍵,否則無效。2.3發(fā)聲我們知道,聲音的頻譜圍約在幾十到幾千赫茲,若能利用程序來控制單片
16、機(jī)某個口 線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā) 出一定頻率的聲音,若再利用延時程序控制“高” “低”電平的持續(xù)時間,就能改變輸 出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。2.4系統(tǒng)復(fù)位使CPU進(jìn)入初始狀態(tài),從0000H地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng) 復(fù)位的方法來看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過CPU外部的 硬件電路給CPU的RESET端加上足夠時間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位 和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對 片通用寄存器的容沒有影響。但是,硬件復(fù)位還能自動清除
17、中斷激活標(biāo)志,使中斷系統(tǒng) 能夠正常工作,這樣一個事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指 令來模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從0000H地址開始執(zhí)行。對各專用寄 存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過程 中完成。而對中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪]有明確的位地址可供編程。 有的編程人員用020000 (LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向0000H地址就完 成了軟件復(fù)位,就是這類錯誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必 須進(jìn)行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位, 它將
18、阻止同級中斷響應(yīng)。由于軟件看門是高級中斷,它將阻止說要中斷響應(yīng),由此可見 清除中斷激活標(biāo)志的重要性。在所有的指令中,只有RETI指令能夠清除中斷激活標(biāo)志。前文各處提案到的出錯 處理程序ERR主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。這部分程序如下:POWER DATA 67H;上電標(biāo)志存放單元ERR:CLR EA;關(guān)中斷MOV DPTR,#ERR1;準(zhǔn)備返回地址PUSH DPLPUSH DPHRETI;清除高級中斷激活標(biāo)志ERR1:MOV POWER,#OAAH;重建上電標(biāo)志CLR A;準(zhǔn)備復(fù)位地址PUSH ACCPUSH ACCRET I;壓入復(fù)位地址OOOOH;清除低級中斷激
19、活標(biāo)志,從程序0000H開始執(zhí)行這段程序先關(guān)中斷,以便后續(xù)處理能順利進(jìn)行,然后用兩個RETI指令代替兩個LJHP 指令,從而清除了兩級中斷激活標(biāo)志。有相應(yīng)軟件陷阱捕捉來的程序可能沒有全部激活 兩個標(biāo)志,這也無妨。第3節(jié)系統(tǒng)軟件設(shè)計軟件任務(wù)分析和硬件電路設(shè)計結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完 成,在硬件電路設(shè)計基本定型后,也就基本上決定下來了。3.1主程序系統(tǒng)結(jié)構(gòu)圖系統(tǒng)初始化模塊按鍵模塊法 搶 答 模確 搶 答 模整 搶 答 時整 回 答 時圖3-1軟件系統(tǒng)結(jié)構(gòu)圖在本設(shè)計中包括了 回答時間調(diào)整程序、倒 主流程圖如3-2所示:搶答處理程序、班規(guī)處理程序、顯示及發(fā)聲程序。3.2程序流程圖
20、以下八個主要的程序:主程序、諜法搶答序、搶答時間調(diào)整程序、 十時程序、正常圖3-2程序設(shè)計流程圖3.3系統(tǒng)程序P1.0為開始搶答,P1.7為停止,pl. l-pl.6為六路搶答輸入數(shù)碼管段選P0 口,位選P2 口,蜂鳴器輸出為P3.6 口。程序代碼如下:;搶答開始標(biāo)志位;響鈴標(biāo)志位OK EQU 20HRING EQU 22HORG 0000HAJMP MAINORG 0003HAJMP INTOSLBORG OOOBHAJMP TOINTORG 0013HAJMP INT1SLBORG OO1BHSETB EASETB ETOSETB ET1SETB EXOSETB EXICLR OKCLR
21、RINGSETB TRISETB TRO查詢程序:START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAYPl. 0,NEXTACALL DELAYPl. 0,NEXTACALL BARKMOV A,R1MOV R6,ASETB OKMOV R3,0AH;允許四個中斷T0/T1/INT0/INT1;一開始就運(yùn)行定時器,以開始顯示FFF ;果想重新計數(shù)重置TH1/TL1就可以了;未開始搶答時候顯示FFF;去抖動,如果”開始鍵”按下就向下執(zhí)行;否者跳到非法搶答查詢;按鍵發(fā)聲;送R1->R6,因?yàn)镽1中保存了搶答時間;搶答標(biāo)志位,用于COUNT
22、只程序中判斷;是否查詢搶答;搶答只顯示計時,滅號數(shù)AJMP COUNTNEXT: JNB Pl.1,FALSE1JNB P1.2.FALSE2JNB P1.3.FALSE3JNB P1.4.FALSE4JNB P1.5.FALSE5JNB P1.6.FALSE6AJMP START 非法搶答處理程序: FALSE1: ACALL BARK;進(jìn)入倒計時程序,"查詢有效搶答的程序";在COUNT里面;按鍵發(fā)聲MOV R3,#01HAJMP ERRORFALSE2: ACALL BARKMOV R3,#02HAJMP ERRORFALSE3: ACALL BARKMOV R3,#
23、03HAJMP ERRORFALSE4: ACALL BARKMOV R3,#04HAJMP ERRORFALSE5: ACALL BARKMOV R3,#05HAJMP ERRORFALSE6: ACALL BARKMOV R3,#06HAJMP ERRORINTO(搶答時間R1調(diào)整程序):INTOSUB:MOV A,R1MOV B,#OAHDIV ABMOV R5,AMOV R4,BMOV R3,#0AH;先在兩個時間LED上顯示R1ACALL DISPLAYJNB P3. 2.INC0JNB P3.3.DEC0JNB Pl.7.BACKOAJMP INTOSL'BINCO: MO
24、V A,R1;如果不是99, R2加1,如果加到99 了;R1就置0新加起CJNE A,#63H,ADD0MOV R1,#OOHACALL DELAY1AJMP INTOSUBADDO: INC R1ACALL DELAY1AJMP INTOSIB;如果R1為O.Rl就置99DECO: MOV A,R1JZ SETR1DEC R1ACALL DELAY1AJMP INTOSIBSETR1: MOV R1,#63HACALL DELAY1AJMP INTOSIBBACKO: RETIINTI (回答時間R2調(diào)整程序):INTISUB:MOV A,R2MOV B,#OAHDIV ABMOV R5,
25、AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB P3.2.INC1JNB P3. 3.DEC1JNB Pl.7,BACK1AJMP INTISUBINCI: MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1AJMP INTISUBADD1: INC R2ACALL DELAY1AJMP INTISUBDECI: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INTISUBSETR2: MOV R2,#63HACALL DELAY1AJMP INTISUBBACK1: RETI倒計時程序(搶答
26、倒計時和回答倒計時都跳到該程序):COUNT: MOV RO,#OOHMOV TH1,#3CHMOV TL1,#OBOHRECOUNT: MOV A,R6MOV B,#OAHDIV ABMOV 30H,AMOV 31H,BMOV R5,30HMOV R4,31HMOV A,R6SLBB A,#O7HJNC LARGERMOV A,ROCJNE A,#OAH,FULLCLR RINGAJMP CHECKFULL: CJNE A,#14H,CHECKSETB RINGMOV A,R6JZ QUITMOV RO,#OOHDEC R6AJMP CHECKLARGER: MOV A, ROCJNE A,
27、#14H,CHECKDEC R6MOV RO,#OOHCHECK: JNB Pl. 7,QUITACALL DISPLAYOK,ACCOUNT;重置定時器中斷次數(shù);重置定時器;R6保存了倒計時的時間之前;先將搶答時間或回答時間給R6;除十分出個位/十位;十位存于(30H);個位存于(31H);取十位;取個位;大于5s跳到LARGER;小于等于5s會提醒;Is中0. 5s向下運(yùn)行;下面系Is的情況,響并顯示號數(shù);并清R0,重新計時;計時完畢;一秒標(biāo)志減1;計時一秒R6自動減1;如按下停止鍵退出;如果是搶答倒計時,如是則查詢ACCOLT:JNB Pl. 1.TRLE1JNB P1.2.TRLE2J
28、NB P1.3.TRUE3JNB P1.4.TRLE4JNB P1.5.TRUE5JNB P1.6.TRLE6AJMP RECOUNTQUIT:CLR OKCLR RINGAJMP START正常搶答處理程序:TRLE1:ACALL BARKMOV A,R2MOV R6,AMOV R3,#01HCLR OKAJMP RECOUNT;搶答,否者跳過查詢繼續(xù)倒數(shù);如果按下了”停止鍵”執(zhí)行的程序;按鍵發(fā)聲;搶答時間R2送R6;因?yàn)榇痤}的計時不再查詢搶答;所以就鎖了搶答TRLE2:TRLE3:TRLE4:AJMP COUNTACALL BARK;MOVA,R2MOVR6,AMOVR3,#02HCLRO
29、KAJMP COUNTACALL BARK;MOVA,R2MOVR6,AMOVR3,#O3HCLROKAJMP COUNTACALL BARK;MOVA,R2MOVR6,AMOVR3,#04HCLROKTRLE5:AJMP COUNTACALL BARK;MOV A,R2MOV R6,AMOV R3,#O5HCLR OKAJMP COUNTTRUE6: ACALL BARK;MOV A,R2MOV R6,AMOV R3,#06HCLR OKAJMP COUNT犯規(guī)搶答程序:ERROR:HERE:MOV RO,#OOHMOV TH1,#3CHMOV TL1,#OBOHMOV 34H,R3MOV
30、A,ROCJNE A,#OAH,FLASHCLR RINGMOV R3,#0AHMOV R4,#0AHMOV R5,#0AHAJMP CHECK1FLASH:CJNE A,#14H,CHECK1CHECK1:SETB RINGMOV RO,#OOHMOV R3,34HMOV R5,#0BHMOV R4,#0BHAJMP CHECK1JNB Pl. 7.QUIT1ACALL DISPLAYAJMP HERE;犯規(guī)號數(shù)暫存與(34H):0. 5s向下運(yùn)行-滅并停響;三燈全滅;下面系Is的情況,響并顯示號數(shù);并清R0,重新計算;取回號數(shù);顯示FF和號數(shù)QUIT1: CLR RINGCLR OKAJM
31、P START顯示程序:入口參數(shù):R5,R4,R3存入的分別為第一,二,三為數(shù)碼所顯示的位碼出口參數(shù):無DISPLAY: MOV DPTR,#DAT1;查表顯示程序,利用P0 口做段選碼口;輸出/P2低三位做位選碼輸出MOV A.R5MOVC A.A+DPTRMOV P2,#01HMOV PO.AACALL DELAYMOV DPTR,#DAT2MOV A,R4MOVC A.A+DPTRMOV P2,#02HMOV PO,AACALL DELAYMOV A,R3MOVC A.A+DPTRMOV P2,#04HMOV PO.AACALL DELAYRETDAT1:DB OOH,06H,5BH,4
32、FH,66H,6DH,7DH,07H,7FH,6FH,OOH,71H;"滅",T, "2", "3", "4", "5", "6", "7", "8", "9","滅","F"DAT2:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,OOH,71H;第一個為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅加減時間延時(起到不會按下就加N個數(shù)):D
33、ELAY1:MOV 35H,#08HLOOPO: ACALL DISPLAYDJNZ 35H,LOOPORET延時(顯示和去抖動用到):DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H.LOOP1DJNZ 32H.L00PRET發(fā)聲程序:BARK: SETB RINGACALL DELAY1;按鍵發(fā)聲;RING標(biāo)志位為1時候P3. 6 口不短;取反使喇叭發(fā)出一定頻率的聲音ACALL DELAY1CLR RINGRETTO溢出中斷(響鈴程序):TOINT: MOV THO,#OECHMOV TLO.SOFFHJNB RING,OUTCPL P3. 6OUT: RETIT1溢出中斷(計時程序):T1INT: MOV TH1,#3CHMOV TL1,#OBOHINC RORET IEND第4節(jié)調(diào)試及性能分析(1) 具有清零裝置和搶答控制,可由主持人操縱避免有人在主持人說“開始”前提 前搶答違反規(guī)則。(2) 具有定時功能,在30秒無人搶答表示所有參賽選手獲參賽隊(duì)對本題棄權(quán)。(3) 30秒時仍無人搶答其報警電路工作表示搶答時間耗盡并禁止搶答。(4) 如果想調(diào)節(jié)搶答時間或答題時間,按"搶答時間調(diào)節(jié)"鍵或"答題時間調(diào)節(jié)"鍵進(jìn) 入調(diào)節(jié)狀態(tài),此時會顯示現(xiàn)在設(shè)定的搶答時間或回答時間
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年外研版七年級歷史上冊階段測試試卷含答案
- 2024離婚協(xié)議書:財產(chǎn)分配與債務(wù)處理
- 2025年度金融風(fēng)控信息服務(wù)費(fèi)合同樣本2篇
- 2024設(shè)備租賃協(xié)議書范本
- 2025年冀少新版高一數(shù)學(xué)下冊階段測試試卷
- 2025年度石油天然氣開采化學(xué)品合同3篇
- 2025年教科新版七年級地理上冊月考試卷
- 2025年北師大版選修3地理下冊階段測試試卷含答案
- 2025年人教版(2024)選擇性必修3地理上冊階段測試試卷
- 2025年滬科版九年級科學(xué)下冊階段測試試卷含答案
- Unit 3 My School Section B 1a-1d 教學(xué)實(shí)錄 2024-2025學(xué)年人教版七年級上冊英語
- 2024年度知識產(chǎn)權(quán)許可合同:萬達(dá)商業(yè)廣場商標(biāo)使用許可合同3篇
- 服務(wù)營銷課件-課件
- 一年級期末數(shù)學(xué)家長會課件
- 【MOOC】藥理學(xué)-華中科技大學(xué) 中國大學(xué)慕課MOOC答案
- 通信工程安全知識培訓(xùn)
- 腦卒中抗血小板治療
- 機(jī)器人操作系統(tǒng)ROS原理及應(yīng)用 課件 07 ROS簡介
- 2022年高考真題-政治(天津卷) 含答案
- 2024年度乙方提供物流配送服務(wù)合同標(biāo)的為800萬元人民幣
- 螺桿壓縮機(jī)安裝施工方案
評論
0/150
提交評論