版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、聲光顯示智力競賽多路搶答器摘 要聲光顯示智力競賽多路搶答器基于單片機系統(tǒng)代替了傳統(tǒng)常規(guī)電子線路的控制系統(tǒng),有了智能化的長足發(fā)展。電子智能搶答器在搶答過程中系統(tǒng)正確判斷正常搶答,分辨出優(yōu)先搶答人。系統(tǒng)采用AT89S51單片機作為核心模塊,配以鍵盤、顯示模塊、顯示驅動模塊、搶答開關模塊、音樂音頻輸出等模塊。關鍵詞:搶答器;單片機;鍵盤;顯示;搶答1.引言電子技術和微型計算機的迅速發(fā)展,促進微型計算機測量和控制技術的迅速發(fā)展和廣泛應用,單片機(單片微型計算機)的應用已經滲透到國民經濟的各個部門和領域,它起到了越來越重要的作用。單片微型計算機就是將中央處理單元、存儲器、定時/計數器和多種接口都集成到一
2、塊集成電路芯片上的微型計算機。因此一塊芯片就構成了一臺計算機。它已成為工業(yè)控制領域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機。隨著我國經濟和文化事業(yè)的發(fā)展,在很多公開競爭場合要求有公正的競爭裁決,諸如證券、股票交易及各種智力競賽等,因此出現(xiàn)了搶答器。搶答器一般是由很多電路組成的,線路復雜,可靠性不高,功能也比較簡單,特別是當搶答路數很多時,實現(xiàn)起來就更為困難。因此我們設計了以單片機為核心的新型智能的搶答器,在保留了原始搶答器的基本功能的同時又增加一系列的實用功能。并簡化其電路結構。2.方案論證搶答器的設計方案種類很多,要實現(xiàn)以下功能:(1)搶答器同時供6名選手或6個代表隊比賽,分別
3、用6個按鈕S0 S5表示。(2)設置一個系統(tǒng)清除和搶答控制開關S,該開關由主持人控制。(3)搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應的編號,并在LED數碼管上顯示,同時揚聲器發(fā)出報警聲響提示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。(4)搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如30秒)。當主持人啟動開始鍵后,定時器進行減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間0.5秒左右。(5)參賽選手在設定的時間內進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。如果定時時間已到,無人搶答,本
4、次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示00。可以用單片機來完成,也可以用數字電路來實現(xiàn),兩種方案都與我們所學內容聯(lián)系緊密,能將我們所學知識用于實際,對鞏固所學知識有重要意義,對我們掌握集成芯片邏輯功能的應用有很大幫助。下面將分析搶答器的兩種方案并選擇其中合適的一種2.1方案一:基于邏輯數字電路搶答器的設計定時搶答器的總體框圖如下圖21所示,它由主體電路和擴展電路兩部分組成。主體電路完成基本的搶答功能,即開始搶答后,當選手按動搶答鍵時,能顯示選手的編號,同時能封鎖輸入電路,禁止其他選手搶答。擴展電路完成定時搶答的功能。選手搶答按鍵主持人控制秒脈沖產生優(yōu)先編碼時序控制定時電路譯碼顯示鎖存
5、功能譯碼顯示報警電路圖21上圖所示的定時搶答器的工作過程是:接通電源時,節(jié)目主持人將開關置于“清除”位置,搶答器處于禁止工作狀態(tài),編號顯示器滅燈,定時顯示器顯示設定的時間,當節(jié)目主持人宣布“搶答開始”,同時將控制開關撥到“開始”位置,揚聲器給出聲響提示,搶答器處于工作狀態(tài),定時器倒計時。當定時時間到,卻沒有選手搶答時,系統(tǒng)報警,并封鎖輸入電路,禁止選手超時后搶答。當選手在定時時間內按動搶答鍵時,顯示編號揚聲器發(fā)出短暫聲響,控制電路要對輸入編碼電路進行封鎖,控制電路要使定時器停止工作,時間顯示器上顯示剩余的搶答時間,并保持到主持人將系統(tǒng)清零為止。當選手將問題回答完畢,主持人操作控制開關,使系統(tǒng)回
6、復到禁止工作狀態(tài),以便進行下一輪搶答。系統(tǒng)各部分采用中小規(guī)模集成數字電路,用機械開關按鈕作為控制開關,完成搶答輸入信號的觸發(fā)。該方案的特點是中小規(guī)模集成電路應用技術成熟,性能可靠,能方便的完成選手搶答的基本功能,但是由于系統(tǒng)功能要求較高,所以電路連接集成電路相對較多,而且過于復雜,并且制作過程工序比較煩瑣,使用不太方便。2.2方案二:采用單片機作為核心搶答器的工作原理是采用單片機最小系統(tǒng),用查詢式鍵盤進行搶答。通過搶答按鍵模塊,連接按鍵進行搶答。此電路完成的功能如下圖所示,當主持人宣布搶答開始的時候,按下開始按鈕,此時電路進入搶答狀態(tài),選手的輸入采用了掃描式的輸入,之后把相應的信息送往單片機,
7、再由單片機輸出到顯示輸出電路中。此時有人第一按下相應的搶答按鈕,經過單片機的控制選擇,在八段顯示器上顯示相應的號碼,并鎖存,同時禁止其他按鈕的輸入。系統(tǒng)是采用模塊化設計的智能搶答器,主控與參賽者設為終端分系統(tǒng)。主控分系統(tǒng)有:開始與結束控制按鈕、時限設定、各種相關顯示調控功能等(根據需要也可另設或多設相關功能)。參賽者分系統(tǒng)設有:搶答按紐、計時顯示、提示功能等(根據需要可另設或多設相關功能) 主 控 制 器LED顯示聲生器鍵盤顯示時鐘頻率復位電路系統(tǒng)主要功能模塊控制器主要用于各模塊控制對顯示、搶答、音樂、計分等。控制器的選擇有以下兩鐘方案。1.采用FPGA(現(xiàn)場可編程門列陣)作為系統(tǒng)的控制器。F
8、PGA可以實現(xiàn)各種復雜的邏輯功能,規(guī)模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩(wěn)定性,并且可以應用EDA軟件仿真、調試,易于進行功能擴展。FPGA采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模實時系統(tǒng)的控制核心。但由于本設計對數據處理的速度要求不高,F(xiàn)PGA的高速處理的優(yōu)勢得不到充分體現(xiàn),并且由于其集成度高,使其成本偏高,同時由于芯片的引腳較多,實物硬件電路板布線復雜,加重了電路設計和實際焊接的工作。2. 采用ATMEL公司的AT89C51作為系統(tǒng)控制器的CPU方案。單片機算術運算功能強,軟件編程靈活、自由度大,可以用軟件編程實現(xiàn)各種算法和邏輯控制,并且由于其
9、功耗低、體積小、技術成熟和成本低等優(yōu)點,使其在各個領域應用廣泛。,以下(圖32)各種類型的單片機內除CPU外,還包括ROM、RAM、4*8 I/O口和2個16位定時/計數器,它們都是功能很強的單片微型計算機。但由于80C51片內為掩膜ROM,故內部程序不能改寫,不用于實驗開發(fā)。87C51具有片內EPROM,是真正的單片微機,但由于價格較貴,且程序改寫時要用紫外線擦除,時間較長,所以用得較少。80C31在市場上的價格很低,但片內沒有ROM,必須在片外擴展一片EPROM,非常不便。AT89C51片內具有可電擦除的FPEROM,可以快速、多次地編程,且價格不高,所以用得非常廣泛,目前開發(fā)用的MCS5
10、1產品絕大多數用89C51型號ROM形式片內ROM片內RAM尋址范圍定時計數I/O口串行I/O口外部中斷80C31接ROM4K1282*64 K2*164UART280C51ROM4K1282*64 K2*164UART287C51EPROM4K1282*64 K2*164UART289C51FPEROM4K1282*64 K2*164UART2圖32基于以上分析擬訂方案2。下圖為采用51單片機設計搶答器的主體電路:系統(tǒng)采用AT89C51系列單片機作為控制核心,可以完成運算控制、信號識別以及顯示功能的實現(xiàn)。本設計主要包括硬件和軟件兩大部分,依據控制系統(tǒng)的工作原理和技術性能,將硬件和軟件分開設計
11、。硬件設計部分包括電路原理圖、合理選擇元器件、繪制線路圖,然后對硬件進行調試、測試,以達到設計要求。軟件設計部分,首先在總體設計中完成系統(tǒng)總框圖和各模塊的功能設計,擬定詳細的工作計劃;然后進行具體設計,包括各模塊的流程圖,選擇合適的編程語言和工具,進行代碼設計等;最后是對軟件進行調試、測試,達到所需功能要求。內部電路設計用匯編語言編寫,它完成了時間參數的設定,搶按號碼的譯碼,保存、顯示、輸出,搶按及答題倒計時功能等。而且單片機性能穩(wěn)定,可操作性強。可以只用P0口連接上拉電阻,完成驅動LED的功能,串接按鍵可以由選手自己控制搶答機會,利用P3口的RXD接74LS164的A,B端,TXD接移位脈沖
12、做時鐘信號。利用單片機程序判斷選手按鍵是否有效,但選手違規(guī)搶答,利用簡單程序顯示選手序號,啟動蜂鳴器并不間斷,告訴主持人有人違規(guī)操作,搶答無效。給出相應的延時,選手按正常的操作搶答,軟件倒記時,利用74LS164移位寄存8段數碼管,實現(xiàn)倒記時顯示時間,到5秒相應時間提醒選手時間快到了,要及時作答,并啟動蜂鳴器。如果有選手在規(guī)定的時間以前完成問題,主持人通過按鍵P2.4復位,開始新的問題作答,因為程序不是很大不需要擴展存儲空間,選手按鍵跳入相應的子程序,回答倒記時,通過單片機實現(xiàn)功能可以更人性化,只需單電源供電更方便,容易實現(xiàn)。電路結構簡單,數碼顯示是采用BCD編碼顯示數字,程序編譯容易,資源占
13、用較少。外圍擴展的電路不是很多。單片機是電子專業(yè)發(fā)展的方向,更好的使用單片機可以是我們的產品小型化,使用更方便,性能更穩(wěn)定,功能更齊全,所以我們選用單片機加一定的外圍設備實現(xiàn)本次課程設計的要求。3.各模塊方案選擇和論證3.1電源方案的選擇系統(tǒng)需要多個電源,AT89C51使用5V穩(wěn)壓電源,驅動芯片需要5-50V電壓驅動。3.1.1方案一:由MAX構成的5V穩(wěn)壓電源。如圖33圖31由MAX構成的5V穩(wěn)壓電源圖3.1.2方案二:采用三端穩(wěn)壓集成7805得到5V穩(wěn)定電壓。如圖34電路為輸出電壓+5V,輸出電流1.5A的穩(wěn)壓電源。它是由電源變壓器T,橋式整流電路D1D4,濾波電容C1,C3防止自激電容C
14、2,C4和一只固定式三端穩(wěn)壓器7805組成。220V交流市電通過電源變壓器變換成交流低壓,再經過橋式整流電路D1D4和濾波電容C1的整流和濾波,在固定式三端穩(wěn)壓器LM7805的Vin和GND兩端形成一個并不十分穩(wěn)定的直流電壓。此直流電壓經過LM7805的穩(wěn)壓和C3的濾波,便在穩(wěn)壓電源的輸出端產生了精度高,穩(wěn)定性好的直流輸出電壓。綜上所述,選擇方案二,采用三端穩(wěn)壓器電路。圖32由LM7805構成的5V穩(wěn)壓電源圖3.2搶答器顯示模塊我們考慮有以下兩種顯示方案。3.2.1方案一:使用液晶屏顯示時間。液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢,可視面積
15、大,畫面效果好,分辨率高,抗干擾能力強的特點。但由于只需要顯示時間和轉向、相數這樣的數字,信息量比較少,且由于液晶是以點陣的模式顯示各種符號,需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用較多,其成本也偏高。在使用時,不能有靜電干擾,否則易燒壞液晶顯示芯片,不易維護。3.2.2方案二:在使用傳統(tǒng)的數碼管顯示。數碼管具有:低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對外界環(huán)境要求低,易于維護,同時其精度高,稱量快,精確可靠,操作簡單。數碼顯示是采用BCD編碼顯示數字,程序編譯容易,資源占用較少。靜態(tài)顯示,電路圖中所示。顯示器由9個共陽極數碼管組成。輸入只有兩
16、個信號,它們是串行數據線DIN和移位信號CLK。根據以上的論述,采用方案二。3.3槍答器鍵盤的選擇鍵盤是單片機不可缺少的輸入設備,是實現(xiàn)人機對話的紐帶。鍵盤按結構形式可以分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產生鍵碼,而后者則用硬件方法來產生鍵碼。在單片機中使用的都是非編碼鍵盤,因為非編碼鍵盤結構簡單,成本低廉,非編碼鍵盤的類型很多,常用的有獨立式鍵盤,行列式鍵盤等。3.3.1方案一:獨立式鍵盤,鍵盤接口中使用多少根I/O線,鍵盤中就有幾個按鍵,鍵盤接口使用了8根I/O口線,該鍵盤就有8個按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據實際需要對鍵盤中的按鍵靈活
17、的編碼。如圖35。圖33最簡單的編碼方式就是根據I/O輸入口所直接反映的相應按鍵,按下的狀態(tài)進行編碼,稱按鍵直接狀態(tài)碼,對于這樣編碼的獨立式鍵盤,CPU可以通過直接讀取I/O口的狀態(tài)來獲取按鍵的直接狀態(tài)編碼值,根據這個值直接進行按鍵識別,這樣形式的鍵盤結構簡單,按鍵識別容易。獨立式鍵盤的缺點是需要占用比較多的I/O口線,當單片機應用系統(tǒng)鍵盤中需要的按鍵比較少或I/O口線比較富余時,可以采用這樣類型的鍵盤。3.3.2方案二:行列式鍵盤,行列式鍵盤是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤,在行線和列線的每個交叉點上,設置一個按鍵中按鍵的個數是M*N個。這種形式的鍵盤結構,能夠有效的
18、提高單片機系統(tǒng)中I/O的利用率,列線接P1.0P1.3行線接P1.4P1.7,行列適用于按鍵輸入多的情況。圖34CPU對鍵盤的掃描可以采用取程序控制的隨機方式,即只有在CPU空閑是時才去掃描鍵盤,響應操作人員的鍵盤輸入,但CPU在執(zhí)行應用程序的過程中,不能響應鍵盤輸入,對鍵盤的掃描可以采用定時方式,即利用單片機內部定時器每隔一定時間對鍵盤掃描一次,這樣控制方式,不管鍵盤上有無鍵閉合,CPU總是定時的關心鍵盤狀態(tài)。在大多數情況下,CPU對鍵盤可能進行空掃描。為了提高CPU的效率而又能及時響應鍵盤輸入,可以采用中斷方式,既CPU平時不必掃描鍵盤,只要當鍵盤上有鍵盤閉合時就產生中斷請求,向CPU申請
19、中斷后,立即對鍵盤上有鍵盤進性掃描,識別閉合鍵,并做相應的處理。根據以上的論述,采用方案一,在本系統(tǒng)中采用了獨立式鍵盤,其按鍵比較少,且鍵盤中各個按鍵的工作互不干擾。3.4計分器顯示模塊顯示模塊必須要顯示三位數為一組,本系統(tǒng)設計為八組,共要顯示27位數。采用靜態(tài)顯示,其方案如下:3.4.1方案一:不帶鎖存方式。顯示器由9個共陰極數碼管組成。輸入只有兩個信號,它們是串行數據線DIN和移位信號CLK。9個串/并移位寄存器芯片74LS164首尾相連,74LS164為8位串入并出移位寄存器,1、2為串行輸入端,Q0-Q7為并行輸出端,CLK為移位時鐘脈沖上升沿移入一位;MR為清零端,低電平時并行輸出為
20、零。實驗證明在顯示位數超出6位,數碼管有閃爍的現(xiàn)象。3.4.2方案二:帶鎖存方式。采用帶有鎖存功能的移位寄存器74LS595芯片,74595的數據端:QA-QH: 八位并行輸出端,可以直接控制數碼管的8個段。QH: 級聯(lián)輸出端。我將它接下一個595的SI端。SI: 串行數據輸入端。74595的控制端說明:SRCLR(10腳): 低點平時將移位寄存器的數據清零。通常接Vcc。SRCK(11腳):上升沿時數據寄存器的數據移位。QA-QB-QC-.-QH;下降沿移位寄存器數據不變。(脈沖寬度:5V時,大于幾十納秒就行了。我通常都選微秒級)RCK(12腳):上升沿時移位寄存器的數據進入數據存儲寄存器,
21、下降沿時存儲寄存器數據不變。(通常我將RCK置為低電平,) 當移位結束后,在RCK端產生一個正脈沖(5V時,大于幾十納秒就行了。我通常都選微秒級),更新顯示數據。13腳: 高電平時禁止輸出(高阻態(tài))。如果單片機的引腳不緊張,用一個引腳控制它,可以方便地產生閃爍和熄滅效果。比通過數據端移位控制要省時省力。74164和74595功能相仿,都是8位串行輸入轉并行輸出移位寄存器。74164的驅動電流(25mA)比74595(35mA)的要小,14腳封裝,體積也小一些。74595的主要優(yōu)點是具有數據存儲寄存器,在移位的過程中,輸出端的數據可以保持不變。這在串行速度慢的場合很有用處,數碼管沒有閃爍感。與1
22、64只有數據清零端相比,595還多有輸出端時能/禁止控制端,可以使輸出為高阻態(tài)。根據以上論證,采用方案二。3.5計分器鍵盤的選擇3.5.1方案一:行列式鍵盤,行列式鍵盤是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤,在行線和列線的每個交叉點上,設置一個按鍵中按鍵的個數是M*N個。這種形式的鍵盤結構,能夠有效的提高單片機系統(tǒng)中I/O的利用率,列線接P1.0P1.3行線接P1.4P1.7,行列適用于按鍵輸入多的情況。3.5.2方案二:獨立式鍵盤,矩陣式鍵盤中,行、列線分別連接到按鍵開關的兩端,在進行鍵盤掃描時,首先把矩陣鍵盤列線的第一根線置高,然后分別再檢測矩陣鍵盤行線是否有高電平的信號
23、,如果有信號,那么就證明這根行線與第一根列線相交處的按鍵被按下了,單片機就讀入這個鍵值。如果所有的四根行線都沒有信號,那么就把第一根列線置低,把第二根列線置高,再一次檢測行線有沒有信號,然后依次類推。由于鍵盤掃描的速度很快,而人按鍵總會持續(xù)一定的時間,因此只要單片機處在等待輸入的狀態(tài),這個鍵盤掃描程序基本上不會錯過任何一個按鍵信號。由于一般人按鍵會有抖動,抖動信號造成鍵盤掃描時會出現(xiàn)一些錯誤的信號,要不就是掃描不進數據,要不就是重復輸入很多次數據,因此需要有一個消除抖動的程序。讓單片機不響應一些相關的抖動信號,而只響應一次確實存在的按鍵信號。消抖動程序是這樣實現(xiàn)的,當檢測到一個脈沖信號時,并不
24、立即認為是一次按鍵,而是延時一段時間以后再進行檢測,如果三次檢測都有信號,那么就認為有一次按鍵動作發(fā)生了。延時的選擇非常重要,太快了,起不到消除抖動的效果,太慢了又讓鍵盤太不靈活,錯過較多的按鍵信號。鍵盤接口中使用多少根I/O線,鍵盤中就有幾個按鍵,鍵盤接口使用了16根I/O口線,需要占用比較多的I/O口線這種類型的鍵盤,根據以上論證,采用方案一。 3.6時鐘頻率電路的設計單片機必須在時鐘的驅動下才能工作.在單片機內部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產生一定的時鐘信號送到單片機內部的各個單元,決定單片機的工作速度。一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在
25、XTAL2引腳產生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調。C1,C2的典型值為30PF。單片機在工作時,由內部振蕩器產生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數,常用fosc表示。如時鐘頻率為12MHz,即fosc=12MHz,則時鐘周期為1/12s。如圖37圖373.7復位電路的設計單片機的第9腳RST為硬件復位端,只要將該端持續(xù)4個機器周期的高電平即可實現(xiàn)復位。復位后單片機的各狀態(tài)都恢復到初始化狀態(tài)值得注意的是,在設計當中使
26、用到了硬件復位和軟件復位兩種功能,由上面的硬件復位后的各狀態(tài)可知寄存器及存儲器的值都恢復到了初始值,而前面的功能介紹中提到了倒計時時間的記憶功能,該功能的實現(xiàn)的前提條件就是不能對單片機進行硬件復位,所以設定了軟復位功能。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉指令讓它跳轉到程序執(zhí)行的起始地址。如圖3.8鍵盤掃描電路的設計鍵盤是人與微機系統(tǒng)打交道的主要設備。關于鍵盤硬件電路的設計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解
27、決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機應用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤。它們各有自己的特點,其中獨立鍵盤硬件電路簡單,而且在程序設計上也不復雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨立鍵盤復雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產生的“毛刺” 現(xiàn)象。這里采用最常用的方法,即延時重復掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾ms,而我們按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜后再延時一
28、段時間(這里我們取10ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。模塊的最終方案主控制器模塊:采用AT89C51單片機控制搶答器顯示模塊:數碼管顯示電源方案的選擇:采用三端穩(wěn)壓器電路槍答器鍵盤模塊:獨立式鍵盤計分器顯示模塊:采用帶有鎖存功能的移位寄存器74LS595芯片計分器鍵盤模塊:行列式鍵盤4軟件設計整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調用的子程序,這類程序對實時性要求不是太高,延誤幾十ms甚至幾百ms也沒關系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實時性要求較高的內容,
29、如定時系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序為“使系統(tǒng)進入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。4.1程序流程流程圖是使用圖形表示算法的思路,是一種極好的程序設計方法。本設計的流程是由系統(tǒng)主程序流程和各子程序流程組成,下面分別以流程圖的形式列舉。4.1.1系統(tǒng)主程序流程圖顯示FFF 開始鍵按下?加一鍵按下?減一鍵按下?回答時間 調整搶答時間去抖動非法搶答處理顯示犯規(guī)正常搶答 顯示搶答號并倒計時Y YY 初始化4.1.2各子程序流程圖4.1.2.1計分器系統(tǒng)的軟件鍵盤掃描程序流程圖本系統(tǒng)的鍵盤采用的是44矩陣式鍵盤,矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點
30、上。一個44的行、列結構可以構成一個含有16個按鍵的鍵盤,顯然,在按鍵數量較多時,矩陣式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多I/O口。鍵盤掃描程序的流程圖如圖所示。4.1.2.2計分器系統(tǒng)的軟件流程檢測P3.7狀態(tài)初始化開始掃描鍵盤S1S6是那一個組要加分,并組號顯示在主板上(六個數碼管)為0單組加減分為1全部統(tǒng)一加減分加分按鍵S14減分按鍵S15鍵盤錄入分值,并顯示在主板上(六個數碼管)加分按鍵S12減分按鍵S13鍵盤錄入分值,并顯示在主板上(六個數碼管)確定S16P1.7輸入一個單次脈沖,并保持高電平(鎖存數據由P3.0 P3.1串口輸出顯示分數)4.1.2.3搶答數碼顯示程序流程圖采用靜態(tài)顯
31、示,顯示器由9個共陽極數碼管組成。輸入只有兩個信號,它們是串行數據線DIN和移位信號CLK。9個串/并移位寄存器芯片74LS164首尾相連,了九位共陽極七段數碼管,共陽極數碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,通常,公共陽極接高電平(一般接電源),七它管腳接段驅動電路輸出端。當某段驅動電路的輸出端為低電平時,則該端所連接的字段導通并點亮,根據發(fā)光字段的不同組合可顯示出各種數字或字符。此時,要求段驅動電路能吸收額定的段導通電流,還需根據外接電源及額定段導通電流來確定相應的限流電阻,這里的限流電阻選為100。數碼顯示程序流程如圖數碼顯示程序流程圖4.1.2.4音樂音頻輸出程系流程圖音
32、樂音頻輸出由P3.7輸出,流程如圖開始輸出音頻脈沖低電平延時輸出音頻脈沖高電平延時 4.2程序4.2.1主程序:P1.0為開始搶答,P1.7為停止,p1.1-p1.6為六路搶答輸入 數碼管段選P0口,位選P2口,蜂鳴器輸出為P3.6口。4.2.2.7延時(顯示和去抖動用到):DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET4.2.2.8發(fā)聲程序:BARK: SETB RING ACALL DELAY1 ACALL DELAY1 CLR RING; 按鍵發(fā)聲 RET4.2.2.9TO溢出中斷
33、(響鈴程序):T0INT:MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT5.軟硬件系統(tǒng)調試系統(tǒng)調試包括硬件調試和軟件調試,而且兩者是密不可分的。我們設計好的硬件電路和軟件程序,只有經過聯(lián)合調試,才能驗證其正確性;軟硬件的配人情況以及是否達到設計任務的要求,也只有經過調試,才能發(fā)現(xiàn)問題并加以解決、完善,最終開發(fā)成實用產品。硬件調試分單元電路調試和聯(lián)機調試,單元電路試驗在硬件電路設計時已經進行,這里的調試只是將其制成印刷電路板后試驗電路是否正確,并排除一些加工工藝性錯誤(如錯線、開路、短路等)。這種調試可單獨模擬進行,也可通過開發(fā)裝置由軟件配合進行。硬件聯(lián)機調試則
34、必須在系統(tǒng)軟件的配合下進行。軟件調試一般包括分塊調試和聯(lián)機調試兩個階段。程序的分塊調試一般在單片機開發(fā)裝置上進行,可根據所調程序功能塊的入口參量初值編制一個特殊的程序段,并連同被調程序功能塊一起在開發(fā)裝置上運行;也可配合對應硬件電路單獨運行某程序功能塊,然后檢查是否正確,如果執(zhí)行結果與預想的不一致,可以通過單步運行或設置斷點的方法,查出原因并加以改正,直到運行結果正確為止。這時該 程序功能塊已調試完畢,可去掉附加程序段。其它程序功能塊可按此法進行調試。程序聯(lián)機調試就是將已調試好的各程序功能塊按總體結構聯(lián)成一個完整程序,在所研制的硬件電路上運行。從而試驗程序整體運行的完整性、正確性和與硬件電路的
35、配合情況。在聯(lián)調中可能會有某些支路上的程序、功能塊因受條件制約而得不到相應的輸入參數,這時,調試人員應創(chuàng)造條件進行模擬調試。在聯(lián)調中如發(fā)現(xiàn)硬件問題也應及時修正,直到單片機系統(tǒng)的軟件、硬件全部調試成功為止。系統(tǒng)調試完成后,還要進行一段時間的試運行,從而檢驗系統(tǒng)的穩(wěn)定性和抗干擾能力,驗證系統(tǒng)功能是否達到設計要求,是否達到預期的效果。1、 Keil是德國開發(fā)的一個51單片機開發(fā)軟件平臺,最開始只是一個支持C語言和匯編語言的編譯器軟件。后來隨著開發(fā)人員的不斷努力以及版本的不斷升級,使它已經成為了一個重要的單片機開發(fā)平臺,不過KEIL的界面并不是非常復雜,操作也不是非常困難,很多工程師的開發(fā)的優(yōu)秀程序都
36、是在KEIL的平臺上編寫出來的。可以說它是一個比較重要的軟件,熟悉他的人很多很多,用戶群極為龐大,要遠遠超過偉福等廠家軟件用戶群,操作有不懂的地方只要找相關的書看看,到相關的單片機技術論壇問問,很快就可以掌握它的基本使用了。 2、 總調,即應用軟件的鏈接調試,程序固化,軟、硬件結合的應用系統(tǒng) 軟硬件聯(lián)合仿真系統(tǒng)由一個硬件執(zhí)行環(huán)境和一個軟件執(zhí)行環(huán)境組成,通常軟件環(huán)境和硬件環(huán)境都有自己的除錯和控制界面,Keil與Proteus的整合調試可以實現(xiàn)系統(tǒng)的總調,在該系統(tǒng)中,Keil作為軟件調試界面,Proteus作為硬件仿真和調試界面,下面說一下如何在keil中調用proteus進行MCU外圍器件的仿真
37、。(1)、安裝keil 與 proteus。(2)、把安裝proteus MODELS目錄下 VDM51.dll文件復制到Keil安裝目錄的 C51BIN目錄中。(3)、修改keil安裝目錄下 Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL (Proteus VSM Monitor-51 Driver),保存。(注意:不一定要用TDRV5,根據原來字段選用一個不重復的數值就可以了。引號內的名字隨意)3、打開proteus,畫出相應電路,在proteus的debug菜單中選中use remote debug monitor4、在keil中編寫C語言程序5、進入KEI
38、L的project菜單option for target 工程名。在DEBUG選項中右欄上部的下拉菜單選中 Proteus VSM Monitor-51 Driver。6、在keil中進行debug吧,同時在proteus中查看直觀的結果(如LCD顯示)這樣就可以像使用仿真器一樣調。問題:有時候在自己創(chuàng)建的元器件的管腳上無法實現(xiàn)連線?;卮穑簯撌枪苣_的間距太小了。因為在ISIS中,每個元器件的管腳都要占據一塊區(qū)域(就像自己的保護區(qū)一樣,不容別人隨意侵犯),該區(qū)域會排斥外部的走線。解決問題的方法是在走線的同時按住 “CTRL”鍵,直到走線繞過狹窄的保護區(qū)。當然最根本的辦法是重新編輯元器件,把其管腳間距調大一些。6.附錄電原理圖 7.參考文獻1模擬電子技術/林春方,楊建平主編.北京:高等教育出版社,2006.52數字電子技術基礎/沈任元,吳勇主編.北京:機械工業(yè)出版社,2000.6380C51單片機及接口技術/杜偉略主編.北京:化學工業(yè)出版社,2008.24 康華光,鄒壽彬編.電子技術基礎數字部分(第四版)M.北京:高等教育出版社,20055 謝自美編.電子線路設計實驗測試 (第二版) M.上海:電子工業(yè)出版社,20016 何立民.MCS-5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度物業(yè)公司與清潔服務公司合同3篇
- 2025年度船員雇傭合同3篇
- 箱變基礎知識課件
- 2024無爭議離婚合同標準格式版B版
- 隧道用玻璃纖維增強聚氨酯發(fā)泡材料的制備及性能
- 超疏水表面機械穩(wěn)定性研究現(xiàn)狀及發(fā)展趨勢
- 2025年度環(huán)保節(jié)能技術投標合同樣本3篇
- 2024綠植養(yǎng)護服務合同-辦公樓宇綠化帶維護與管理3篇
- 如何預防傳染病健康教案
- 2024版聘用合同書范本
- 部編六年級語文上冊 讀音易錯字
- 全國醫(yī)學博士英語統(tǒng)一考試詞匯表(10000詞全) - 打印版
- COPD(慢性阻塞性肺病)診治指南(2023年中文版)
- 氣相色譜儀作業(yè)指導書
- ?中醫(yī)院醫(yī)院等級復評實施方案
- 跨高速橋梁施工保通專項方案
- 鐵路貨車主要輪對型式和基本尺寸
- 譯林版南京學校四年級英語上冊第一單元第1課時storytime導學單
- 理正深基坑之鋼板樁受力計算
- 員工入職培訓
- 鋪種草皮施工方案(推薦文檔)
評論
0/150
提交評論