[信息與通信]基于單片機(jī)的八人搶答器的設(shè)計(jì)與實(shí)踐
《[信息與通信]基于單片機(jī)的八人搶答器的設(shè)計(jì)與實(shí)踐》由會(huì)員分享,可在線閱讀,更多相關(guān)《[信息與通信]基于單片機(jī)的八人搶答器的設(shè)計(jì)與實(shí)踐(37頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、基于單片機(jī)的八人搶答器的設(shè)計(jì)與實(shí)踐 目錄 摘要 Abstract 關(guān)鍵詞 Keywords 第一章 前言............................................................................. 1 第二章 搶答器的系統(tǒng)概述.............................................................. 2 2.1 系統(tǒng)的主要功能...............................................................
2、 2 2.2 系統(tǒng)需求分析..................................................................3 2.3 搶答器的工作流程............................................................ 3 2.4 搶答器的工作過(guò)程............................................................ 3 2.5 器件選型方案及詳細(xì)清單..............................................
3、...... 5 2.6 AT89C51特殊功能寄存器..................................................... 5 2.7 AT89C51的功能及簡(jiǎn)介....................................................... 5 2.7.1 AT89C51單片機(jī)的內(nèi)部結(jié)構(gòu)圖....................................... 5 2.7.2 AT89C51單片機(jī)..............................................
4、..........6 2.8 搶答器的優(yōu)點(diǎn)及組成......................................................... 7 第三章 系統(tǒng)總體方案的設(shè)計(jì)........................................................... 8 3.1 硬件電路的設(shè)計(jì)............................................................... 8 3.2 總體原理圖...............................................
5、..................... 9 3.3 時(shí)鐘頻率電路的設(shè)計(jì)......................................................... 10 3.4 復(fù)位電路的設(shè)計(jì)............................................................... 10 3.5 顯示電路的設(shè)計(jì)............................................................... 11 3.5.1 顯示模塊在系統(tǒng)軟件中的安排...............
6、........................ 11 3.6 鍵盤(pán)掃描電路的設(shè)計(jì)......................................................... 13 3.6.1 鍵盤(pán)抖動(dòng)的軟件處理................................................. 14 3.7 發(fā)聲............................................................................ 14 3.8 系統(tǒng)復(fù)位........................
7、............................................... 14 3.9 本章小結(jié)....................................................................... 15 第四章 軟件設(shè)計(jì)........................................................................ 16 4.1 主程序系統(tǒng)結(jié)構(gòu)圖............................................................ 16
8、 4.2軟件任務(wù)分析.................................................................. 16 4.3 程序流程圖.................................................................... 17 4.4本章小結(jié)................................................................. 18 第五章 Proteus仿真系列組圖.......................................
9、.................. 19 5.1系統(tǒng)仿真圖..................................................................... 19 5.1.1復(fù)位圖................................................................. 19 5.1.2設(shè)置計(jì)時(shí)時(shí)間.........................................................19 5.1.3非法搶答并顯示座號(hào).............
10、.................................... 20 5.1.4搶答成功并顯示倒計(jì)時(shí).............................................. 20 5.1.5三號(hào)選手搶答成功................................................... 21 5.2本章小結(jié)....................................................................... 22 總結(jié)...........................
11、............................................................ 23 參考文獻(xiàn)................................................................................. 24 答謝詞.................................................................................... 25 附錄一..................................................
12、.................................. 26 附錄二.................................................................................... 33 常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 畢業(yè)設(shè)計(jì)論文 摘 要 在電視和學(xué)校中我們會(huì)經(jīng)常看到一些智力搶答的節(jié)目,如果要是讓搶答者用舉手等方法,主持人很容易誤判,會(huì)造成搶答的不公平,比賽中為了準(zhǔn)確、公正、直觀地判斷出第一搶答者,所設(shè)計(jì)的搶答器通常由數(shù)碼顯示、燈光、音響等多種手段指示出第一搶答者。為了使這
13、種不公平不發(fā)生,只有靠電子產(chǎn)品的高準(zhǔn)確性來(lái)保障搶答的公平性。 本設(shè)計(jì)是以八路搶答為基本理念。考慮到依需設(shè)定限時(shí)回答的功能,利用AT89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間。用開(kāi)關(guān)做鍵盤(pán)輸出,揚(yáng)聲器發(fā)生提示。 在搶答中,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效;搶答限定時(shí)間和回答問(wèn)題的時(shí)間可在1-99s設(shè)定;可以顯示是哪位選手有效搶答和無(wú)效搶答,正確按鍵后有聲音提示;搶答時(shí)間和回答問(wèn)題時(shí)間倒記時(shí)顯示,滿時(shí)后系統(tǒng)計(jì)時(shí)自動(dòng)復(fù)位及主主持人強(qiáng)制復(fù)位;按鍵鎖定,在有效
14、狀態(tài)下,按鍵無(wú)效非法。 關(guān)鍵詞: AT89C51 LED數(shù)碼管 搶答器 計(jì)時(shí) 報(bào)警 Abstract In television and school, we can often see some intelligence vies to answer first the program, if if let vies to answer first person with hands and other methods, the host is easy to misjudgment,
15、and can cause vies to answer first the unfair, in the game in order to accurately, justice and intuitive to diagnose the first vies to answer first, the design is usually by digital display vies to answer first, lighting, sound and other DuoZhong means the first vies to answer first the instructions
16、. In order to make this unfair not occur, and it is only by electronic products high accuracy to guarantee the fairness of the contest. This design is the basic concept for 8 vies to answer first. Considering the need to set in the function of the answer within, using AT89C51 and peripheral in
17、terfaces vies to answer first the system, of the microcontroller timer/counter timing and counting principle, software and hardware organically, and makes the system can correctly to the time, at the same time make digital tube can properly shows the time. With a switch to do the keyboard output, th
18、e speaker happens hints. In vies to answer first, only after the start, if only effective in vies to answer first began to be invalid; before vies to answer first vies to answer first Vies to answer first the time limit and answer problem of time can be in 1 99 s set; Can display is which players ef
19、fective vies to answer first and invalid vies to answer first, right after the key voice tip; Vies to answer first time and answer the question time, full display events after the system time automatic reset and main host forced reset; Key lock, in effective state, the key is invalid illegal. Key
20、words: AT89C51 LED digital tube Vies to answer first device timing alarm 常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 畢業(yè)設(shè)計(jì)論文 第一章 前 言 搶答器是一種應(yīng)用非常廣泛的設(shè)備,在各種競(jìng)賽、搶答場(chǎng)合中,它能迅速、客觀地分辨出最先獲得發(fā)言權(quán)的選手。早期的搶答器只由幾個(gè)三極管、可控硅、發(fā)光管等組成,能通過(guò)發(fā)光管的指示辯認(rèn)出選手號(hào)碼。現(xiàn)在大多數(shù)搶答器均使用單片機(jī)(如MCS-51型)和數(shù)字集成電路,并增加了許多新功能,如選手號(hào)碼顯示、搶按前或搶按后的計(jì)時(shí)、選手得分顯示等功能。
21、本設(shè)計(jì)利用AT89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間和選手號(hào)碼。用開(kāi)關(guān)做鍵盤(pán)輸出,揚(yáng)聲器發(fā)生提示。系統(tǒng)達(dá)到要求:在搶答中,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效;搶答限定時(shí)間和回答問(wèn)題的時(shí)間可是在1-99s設(shè)定;可以顯示是哪位選手有效搶答和無(wú)效搶答,正確按鍵后有音樂(lè)提示;搶答時(shí)間和回答問(wèn)題時(shí)間倒記時(shí)顯示,時(shí)間完后系統(tǒng)自動(dòng)復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無(wú)效非法。 作為電子愛(ài)好者, 通過(guò)本次設(shè)計(jì)與裝配、調(diào)試,提高自己的動(dòng)手能力,鞏固已學(xué)的理論知識(shí),建立
22、單片機(jī)理論和實(shí)踐的結(jié)合,了解多功能搶答器各單元電路之間的關(guān)系及相互影響,從而能正確設(shè)計(jì)、計(jì)算定時(shí)計(jì)數(shù)的各個(gè)單元電路。初步掌握多功能搶答器的調(diào)整及測(cè)試方法,提高動(dòng)手能力和排除故障的能力。 第二章 搶答器的系統(tǒng)概述 2.1 系統(tǒng)的主要功能 本系統(tǒng)是借用單片機(jī)采用模塊化設(shè)計(jì)的智能搶答器,主控與參賽者設(shè)為終端分系統(tǒng)。參賽者分系統(tǒng)設(shè)有:搶答按紐、計(jì)時(shí)顯示、提示功能等(根據(jù)需要可另設(shè)或多設(shè)相關(guān)功能);主控分系統(tǒng)有:開(kāi)始與結(jié)束控制按鈕、時(shí)限設(shè)定、各種相關(guān)顯示調(diào)控功能等(根據(jù)需要也可另設(shè)或多設(shè)相關(guān)功能)。 參賽者系統(tǒng),除享有搶答按紐的權(quán)利功能外[1],還有人性化的提示功能和時(shí)間提示功能,也
23、可設(shè)定由主控控制在參賽者終端表現(xiàn)的趣味性功能等;主控系統(tǒng)的控制按鈕做開(kāi)始與結(jié)束控制,根據(jù)活動(dòng)參賽者的層次,對(duì)提前掄答者的行為設(shè)定為非法或阻隔,若設(shè)有非法搶答控制功能時(shí),在主控處帶有公示性顯示的非法掄答者的臺(tái)位號(hào),對(duì)搶答限時(shí)及回答問(wèn)題限時(shí)設(shè)為倒計(jì)時(shí)式,并有公示性顯示。如圖2-1所示。 主 控 制 器 初始化 初始化 Y Y Y 顯示搶答 號(hào)并倒計(jì)時(shí) 正常 搶答 顯示 非法搶 答處理 去抖動(dòng) 調(diào)整搶 答時(shí)間 回答 時(shí)間 減一鍵按下? 加一鍵按下? 開(kāi)始鍵按下? LED顯示 聲生器 鍵盤(pán)顯示 時(shí)鐘頻率 復(fù)位電路
24、 圖2.1 系統(tǒng)主要功能模塊 本系統(tǒng)采用模塊化設(shè)計(jì)智能搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。主持人有開(kāi)始和結(jié)束復(fù)位鍵。在后臺(tái)主持人可以修改,搶答時(shí)間和選手回答問(wèn)題的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為15s,回答問(wèn)題時(shí)間為10s。通過(guò)加鍵和減鍵修改上述時(shí)間,改完后結(jié)束鍵確定。新時(shí)間開(kāi)始有效,主持人按鍵開(kāi)始后,選手開(kāi)始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號(hào),在最后五秒揚(yáng)聲器發(fā)生提示。如果主持人沒(méi)有按下開(kāi)始鍵而選手就搶答視為犯規(guī),數(shù)碼顯示屏顯示犯規(guī)者的代號(hào),揚(yáng)聲器持續(xù)發(fā)生。主持人可按鍵結(jié)束,新一輪搶答開(kāi)始。系統(tǒng)的主要功能模
25、塊方框圖如2-1所示。 搶答主板:搶答主板是整個(gè)搶答器的核心,其關(guān)鍵是單片機(jī)AT89C51。內(nèi)部電路設(shè)計(jì)用匯編語(yǔ)言編寫(xiě)。它完成了時(shí)間參數(shù)的設(shè)定,搶按號(hào)碼的譯碼,保存;顯示;輸出,搶按及答題倒計(jì)時(shí)功能等。 顯示及指示:本設(shè)計(jì)中,有一個(gè)共陰的數(shù)碼管組,四個(gè)數(shù)碼管。其中兩個(gè)顯示時(shí)間,一個(gè)空位,一個(gè)顯示搶答號(hào)碼。主持人依次按下復(fù)位鍵(RESET),開(kāi)始鍵后開(kāi)始搶答。可以搶按:超時(shí)數(shù)碼管顯示“FFF”,當(dāng)搶按超過(guò)規(guī)定時(shí)間或答題超過(guò)規(guī)定時(shí)間后數(shù)碼管顯“FFF”。若有選手在規(guī)定時(shí)間內(nèi)搶按成功,則可以答題,數(shù)碼管顯示搶答時(shí)間的同時(shí)也顯示選手號(hào)碼。若在按開(kāi)始鍵前搶答表示違規(guī),數(shù)碼管顯示“FF”并顯示選手號(hào)碼
26、。 2.2 系統(tǒng)需求分析 1、在搶答中,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效。 2、搶答限定時(shí)間和回答問(wèn)題的時(shí)間可是在1~99s設(shè)定。 3、可以顯示是哪位選手有效搶答和無(wú)效搶答,正確按鍵后有音樂(lè)提示。 4、搶答時(shí)間和回答問(wèn)題時(shí)間倒記時(shí)顯示,時(shí)間完后系統(tǒng)自動(dòng)復(fù)位。 5、按鍵鎖定,在有效狀態(tài)下,按鍵無(wú)效非法。 2.3 搶答器的工作流程 搶答器的基本工作原理:在搶答競(jìng)賽或呼叫時(shí)[2],有多個(gè)信號(hào)同時(shí)或不同時(shí)送入主電路中,搶答器內(nèi)部的寄存器工作,并識(shí)別、記錄第一個(gè)號(hào)碼,同時(shí)內(nèi)部的定時(shí)器開(kāi)始工作,記錄有關(guān)時(shí)間并產(chǎn)生超時(shí)信號(hào)。在整個(gè)搶答器工作過(guò)程中,顯示電路、語(yǔ)音電路等還要根據(jù)
27、現(xiàn)場(chǎng)的實(shí)際情況向外電路輸出相應(yīng)信號(hào)。搶答器的工作流程分為、系統(tǒng)復(fù)位、正常流程、違例流程等幾部分,如圖2-2所示,下面分別予以介紹。如圖2-2所示 2.4 搶答器的工作過(guò)程 1、如果想調(diào)節(jié)搶答時(shí)間或答題時(shí)間,按"加一"鍵或"減一"鍵進(jìn)入調(diào)節(jié)狀態(tài),此時(shí)會(huì)顯示現(xiàn)在設(shè)定的搶答時(shí)間或回答時(shí)間值,如想加一秒按一下"加1s"鍵,如果想減一秒按一下"減1s"鍵,時(shí)間LED上會(huì)顯示改變后的時(shí)間,調(diào)整范圍為0~99s, 0s時(shí)再減1s會(huì)跳到99,99s時(shí)再加1s會(huì)變到0s。 2、主持人按"搶答開(kāi)始"鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)15s搶答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù)并立刻進(jìn)入
28、回答倒計(jì)時(shí)(預(yù)設(shè)10s搶答時(shí)間),不進(jìn)行搶答查詢,所以只有第一個(gè)按搶答的選手有效。倒數(shù)時(shí)間到小于5s會(huì)每秒響一下提示音。 加載程序 運(yùn) 行 行 開(kāi)始 開(kāi)始數(shù)碼管顯 示FFF開(kāi)始搶 按時(shí)間倒計(jì)時(shí) 開(kāi)始前有選手搶按 顯示違例選手號(hào)碼并伴有語(yǔ)音報(bào)警 倒計(jì)時(shí)結(jié) 束,超時(shí) 有選手 搶按 顯示FFF 顯示選手號(hào)碼,倒計(jì) 時(shí)時(shí)間,語(yǔ)音報(bào)警,答 題,答題時(shí)間倒計(jì)時(shí) 正常流程 違規(guī)流程 若超過(guò)答題 時(shí)間,則數(shù) 碼管顯示FFF 答題完畢 根據(jù)選手表現(xiàn),規(guī) 則由主持人減分 圖2.2 搶答器工作流程 3、如倒計(jì)時(shí)期間,主持人想停止倒
29、計(jì)時(shí)可以隨時(shí)按"停止"按鍵,系統(tǒng)會(huì)自動(dòng)進(jìn)入準(zhǔn)備狀態(tài),等待主持人按"搶答開(kāi)始"進(jìn)入下次搶答計(jì)時(shí)。 4、如果主持人未按"搶答開(kāi)始"鍵,而有人按了搶答按鍵,犯規(guī)搶答,LED上不斷閃爍FF和犯規(guī)號(hào)數(shù)并響個(gè)不停,直到按下"停止" 鍵為止。 總而言之,本課題利用AT89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng)設(shè)計(jì)了搶答器,該搶答器增加了新功能、提高了系統(tǒng)的可靠性、簡(jiǎn)化了電路結(jié)構(gòu)、節(jié)約了成本,是一個(gè)實(shí)用的工程設(shè)計(jì)。 2.5 器件選型方案及詳細(xì)清單 微控制器選用ATMAL公司生產(chǎn)的AT89C51,該芯片貨源充足,并且價(jià)格也比較便宜。如表2-1所示。 2.6 AT89C51特殊功能寄存器 特殊功能寄存器
30、也稱專用寄存器,是具有特殊功能的所有寄存器的集合,簡(jiǎn)稱SFR(Special Function Register)。特殊功能寄存器共含有22個(gè)不同寄存器。它們的地址分配在80H~FFH中,即在RAM地址中。這些寄存器的名稱和地址如表2-2所示。 表2-1器件選型方案的詳細(xì)清單 器件名稱 規(guī)格型號(hào) 數(shù)量 微處理器 AT89C51 1 電阻 3WTT10K 8 電容
31、 30PF 3 晶振 12MHZ 1 按鈕 -------- 11 反相器 -------- 3 7段數(shù)碼管 7SEG-MPX4CC 4 揚(yáng)聲器 --------
32、 1 雖然特殊功能寄存器地址在80H~FFH之中,但在80H~FFH的地址單 元中,不是 雖然特殊功能寄存器地址在80H~FFH之中,但在80H~FFH的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內(nèi)容是不確定的,如果對(duì)這些單元進(jìn)行操作,得到的是一些隨機(jī)數(shù),而寫(xiě)入則無(wú)效。所以,用戶編程時(shí)不應(yīng)該將數(shù)據(jù)寫(xiě)入這些未確定的地址單元,它們是公司留待將來(lái)開(kāi)發(fā)新產(chǎn)品時(shí)使用的。 2.7 AT89C51的功能及簡(jiǎn)介 2.7.1 AT89C51單片機(jī)的內(nèi)部結(jié)構(gòu)圖 AT89C51單
33、片機(jī)內(nèi)部由CPU、4KB的FPEROM ,128B的RAM,兩個(gè)16位的定時(shí)/計(jì)數(shù)器T0和T1,4個(gè)8位的I/O端P0、P1、P2、P3等組成。單片微機(jī)內(nèi)部最核心的部分是CPU。CPU主要功能是產(chǎn)生各種控制信號(hào),控制存儲(chǔ)器、輸入/輸出端口的數(shù)據(jù)傳輸、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等,CPU按其功能可分為運(yùn)算器和控制器兩部分。控制器由程序計(jì)數(shù)器PC、指令儲(chǔ)存器、指令譯碼器、實(shí)時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。它的功能是對(duì)來(lái)自存儲(chǔ)器中的指令進(jìn)行譯碼,通過(guò)實(shí)時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作所需的內(nèi)部和外部的控制信號(hào),使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。運(yùn)算器由算術(shù)邏輯器部件ALU、累加
34、器ACC、暫存器、程序狀態(tài)字寄存器PSW,BCD碼運(yùn)算調(diào)整電路等組成。如圖2-3所示。 外部定 時(shí)元件 復(fù)位 中斷 電源 系統(tǒng)時(shí)鐘 ROM CPU 定時(shí)/計(jì)數(shù)器 串行I/O口 并行I/O口 RAM 圖2.3 AT89C51單片機(jī)的內(nèi)部結(jié)構(gòu)圖 為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個(gè)通用寄存器B和一些專用寄存器,還增加了位處理邏輯電路的功能[3]。其內(nèi)部結(jié)構(gòu)如圖2-3所示。 2.7.2 AT89C51單片機(jī) AT89C51是一種低功耗、高性能的含有4KB閃速可編程電擦除只讀存儲(chǔ)器(FPEROM—
35、Flash Programmable and Erasable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲(chǔ)技術(shù)制造,并且與80C51指令系統(tǒng)和引腳完成兼容。芯片上的FPEROM允許在線或采用通用的非易失存儲(chǔ)編程器對(duì)程序存儲(chǔ)器重復(fù)編程。 (1)AT89C51的主要性能包括:AT89C51與MCS—51控制器系列產(chǎn)品兼容,片內(nèi)有4K可在線重復(fù)編程閃速電擦除存儲(chǔ)器(Flash Memory),存儲(chǔ)器可循環(huán)寫(xiě)入/擦除1000次;存儲(chǔ)器數(shù)據(jù)保存時(shí)間可達(dá)10年;工作電壓范圍寬:Vcc可由2.7V到6V;全靜態(tài)工作可由0Hz到16MHz;程序存儲(chǔ)器具有3級(jí)鎖存保護(hù);
36、128*8位內(nèi)部RAM;32條可編程I/O線;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;中斷結(jié)構(gòu)具有5個(gè)中斷源和2個(gè)中斷優(yōu)先級(jí);可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲(chǔ)內(nèi)容。 (2)FPEROM的編程:AT89C51的I/O口P0、P1、P2和P3除具有與80C51相同的一些性能和用途外,在FPEROM編程時(shí),P0口接收代碼字節(jié),并在程序檢驗(yàn)時(shí)輸出代碼字節(jié),但在程序校驗(yàn)時(shí)需要外部上拉負(fù)載電阻,在FPEROM編程和程序校驗(yàn)期間,P1口接收低位地址字節(jié),P2口接收高位地址字節(jié)和一些控制信號(hào),P3口也接收一些FPEROM編程和校驗(yàn)用的信號(hào),此時(shí)ALE/PROG引腳是編程脈沖輸入(PROG)端,在
37、FPEROM編程期間,如果選擇12V編程電壓、那么EA/Vpp引腳也允許接受12V編程電壓(Vpp)。 2.8 搶答器的優(yōu)點(diǎn)及組成 在知識(shí)比賽中,特別是做搶答題目的時(shí)候,在搶答過(guò)程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來(lái)完成這個(gè)任務(wù)。如果在搶答中,靠視覺(jué)是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來(lái)設(shè)計(jì)搶答器,使以上問(wèn)題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用途。系統(tǒng)工作原理本系統(tǒng)采用AT89C51單片機(jī)作為核心??刂葡到y(tǒng)的四個(gè)模塊分別為:存儲(chǔ)模塊、顯示模塊、語(yǔ)音模塊、搶答開(kāi)關(guān)模塊。該搶答器系統(tǒng)通過(guò)
38、開(kāi)關(guān)電路六個(gè)按鍵輸入搶答信號(hào);利用存儲(chǔ)程序來(lái)完成軟件的設(shè)計(jì);利用一個(gè)數(shù)碼管來(lái)完成顯示功能。工作時(shí),用按鍵通過(guò)開(kāi)關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理,輸出控制信號(hào),控制數(shù)碼管和語(yǔ)音芯片工作。在數(shù)碼管上顯示哪一組先答題,并通過(guò)語(yǔ)音系統(tǒng)讀出第N組請(qǐng)答題,從而實(shí)現(xiàn)整個(gè)搶答過(guò)程。 第三章 系統(tǒng)總體方案的設(shè)計(jì) 3.1 硬件電路的設(shè)計(jì) 本設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì)[5],這兩者相互結(jié)合,不可分離;從時(shí)間上看,硬件設(shè)計(jì)的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術(shù)準(zhǔn)備充分,硬件設(shè)計(jì)的大返工是比較少的,軟件設(shè)計(jì)的任務(wù)貫徹始終,到中后期基本上都是軟件設(shè)計(jì)任務(wù),隨著集成電路技術(shù)的飛
39、速發(fā)展,各種功能很強(qiáng)的芯片不斷出現(xiàn),使硬件電路的集成度越來(lái)越高,硬件設(shè)計(jì)的工作量在整個(gè)項(xiàng)目中的所占的比重逐漸下降。為使硬件電路設(shè)計(jì)盡可能合理,應(yīng)注意以下幾方面: (1) 盡可能采用功能強(qiáng)的芯片,以簡(jiǎn)化電路,功能強(qiáng)的芯片可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價(jià)格不斷下降,并不一定比若干普通芯片價(jià)格的總和高。 (2) 留有設(shè)計(jì)余地。在設(shè)計(jì)硬件電路時(shí),要考慮到將來(lái)修改擴(kuò)展的方便。因?yàn)楹苌儆幸诲N定音的電路設(shè)計(jì),如果現(xiàn)在不留余地,將來(lái)可能要為一點(diǎn)小小的修改或擴(kuò)展而被迫進(jìn)行全面返工。 (3) 程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計(jì)采用AT89C51單片機(jī)。 (4) RA
40、M空間,AT89C51內(nèi)部RAM不多,當(dāng)要增強(qiáng)軟件數(shù)據(jù)處理功能時(shí),往往覺(jué)得不足。如果系統(tǒng)配置了外部RAM,則建議多留一些空間。如選用8155作I/O接口,就可以增強(qiáng)256字節(jié)RAM.如果有大批數(shù)據(jù)需要處理,則應(yīng)配置足夠的RAM,如6264,62256等。隨著軟件設(shè)計(jì)水平的提高,往往只要改變或增加軟件中的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級(jí)換代。只要在硬件電路設(shè)計(jì)初期考慮到這一點(diǎn),就應(yīng)該為系統(tǒng)將來(lái)升級(jí)留足夠的RAM空間,哪怕多設(shè)計(jì)一個(gè)RAM的插座,暫不插芯片也好。 (5) I/O端口:在樣機(jī)研制出來(lái)后進(jìn)行現(xiàn)場(chǎng)試用時(shí),往往會(huì)發(fā)現(xiàn)一些被忽視的問(wèn)題,而這些
41、問(wèn)題不是靠單純的軟件措施來(lái)解決的。如有些新的信號(hào)需要采集,就必須增加輸入檢測(cè)端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計(jì)就預(yù)留出一些I/O端口,雖然當(dāng)時(shí)空著沒(méi)用,那么用的時(shí)候就派上用場(chǎng)了。 3.2 總體原理圖 圖3.1系統(tǒng)原理圖 P3.0為開(kāi)始搶答[9],P3.1為停止,P1.0-P1.7為六路搶答輸入,數(shù)碼管段選P0口,位選P2口低3位,蜂鳴器輸出為P3.6口。P3.4為時(shí)間加1調(diào)整,P3.5為時(shí)間減1調(diào)整。 3.3 時(shí)鐘頻率電路的設(shè)計(jì) 單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作.在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)
42、內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。如圖3-2所示。 圖3.2為外部振蕩源電路 一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容 C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為30PF。 單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù),常用fosc表示。如時(shí)鐘頻率為12MHz,即fosc=12MHz
43、,則時(shí)鐘周期為1/12s。 3.4 復(fù)位電路的設(shè)計(jì) 單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖3-3所示。 圖3.3復(fù)位電路 值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過(guò)一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。
44、3.5 顯示電路的設(shè)計(jì) 顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。 3.5.1 顯示模塊在系統(tǒng)軟件中的安排 操作者主要設(shè)計(jì)從顯示設(shè)備上獲取微機(jī)系統(tǒng)的信息的,因此,操作者每操作一下,顯示設(shè)備商都應(yīng)該有一定的反應(yīng)。這說(shuō)明,顯示模塊與操作有關(guān),即監(jiān)控程序是需要調(diào)用顯示模塊。不同的操作需要顯示不同的內(nèi)容,這又說(shuō)明各執(zhí)行模塊對(duì)顯示模塊的驅(qū)動(dòng)方式是不同的。另一方面,在操作者沒(méi)有進(jìn)行操作時(shí),顯示內(nèi)容也是變化的,如顯示現(xiàn)場(chǎng)各物理量的變化情況。這時(shí)顯示模塊不是由操作者通過(guò)命令鍵來(lái)驅(qū)動(dòng),而是由各類自動(dòng)執(zhí)行的功能模塊來(lái)驅(qū)動(dòng)。自動(dòng)執(zhí)行的各類模塊在安
45、排在各種中斷子程序中,這就是說(shuō),各種中斷子程序也要調(diào)用顯示模塊。如果監(jiān)控安排在中斷子程序中,兩者的要求就統(tǒng)一了,問(wèn)題比較好解決,如果監(jiān)控程序安排在主程序中,在監(jiān)控程序調(diào)用顯示模塊的過(guò)程中發(fā)生了中斷,中斷子程序也調(diào)用顯示模塊,這時(shí)就容易出問(wèn)題。一種比較妥善的辦法是只讓一處調(diào)用顯示模塊,其他各處均不得直接調(diào)用顯示模塊,但有權(quán)申請(qǐng)顯示。這就要設(shè)置一個(gè)顯示申請(qǐng)標(biāo)志,當(dāng)某模塊需要顯示時(shí),將申請(qǐng)標(biāo)志置位,同時(shí)設(shè)定有關(guān)顯示內(nèi)容(或指針)。由于一處調(diào)用顯示模塊,故不會(huì)發(fā)生沖突。為了使顯示模塊能及時(shí)反應(yīng)系統(tǒng)需要,應(yīng)將顯示模塊安排在一個(gè)重復(fù)執(zhí)行的循環(huán)(如監(jiān)控循環(huán)或時(shí)鐘中斷子程序)中。當(dāng)監(jiān)控程序(鍵盤(pán)解釋程序)安排
46、在時(shí)鐘中斷子程序中時(shí),處理比較方便,只要在監(jiān)控程序的匯合處調(diào)用顯示模塊就可以了。例如用DISP作顯示申請(qǐng)標(biāo)志,就可以這樣安排顯示模塊的調(diào)用,即 DISP BIT 2DH.4 ;顯示申請(qǐng)標(biāo)志 SKEYEND: JNB DISP,RETI0 ;有顯示申請(qǐng)否? LCALL DISPLAY ;調(diào)用顯示模塊,更新顯示內(nèi)容 CLR DISP ;清除申請(qǐng) RETI
47、 ;中斷返回 KEYEND為鍵盤(pán)解釋程序的最后匯集點(diǎn),這時(shí)如果發(fā)現(xiàn)有顯示申請(qǐng),就進(jìn)行集中操作,更新顯示內(nèi)容,否則就跳過(guò)這一步。 這里將顯示功能集中到一起,作為一個(gè)功能模塊,就要求它的功能全面,能根據(jù)系統(tǒng)軟件提供的信息自動(dòng)完成顯示內(nèi)容的查找,變換和輸出驅(qū)動(dòng)。這樣設(shè)計(jì)使得各功能模塊都不必考慮顯示問(wèn)題,只要給出一個(gè)簡(jiǎn)單的信息(如顯示格式編碼)甚至不用再提供額外信息,直接利用當(dāng)前狀態(tài)變量和軟件標(biāo)志就可以完成所需的顯示要求。 如果編寫(xiě)這樣一個(gè)集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩沖區(qū)的內(nèi)容輸出到顯示器件上的工作。這時(shí)各功能模塊在提出顯示申請(qǐng)時(shí),還需要將顯示內(nèi)容按需要的
48、格式送入顯示緩沖區(qū)中。這樣分而治之比較容易編程,但要小心出現(xiàn)顯示混亂。例如后臺(tái)程序需要調(diào)用顯示,將有關(guān)信息送入到現(xiàn)實(shí)緩沖區(qū)進(jìn)行顯示;中斷返回后,后臺(tái)程序繼續(xù)送完后半部分顯示內(nèi)容,但前半部分內(nèi)容已經(jīng)變了,這樣就出現(xiàn)了顯示錯(cuò)誤。解決的辦法是,在申請(qǐng)顯示前,先檢查是否已經(jīng)有顯示申請(qǐng),如果有,就不再申請(qǐng),等待下次機(jī)會(huì);如果沒(méi)有,則先申請(qǐng)標(biāo)志位,再將顯示內(nèi)容送入顯示緩沖區(qū)。這時(shí)就不必?fù)?dān)心其他前臺(tái)模塊來(lái)打擾了,就可以得到一次完整的顯示機(jī)會(huì)。 在這里我們使用的是七段數(shù)碼管顯示,通常在顯示[6]上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫(xiě)簡(jiǎn)單,但
49、占用端口資源多;動(dòng)態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒(méi)靜態(tài)好,程序編寫(xiě)復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法。并通過(guò)查表法,將其在數(shù)碼管上顯示出來(lái),其中P0口為字型碼輸入端,P2口低3位為字選段輸入端。在這里我們通過(guò)查表將字型碼送給7段數(shù)碼管顯示的數(shù)字,如圖3-4所示 。 MOV A,R5 MOVC A,@A+DPTR ;查字型碼 MOV P2,#01H ;送位選碼 MOV P0,A ;送字型碼 ACALL DELAY ;
50、調(diào)延時(shí),去閃爍 圖3.4共陰極數(shù)碼管 在七段數(shù)碼管顯示中可分為共陽(yáng)極和共陰極兩種類型極。以共陰為例,要想a段亮,向a段送1就是,返之送0,共陽(yáng)剛好相反。 3.6 鍵盤(pán)掃描電路的設(shè)計(jì) 鍵盤(pán)是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤(pán)硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書(shū)籍中找到,配合各種不同的硬件電路,這些書(shū)籍中一般也提供了相應(yīng)的鍵盤(pán)掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場(chǎng)上來(lái)看,僅僅完成鍵盤(pán)掃描,讀取當(dāng)前時(shí)刻的鍵盤(pán)狀態(tài)是不夠的,還有不少問(wèn)題需要妥善解決,否則,人們?cè)诓僮麈I盤(pán)就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤(pán)用得最多的形式是獨(dú)立鍵盤(pán)及矩陣鍵盤(pán)。如圖3-5所示。
51、 圖3.5獨(dú)立鍵盤(pán) 它們各有自己的特點(diǎn),其中獨(dú)立鍵盤(pán)硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤(pán)與獨(dú)立鍵盤(pán)有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤(pán)復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過(guò)程中產(chǎn)生的“毛刺” 現(xiàn)象。這里采用最常用的方法,即延時(shí)重復(fù)掃描法,延時(shí)法的原理為:因?yàn)椤懊獭泵}沖一般持續(xù)時(shí)間短,約為幾ms,而我們按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)時(shí)間,所以當(dāng)單片機(jī)檢測(cè)到有按鍵動(dòng)靜后再延時(shí)一段時(shí)間(這里我們?nèi)?0ms)后再判斷此電平是否保持原狀態(tài),如果是
52、則為有效按鍵,否則無(wú)效。 3.6.1 鍵盤(pán)抖動(dòng)的軟件處理 按鍵的觸點(diǎn)在閉合和斷開(kāi)時(shí)均會(huì)產(chǎn)生抖動(dòng),這是觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延時(shí)的方法來(lái)避開(kāi)抖動(dòng)階段,這一延時(shí)過(guò)程一般大于5ms,例如取10-20ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺(tái)程序)或鍵盤(pán)中斷(外部中斷)子程序中,則該延時(shí)子程序便可直接插入讀鍵過(guò)程中。如果讀鍵過(guò)程安排在定時(shí)中斷子程序中,就可省去專門(mén)的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來(lái)完成抖動(dòng)處理。 3.7 發(fā)聲 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲[7],若能利用程序來(lái)控制單片機(jī)某個(gè)口線的
53、“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。 3.8 系統(tǒng)復(fù)位 使CPU進(jìn)入初始狀態(tài),從0000H地址開(kāi)始執(zhí)行程序的過(guò)程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來(lái)看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過(guò)CPU外部的硬件電路給CPU的RESET端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和硬件看門(mén)狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對(duì)片內(nèi)通用寄存器的內(nèi)容沒(méi)有影響。但是,硬件復(fù)位還能自動(dòng)清除中斷激活標(biāo)志,
54、使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來(lái)模擬硬件復(fù)位功能,最后通過(guò)轉(zhuǎn)移指令使程序從0000H地址開(kāi)始執(zhí)行。對(duì)各專用寄存器的復(fù)位操作是容易的,也沒(méi)有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過(guò)程中完成。而對(duì)中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪](méi)有明確的位地址可供編程。有的編程人員用020000(LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向0000H地址就完成了軟件復(fù)位,就是這類錯(cuò)誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門(mén)狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級(jí)中斷響應(yīng)。由于軟件看
55、門(mén)是高級(jí)中斷,它將阻止說(shuō)要中斷響應(yīng),由此可見(jiàn)清除中斷激活標(biāo)志的重要性。 在所有的指令中,只有RETI指令能夠清除中斷激活標(biāo)志。前文各處提案到的出錯(cuò)處理程序ERR主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。這部分程序如下: POWER DATA 67H ;上電標(biāo)志存放單元 ERR: CLR EA ;關(guān)中斷 MOV DPTR,#ERR1 ;準(zhǔn)備返回地址 PUSH DPL PUSH DPH RETI ;清除高級(jí)中斷激活標(biāo)志 ERR1: MO
56、V POWER,#0AAH;重建上電標(biāo)志 CLR A ;準(zhǔn)備復(fù)位地址 PUSH ACC ;壓入復(fù)位地址0000H PUSH ACC RETI ;清除低級(jí)中斷激活標(biāo)志,從程序0000H開(kāi)始執(zhí)行。 這段程序先關(guān)中斷,以便后續(xù)處理能順利進(jìn)行,然后用兩個(gè)RETI指令代替兩個(gè)LJMP指令,從而清除了兩級(jí)中斷激活標(biāo)志。有相應(yīng)軟件陷阱捕捉來(lái)的程序可能沒(méi)有全部激活兩個(gè)標(biāo)志,這也無(wú)妨。 3.9 本章小結(jié) 本章詳細(xì)講述了以AT89C51為核心元件的搶答器的硬件電路具體設(shè)計(jì)過(guò)程,分析了具體電路。在設(shè)計(jì)過(guò)
57、程中,實(shí)現(xiàn)搶答功能的是通過(guò)編寫(xiě)程序的方法集成在AT89C51內(nèi)部。接著將程序下載到硬件電路中,配合周邊的時(shí)鐘電路,復(fù)位電路等,制作出符合設(shè)計(jì)要求的搶答器。 第四章 軟件設(shè)計(jì) 4.1 主程序系統(tǒng)結(jié)構(gòu)圖 系統(tǒng)初始化模塊 按鍵模塊 非法搶答模塊 正確搶答模塊 調(diào)整搶答時(shí)間 調(diào)整回答時(shí)間模塊 數(shù)碼顯示模塊 圖4.1軟件系統(tǒng)結(jié)構(gòu)圖 4.2軟件任務(wù)分析 軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本
58、上決定下來(lái)了。 軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來(lái)看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印[8],輸出控制和通信等,另一類是監(jiān)控軟件,它是專門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。 軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問(wèn)題也一并規(guī)劃好。 各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵
59、盤(pán)設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對(duì)來(lái)講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問(wèn)題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。 軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時(shí)性要求不是太高,延誤幾十ms甚至幾百ms也沒(méi)關(guān)系,故通常將監(jiān)控程序(鍵盤(pán)解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺(tái)程序中執(zhí)行;而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺(tái),后臺(tái)程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)”,
60、以利于系統(tǒng)節(jié)電和抗干擾。 4.3 程序流程圖 在本設(shè)計(jì)中包括了以下八個(gè)主要的程序:主程序;非法搶答序;搶答時(shí)間調(diào)整程序;回答時(shí)間調(diào)整程序;倒計(jì)時(shí)程序;正常搶答處理程序;犯規(guī)處理程序;顯示及發(fā)聲程序。主流程圖如4-2所示。 顯示FFF 開(kāi)始鍵按下? 加一鍵按下? 減一鍵按下? 回答 時(shí)間 調(diào)整搶 答時(shí)間 去抖動(dòng) 非法搶 答處理 顯示 犯規(guī) 正常 搶答 顯示搶答 號(hào)并倒計(jì)時(shí) Y Y Y 初始化 初始化 Y Y Y 顯示搶答 號(hào)并倒計(jì)時(shí) 正常 搶答 顯示 非法搶 答處理 去抖動(dòng) 調(diào)整搶 答時(shí)
61、間 回答 時(shí)間 減一鍵按下? 加一鍵按下? 開(kāi)始鍵按下? LED顯示 圖4.2 程序設(shè)計(jì)流程圖 4.4本章小結(jié) 本章是搶答器的軟件設(shè)計(jì),實(shí)現(xiàn)搶答功能主要是通過(guò)編寫(xiě)程序的方法集成在AT89C51內(nèi)部。將程序下載到硬件電路中,實(shí)現(xiàn)搶答功能。 第五章 Proteus仿真系列組圖 5.1.1復(fù)位圖 圖5.1 復(fù)位顯示三個(gè)FFF 5.1.2設(shè)置計(jì)時(shí)時(shí)間 圖 5.2計(jì)時(shí)時(shí)間為33秒 5.1.3非法搶答并顯示座號(hào)
62、 圖5.3 六號(hào)選手非法搶答 5.1.4搶答成功并顯示倒計(jì)時(shí) 圖 5.4二號(hào)選手搶 5.1.5三號(hào)選手搶答成功 圖5.5 五號(hào)選手搶答 5.2本章小結(jié) 本章是搶答器的系統(tǒng)仿真部分,并對(duì)搶答器的各個(gè)流程做出了具體仿真結(jié)果。從仿真圖上可以進(jìn)一步得出結(jié)論:利用單片機(jī)設(shè)計(jì)的搶答器工作性能穩(wěn)定,延遲時(shí)間小,電路結(jié)構(gòu)簡(jiǎn)單,是一個(gè)實(shí)用、創(chuàng)新性的電路設(shè)計(jì)。 總結(jié) 本文研究與設(shè)計(jì)的六路多功能
63、搶答器采用了通用的電子元器件,利用AT89C51單片機(jī)及外圍接口實(shí)現(xiàn)搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間。計(jì)分接收的單片機(jī)部分利用匯編語(yǔ)言編寫(xiě)。設(shè)計(jì)時(shí),首先通過(guò)在線編程,然后具體安裝,仿真,完全實(shí)現(xiàn)了設(shè)計(jì)功能。 本設(shè)計(jì)中,利用常規(guī)的單片機(jī)掃描識(shí)別的方法。通過(guò)硬件電路的具體應(yīng)用和系統(tǒng)的仿真研究得出,本設(shè)計(jì)不僅安裝簡(jiǎn)單、成本低,更重要的是工作性能穩(wěn)定,是一個(gè)實(shí)用、創(chuàng)新型的工程設(shè)計(jì)。 由于采用匯編語(yǔ)言設(shè)計(jì)電路,所以本設(shè)計(jì)在編程成功后,硬件電路基本上不需要調(diào)試就可正常使用。即使在設(shè)計(jì)完畢交給用戶使
64、用后,對(duì)系統(tǒng)的功能改進(jìn)或升級(jí)也只是通過(guò)改寫(xiě)程序來(lái)完成,極大地方便了用戶或設(shè)計(jì)者對(duì)電路更新。 25 參考文獻(xiàn) (1) 李眾 張素琴 陳嬌《單片機(jī)技術(shù)與項(xiàng)目訓(xùn)練》 常州信息職業(yè)技術(shù)學(xué)院印制 2010 ( 2 ) 高偉 《AT89單片機(jī)原理及應(yīng)用》 北京:國(guó)防工業(yè)出版社 2008
65、 (3) 余發(fā)山 《單片機(jī)原理及應(yīng)用技術(shù)》 中國(guó)礦業(yè)大學(xué)出版社 2003 (4) 馬淑華 《單片機(jī)原理與接口技術(shù)》 北京:北京郵電大學(xué)出版社 2005 (5)李海濱,片春暖 《單片機(jī)技術(shù)》 北京:中國(guó)電力出版社 2009
66、 ( 6 ) 高衛(wèi)東,辛友順 《51單片機(jī)原理與實(shí)踐》 北京航空航天大學(xué)出版社 2008 答謝辭 本論文是在黃宇航老師、主任的悉心指導(dǎo)下完成的,他對(duì)本論文的選題、構(gòu)思、設(shè)計(jì)、項(xiàng)目產(chǎn)品的制作給予了許多指導(dǎo)使得本論文設(shè)計(jì)得以順利完成。黃宇航老師淵博的專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己,寬以待人的崇高風(fēng)范,樸實(shí)無(wú)華,平易近人的人格魅力對(duì)我影響深遠(yuǎn)。不僅使我樹(shù)立了遠(yuǎn)大的學(xué)習(xí)目標(biāo),掌握了基本的學(xué)習(xí)研究方法,還使我明白了許多為人處事的道理。在此,謹(jǐn)向黃宇航老師表示崇高的敬意和衷心的感謝! 我還要感謝我的一些同學(xué),他們?cè)谖易钚枰獛椭臅r(shí)候無(wú)私的伸出了援助之手,在此,對(duì)于他們無(wú)私的幫助我表示深深的感謝。可以說(shuō)如果沒(méi)有他們的幫助我就不可能順利的按時(shí)完成畢業(yè)設(shè)計(jì)。 真誠(chéng)的感謝所有的幫助過(guò)我的老師們,同學(xué)們和朋友們。 感謝對(duì)本設(shè)計(jì)進(jìn)行評(píng)審的老師們,感謝你們給我提出的寶貴意見(jiàn)和建議。
- 溫馨提示:
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. 裝配圖網(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ù)問(wèn)題講課
- 小小圖書(shū)館賈世喜
- 小班數(shù)學(xué):變得一樣多
- 蘇教版三年級(jí)數(shù)學(xué)上冊(cè)教學(xué)ppt課件58:解決問(wèn)題的策略復(fù)習(xí)
- 小學(xué)科學(xué)六下《拓展與應(yīng)用》-公開(kāi)課一等獎(jiǎng)ppt課件
- 高中英語(yǔ)人教版選修七Unit-2-Robots-ppt課件
- 第九章長(zhǎng)期負(fù)債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場(chǎng)消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應(yīng)用
- 《永遇樂(lè)·京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護(hù)患溝通技巧-課件
- 《高等數(shù)學(xué)B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(yǔ)(人教版)九年級(jí)總復(fù)習(xí)題型訓(xùn)練補(bǔ)全對(duì)話(含最新原創(chuàng)題)課件