版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業(yè)設計說明書基于單片機at89c51的數字搶答器設計專業(yè)電氣工程及其自動化學生姓名班級學號指導教師完成日期2010年6月5日基于單片機at89c51的數字搶答器設計摘 要:搶答器作為一種電子產品已廣泛應用于各種智力和知識競賽場合。一個八路數字搶答器的設計需要考慮到可更改回答及搶答時間功能,利用at89c51單片機及外圍接口實現的搶答系統(tǒng),利用單片機的定時器/計數器定時和記數的原理,將軟硬件有機地結合起來,使得系統(tǒng)能夠正確地進行計時,同時使數碼管能夠正確地顯示時間。用開關做鍵盤輸出,揚聲器發(fā)聲提示。同時系統(tǒng)能夠實現在搶答中只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題
2、的時間可在1-99s設定,可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示,搶答時間和回答問題時間倒記時顯示,滿時后系統(tǒng)計時自動復位及主控強制復位,按鍵鎖定,在有效狀態(tài)下,按鍵無效非法?;趩纹瑱Cat89c51的數字搶答器設計, 首先完成總體方案的論證制定,繪制控制臺的總體框圖,然后分析系統(tǒng)的工作原理,在此基礎上設計出各部分單元電路原理圖,分析其工作原理,進一步完成對系統(tǒng)電路的設計。在對系統(tǒng)工作原理充分研究的基礎上,選擇合適的元件型號和參數,再用protel繪圖軟件畫出電路原理圖。關鍵詞:at89c51; led數碼管; 搶答器; 計時器鹽城工學院本科生畢業(yè)設計說明書( 2010)e
3、ight-way first answer device based on at89c51abstract: responder as an electronic products have been widely used in intelligence and knowledge competitions occasions. an eight-way digital answering device designed to take into account to answer and answer in time to change the function, using at89c5
4、1 microcontroller and external interface of the answer system, using single chip timer / counter the principle of timing and counting, will organically combine hardware and software , allows the system to correctly time, while the digital control to correctly display the time. switching to do with t
5、he keyboard output, speaker voice prompts. at the same time the system can be achieved only after the beginning of the responder responder only effective if started before the responder responder to be invalid; answer in a limited time and the time to answer questions can be set in 1-99s, which play
6、ers can display is effective and ineffective responder responder , the correct button prompt after the music, answer in time and answer the questions of time countdown display, the system time after the expiration of the master force automatic reset and reset, the keys are locked in an effective sta
7、te, the button is not illegal.at89c51 microcontroller based digital answering device design, the first complete demonstration of the overall program development, rendering the overall block diagram of the console, and then analyze the working principle, based on the design of this unit of each part
8、of the circuit schematic, and its working principle, further complete the system circuit design. the system works in full on the basis, select the appropriate component models and parameters, and then draw protel schematic drawing software. key words: at89c51; led digital tubes; the first answer dev
9、ice; time37目 錄1. 概 述11.1 課題的相關背景11.2 選題的目的和意義11.3 課題研究的內容11.4 課題的優(yōu)點及組成12. 方案論證23. 搶答器的系統(tǒng)概述33.1 國內外的研究現狀33.2 搶答器的簡介33.3 系統(tǒng)需求分析43.4 搶答器運行的流程圖43.5 搶答器的工作過程63.6 at89c51的功能及簡介63.7 at89c51特殊功能寄存器94. 硬件設計模塊104.1 硬件電路的設計104.2 穩(wěn)壓電源電路設計114.3 時鐘頻率電路的設計124.4 復位電路的設計124.5 顯示電路的設計134.6 鍵盤掃描電路的設計144.7 發(fā)聲電路的設計164.8
10、 系統(tǒng)復位165. 軟件設計模塊195.1 主程序系統(tǒng)結構圖195.2 軟件任務分析195.3 程序流程圖205.4 proteus軟件仿真系列組圖216. 結束語23參考文獻24致 謝25附 錄26附錄1:八路搶答器程序清單26附錄2:設計圖紙37附錄3:元器件目錄表38基于單片機at89c51的數字搶答器設計1. 概 述1.1 課題的相關背景隨著計算機技術的發(fā)展和在控制系統(tǒng)中的廣泛應用,以及設備向小型化、智能化發(fā)展,作為高新技術之一的單片機以其體積小、功能強、價格低廉、使用靈活等優(yōu)勢,顯示出了很強的生命力。進入21世紀以來,開發(fā)推出單片機的公司很多,各種高性能單片機芯片市場也異?;钴S,新技
11、術的不斷采用,更加使單片機的種類、性能以及應用領域不斷擴大和提高。因其功耗低,超高型,低成本,功能完整,在國內越來越受到用戶的重視和廣泛使用。1.2 選題的目的和意義通過這次設計,掌握51單片機的原理,了解簡單多功能搶答器組成原理,初步掌握多功能搶答器的調整及測試方法,提高獨立思考能力和排除故障的能力。同時通過本課題設計與調試,提高自己的動手能力,鞏固已學的理論知識,建立單片機理論和實踐的結合,了解多功能搶答器各單元電路之間的關系及相互影響,從而能正確設計、計算定時計數的各個單元電路。初步掌握多功能搶答器的調整及測試方法。無論是軍隊還是電視節(jié)目中,都可能會舉辦各種各樣的智力競賽,都會用到搶答器
12、。如果要是讓搶答者用舉手等方法,主持人很容易誤判,會造成搶答的不公平,比賽中為了準確、公正、直觀地判斷出第一搶答者,所設計的搶答器通常由數碼顯示、燈光、音響等多種手段指示出第一搶答者。為了使這種不公平不發(fā)生,只有靠電子產品的高準確性來保障搶答的公平性。1.3 課題研究的內容系統(tǒng)采用模塊化設計智能搶答器,在搶答比賽中廣泛應用,各組分別有一個搶答按鈕。主持人有開始和結束、復位鍵。在后臺主持人可以修改,搶答時間和選手回答問題的時間設置,原始狀態(tài)下搶答時間為30s,回答問題時間為30s。通過加鍵和減鍵修改上述時間,改完后結束鍵確定。新時間開始有效,主持人按鍵開始后,選手開始搶答為有效,數碼顯示屏顯示搶
13、答時間倒計時和選手號,在最后五秒揚聲器發(fā)生提示。如果主持人沒有按下開始鍵而選手就搶答視為犯規(guī),數碼顯示屏顯示犯規(guī)者的代號,揚聲器持續(xù)發(fā)生。主持人可按鍵結束,新一輪搶答開始。1.4 課題的優(yōu)點及組成在知識比賽中,特別是做搶答題目的時候,在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設計一個系統(tǒng)來完成這個任務。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統(tǒng)來設計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。課題中主要介紹了單片機搶答器設計及工作原理,以及它的實際用途。本系統(tǒng)采用at89c51單片機作為核心。控制系統(tǒng)的四個模塊分別為:存儲模塊、
14、顯示模塊、聲音模塊、搶答開關模塊。該搶答器系統(tǒng)通過八個個按鍵輸入搶答信號;利用存儲程序來完成軟件的設計;利用一個4位七段共陰數碼管來完成顯示功能。工作時,用按鍵通過開關電路輸入各路的搶答信號,經單片機的處理,輸出控制信號,控制4位七段共陰數碼管和喇叭工作。在數碼管上顯示哪一組先答題,從而實現整個搶答過程。2. 方案論證方案一: 八路搶答器可以利用硬件電子元器件實現,系統(tǒng)各部分采用中小規(guī)模集成數字電路,用機械開關按鈕作為控制開關,完成搶答輸入信號的觸發(fā)。該方案的特點是中小規(guī)模集成電路應用技術成熟,性能可靠,能方便地完成選手搶答的基本功能,但是電路結構復雜,調試困難,涉及到外圍元件多,并且制作過程
15、工序比較煩瑣,不便于安裝,實驗給實際操作帶來很大的麻煩。方案二: 該系統(tǒng)采用mcs-51系列單片機at89c51作為控制核心,其片內帶有4kflashrom,128的ram,以及15根i/o口線能滿足設計要求。該系統(tǒng)可以完成運算控制、信號識別以及顯示功能的實現。利用單片機程序判斷選手按鍵是否有效,但是選手違規(guī)搶答,利用簡答程序顯示,啟動蜂鳴器報警,告訴主持人有人違規(guī)操作,搶答無效。給出相應的延時,選手按正常的操作搶答,軟件倒計時,利用at89c51移位寄存7段數碼管,實現倒計時顯示時間,到5秒相應時間提醒選手時間快到了,要及時作答,并啟動蜂鳴器。由于用了單片機,使其技術比較成熟,應用起來方便、
16、簡單并且單片機周圍的輔助電路也比較少,便于控制和實現。整個系統(tǒng)具有極其靈活的可編程性,能方便地對系統(tǒng)進行功能的擴張和更改性。 方案比較分析:從第一個方案我們可以看出,這個搶答器是由搶答電路,定時電路,報警電路,時序控制電路四個電路組成。擴展電路是由秒鐘脈沖信號產生電路,譯碼電路,顯示電路等,它的功能很齊全,設計的電路也很穩(wěn)定。但是它的造價卻很高,僅僅是集成電路他就用了八個,這個跟我們當初的設計理念是相沖突的。我們要的是功能齊全,但是造價比較低的設計。所以我們放棄這個方案。而方案二采用單片機,可靠性好,結構簡單,具有顯示出臺號,倒計時功能等。該模式充分體現了原有系統(tǒng)性能的改進,功能的擴展及其他同
17、類系統(tǒng)的不同之處,它包括硬件邏輯圖與軟件流程圖,比較經濟實用,所以我們選用單片機的方案。3. 搶答器的系統(tǒng)概述3.1 國內外的研究現狀搶答器作為一種電子產品,早已廣泛應用于各種智力和知識競賽場合,但目前所使用的搶答器有的電路較復雜不便于制作,可靠性低,實現起來很困難;有的則用一些專用的集成塊,而專用集成塊的購買又很困難。為適應高校等多代表隊單位活動的需要而設計一個多功能搶答器,這種搶答器具有電路簡單,元件普通,易于購買等優(yōu)點,很好地解決了制作者制作困難和難于購買的問題。在國內外已經開始了普遍的應用。3.2 搶答器的簡介數字搶答器系統(tǒng)設計是借用單片機采用模塊化設計的八路搶答器,包括8路搶答按紐、
18、計時顯示、提示功能、開始與結束控制按鈕、時限設定、各種相關顯示調控功能等。參賽者系統(tǒng),除享有搶答按紐的權利功能外,還有人性化的提示功能和時間提示功能,也可設定由主控控制在參賽者終端表現的趣味性功能等;主控系統(tǒng)的控制按鈕做開始與結束控制,根據活動參賽者的層次,對提前掄答者的行為設定為非法或阻隔,若設有非法搶答控制功能時,在主控處帶有公示性顯示的非法掄答者的臺位號,對搶答限時及回答問題限時設為倒計時,并有顯示提示。系統(tǒng)的主要功能模塊方框圖如圖3-1所示。 at89c51單片機4位七段數碼管顯示聲音電路=8路搶答按鍵輸入復位電路開始、結束按鍵輸入加一、減一按鍵輸入時鐘圖3-1 系統(tǒng)主要功能模塊數字搶
19、答器采用模塊化設計,在搶答比賽中廣泛應用,各組分別有一個搶答按鈕。一共有8個按鍵輸入,分別對應8路選手的搶答按鍵。主持人有開始和結束鍵。在后臺主持人可以修改,搶答時間和選手回答問題的時間設置,原始狀態(tài)下搶答時間為30s,回答問題時間為30s。通過加鍵和減鍵修改上述時間,改完后結束鍵確定。新時間開始有效,主持人按鍵開始后,選手開始搶答為有效,數碼顯示屏顯示搶答時間倒計時和選手號,在最后五秒揚聲器發(fā)生提示。如果主持人沒有按下開始鍵而選手就搶答視為犯規(guī),數碼顯示屏顯示犯規(guī)者的代號,揚聲器持續(xù)發(fā)生。主持人可按鍵結束,新一輪搶答開始。單片機是整個搶答器的核心,內部電路設計用匯編語言編寫。它完成了時間參數
20、的設定,搶按號碼的譯碼,保存;顯示;輸出,搶按及答題倒計時功能等。數字搶答器設計中,有一個共陰的數碼管組,四個數碼管。其中兩個顯示時間,一個空位,一個顯示搶答號碼。主持人依次按下復位鍵,開始鍵后開始搶答??梢該尠矗撼瑫r數碼管顯示“fff”,當搶按超過規(guī)定時間或答題超過規(guī)定時間后數碼管顯示“fff”。若有選手在規(guī)定時間內搶按成功,則可以答題,數碼管顯示搶答時間的同時也顯示選手號碼。若在按開始鍵前搶答表示違規(guī),數碼管顯示“ff”并顯示選手號碼。3.3 系統(tǒng)需求分析a.在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。b.搶答限定時間和回答問題的時間可以在199s設定。c.可以顯示是哪位選
21、手有效搶答和無效搶答,正確按鍵后有蜂鳴器提示。d.搶答時間和回答問題時間倒記時顯示,時間完后系統(tǒng)自動復位。e.搶答限定時間內使用錦囊回答時間將加到60s。f.按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。3.4 搶答器運行的流程圖搶答器的基本工作原理:在搶答競賽或呼叫時,有多個信號同時或不同時送入主電路中,搶答器內部的寄存器工作,并識別、記錄第一個號碼,同時內部的定時器開始工作,記錄有關時間并產生超時信號。在整個搶答器工作過程中,顯示電路、聲音電路等還要根據現場的實際情況向外電路輸出相應信號。搶答器的工作流程分為:系統(tǒng)復位、正常流程、違例流程等幾部分,如圖3-2所示,下面分別予以介紹。加載程序運 行行
22、開始開始數碼管顯示fff開始搶按時間倒計時開始前有選手搶按顯示違例選手號碼并伴有語音報警倒計時結束,超時有選手搶按顯示fff顯示選手號碼,倒計時時間,語音報警,答題,答題時間倒計時正常流程違規(guī)流程若超過答題時間,則數碼管顯示fff答題完畢根據選手表現,規(guī)則由主持人減分圖3-2 搶答器工作流程3.5 搶答器的工作過程a.如果想調節(jié)搶答時間或答題時間,按“加一”鍵或“減一”鍵進入調節(jié)狀態(tài),此時會顯示現在設定的搶答時間或回答時間值,如想加一秒按一下加1s鍵,如果想減一秒按一下“減1s”鍵,時間led上會顯示改變后的時間,調整范圍為0-99s, 0s時再減1s會跳到99,99s時再加1s會變到0s。b
23、.主持人按搶答開始鍵,會有提示音,并立刻進入搶答倒計時(預設30s搶答時間),如有選手搶答,會有提示音,并會顯示其號數并立刻進入回答倒計時(預設30s搶答時間),不進行搶答查詢,所以只有第一個按搶答的選手有效。倒數時間到小于5s會每秒響一下提示音。c.如倒計時期間,主持人想停止倒計時可以隨時按“停止”按鍵,系統(tǒng)會自動進入準備狀態(tài),等待主持人按“搶答開始”進入下次搶答計時。d.如果主持人未按“搶答開始”鍵,而有人按了搶答按鍵,犯規(guī)搶答,led上不斷閃爍ff和犯規(guī)號數并響個不停,直到按下“停止” 鍵為止??偠灾菊n題利用at89c51單片機及外圍接口實現的搶答系統(tǒng)設計了搶答器,該搶答器增加了新
24、功能、提高了系統(tǒng)的可靠性、簡化了電路結構、節(jié)約了成本,是一個實用的工程設計。3.6 at89c51的功能及簡介at89c51單片機是atmal公司89系列單片機的一種8位flash單片機。它最大特點是片內含有flash存儲器,用途十分廣泛,特別是在生產便攜式商品,手提式儀器等方面,有著十分廣泛的應用。at89c51單片機內部主要有以下部件:8031cpu、振蕩電路、總線控制部件、中斷控制部件、片內flash存儲器、片內ram、并行i/o接口、定時器和串行i/o接口。at89c51單片機內部由cpu、4kb的fperom ,128b的ram,兩個16位的定時/計數器t0和t1,4個8位的i/o端
25、p0、p1、p2、p3等組成。單片微機內部最核心的部分是cpu。cpu主要功能是產生各種控制信號,控制存儲器、輸入/輸出端口的數據傳輸、數據的算術運算、邏輯運算以及位操作處理等,cpu按其功能可分為運算器和控制器兩部分??刂破饔沙绦蛴嫈灯鱬c、指令儲存器、指令譯碼器、實時控制與條件轉移邏輯電路等組成。它的功能是對來自存儲器中的指令進行譯碼,通過實時控制電路,在規(guī)定的時刻發(fā)出各種操作所需的內部和外部的控制信號,使各部分協(xié)調工作,完成指令所規(guī)定的操作。運算器由算術邏輯器部件alu、累加器acc、暫存器、程序狀態(tài)字寄存器psw,bcd碼運算調整電路等組成。外部定時元件復位中斷電源系統(tǒng)時鐘romcpu
26、定時/計數器串行i/o口并行i/o口ram圖3-3 at89c51單片機的內部結構圖為了提高數據處理和位操作功能,片內增加了一個通用寄存器b和一些專用寄存器,還增加了位處理邏輯電路的功能。其內部結構如圖3所示。at89c51的主要性能包括:at89c51與mcs51控制器系列產品兼容,片內有4k可在線重復編程閃速電擦除存儲器(flash memory),存儲器可循環(huán)寫入/擦除1000次;存儲器數據保存時間可達10年;工作電壓范圍寬:vcc可由2.7v到6v;全靜態(tài)工作可由0hz到16mhz;程序存儲器具有3級鎖存保護;128*8位內部ram;32條可編程i/o線;兩個16位定時器/計數器;中斷
27、結構具有5個中斷源和2個中斷優(yōu)先級;可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內容。管腳說明: 圖3-4 at89c51引腳圖vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內部上拉為高,可用作
28、輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內容。p2口在flash編程和校驗時接收高八位地址信
29、號和控制信號p3口:p3口管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示:接口管腳 備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 0(外部中斷0)p3.3 1(外部中斷1)p3.4 t0(記時器0外部輸入)p3.5 t1(記時器1外部輸入)p3.6 (外部數據存儲器寫選通)p3.7 (外部數據存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制信號
30、。 rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次有效。但在訪問外部數據存儲器時,這兩次有效的信號將不出現。/vpp:當保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內部程序存儲器。注意加密方式1時,將內部鎖定為reset;
31、當端保持高電平時,此間內部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3.7 at89c51特殊功能寄存器特殊功能寄存器也稱專用寄存器,是具有特殊功能的所有寄存器的集合,簡稱sfr(special function register)。特殊功能寄存器共含有22個不同寄存器。它們的地址分配在80hffh中,即在ram地址中。這些寄存器的名稱和地址見表3-1。表3-1 at89c51特殊功能寄存器列表符號地址注釋*acce0h累加器*bf0h乘法寄存器*pswd0h程序狀態(tài)字
32、sp81h堆棧指針dpl82h數據存儲器指針低8位dph83h數據存儲器指針高8位*iea8h中斷允許控制器*ipd8h中斷優(yōu)先控制器*p080h端口0*p190h端口1*p2a0h端口2*p3b0h端口3pcon87h電源控制及波特率選擇*scon98h串行口控制器sbuf99h串行數據緩沖器*tcon88h定時器控制tmod89h定時器方式選擇tl08ah定時器0低8位tl18bh定時器1低8位th08ch定時器0低8位th18dh定時器1高8位注:帶*號的特殊功能寄存器都是可以位尋址的寄存器雖然特殊功能寄存器地址在80hffh之中,但在80hffh的地址單元中,不是所有的單元都被特殊功能
33、寄存器占用,未被占用的單元,其內容是不確定的,如果對這些單元進行操作,得到的是一些隨機數,而寫入則無效。所以,用戶編程時不應該將數據寫入這些未確定的地址單元,它們是公司留待將來開發(fā)新產品時使用的。4. 硬件設計模塊4.1 硬件電路的設計數字搶答器設計分為硬件設計和軟件設計,這兩者相互結合,不可分離;從時間上看,硬件設計的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術準備充分,硬件設計的大返工是比較少的,軟件設計的任務貫徹始終,到中后期基本上都是軟件設計任務,隨著集成電路技術的飛速發(fā)展,各種功能很強的芯片不斷出現,使硬件電路的集成度越來越高,硬件設計的工作量在整個項目中的所占的比
34、重逐漸下降。為使硬件電路設計盡可能合理,應注意以下幾方面:a.盡可能采用功能強的芯片,以簡化電路,功能強的芯片可以代替若干普通芯片,隨著生產工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總和高。b.留有設計余地。在設計硬件電路時,要考慮到將來修改擴展的方便。因為很少有一錘定音的電路設計,如果現在不留余地,將來可能要為一點小小的修改或擴展而被迫進行全面返工。c.程序空間,選用片內程序空間足夠大的單片機,本設計采用at89c51單片機。d.ram空間,at89c51內部ram不多,當要增強軟件數據處理功能時,往往覺得不足。如果系統(tǒng)配置了外部ram,則建議多留一些空間。如選用81
35、55作i/o接口,就可以增強256字節(jié)ram。如果有大批數據需要處理,則應配置足夠的ram,如6264,62256等。隨著軟件設計水平的提高,往往只要改變或增加軟件中的數據處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級換代。只要在硬件電路設計初期考慮到這一點,就應該為系統(tǒng)將來升級留足夠的ram空間,哪怕多設計一個ram的插座,暫不插芯片也好。e.i/o端口:在樣機研制出來后進行現場試用時,往往會發(fā)現一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設計就預留出一
36、些i/o端口,雖然當時空著沒用,那么用的時候就派上用場了。系統(tǒng)原理圖如下圖4-1所示:圖4-1 系統(tǒng)原理圖圖中u2為單片機at89c51,u3為芯片74ls04,u4為芯片74hc30。k1-k8分別為8路搶答按鍵,分別接到單片機的p1.0-p1.7中。開始按鍵與結束按鍵分別接到單片機的10、11腳,由于單片機的10、11腳既有串行接口rxd、txd功能,又有p3.0、p3.1的io端口功能,此處按鍵用到單片機10、11腳的io端口功能。搶答時間調整按鍵和回答時間調整按鍵分別接到單片機的13、14管腳,加一按鍵和減一按鍵分別接到單片機的15、16管腳。4位七段數碼管段選p0口。4位七段數碼管的
37、位選接p2口低3位,蜂鳴器輸出為p3.7口。4.2 穩(wěn)壓電源電路設計首先利用220v用220v12v的變壓器降壓,再用橋式整流。在電源電路中,整流電路將交流變成脈動的直流,而在整流電路之后接入一個較大容量的電解電容(470uf),利用其充放電特性,使整流后的脈動直流電壓變成相對比較穩(wěn)定的直流電壓。在實際中,為了防止電路各部分供電電壓因負載變化而產生變化,所以在電源的輸出端及負載的電源輸入端一般接有數十至數百微法的電解電容由于大容量的電解電容一般具有一定的電感,對高頻及脈沖干擾信號不能有效地濾除,故在其兩端并聯了一只容量為0.001-0.lpf的電容,以濾除高頻及脈沖干擾然后并接一個0.1uf的
38、小電容然后輸入的7805的1腳、7805的2腳接地、78l05的3腳輸出,加一個0.1uf的電容到地。這就可以了。如下圖4-2圖4-2 電源電路4.3 時鐘頻率電路的設計單片機必須在時鐘的驅動下才能工作。在單片機內部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產生一定的時鐘信號送到單片機內部的各個單元,決定單片機的工作速度。時鐘電路如圖4-3所示。圖4-3 外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產生幅度為3v左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 c1,c2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器
39、的頻率進行微調。c1,c2的典型值為30uf。單片機在工作時,由內部振蕩器產生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數,常用fosc表示。圖中時鐘頻率為12mhz,即fosc=12mhz,則時鐘周期為1/12s。4.4 復位電路的設計單片機的第9腳rst為硬件復位端,只要將該端持續(xù)4個機器周期的高電平即可實現復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如圖4-4所示:圖4-4 復位電路圖4-4中由按鍵reset1以及電解電容c3、電阻r8構成按鍵及上電復位電路。由于單片機是高電平復位,所以當按鍵reset1按下時候,單片機的9腳re
40、set管腳處于高電平,此時單片機處于復位狀態(tài)。當上電后,由于電容的緩慢充電,單片機的9腳電壓逐步由高向低轉化,經過一段時間后,單片機的9腳處于穩(wěn)定的低電平狀態(tài),此時單片機上電復位完畢,系統(tǒng)程序從0000h開始執(zhí)行。值得注意的是,在設計當中使用到了硬件復位和軟件復位兩種功能,由上面的硬件復位后的各狀態(tài)可知寄存器及存儲器的值都恢復到了初始值,而前面的功能介紹中提到了倒計時時間的記憶功能,該功能的實現的前提條件就是不能對單片機進行硬件復位,所以設定了軟復位功能。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉指令讓它跳轉到程序執(zhí)行的起始地址。4.5 顯示電路的設計顯示功能與硬件關系極大,當
41、硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。在這里我們使用的是七段數碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多;動態(tài)顯示的特點是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設計中根據實際情況采用的是動態(tài)顯示方法。通過查表法,將其在數碼管上顯示出來,其中p0口為字型碼輸入端,p2口低3位為字選段輸入端。在這里我們通過查表將字型碼送給7段數碼管顯示的數字,數碼管顯示原理如下: mov a,r3 movc a,a+dptr mov
42、 p2,#0feh mov p0,a acall delay mov dptr,#dat2 mov a,r5 movc a,a+dptr mov p2,#0fdh mov p0,a acall delay mov a,r4 movc a,a+dptr mov p2,#0fbh mov p0,a acall delay ret4位七段數碼管顯示電路如圖4-5所示。圖4-5 共陰極數碼管圖4-5中數碼管采用的是4位七段共陰數碼管,其中a-h段分別接到單片機的p0口,由單片機輸出的p0口數據來決定段碼值,位選碼com1、com3、com4分別接到單片機的p2.0、p2.1、p2.2,由單片機來決定當
43、前該顯示的是哪一位。在圖中還有八個10k的電阻,連接在p0口上,用作p0口的上拉電阻,保證p0口沒有數據輸出時候處于高電平狀態(tài)。4.6 鍵盤掃描電路的設計鍵盤是人與單片機打交道的主要設備。關于鍵盤硬件電路的設計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現象。在單片機應用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤。它們各有自己的特點,其中獨立鍵盤硬件電路簡單,而且在程序設計上也不復雜,一般用
44、在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨立鍵盤復雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產生的“毛刺”現象。這里采用最常用的方法,即延時重復掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾ms,而我們按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里我們取10ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。數字搶答器設計中采用了獨立鍵盤的方式,本設計中有8個搶答按鍵輸入,一個開始按鍵、一個結束按鍵,此外還有
45、搶答時間調整鍵、回答時間調整鍵,加一按鍵、減一按鍵各一個。如圖4-6所示。圖4-6 搶答按鍵及調整按鍵在圖4-6中8個搶答按鍵分別接入單片機的p1.0-p1.7端口,單片機通過讀取p1.0-p1.7的值來判斷當前輸入的是8個搶答按鍵中的哪一個。搶答時間調整和回答時間調整接到單片機的p3.3和p3.4接口,加一及減一按鍵接到單片機的p3.5和p3.6接口。開始及結束按鍵接到單片機的10、11腳,這里用到了單片機10、11腳復合功能中的io端口功能,單片機通過讀取10、11腳的p3.0、p3.1的io端口值來判斷當前是否處于搶答開始狀態(tài)或搶答結束狀態(tài)。按鍵的觸點在閉合和斷開時均會產生抖動,這時觸點
46、的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復執(zhí)行。現在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于5ms,例如取10-20ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。k1k8八個按鍵的輸入電平靠74hc30輸入與非門和74ls04反向器組成的電路改變輸入電平。圖10中電路就是由一個74hc30輸入與非門和74ls04反向器組成的去抖電路。如圖4-7所示。圖4-7 去抖電路4.
47、7 發(fā)聲電路的設計我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線的“高”電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭(壓電陶瓷型揚聲器)就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調,使喇叭發(fā)出不同的聲音。數字搶答器設計如圖4-8所示。圖中單片機的14腳輸出具有復合功能,此處用到了單片機17腳的io端口功能,單片機通過內部定時器的操作實現交替變換的波形輸出驅動揚聲器發(fā)聲。圖4-8 發(fā)聲電路4.8 系統(tǒng)復位使cpu進入初始狀態(tài),從0000h地址開始執(zhí)行程序的過程叫系統(tǒng)復位。從實現系統(tǒng)復位的方法來
48、看,系統(tǒng)復位可分為硬件復位和軟件復位。硬件復位必須通過cpu外部的硬件電路給cpu的reset端加上足夠時間的高電位才能實現。上電復位,人工按鈕復位和硬件看門狗復位均為硬件復位。硬件復位后,各專用寄存器的狀態(tài)均被初始化,且對片內通用寄存器的內容沒有影響。但是,硬件復位還能自動清除中斷激活標志,使中斷系統(tǒng)能夠正常工作,這樣一個事實卻容易為不少編碼人員所忽視。軟件復位就是用一系列指令來模擬硬件復位功能,最后通過轉移指令使程序從0000h地址開始執(zhí)行。對各專用寄存器的復位操作是容易的,也沒有必要完全模擬,可根據實際需要去主程序初始化過程中完成。而對中斷激活標志的清除工作常被遺忘,因為它沒有明確的位地
49、址可供編程。有的編程人員用020000(ljmp 0000h)作為軟件陷阱,認為直接轉向0000h地址就完成了軟件復位,就是這類錯誤的典型代表。軟件復位是使用軟件陷阱和軟件看門狗后必須進行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標志已置位,它將阻止同級中斷響應。由于軟件看門是高級中斷,它將阻止說要中斷響應,由此可見清除中斷激活標志的重要性。在所有的指令中,只有reti指令能夠清除中斷激活標志。出錯處理程序err主要完成這一功能,其他的善后工作交由復位后的系統(tǒng)去完成。程序一般先關中斷,以便后續(xù)處理能順利進行,然后用兩個reti指令代替兩個ljmp指令,從而清除了兩級中斷激活標志
50、。有相應軟件陷阱捕捉來的程序可能沒有全部激活兩個標志,這也無妨。有復位時系統(tǒng)的歷史狀況,可將復位分為“冷啟動”和“熱啟動”。 “冷啟動”時,系統(tǒng)的狀態(tài)全部無效,進行徹底的初始化操作;而“熱啟動”時,對系統(tǒng)的當前狀態(tài)進行修復和有選擇的初始化。系統(tǒng)初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復位操作一般均為“熱啟動”初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復位操作一般均為“熱啟動”。為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標志來區(qū)分,如圖4-9所示。復位關中斷,設定堆棧上電標志冷啟自檢全面初始化熱啟動恢復被破壞的信息部分初始化建立上電標志開始運轉圖4-9
51、系統(tǒng)復位策略圖5. 軟件設計模塊5.1 主程序系統(tǒng)結構圖系統(tǒng)初始化模塊按鍵模塊非法搶答模塊正確搶答模塊調整搶答時間調整回答時間模塊數碼顯示模塊圖5-1軟件系統(tǒng)結構圖5.2 軟件任務分析軟件任務分析和硬件電路設計結合進行,哪些功能由硬件完成,哪些任務由軟件完成,在硬件電路設計基本定型后,也就基本上決定下來了。軟件任務分析環(huán)節(jié)是為軟件設計做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質性的功能,如測量,計算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調各執(zhí)行模塊和操作者的關系,在系統(tǒng)軟件中充當組織調度角色的軟件。這兩類軟件的設計方法各有特色,執(zhí)行軟
52、件的設計偏重算法效率,與硬件關系密切,千變萬化。軟件任務分析時,應將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進行定義時,將要牽扯到的數據結構和數據類型問題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據系統(tǒng)功能和鍵盤設置選擇一種最適合的監(jiān)控程序結構。相對來講,執(zhí)行模塊任務明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當一名操作工人比較容易,而當一個廠長就比較難了。軟件任務分析的另一個內容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調用的子程序,這類程序對實時性要求不是太
53、高,延誤幾十ms甚至幾百ms也沒關系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實時性要求較高的內容,如定時系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序為“使系統(tǒng)進入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。5.3 程序流程圖在本設計中包括了以下主要的程序:主程序,查詢程序,非法搶答程序,搶答時間調整程序,回答時間調整程序,倒計時程序,正常搶答處理程序,犯規(guī)處理程序,顯示及發(fā)聲程序。主流程圖如5-2所示:顯示fff開始鍵加一鍵減一鍵回答時間 調整搶答時間去抖動非法搶答處理顯示犯規(guī)正常搶答 顯示搶答號并倒計時
54、y yy 初始化圖5-2 程序設計流程圖5.4 proteus軟件仿真系列組圖a.復位圖圖5-3 復位顯示三個fff該圖顯示當單片機復位后,在4位七段數碼管上顯示的初始狀態(tài)“f ff”字符。b.設置計時時間圖5-4 計時時間為17秒該圖顯示通過加一按鍵操作后在4位數碼管上顯示的計時時間為17秒。c.非法搶答并顯示選手號圖5-5 三號選手非法搶答該圖顯示的是若三號選手非法搶答時候,第一位字符顯示單片機判定的非法選手“3”號選手,在4位數碼管上的后兩位顯示非法搶答字符“ff”。d.搶答成功并顯示倒計時圖5-6 六號選手搶答圖中顯示的是若6號選手搶答成功的時候,4位數碼管的第一顯示是“6”號選手搶答成功,最后兩位顯示選手答題倒計時時間還有25秒。6. 結束語本設計以at89c51單片機為核心,根據燒錄其中的程序控制整個系統(tǒng)的工作流程。整體性好,人性化強、可靠性高,實現了數字顯示控制的智能化,是各個需要顯示數字或廣告宣傳的有力工具。通過該設計.我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養(yǎng)我們的創(chuàng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025工程資料承包合同
- 2025工程招投標及合同管理程序
- 2025委托加工合同范本
- 2025鵬程房地產開發(fā)公司合同管理制度
- 奶茶店裝修合同
- 二手車買賣合同書模板
- 收購垃圾合同范例
- app托管合同范例
- 嘉興遮光窗簾加盟合同范例
- 招聘護士合同范例
- 糧庫鋼結構項目施工組織設計(122頁)
- 有效的雙向溝通管理制度
- 圍棋協(xié)會2022年工作計劃范文
- 07講信息系統(tǒng)建設和設計軟件工程
- 廁所蹲位統(tǒng)計表10
- OptiXOSN8800產品系統(tǒng)硬件系統(tǒng)、單板介紹
- 附件1黑龍江省事業(yè)單位聘用合同制管理辦法doc
- 蔬菜大棚溫度控制器設計(共20頁)
- LS-MASTER-K-指令手冊
- 烏茲別克語字母表
- 《數據結構》課程標準
評論
0/150
提交評論