![單片機搶答器設(shè)計畢業(yè)論文_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3b22532c-f675-41a7-a7d1-9f2ec86d36b7/3b22532c-f675-41a7-a7d1-9f2ec86d36b71.gif)
![單片機搶答器設(shè)計畢業(yè)論文_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3b22532c-f675-41a7-a7d1-9f2ec86d36b7/3b22532c-f675-41a7-a7d1-9f2ec86d36b72.gif)
![單片機搶答器設(shè)計畢業(yè)論文_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3b22532c-f675-41a7-a7d1-9f2ec86d36b7/3b22532c-f675-41a7-a7d1-9f2ec86d36b73.gif)
![單片機搶答器設(shè)計畢業(yè)論文_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3b22532c-f675-41a7-a7d1-9f2ec86d36b7/3b22532c-f675-41a7-a7d1-9f2ec86d36b74.gif)
![單片機搶答器設(shè)計畢業(yè)論文_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3b22532c-f675-41a7-a7d1-9f2ec86d36b7/3b22532c-f675-41a7-a7d1-9f2ec86d36b75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 畢 業(yè) 論 文(設(shè) 計)題 目英文題目院 系 專 業(yè) 姓 名 年 級 指導(dǎo)教師 二零一一年十二月 摘要電子智能搶答計分器在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計一個系統(tǒng)來完成這個任務(wù)。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統(tǒng)來設(shè)計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。本設(shè)計使用at89c51單片機來設(shè)計智能搶答器,組數(shù)可以在八組以內(nèi)任意使用。并且具有倒計時和時間設(shè)置及報警功能。利用at89c51單片機對信號進行鎖存、顯示等功能。分別從硬件和軟件兩方面闡述了該控制系統(tǒng)的設(shè)計方法,并經(jīng)過調(diào)試和運行使該系統(tǒng)達到預(yù)期目標
2、,具有反應(yīng)快、功能齊全、實用性強的特點。關(guān)鍵詞:at89c51;系統(tǒng)硬件;系統(tǒng)軟件;系統(tǒng)調(diào)試i單片機搶答器設(shè)計muc responder design abstract e-smart responder in the answer in the process of scoring devices, in order to know which group or which one player to answer the question, we must design a system to accomplish this task. if the responder has relie
3、d vision is difficult to determine which group to answer the question. used to design responder scm system,the above problems can be solved, even if the time difference between the two groups answer in a few microseconds, can tell which group first answer. this design using at89c51 microcontroller t
4、o design intelligent responder, group number can be used in the six groups within the arbitrary. and has a countdown and time setting and alarm function. at89c51 microcontroller using the signal latch, display. respectively, both from hardware and software described design of the control system, and
5、 through the commissioning and operation to achieve the desired goals of the system has fast response, functional and practical features. key words: at89c51; system hardware; system software; system debugging system ii 目 錄 引 言 . 1第一章 搶答器的概述 . 21.1 系統(tǒng)設(shè)計的功能 . 21.2 搶答器的需求分析 . 21.3 搶答的工作過程 . 31.4 搶答器的工作
6、原理及流程 . 4第二章 單片機的功能簡介 . 52.1 89系列單片機的概況 . 52.2 at89s51的功能 . 6第三章 硬件電路的設(shè)計 . 93.1總電路原理 . 93.2 時鐘頻率電路的設(shè)計 . 103.3復(fù)位電路的設(shè)計 . 113.4 顯示電路的設(shè)計 . 133.5 掃描電路的實現(xiàn) . 143.6系統(tǒng)復(fù)位 . 15第四章 軟件設(shè)計 . 174.1 軟件任務(wù)分析 . 174.2顯示子程序的設(shè)計 . 174.3搶答器處理程序的設(shè)計 . 19第五章 元器件及焊接調(diào)試 . 215.1蜂鳴器 . 215.2數(shù)碼管. 215.3 焊接與調(diào)試 . 22結(jié)論 . 23參考文獻 . 24附錄 程序
7、及分析. .25致 謝 . 35 iii 引言 單片機又稱為微控制器 mcu(micro controller unit),它可以很容易地將計算機嵌入到各種儀器和現(xiàn)場控制設(shè)備中,因此單片機又稱為嵌入式微控制器(embedded mcu)。目前,單片機作為微型計算機一個很重要的分支,應(yīng)用廣泛、發(fā)展迅速,特別是美國 intel公司生產(chǎn)的 mcs51系列單片機,由于體積小、重量輕、處理功能強、可靠性高、抗干擾性能強、對環(huán)境要求不高、開發(fā)較容易、具有很高的性價比等優(yōu)點,在實時控制、自動測試、智能儀器儀表、計算機終端、遙測通訊、家用電器、機電一體化等方面取得了令人矚目的成果。隨著生活水平的提高,人們越來
8、越注重于各種休閑活動,在放松自己的同時又能提高各個方面的能力,而競賽類的活動也深得大家的喜愛,各類的競賽既娛樂了自己又對各種知識有了了解,是提高知識的一個很好的途徑。搶答器普遍使用于競賽之中,但是在市場上很難買到經(jīng)濟又實惠的搶答器,特別是像經(jīng)常開展競賽的學校更加需要這樣的搶答器,此次設(shè)計就是要設(shè)計一款實用且便宜的多路搶答器。在設(shè)計中采用的是at89c51作為主控制芯片,眾所周知單片機在日常生活中許多智能控制上得到很好的使用,雖然單片機早已經(jīng)不是一個新鮮的東西了,但它之所以還在被使用,這和它的性能高,價格低,開發(fā)周期短等特點是不無關(guān)系的。1單片機搶答器設(shè)計第一章 搶答器的概述 1.1 系統(tǒng)設(shè)計的
9、功能1.1.1基本功能:(1) 同時供8名選手比賽,分別用8個按鈕s0 s7表示。(2)設(shè)置一個系統(tǒng)清除和搶答控制開關(guān)s,該開關(guān)由主持人控制。(3)搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應(yīng)的編號,揚聲器發(fā)出聲響提示,并在七段數(shù)碼管上顯示選手號碼。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。1.1.2擴展功能:(1)搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。當主持人啟動"開始"鍵后,定時器進行減計時。(2)參賽選手在設(shè)定的時間內(nèi)進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將
10、系統(tǒng)清除為止。在這段(3)如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示00。1.2 搶答器的需求分析1、在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。2、搶答限定時間和回答問題的時間可是在199s設(shè)定。3、可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示。4、搶答時間和回答問題時間倒記時顯示,時間完后系統(tǒng)自動復(fù)位。5、按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。2 1.3 搶答的工作過程 圖1.1搶答器電路3單片機搶答器設(shè)計表1.1 74ls148的功能真值表 1、如果想調(diào)節(jié)搶答時間或答題時間,按"加一"鍵或"減
11、一"鍵進入調(diào)節(jié)狀態(tài),此時會顯示現(xiàn)在設(shè)定的搶答時間或回答時間值,如想加一秒按一下"加1s"鍵,如果想減一秒按一下"減1s"鍵,時間led上會顯示改變后的時間,調(diào)整范圍為099s, 0s時再減1s會跳到99,99s時再加1s會變到0s。2、主持人按"搶答開始"鍵,會有提示音,并立刻進入搶答倒計時(預(yù)設(shè)20s搶答時間),如有選手搶答,會有提示音,并會顯示其號數(shù)并立刻進入回答倒計時(預(yù)設(shè)20s搶答時間),不進行搶答查詢,所以只有第一個按搶答的選手有效。3、如倒計時期間,主持人想停止倒計時可以隨時按"停止"按鍵,系
12、統(tǒng)會自動進入準備狀態(tài),等待主持人按"搶答開始"進入下次搶答計時。4、如果主持人未按"搶答開始"鍵,而有人按了搶答按鍵,犯規(guī)搶答,led上不顯示任何結(jié)果,直到按下"停止" 鍵為止。1.4 搶答器的工作原理及流程搶答器的基本工作原理:在搶答競賽或呼叫時,有多個信號同時或不同時送入主電路中,搶答器內(nèi)部的寄存器工作,并識別、記錄第一個號碼,同時內(nèi)部的定時器開始工作,記錄有關(guān)時間并產(chǎn)生超時信號。在整個搶答器工作過程中,顯示電路、語音電路等還要根據(jù)現(xiàn)場的實際情況向外電路輸出相應(yīng)信號。4 第二章單片機的功能簡介2.1 89系列單片機的概況 mcs-
13、51 單片機是美國inte 公司于1980 年推出的產(chǎn)品,典型產(chǎn)品有 80 31(內(nèi)部沒有程序存儲器,實際使用方面已經(jīng)被市場淘汰)、8051(芯片采用hmos,功耗是630mw,是89c51 的5倍,實際使用方面已經(jīng)被市場淘汰)和8751等通用產(chǎn)品,一直到現(xiàn)在, mcs-51內(nèi)核系列兼容的單片機仍是應(yīng)用的主流產(chǎn)品(比如目前流行的89s51、已經(jīng)停產(chǎn)的89c51 等),各高校及專業(yè)學校的培訓教材仍與mcs-51單片機作為代表進行理論基礎(chǔ)學習。有些文獻甚至也將8051泛指mcs-51 系列單片機,8051是早期的最典型的代表作,由于mcs-51單片機影響極深遠,許多公司都推出了兼容系列單片機,就是
14、說mcs-51 內(nèi)核實際上已經(jīng)成為一個8 位單片機的標準。其他的公司的51 單片機產(chǎn)品都是和mcs-51內(nèi)核兼容的產(chǎn)品而以。同樣的一段程序,在各個單片機廠家的硬件上運行的結(jié)果都是一樣的,如atmel 的89c51(已經(jīng)停產(chǎn))、89s51, philips(菲利浦),和winbond(華邦)等,我們常說的已經(jīng)停產(chǎn)的89c51 指的是atmel公司的 at 89c51 單片機,同時是在原基礎(chǔ)上增強了許多特性,如時鐘,更優(yōu)秀的是由flash(程序存儲器的內(nèi)容至少可以改寫 1000 次)存儲器取帶了原來的 rom(一次性寫入),at89c51 的性能相對于8051 已經(jīng)算是非常優(yōu)越的了。不過在市場化方
15、面,89c51 受到了pic 單片機陣營的挑戰(zhàn),89c51 最致命的缺陷在于不支持isp(在線更新程序)功能,必須加上isp 功能等新功能才能更好延續(xù)mcs-51 的傳奇。89s51就是在這樣的背景下取代89c51 的,現(xiàn)在,89s51 目前已經(jīng)成為了實際應(yīng)用市場上新的寵兒,作為市場占有率第一的atmel目前公司已經(jīng)停產(chǎn)at89c51,將用at89s51 代替。89s51在工藝上進行了改進,89s51采用0.35 新工藝,成本降低,而且將功能提升,增加了競爭力。89sxx 可以像下兼容89cxx 等51 系列芯片。市場上見到的89c51 實際都是atmel 前期生產(chǎn)的巨量庫存而以。如果市場需要
16、,atmel當然也可以再恢復(fù)生產(chǎn)at89c51。at89s51/ls51單片機是低功耗的、具有4kb在線課編程flash存儲器的單片機。它與通用80c51系列單片機的指令系統(tǒng)和引腳兼容。片內(nèi)的flash可允許在線重新編程,也可使用非易失性存儲器編程。他將通用cpu和在線可編程flash集成在一個芯片上,形成了功能強大、使用靈活和具有較高性能性價比的微控制器。 5單片機搶答器設(shè)計2.2 at89s51的功能2.2.1 at89s51特殊功能寄存器特殊功能寄存器也稱專用寄存器,是具有特殊功能的所有寄存器的集合,簡稱sfr(special function register)。特殊功能寄存器共含有2
17、2個不同寄存器。它們的址分配在80hffh中,即在ram地址中。這些寄存器的名稱和地址見表2.2。 表2.1器件選型方案的詳細清單器件名稱 規(guī)格型號 數(shù)量 雖然特殊功能寄存器地址在80hffh之中,但在80hffh的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內(nèi)容是不確定的,如果對這些單元進行操作,得到的是一些隨機數(shù),而寫入則無效。所以,用戶編程時不應(yīng)該將數(shù)據(jù)寫入這些未確定的地址單元,它們是公司留待將來開發(fā)新產(chǎn)品時使用的6 表2.2 at89s51特殊功能寄存器列表注:帶*號的特殊功能寄存器都是可以位尋址的寄存器7單片機搶答器設(shè)計2.2.2 at89s51單片機的at8
18、9s51單片機的內(nèi)部結(jié)構(gòu)圖 為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個通用寄存器b和一些專用寄存器,還增加了位處理邏輯電路的功能。其內(nèi)部結(jié)構(gòu)如圖2.1所示。8 第三章硬件電路的設(shè)計3.1總電路原理為使硬件電路設(shè)計盡可能合理,應(yīng)注意以下幾方面:(1) 盡可能采用功能強的芯片,以簡化電路,功能強的芯片可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總和高。(2) 留有設(shè)計余地。在設(shè)計硬件電路時,要考慮到將來修改擴展的方便。因為很少有一錘定音的電路設(shè)計,如果現(xiàn)在不留余地,將來可能要為一點小小的修改或擴展而被迫進行全面返工。(3) 程序空間,選用片ra
19、m空間,at89s51i/o端口:在樣機研制出來后進行現(xiàn)場試用時,往往會發(fā)現(xiàn)一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計就預(yù)留出一些i/o端口,雖然當時空著沒用,那么用的時候就派上用場了。p2.4為開始搶答,p2.5為加分,p2.6為減分,p1.0-p1.7為六八搶答輸入,數(shù)碼管段選p0口,位選p2口低3位,蜂鳴器輸出為p2.7口。9單片機搶答器設(shè)計 圖3.1 搶答器原理圖 3.2 時鐘頻率電路的設(shè)計時鐘電路是計算機的心臟,它控制著計算機的工作節(jié)奏。mcs-51單片機允許的時鐘頻
20、率是因型號而異的。晶振的選擇:6mhz的晶振,其機器周期是2us。12mhz的晶振,其機器周期是1us, 也就是說在執(zhí)行同一條指令時用6mhz的晶振所用的時間是12mhz晶振的兩倍。為了提高整個系統(tǒng)的性能我選擇了12mhz的晶振。振蕩方式的選擇:內(nèi)部振蕩方式,mcs-51內(nèi)部都有一個反相放大器,xtal1、xtal2分別為反相放大器輸入和輸出端,外接定時反饋元件以后就組成振蕩器,產(chǎn)生時鐘送至單片機內(nèi)部的各個部件。這樣就構(gòu)成了內(nèi)部振蕩方式外部振蕩方式是把已有的時鐘信號引入單片機內(nèi)。這種方式適合用來使單片機的時鐘與外部信號一致。在我的這個設(shè)計中沒有也無需與外部時鐘信號一致,所以我選擇了內(nèi)部振蕩方式
21、,由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生10振蕩時鐘脈沖。晶振我選擇了12mhz,相對于6mhz的晶振,整個系統(tǒng)的運行速度更快了。電容器c1、c2起穩(wěn)定振蕩頻率、快速起振的作用,電容值我選擇了30pf。內(nèi)部振蕩方式所得的時鐘信號穩(wěn)定性高。 圖3.2時鐘電路的設(shè)計 單片機必須在時鐘的驅(qū)動下才能工作.在單片機內(nèi)部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機內(nèi)部的各個單元,決定單片機的工作速度。一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振
22、的頻率確定。電路中兩個電容 c1,c2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調(diào)。c1,c2的典型值為30pf。單片機在工作時,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用fosc表示。如時鐘頻率為12mhz,即fosc=12mhz,則時鐘周期為1/12s。3.3復(fù)位電路的設(shè)計3.3.1 復(fù)位電路的可靠性設(shè)計計算機在啟動運行是都需要復(fù)位,使中央處理器cpu和系統(tǒng)中的其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。mcs-51的復(fù)位輸入引腳rst為mcs-51提供了初始化的手段,可以使程序從指定處開始
23、執(zhí)行,在mcs-51的時鐘電路工作后,只要rst引腳上出現(xiàn)超過兩個機器周期以上的高電平時,即可產(chǎn)生復(fù)位的操作。只要rst保持高電平,則mcs-51循環(huán)復(fù)位。只有當rst由高電平變低電平以后,mcs-51才從0000h 11單片機搶答器設(shè)計地址開始執(zhí)行程序。本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。mcs-51單片機有一個復(fù)位引腳rst,它是施密特觸發(fā)輸入,當振蕩器起振后,該引腳上出現(xiàn)2個機器周期(即24個時鐘周期)以上的高電平。使器件復(fù)位,只要rst保持高電平,mcs-51保持復(fù)位狀態(tài)。此時ale、/psen、p0、p1、p2、p3口都輸出高電平。rst變?yōu)榈碗娖胶?,退出?fù)位,cpu從初始狀態(tài)開始工作
24、。復(fù)位以后一個電阻至vss,就能實現(xiàn)上電自動復(fù)位,對于cmos單片機只要接一個電容至vcc即可。如圖,在加電瞬間,電容通過電阻充電,就在rst端出現(xiàn)一定時間的高電平,只要高電平時間足夠長,就可以使mcs-51有效地復(fù)位。rst端在加電時應(yīng)保持的高電平時間包括vcc的上升時間和振蕩器起振時間,vcc上升時間若為10ms,振蕩器起振時間和頻率有關(guān)。10mhz時間約為1ms,1mhz時約為10ms,所以一般為了可靠地復(fù)位,rst在上電時應(yīng)保持20ms以上的高電平。圖2.5中,rc時間常數(shù)越大,上電時rst端保持高電平的時間越長。當振蕩頻率為12mhz時,典型值為c=10uf,r=8.2k. 圖3.3
25、上電復(fù)位電路 12 3.3.2人工復(fù)位除上電自動復(fù)位以外,常常需要人工復(fù)位,將一個按鈕開關(guān)并聯(lián)于上電自動復(fù)位電路,按一下開關(guān)就rst端出現(xiàn)一段時間的高電平,即使器件復(fù)位。如圖所示。 圖3.4上電和開關(guān)復(fù)位 而我們在這次的畢業(yè)設(shè)計中運用的人工復(fù)位電路。其中電平復(fù)位是通過rst端經(jīng)電阻和電源vcc接通而實現(xiàn)的,按鍵手動電平復(fù)位電路如圖。當時鐘頻率選用12mhz時,c選取10uf,r選擇1000歐。3.4 顯示電路的設(shè)計顯示功能與硬件關(guān)系極大,當硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。3.4.1 顯示模塊在系統(tǒng)硬件中的安排操作者主要設(shè)計從顯示設(shè)備上獲取微機系統(tǒng)
26、的信息的,因此,操作者每操作一下,顯示設(shè)備商都應(yīng)該有一定的反應(yīng)。這說明,顯示模塊與操作有關(guān),即監(jiān)控程序是需要調(diào)用顯示模塊。不同的操作需要顯示不同的內(nèi)容,這又說明各執(zhí)行模塊對顯示模塊的驅(qū)動方式是不同的。另一方面,在操作者沒有進行操作時,顯示內(nèi)容也是變化的,如顯示現(xiàn)場各物理量的變化情況。這時顯示模塊不是由操作者通過命令鍵來驅(qū)動,而是由各類自動執(zhí)行的功能模塊來驅(qū)動。自動執(zhí)行的各類模塊在安排在各種中斷子程序中,這就是說,各種中斷子程序也要調(diào)用顯示模塊。如果監(jiān)控安排在中斷子程序中,兩者的要求就統(tǒng)一了,問題比較好解決,如果監(jiān)控程序安排在主程序中,在監(jiān)控程序調(diào)用顯示模塊的過程中發(fā)生了中斷,中斷子程序也調(diào)用顯
27、示模塊,這時就容易出問題。一種比較妥善的辦法是只讓一處調(diào)用顯示模塊,其他各處均不得直接調(diào)用顯示模塊,但有權(quán)申請顯示。這就要設(shè)置一個顯示申請標志,當某模塊需要顯示時,將申請標志置位,同時設(shè)定有關(guān)顯示 13單片機搶答器設(shè)計 ;查字型碼mov p2,#01h ;送位選碼mov p0,a ;送字型碼acall delay ;調(diào)延時,去閃爍在七段數(shù)碼管顯示中可分為共陽極和共陰極兩種類型極。以共陰為例,要想a段亮,向a段送1就是,返之送0,共陽剛好相反。 3.5 掃描電路的實現(xiàn)14 鍵盤是人與微機系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一
28、般也提供了相應(yīng)的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機應(yīng)用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤。它們各有自己的特點,其中獨立鍵盤硬件電路簡單,而且在程序設(shè)計上也不復(fù)雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象。這里采用最常用的方法,即延時重復(fù)掃描法,延
29、時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾ms,而我們按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里我們?nèi)?0ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。3.5.1 按鈕輸入的硬件處理按鈕的觸點在閉合和斷開時均會產(chǎn)生抖動,這是觸點的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于5ms,例如取10-20ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在
30、定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。3.6系統(tǒng)復(fù)位使cpu進入初始狀態(tài),從0000h地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實現(xiàn)系統(tǒng)復(fù)位的方法來看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過cpu外部的硬件電路給cpu的reset端加上足夠時間的高電位才能實現(xiàn)。上電復(fù)位,人工
31、按鈕復(fù)位和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動清除中斷激活標志,使中斷系統(tǒng)能夠正常工作,這樣一個事實卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從0000h地址開始執(zhí)行。對各專用寄存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實際需要去主程序初始化 15單片機搶答器設(shè)計過程中完成。而對中斷激活標志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。有的編程人員用020000(ljmp 0000h)作為軟件陷阱,認為直接轉(zhuǎn)向0000h地址就完成了軟件復(fù)位
32、,就是這類錯誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標志已置位,它將阻止同級中斷響應(yīng)。由于軟件看門是高級中斷,它將阻止說要中斷響應(yīng),由此可見清除中斷激活標志的重要性。在所有的指令中,只有reti指令能夠清除中斷激活標志。前文各處提案到的出錯處理程序err主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。有復(fù)位時系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟動”?!袄鋯印睍r,系統(tǒng)的狀態(tài)全部無效,進行徹底的初始化操作;而“熱啟動”時,對系統(tǒng)的當前狀態(tài)進行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運行時,必須是“冷啟動”
33、,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”。為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標志來區(qū)分,如圖3.5所示。 圖3.5 系統(tǒng)復(fù)位策略圖16 第四章 軟件設(shè)計4.1 軟件任務(wù)分析軟件任務(wù)分析和硬件電路設(shè)計結(jié)合進行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計基本定型后,也就基本上決定下來了。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質(zhì)性的功能,如測量,計算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各
34、執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當組織調(diào)度角色的軟件。這兩類軟件的設(shè)計方法各有特色,執(zhí)行軟件的設(shè)計偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務(wù)分析時,應(yīng)將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進行定義時,將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當一名操作工人比較容易,而當一個廠長就比較難了。軟件任務(wù)分析的另一個內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個系統(tǒng)軟件可
35、分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調(diào)用的子程序,這類程序?qū)崟r性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實時性要求較高的內(nèi)容,如定時系 統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序為“使系統(tǒng)進入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。4.2顯示子程序的設(shè)計顯示子程序,及部分注解如下:display:mov dptr,#dat1;查表顯示程序,利用p0口做段選碼口輸出/p2低三位做位選碼輸出,mov a,r3movc a,a+dptrmo
36、v p2,#0fehmov p0,a17單片機搶答器設(shè)計acall delaymov dptr,#dat2mov a,r5movc a,a+dptrmov p2,#0fdhmov p0,aacall delaymov a,r4movc a,a+dptrmov p2,#0fbhmov p0,aacall delayretdat1:db 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71h;"滅","1","2","3","4","5",
37、"6","7","8","9","滅","f"dat2:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71h第一個為零,其他與上相同,因為十位如果為零顯示熄滅定時器t0、t1中斷服務(wù)程序的設(shè)計=to溢出中斷(響鈴程序)=t0int: mov th0,#0echmov tl0,#0ffhjnb ring,out;cpl p3.6 ;ring 標志位為1時候p3.6口不斷取反使喇叭發(fā)出一定頻率的聲音 out: retit1溢出中斷(
38、計時程序):t1int: mov th1,#3chmov tl1,#0b0hinc r0reti18 end4.3搶答器處理程序的設(shè)計搶答器處理程序:true1: acall bark ;按鍵發(fā)聲mov a,r2mov r6,a ;mov r3,#01hclr ok ;ajmp counttrue2:acall bark;mov a,r2mov r6,amov r3,#02hclr okajmp counttrue3:acall bark;mov a,r2mov r6,amov r3,#03hclr okajmp counttrue4:acall bark;mov a,r2mov r6,amo
39、v r3,#04hclr okajmp counttrue5: acall bark;mov a,r2mov r6,amov r3,#05hclr okajmp count搶答時間r2送r6 因為答題的計時不再查詢搶答,所以就鎖了搶答 19單片機搶答器設(shè)計true6: acall bark; mov a,r2mov r6,amov r3,#06h clr okajmp counttrue7: acall bark; mov a,r2mov r6,amov r3,#07h clr okajmp counttrue8: acall bark; mov a,r2mov r6,amov r3,#08h
40、 clr okajmp count20 第五章 元器件及焊接調(diào)試5.1蜂鳴器蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件。 ;蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“h”或“ha”(舊標準用“fm”、“l(fā)b”、“jd”等)表示 圖5.1 蜂鳴器 5.2 數(shù)碼管1、說明(1)電子板上電時數(shù)碼顯示管顯示open (2)每按下一次數(shù)字鍵蜂鳴器鳴叫一聲,數(shù)碼顯示管顯示該數(shù)字,表示該鍵輸入已被承認。(3)操作鍵板上“*” 用于表示消除“”鍵用于表示確認和開啟報警
41、程序。(4)按下任意鍵則喚醒進入功能操作。2、個人密碼的設(shè)置與更改(1)按下設(shè)置,蜂鳴器鳴叫長響一聲,數(shù)碼顯示管顯示c1in個人密碼開始設(shè)置或更改。(2)任意輸入1至12位數(shù)字(輸入多于12位的成個人密碼設(shè)置無效)后 “”鍵確認,蜂鳴器鳴叫長響一聲,數(shù)碼顯示管顯示set ci表示個人設(shè)置成功,如無任何操作系統(tǒng)自動進入休眠狀態(tài)。(3)除非斷電至信息丟失或執(zhí)行步驟個人密碼的設(shè)置與更改(1),否則個人密碼永遠保存,不變更。3、管理密碼的設(shè)置(1)按下兩次“0”鍵再按下設(shè)置鍵,蜂鳴器鳴叫長響一聲,數(shù)碼顯示管顯示c2in ,個人密碼開始設(shè)置或更改。(2)任意輸入1至12位數(shù)字(輸入多于12位的成個人密碼
42、設(shè)置無效)后按“”鍵確認,蜂鳴器鳴叫長響一聲,數(shù)碼顯示管顯示setc2表示個人設(shè)置成功,如無任何操作系統(tǒng)自動進入休眠狀態(tài)。(3)除非斷電至信息丟失或執(zhí)行步驟管理密碼的設(shè)置(1),否則管理密碼永遠保存,不變更。4、開門,鎖門(1)輸入正確的管理密碼或個人密碼后按 “”鍵確認,蜂鳴器鳴叫長響一聲,數(shù)碼顯示管顯示set ci或set c 2表示密碼正確,電磁鐵吸合,可以開門、鎖門動作。(2)約6秒以后,電磁鐵釋放。 (3)如果密碼輸入不正確,按下“”鍵確認蜂鳴器鳴會發(fā)出急促的提示音,數(shù)碼顯示管 21單片機搶答器設(shè)計顯示error。(4)如果三次輸入均不正確,數(shù)碼顯示管顯示rejec,3分鐘內(nèi)將不接受
43、輸入密碼。5、報警 在休眠狀態(tài)下按“”開啟報警程序,電子板受到搖晃或震動報警開始。 6、欠壓指示 欠電壓開門時,數(shù)碼顯示管顯示lo bat。(此時仍能繼續(xù)工作,但請用戶立即更換電池,本產(chǎn)品使用4節(jié)5號堿性電池) 5.3 焊接與調(diào)試pcb板做好了,孔也打好了,接下來的工作就是焊接。先把烙鐵靠近焊盤,緊接著把錫絲往烙鐵上送,等錫絲熔了輕輕一提,一個又圓又亮的焊點就做好了。板子做好后在一個小時左右把元件都焊上去了。焊接后的板子如圖5.2 圖5.2 實物圖 焊接好后的調(diào)試就是最激動人心的時候,插上電源,發(fā)現(xiàn)數(shù)碼管不亮,當按下復(fù)位鍵時數(shù)碼管就亮了,并且所有功能都能正常運行,重新打了個撥動開關(guān)的孔,用跳線
44、把復(fù)位按紐接到了撥動開關(guān),這樣搶答器功能基本實現(xiàn)了。22 結(jié)論本設(shè)計中,利用常規(guī)的單片機掃描識別的方法。通過硬件電路的具體應(yīng)用和系統(tǒng)的仿真研究得出,本設(shè)計不僅安裝簡單、成本低,更重要的是工作性能穩(wěn)定,是一個實用、創(chuàng)新型的工程設(shè)計。由于采用匯編語言設(shè)計電路,所以本設(shè)計在編程成功后,硬件電路基本上不需要調(diào)試就可正常使用。即使在設(shè)計完畢交給用戶使用后,對系統(tǒng)的功能改進或升級也只是通過改寫程序來完成,極大地方便了用戶或設(shè)計者對電路更新?;仡^再看看該設(shè)計,還可以將設(shè)計的擴展功能增強:1、可以設(shè)計聲控裝置,在主持人說開始時,系統(tǒng)自動完成清零并開始計時的功能。2、在主持人讀題的過程中,禁止搶答,可以在主持人
45、控制的開關(guān)上另接一個與其一樣的電路,即可實現(xiàn)“違規(guī)者可見”的功能,即在主持人讀題時如果有人違反比賽規(guī)定搶先按動按鈕,顯示器可以顯示是哪個參賽隊搶先,便于作出相應(yīng)的處理。如果提供相應(yīng)的器材及時間上的寬限,一定可以完成上述擴展功能,進一步完善作品。在老師和同學的幫助下終于徹底的做完了畢業(yè)設(shè)計的所有工作。通過這次的畢業(yè)設(shè)計,我能運用已學的知識解決我在設(shè)計中遇到的問題,使自己的動手能力和思考問題的能力得到了很大的提高。在做設(shè)計的過程中我查閱了很多的資料,并認真的閱讀這些與我的設(shè)計相關(guān)的資料,從而我的專業(yè)涵養(yǎng)得到了提高,知識的儲備量也有所增加。在做設(shè)計時,我復(fù)習了很多專業(yè)課的知識,這使得我的專業(yè)知識在離
46、校之前得到了鞏固。我認為這是我在整個設(shè)計工程中得到的最好的回報。整個設(shè)計通過了軟件和硬件上的調(diào)試、仿真。我想這對于自己以后的學習和工作都會有很大的幫助的。在這次設(shè)計中遇到了很多實際性的問題,在實際設(shè)計中才發(fā)現(xiàn),書本上理論性的東西與在實際運用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。對于單片機設(shè)計,其硬件電路是比較簡單的,主要是解決程序設(shè)計中的問題。而程序設(shè)計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能力。它才是一個設(shè)計的靈魂所在。因此在整個設(shè)計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關(guān)鍵的問題所在,這需要對單片機的結(jié)構(gòu)很熟悉。因此可以說單片機的設(shè)計是軟件和硬件的結(jié)合,二者是密不可分的。23單片機搶答器設(shè)計參考文獻1 陳大欽編.電子技術(shù)基礎(chǔ)實驗(第二版)m.湖北:機械工業(yè)出版社,20012 李廣弟.單片機基礎(chǔ)m.北京:北航出版社,20103 胡學海.單片機原理及應(yīng)用系統(tǒng)設(shè)計m.北京:京電子工業(yè)出版社,20054 盧飛躍.紅外遙控多路搶答器的設(shè)計j.番禺職業(yè)技術(shù)學報,2003,2(2):10-12.5 王公堂.基于ip1c68f73的61路搶答器j.電腦開發(fā)與應(yīng)用,2006,9(9):83-846 梁
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年岳陽貨運從業(yè)資格考試
- 2025年晉城貨運資格證考試有哪些項目
- 2025年南京貨運資格考試答案
- 2025年天津貨運從業(yè)資格證考試題技巧答案詳解
- 電梯維護保養(yǎng)合同(2篇)
- 電力用戶協(xié)議(2篇)
- 2025年市婦聯(lián)執(zhí)委會議上的工作報告
- 浙教版數(shù)學七年級上冊2.5《有理數(shù)的乘方》聽評課記錄1
- 徐州報關(guān)委托協(xié)議
- 幼兒園后勤總務(wù)工作計劃范本
- 中華人民共和國文物保護法學習課程PPT
- 2023湖南株洲市茶陵縣茶陵湘劇保護傳承中心招聘5人高頻考點題庫(共500題含答案解析)模擬練習試卷
- 江西省上饒市高三一模理綜化學試題附參考答案
- 23-張方紅-IVF的治療流程及護理
- 因數(shù)和倍數(shù)復(fù)習思維導(dǎo)圖
- LY/T 2986-2018流動沙地沙障設(shè)置技術(shù)規(guī)程
- GB/T 16288-1996塑料包裝制品回收標志
- 三級教育考試卷(電工)答案
- 醫(yī)院標準化運營管理課件
- 音樂考級-音程識別(基本樂科三級)考試備考題庫(附答案)
- 物業(yè)服務(wù)投標文件
評論
0/150
提交評論