




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . .頁腳. 摘 要搶答器作為一種工具,已廣泛應用于各種智力和知識競賽場合。但搶答器的使用頻率較低,且有的要么制作復雜,要么可靠性低。作為一個單位,如果專門購一臺搶答器雖然在經濟上可以承受,但每年使用的次數極少,往往因長期存放使(電子器件的)搶答器損壞,再購置的麻煩和及時性就會影響活動的開展,因此設計了本搶答器。本設計是以八路搶答為基本理念。考慮到依需設定限時回答的功能,利用 80C51 單片機及外圍接口實現的搶答系統,利用單片機的定時器/計數器定時和計數的原理,將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,同時使數碼管能夠正確地顯示時間。用開關做鍵盤輸出,揚聲器發聲提示。同時系統能
2、夠實現:在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可在1-99s 設定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時間和回答問題時間倒記時顯示,滿時后系統計時自動復位及主控強制復位;按鍵鎖定,在有效狀態下,按鍵無效非法。關鍵詞:80C51,LED 數碼管,搶答器,計時 . .頁腳. 目 錄第一章 緒 論.11.1課題研究的相關背景.11.2選題的目的和意義.11.3課題研究的內容.11.4國內外研究現狀.21.5搶答器目前存在的主要問題.2第二章搶答器的系統概述.32.1 系統的主要功能 .32.2 系統需求分析 .42.3
3、搶答器的工作流程 .42.4 搶答器的工作過程 .52.5 80C51 特殊功能寄存器.62.6 80C51 的功能及簡介.72.7 搶答器的優點及組成 .82.8 本章小結 .8第三章系統總體方案的設計.93.1 硬件電路的設計 .93.2 總體原理圖 .103.3 時鐘頻率電路的設計 .103.4 復位電路的設計 .113.5 顯示電路的設計 .123.6 鍵盤掃描電路的設計 .133.7 發聲電路 .153.8 本章小結 .15第四章軟件設計.164.1 主程序系統結構圖 .164.2 軟件任務分析 .164.3 程序流程圖 .174.4 主要程序分析 .184.5 本章小結 .28第五
4、章 PROTEUS 7 PROFESSIONAL 仿真系列組圖.29 . .頁腳. 5.1 復位圖 .295.2 設置計時時間 .295.3 非法搶答并顯示座號 .295.4 搶答成功并顯示倒計時 .305.5 本章小結 .30第六章總結與展望.316.1 總結 .316.2 展望 .31參 考 文 獻.32致 謝.33 . .頁腳. 第一章 緒 論1.1課題研究的相關背景搶答器是一種應用非常廣泛的設備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發言權的選手。早期的搶答器只由幾個三極管、可控硅、發光管等組成,能通過發光管的指示辯認出選手號碼。現在大多數搶答器均使用單片機(如MCS-
5、51型)和數字集成電路,并增加了許多新功能,如選手號碼顯示、搶按前或搶按后的計時、選手得分顯示等功能。本課題利用80C51單片機及外圍接口實現的搶答系統,利用單片機的定時器/計數器定時和計數的原理,將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,同時使數碼管能夠正確地顯示時間和選手號碼。用開關做鍵盤輸出,揚聲器發聲提示。系統達到要求:在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可設在1-99s設定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時間和回答問題時間倒記時顯示,時間完后系統自動復位;按鍵鎖定,在有效狀態下,按鍵無效
6、非法1。1.2選題的目的和意義通過這次設計,掌握 80C51 單片機的原理,了解簡單多功能搶答器組成原理,初步掌握多功能搶答器的調整及測試方法,提高動手能力和排除故障的能力。同時通過本課題設計與仿真進行調試,提高自己的動手能力,鞏固已學的理論知識,建立單片機理論和實踐的結合,了解多功能搶答器各單元電路之間的關系及相互影響,從而能正確設計、計算定時計數的各個單元電路。1.3課題研究的內容本系統采用模塊化設計智能搶答器,在搶答比賽中廣泛應用,各組分別有一個搶答按鈕。主持人有開始和結束、復位鍵。在后臺主持人可以修改,搶答時間和選手回答問題的時間設置,原始狀態下搶答時間為 20s,回答問題時間為 30
7、s。通過加鍵和減鍵修改 . .頁腳. 上述時間,改完后結束鍵確定。新時間開始有效,主持人按鍵開始后,選手開始搶答為有效,數碼顯示屏顯示搶答時間倒計時和選手號,在最后五秒揚聲器發聲提示。如果主持人沒有按下開始鍵而選手就搶答視為犯規,數碼顯示屏顯示犯規者的代號,揚聲器持續發聲。主持人可按鍵結束,新一輪搶答開始。通過研究并在設計驗證后發現,采用單片機技術設計的搶答器與目前常用的搶答器相比,首先,電路連接簡單,因為大多數功能單元都通過程序設計在單片機內部,第二,工作性能可靠,抗干擾能力優于目前搶答器。所以本研究是一個實用的工程設計,具有創新性。1.4國內外研究現狀搶答器作為一種電子產品,早已廣泛應用于
8、各種智力和知識競賽場合,但目前所使用的搶答器有的電路較復雜不便于制作,可靠性低,實現起來很困難;有的則用一些專用的集成塊,而專用集成塊的購買又很困難。為適應高校等多代表隊單位活動的需要而設計一個多功能搶答器,這種搶答器具有電路簡單,元件普通,易于購買等優點,很好地解決了制作者制作困難和難于購買的問題。在國內外已經開始了普遍的應用。1.5搶答器目前存在的主要問題隨著改革開放事業的不斷深入,促使人們學科學、學技術、學知識的手段多種多樣,搶答器作為一種工具,已廣泛應用于各種智力和知識競賽場合。但搶答器的使用頻率校低,且有的要么制作復雜,要么可靠性低,減少興致。作為一個單位若專購一臺搶答器雖然在經濟上
9、可以承受,但每年使用的次數極少,往往因長期存放使(電子器件的)搶答器損壞,再購置的麻煩和及時性就會影響活動的開展。而且目前多數搶答器存在 3 個不足之處2:第一,現場線路連接復雜。因為每個選手位于搶答現場的不同位置,每個選手與控制臺之間要有長長的連接線。選手越多,連接線就越多、越亂,這些連接線不僅影響了現場的美觀,而且降低了搶答器的可靠性,增加了安裝的難度,甚至影響了現場人員的走動。第二,電路復雜。因為單片機只完成號碼處理、計時、數據運算等功能,其它功能如選手號碼的識別、譯碼、計分顯示等仍只能通過數字集成電路完成。采用單片機掃描技術識別選手搶按號碼時,電路的延遲時間較大。第三,選手搶按成功,但
10、出現沒有搶答被記錄的問題。 . .頁腳. 第二章 搶答器的系統概述2.1 系統的主要功能本系統是借用單片機采用模塊化設計的八路搶答器,包括 8 路搶答按紐、計時顯示、提示功能等、開始與結束控制按鈕、時限設定、各種相關顯示調控功能等。參賽者系統,除享有搶答按紐的權利功能外,還有人性化的提示功能和時間提示功能,也可設定由主控控制在參賽者終端表現的趣味性功能等;主控系統的控制按鈕做開始與結束控制,根據活動參賽者的層次,對提前搶答者的行為設定為非法或阻隔,若設有非法搶答控制功能時,在主控處帶有公示性顯示的非法掄答者的臺位號,對搶答限時及回答問題限時設為倒計時,并有顯示提示。系統的主要功能模塊方框圖如圖
11、 1 所示。圖 1 系統主要功能模塊本系統采用模塊化設計的八路搶答器,在搶答比賽中廣泛應用,各組分別有一個搶答按鈕。一共有 8 個按鍵輸入,分別對應 8 路選手的搶答按鍵。主持人有開始和結束鍵。在后臺主持人可以修改,搶答時間和選手回答問題的時間設置,原始狀態下搶答時間為 20s,回答問題時間為 30s。通過加鍵和減鍵修改上述時 80C51 單片機4 位七段數碼管顯示聲音電路=8 路搶答按鍵輸入復位電路開始、結束按鍵輸入加一、減一按鍵輸入時鐘 . .頁腳. 間,改完后結束鍵確定。新時間開始有效,主持人按鍵開始后,選手開始搶答為有效,數碼顯示屏顯示搶答時間倒計時和選手號,在最后五秒揚聲器發聲提示。
12、如果主持人沒有按下開始鍵而選手就搶答視為犯規,數碼顯示屏顯示犯規者的代號,揚聲器持續發聲。主持人可按鍵結束,新一輪搶答開始。單片機是整個搶答器的核心,內部電路設計用匯編語言編寫。它完成了時間參數的設定,搶按號碼的譯碼,保存;顯示;輸出,搶按及答題倒計時功能等。本設計中,有一個共陰的數碼管組,四個數碼管。其中兩個顯示時間,一個空位,一個顯示搶答號碼。主持人依次按下復位鍵(RESET) ,開始鍵后開始搶答。可以搶按:超時數碼管顯示“FFF” ,當搶按超過規定時間或答題超過規定時間后數碼管顯示“FFF” 。若有選手在規定時間內搶按成功,則可以答題,數碼管顯示搶答時間的同時也顯示選手號碼。若在按開始鍵
13、前搶答表示違規,數碼管顯示“FF”并顯示選手號碼。2.2 系統需求分析1、在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。2、搶答限定時間和回答問題的時間可以在 199s 設定。3、可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示。4、搶答時間和回答問題時間倒記時顯示,時間完后系統自動復位。5、搶答限定時間內使用錦囊回答時間將加到 60s。6、按鍵鎖定,在有效狀態下,按鍵無效非法。2.3 搶答器的工作流程搶答器的基本工作原理:在搶答競賽或呼叫時,有多個信號同時或不同時送入主電路中,搶答器內部的寄存器工作,并識別、記錄第一個號碼,同時內部的定時器開始工作,記錄有關時間并產生
14、超時信號。在整個搶答器工作過程中,顯示電路、聲音電路等還要根據現場的實際情況向外電路輸出相應信號。搶答器的工作流程分為:系統復位、正常流程、違例流程等幾部分,如圖2所示,下面分別予以介紹。 . .頁腳. 圖2 搶答器工作流程2.4 搶答器的工作過程1、如果想調節搶答時間或答題時間,按“加一”鍵或“減一”鍵進入調節狀態,此時會顯示現在設定的搶答時間或回答時間值,如想加一秒按一下加 1s鍵,如果想減一秒按一下“減 1s”鍵,時間 LED 上會顯示改變后的時間,調整范圍為 099s, 0s 時再減 1s 會跳到 99,99s 時再加 1s 會變到 0s。加載程序運 行行開始開始數碼管顯示 FFF 開
15、始搶按時間倒計時開始前有選手搶按顯示違例選手號碼并伴有語音報警倒計時結束,超時有選手搶按顯示 FFF顯示選手號碼,倒計時時間,語音報警,答題,答題時間倒計時正常流程違規流程若超過答題時間,則數碼管顯示 FFF答題完畢根據選手表現,規則由主持人減分 . .頁腳. 2、主持人按搶答開始鍵,會有提示音,并立刻進入搶答倒計時(預設 20s 搶答時間) ,如有選手搶答,會有提示音,并會顯示其號數并立刻進入回答倒計時(預設 30s搶答時間) ,不進行搶答查詢,所以只有第一個按搶答的選手有效。倒數時間到小于 5s會每秒響一下提示音。3、如倒計時期間,主持人想停止倒計時可以隨時按“停止”按鍵,系統會自動進入準
16、備狀態,等待主持人按“搶答開始”進入下次搶答計時。4、如果主持人未按“搶答開始”鍵,而有人按了搶答按鍵,犯規搶答,LED 上不斷閃爍 FF 和犯規號數并響個不停,直到按下“停止” 鍵為止。總而言之,本課題利用80C51單片機及外圍接口實現的搶答系統設計了搶答器,該搶答器增加了新功能、提高了系統的可靠性、簡化了電路結構、節約了成本,是一個實用的工程設計。2.5 80C51 特殊功能寄存器特殊功能寄存器也稱專用寄存器3,是具有特殊功能的所有寄存器的集合,簡稱SFR(Special Function Register) 。特殊功能寄存器共含有 21 個不同寄存器。它們的地址分配在 80HFFH 中,
17、即在 RAM 地址中。這些寄存器的名稱和地址見表 2。表 2 80C51 特殊功能寄存器列表符號地址注釋*ACCE0H累加器*BF0H乘法寄存器*PSWD0H程序狀態字SP81H堆棧指針DPL82H數據存儲器指針低 8 位DPH83H數據存儲器指針高 8 位*IEA8H中斷允許控制器*IPD8H中斷優先控制器*P080H端口 0*P190H端口 1*P2A0H端口 2*P3B0H端口 3PCON87H電源控制及波特率選擇*SCON98H串行口控制器SBUF99H串行數據緩沖器*TCON88H定時器控制TMOD89H定時器方式選擇TL08AH定時器 0 低 8 位TL18BH定時器 1 低 8
18、位TH08CH定時器 0 低 8 位TH18DH定時器 1 高 8 位 . .頁腳. 注:帶*號的特殊功能寄存器都是可以位尋址的寄存器雖然特殊功能寄存器地址在 80HFFH 之中,但在 80HFFH 的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內容是不確定的,如果對這些單元進行操作,得到的是一些隨機數,而寫入則無效。所以,用戶編程時不應該將數據寫入這些未確定的地址單元,它們是公司留待將來開發新產品時使用的。2.6 80C51 的功能及簡介80C51 單片機是 Philips 公司 MC51 系列單片機的一種 8 位單片機。它最大特點是片內含有存儲器,用途十分廣泛,特別
19、是在生產便攜式商品,手提式儀器等方面,有著十分廣泛的應用4。80C51 單片機內部主要有以下部件:80C51CPU、振蕩電路、總線控制部件、中斷控制部件、片內 ROM、片內 RAM、并行 I/O 接口、定時器和串行 I/O 接口80C51 單片機內部由 CPU、4KB 的 ROM ,256B 的 RAM,兩個 16 位的定時/計數器 T0和 T1,4 個 8 位的 I/O 端 P0、P1、P2、P3,一個全雙工串行 I/O 接口,5 個中斷源等組成。單片微機內部最核心的部分是 CPU。CPU 主要功能是產生各種控制信號,控制存儲器、輸入/輸出端口的數據傳輸、數據的算術運算、邏輯運算以及位操作處
20、理等,CPU 按其功能可分為運算器和控制器兩部分。控制器由程序計數器 PC、指令儲存器、指令譯碼器、實時控制與條件轉移邏輯電路等組成。它的功能是對來自存儲器中的指令進行譯碼,通過實時控制電路,在規定的時刻發出各種操作所需的內部和外部的控制信號,使各部分協調工作,完成指令所規定的操作。運算器由算術邏輯器部件 ALU、累加器 ACC、暫存器、程序狀態字寄存器 PSW,BCD 碼運算調整電路等組成。為了提高數據處理和位操作功能,片內增加了一個通用寄存器 B 和一些專用寄存器,還增加了位處理邏輯電路的功能。其內部結構如上圖 3 所示。 . .頁腳. 圖 3 80C51 單片機的內部結構圖2.7 搶答器
21、的優點及組成在知識比賽中,特別是做搶答題目的時候,在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設計一個系統來完成這個任務。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統來設計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也可分辨出哪組優先答題。本文主要介紹了單片機搶答器設計及工作原理,以及它的實際用途。系統工作原理本系統采用 80C51 單片機作為核心。控制系統的四個模塊分別為:存儲模塊、顯示模塊、聲音模塊、搶答開關模塊。該搶答器系統通過八個個按鍵輸入搶答信號;利用存儲程序來完成軟件的設計;利用一個 4 位七段共陰數碼管來完成顯示功能。工作時,用按鍵通過開關電
22、路輸入各路的搶答信號,經單片機的處理,輸出控制信號,控制 4 位七段共陰數碼管和喇叭工作。在數碼管上顯示哪一組先答題,從而實現整個搶答過程。2.8 本章小結本章主要講述了搶答器的工作原理和本設計系統的工作流程。在說明工作原理的過程中,突出了電路的組成單元以及這些單元如何實現搶答功能;在說明系統的流程時,結合本設計的內容,指出了參數設置的方法和意義。搶答正常流程與違例流程的實現,以及如何進行搶答控制。同時也說明了搶答器的優點和 80C51 的功能及簡介。外部定時元件復位中斷電源系統時鐘ROMCPU定時/計數器串行 I/O 口并行 I/O 口RAM . .頁腳. 第三章 系統總體方案的設計3.1
23、硬件電路的設計本設計分為硬件設計和軟件設計,這兩者相互結合,不可分離;從時間上看,硬件設計的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術準備充分,硬件設計的大返工是比較少的,軟件設計的任務貫徹始終,到中后期基本上都是軟件設計任務,隨著集成電路技術的飛速發展,各種功能很強的芯片不斷出現,使硬件電路的集成度越來越高,硬件設計的工作量在整個項目中的所占的比重逐漸下降。為使硬件電路設計盡可能合理,應注意以下幾方面:(1) 盡可能采用功能強的芯片,以簡化電路,功能強的芯片可以代替若干普通芯片,隨著生產工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總和高。(2) 留有
24、設計余地。在設計硬件電路時,要考慮到將來修改擴展的方便。因為很少有一錘定音的電路設計,如果現在不留余地,將來可能要為一點小小的修改或擴展而被迫進行全面返工。(3) 程序空間,選用片內程序空間足夠大的單片機,本設計采用 80C51 單片機。(4) RAM 空間,80C51 內部 RAM 不多,當要增強軟件數據處理功能時,往往覺得不足。如果系統配置了外部 RAM,則建議多留一些空間。如選用 8155 作 I/O 接口,就可以增強 256 字節 RAM。隨著軟件設計水平的提高,往往只要改變或增加軟件中的數據處理算法,就可以使系統功能提高很多,而系統的硬件不必做任何更換就使系統升級換代。(5) I/O
25、 端口:在樣機研制出來后進行現場試用時,往往會發現一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設計就預留出一些 I/O 端口,雖然當時空著沒用,那么用的時候就派上用場了。 . .頁腳. 3.2 總體原理圖圖 4 系統原理圖圖中 U1 為單片機 80C51,U2 為芯片 74HC30,U3 為芯片 74LS04。K1K8 分別為 8 路搶答按鍵,分別接到單片機的 P1.0P1.7 中。開始按鍵與結束按鍵分別接到單片機的10、11 腳,由于單片機的 10、11 腳既有串行接口 RXD、T
26、XD 功能,又有 P3.0、P3.1 的IO 端口功能,此處按鍵用到單片機 10、11 腳的 IO 端口功能。搶答時間調整按鍵和回答時間調整按鍵分別接到單片機的 13、14 管腳,加一按鍵和減一按鍵分別接到單片機的15、16 管腳。4 位七段數碼管段選 P0 口。4 位七段數碼管的位選接 P2 口低 3 位,蜂鳴器輸出為 P3.7 口。3.3 時鐘頻率電路的設計單片機必須在時鐘的驅動下才能工作。在單片機內部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產生一定的時鐘信號送到單片機內部的各個單元,決定單片機的工作速度。時鐘電路如圖 5 所示。 . .頁腳. 圖 5 外部振蕩源電路一般選用石英晶體振
27、蕩器。此電路在加電大約延遲 10ms 后振蕩器起振,在 XTAL2引腳產生幅度為 3V 左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2 的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調。C1,C2 的典型值為 30PF。單片機在工作時,由內部振蕩器產生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數,常用 fosc表示。圖中時鐘頻率為 12MHz,即 fosc=12MHz,則機器周期為 1s。3.4 復位電路的設計單片機的第 9 腳 RST 為硬件復位端,只要將該端持續 4 個機器周期的高電平即可實現
28、復位,復位后單片機的各狀態都恢復到初始化狀態,其電路圖如圖 6 所示:圖 6 復位電路圖 6 中由復位鍵以及電解電容 C3、電阻 R2 構成按鍵及上電復位電路。由于單片機是高電平復位,所以當復位鍵按下的時候,單片機的 9 腳 RESET 管腳將處于高電平,此時單片機就處于復位狀態。當上電后,由于電容的緩慢充電,單片機的 9 腳電壓會逐步由高向低轉化,經過一段時間后,單片機的 9 腳處于穩定的低電平狀態,此時單片機上電就復位完畢,系統程序從 0000H 開始執行。值得注意的是,在設計當中使用到了硬件復位和軟件復位這兩種功能,由上面的硬件復位后的各狀態可知寄存器及存儲器的值都恢復到了初始值,而前面
29、的功能介紹中提到了倒計時時間的記憶功能,該功能的實現的前提條件就是不能對單片機進行硬件復位, . .頁腳. 所以設定了軟件復位功能。軟件復位實際上就是當程序執行完畢之后,將程序指針通過一條跳轉指令讓它跳轉到程序執行的起始地址。3.5 顯示電路的設計顯示功能與硬件關系極大,當硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。在這里我們使用的是七段數碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態顯示,一種是動態顯示。其中靜態顯示的特點是顯示穩定不閃爍,程序編寫簡單,但占用端口資源多;動態顯示的特點是顯示穩定性沒靜態好,程序編寫復雜,但是相對靜態顯示而言占
30、用端口資源少。在本設計中根據實際情況采用的是動態顯示方法。通過查表法,將其在數碼管上顯示出來,其中 P0 口為字型碼輸入端,P2 口低 3 位為字選段輸入端。在這里我們通過查表將字型碼送給 7 段數碼管顯示的數字。4 位七段數碼管顯示電路如圖 7 所示。圖 7 共陰極數碼管圖 7 中數碼管采用的是 4 位七段共陰數碼管,其中 AH 段分別接到單片機的 P0 口,由單片機輸出的 P0 口數據來決定段碼值,位選碼 COM1、COM3、COM4 分別接到單片機的P2.0、P2.1、P2.2,由單片機來決定當前該顯示的是哪一位。在圖中還有八個 1K 的電阻,連接在 P0 口上,用作 P0 口的上拉電阻
31、,保證 P0 口沒有數據輸出時候處于高電平狀態。3.6 鍵盤掃描電路的設計鍵盤是人與單片機打交道的主要設備。關于鍵盤硬件電路的設計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也會提供相應的鍵盤掃描程 . .頁腳. 序。站在系統監控軟件設計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態是不夠的,還有不少問題需要得到妥善解決,否則,人們在操作鍵盤時就容易引起誤操作和操作失控的現象。在單片機應用中鍵盤用得最多的形式是獨立鍵盤和矩陣鍵盤。它們都有各自的特點,其中獨立鍵盤的硬件電路簡單,而且在程序設計上也不復雜,一般都用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨立鍵盤
32、有很大區別,首先在硬件電路上它要比獨立鍵盤復雜很多,而且在程序算法上要比它煩瑣,而且在觸點抖動按鍵同與斷過程中可能會出現判斷錯誤。應該采用軟件去抖方法,即延時重復掃描法,延時法的原理為:在檢測到有按鍵被按下時,執行一個 10ms 左右(具體時間應該視所使用的按鍵進行調整)的延時程序,再確認該鍵電平是否仍保持閉合狀態的電平,若仍保持閉合狀態電平,則確認該鍵處于閉合狀態;同理,在檢測到該鍵釋放后,也應該采用相同的步驟進行確認,從而消除去抖的影響。在本文設計中采用了獨立鍵盤的方式,本設計中有 8 個搶答按鍵輸入,一個開始按鍵、一個結束按鍵,此外還有搶答時間調整鍵、回答時間調整鍵,加一按鍵、減一按鍵各
33、一個。如圖 8 所示。圖 8 搶答按鍵及調整按鍵在圖 8 中 8 個搶答按鍵分別接入單片機的 P1.0P1.7 端口,單片機通過讀取P1.0P1.7 的值來判斷當前輸入的是 8 個搶答按鍵中的哪一個。搶答時間調整和回答時間調整接到單片機的 P3.3 和 P3.4 接口,加一及減一按鍵接到單片機的 P3.5 和 P3.6 接口。圖 9 開始、結束按鍵 . .頁腳. 在圖 9 中,開始及結束按鍵接到單片機的 10、11 腳,這里用到了單片機 10、11 腳復合功能中的 IO 端口功能,單片機通過讀取 10、11 腳的 P3.0、P3.1 的 IO 端口值來判斷當前是否處于搶答開始狀態或搶答結束狀態
34、。按鍵的觸點在閉合和斷開時均會產生抖動,這時觸點的邏輯電平是不穩定的,如不妥善處理,將會引起按鍵命令的錯誤執行或重復執行。現在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于 5ms,例如取 10-20ms。如果監控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。K1K8 八個按鍵的輸入電平靠 74HC30 輸入與非門和 74LS04 反向器組成的電路改變輸入電平。圖 10 中電路就是由一個 74HC30 輸入與非門和
35、74LS04 反向器組成的去抖電路。圖 10 去抖電路3.7 發聲電路我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線的“高”電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭就能發出一定頻率的聲音,若再利用延時程序控制“高” “低”電平的持續時間,就能改變輸出頻率,從而改變音調,使喇叭發出不同的聲音。本文設計如圖 11 所示。圖中單片機的 14 腳輸出具有復合功能,此處用到了單片機17 腳的 IO 端口功能,單片機通過內部定時器的操作實現交替變換的波形輸出驅動揚聲器發聲。圖 11 發聲電路 . .頁腳. 3.8 本章小結本章詳細講述了以 80C51 為核
36、心元件的搶答器的硬件電路具體設計過程,分析了具體電路。在設計過程中,實現搶答功能的是通過編寫程序的方法集成在 80C51 內部。接著將程序下載到硬件電路中,配合周邊的時鐘電路,復位電路等,制作出符合設計要求的搶答器。 . .頁腳. 第四章 軟件設計4.1 主程序系統結構圖圖 13 軟件系統結構圖4.2 軟件任務分析軟件任務分析和硬件電路設計結合進行,哪些功能由硬件完成,哪些任務由軟件完成,在硬件電路設計基本定型后,也就基本上決定下來了5。軟件任務分析環節是為軟件設計做一個總體規劃。從軟件的功能來看可分為兩大類:一類是執行軟件,它能完成各種實質性的功能,如測量,計算,顯示,打印,輸出控制和通信等
37、,另一類是監控軟件,它是專門用來協調各執行模塊和操作者的關系,在系統軟件中充當組織調度角色的軟件。這兩類軟件的設計方法各有特色,執行軟件的設計偏重算法效率,與硬件關系密切,千變萬化。軟件任務分析時,應將各執行模塊一一列出,并為每一個執行模塊進行功能定義和接口定義(輸入輸出定義) 。在各執行模塊進行定義時,將要牽扯到的數據結構和數據系統初始化模塊按鍵模塊非法搶答模塊正確搶答模塊調整搶答時間調整回答時間模塊數碼顯示模塊 . .頁腳. 類型問題也一并規劃好。各執行模塊規劃好后,就可以監控程序了。首先根據系統功能和鍵盤設置選擇一種最適合的監控程序結構。相對來講,執行模塊任務明確單純,比較容易編程,而監
38、控程序較易出問題。這如同當一名操作工人比較容易,而當一個廠長就比較難了。軟件任務分析的另一個內容是如何安排監控軟件和各執行模塊。整個系統軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調用的子程序,這類程序對實時性要求不是太高,延誤幾十 ms 甚至幾百 ms 也沒關系,故通常將監控程序(鍵盤解釋程序) ,顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執行;而前臺程序安排一些實時性要求較高的內容,如定時系統和外部中斷(如掉電中斷) 。也可以將全部程序均安排在前臺,后臺程序為“使系統進入睡眠狀態” ,以利于系統節電和抗干擾。4.3 程序流程圖在本設計中包括了以下主要的程序:主
39、程序,查詢程序,非法搶答程序,搶答時間調整程序,回答時間調整程序,倒計時程序,正常搶答處理程序,犯規處理程序,顯示及發聲程序。主流程圖如 14 所示: . .頁腳. 圖 14 程序設計流程圖4.4 主要程序分析 #include#define uint unsigned int #define uchar unsigned charsbit warm=P10; /*定義 P10 端口輸出作為控制聲音電路*/sbit grade_exam=P11; /*定義 P11 端口輸出作為控制查分鍵*/sbit juge=P12; /*定義 P12 端口輸出作為控制裁判鍵*/sbit grade_add=
40、P13; /*定義 P13 端口輸出作為控制加分鍵*/sbit begin=P14; /*定義 P14 端口輸出作為控制開始倒計時鍵*/sbit Wela=P15; /*定義 P15 端口輸出作為控制數碼管的位選*/sbit Dula=P16; /*定義 P16 端口輸出作為控制數碼管的段選*/uchar grade8;顯示 FFF開始鍵加一鍵減一鍵回答時間 調整搶答時間去抖動非法搶答處理顯示犯規正常搶答 顯示搶答號并倒計時Y YY 初始化 . .頁腳. uchar num,num0,num1,num2,count_down;uchar succeed,time,start;uchar dis
41、p=0 x03,0 x9f,0 x25,0 x0d,0 x99,0 x49,0 x41,0 x1f,0 x01,0 x19;/*控制數碼管段選*/4.4 延時程序 void delay(uint xms) uint i,j; for(i=xms;i0;i-) for(j=110;j0;j-);程序分析;每進入一次程序就延時 xms 微秒,只有 i 等于 0 時程序才結束,表示延時結束。4.5 中斷初始化程序void init() TMOD=0 x01; TH0=(65536-5000)/256; TL0=(65536-5000)%256; EA=1; ET0=1;程序分析;此段程序主要提供計時
42、準備。TMOD 主要說明的定時器的工作方式 1,TH0 和 TL0 裝入初始數據,EA 開總中斷,ET0 表示開定時器的 0 的中斷。4.6 數碼管顯示程序void displaynum(uchar num,uchar num1,uchar num2) uchar ge,shi1,ge1,shi2,ge2,bai1; ge=num; bai1=num1/100; shi1=num1%100/10; ge1=num1%10; shi2=num2/10; ge2=num2%10; Wela=1; P2=0 x01; Wela=0; Dula=1; P0=dispge; Dula=0; P0=0 x
43、00; delay(5); Wela=1; P2=0 x02; . .頁腳. Wela=0; Dula=1; P0=dispge1; Dula=0; P0=0 x00; delay(5); Wela=1; P2=0 x04; Wela=0; Dula=1; P0=dispshi1; Dula=0; P0=0 x00; delay(5); Wela=1; P2=0 x08; Wela=0; Dula=1; P0=dispbai1; Dula=0; P0=0 x00; delay(5); Wela=1; P2=0 x10; Wela=0; Dula=1; P0=dispge2; Dula=0; P
44、0=0 x00; delay(5); Wela=1; P2=0 x20; Wela=0; Dula=1; P0=dispshi2; Dula=0; P0=0 x00; delay(5); 程序分析;此程序主要是顯示數碼管。num,num1,num2 分別表示的數組,數組的分數,時間的倒計時。首先 ge=num 就是數碼管左邊第一個顯示數組,bai1=num1/100b 表示分數除 100 取整給 bai1 . .頁腳. 作為百位,shi1=num1%100/10 表示 num1 先取余數然后在除 10 取整作為個位,ge1=num1%100 表示取余數作為個位,時間倒計時原理一樣。打開位選(位
45、選是控制那個數碼管顯示)裝進數并把它賦給P2 端口這樣就能控制數碼管亮,關閉位選。打開段選,利用數組將數賦給 P0 端口這樣能讓相應的數碼管顯示相應的數,然后關閉數碼管,此后延時。數碼管的顯示主要利用人眼看到的數碼管上的余光。就這樣反復進行,就達到我們想要的結果。4.7 按鍵掃描程序void keyscan() /*檢測裁決鍵*/ if(!juge) start=1; succeed=0; count_down=5; warm=1; delay(30); warm=0; TR0=0; num=0; gradenum=0; /*檢測選手的號碼程序*/ if(start) if(P3!=0 xff
46、) start=0;warm=1; delay(30);warm=0; switch(P3) case 0 x7f:num=8;succeed=1;break;case 0 xbf:num=7;succeed=1;break;case 0 xdf:num=6;succeed=1;break;case 0 xef:num=5;succeed=1;break;case 0 xf7:num=4;succeed=1;break;case 0 xfb:num=3;succeed=1;break; . .頁腳. case 0 xfd:num=2;succeed=1;break;case 0 xfe:num
47、=1;succeed=1;break;default:num=0;succeed=0;break; /*倒計時按鍵程序*/ if(!begin&succeed) delay(10); if(!begin) TR0=1; start=1; warm=1; delay(30); warm=0; while(! begin); /*按鍵查分程序*/ if(!grade_exam&num) delay(10); if(!grade_exam) warm=1; delay(30); warm=0; num+; if(num=9) num=1; while(!grade_exam); /*
48、按鍵加分程序*/ if(!grade_add) / delay(10); if(!grade_add) warm=1; . .頁腳. delay(30);warm=0; gradenum+=5; if(gradenum=250) gradenum=250; while(!grade_add); 程序分析;此程序主要由裁決按鍵程序,檢測選手號碼查程序,倒計時按鍵程序,按鍵查分程序和按鍵加分程序組成。其中裁決按鍵相當于總開關,如果檢測到裁決鍵按下則清除單片機中以前所有的數據,succee 賦值為 0,start 賦值為 1,countdown 賦值為 5,蜂鳴器開始發聲 1 秒鐘停止,TR0=0
49、表示停止中斷,組數和相應分數分別清零。檢測選手號碼查程序主要是在裁決鍵已經按下那么便開始檢測是那一組搶答并顯示號碼和蜂鳴器發出聲音,中斷該程序并且 succeed 賦值為1,同時進入下一個程序。倒計時按鍵程序,按下按鍵的時候蜂鳴器發聲音并且中斷中止。按鍵查分程序主要是當檢測到按鍵查分按鍵按下時,蜂鳴器發聲的同時組數加一在數碼管上同時顯示組數和分數。加分按鍵程序主要是當檢測到有按鍵按下時則在蜂鳴器發聲的同時給相應的組數加五分。4.8 主程序 void main() init();warm=0; while(1) keyscan(); displaynum(num,gradenum,count_d
50、own); 程序分析;程序的初始化和利用 while 循環語句4.9 中斷計時程序 void T0_time0() interrupt 1 TH0=(65536-5000)/256; TL0=(65536-5000)%256; time+; if(time=200) time=0; if(start) count_down-; warm=1; . .頁腳. delay(30); warm=0; if(count_down=0) count_down=0; TR0=0; 程序分析;利用中斷計時器方式 1 計時。4.5 本章小結本章是搶答器的軟件設計,實現搶答功能主要是通過編寫程序的方法集成在 80C51內部。將程序下載到硬件電路中,實現搶答功能。 . .頁腳. 第五章 Proteus 7 Professional 仿真系列組圖5.1 復位圖圖 15 復位顯示三個 FFF該圖顯示當單片機復位后,在 4 位七段數碼管上顯示的初始狀態“F FF”字符。5.2 設置計時時間圖 16 計時時間為 17 秒該圖顯示通過加一按鍵操作后在 4 位數碼管上顯示的計時時間為 17 秒
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國防凍液行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國鋁阻隔層壓包裝行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國鐵路行業市場深度調研及前景趨勢與投資研究報告
- 2025-2030中國金融軟件與金融信息服務行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國金屬過濾網市場應用前景與競爭格局預測研究報告
- 2025-2030中國進口沙發行業市場運發展分析及競爭形勢與投資戰略研究報告
- 2025-2030中國轉椅行業發展分析及發展趨勢預測與投資風險研究報告
- 2025-2030中國西式快餐行業發展分析及發展前景與投資研究報告
- 2025-2030中國蛭石和珍珠巖行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國蒸汽回收裝置(VRU)行業市場發展趨勢與前景展望戰略研究報告
- 2024年4月自考00153質量管理(一)試題及答案
- 2025年山東省東營市2024-2025學年下學期九年級模擬一模數學試題(原卷版+解析版)
- 大壩固結灌漿與帷幕灌漿施工方案
- 交警道路交通安全執法規范化課件
- 人教五四 六年級 下冊 語文 第五單元《中國有能力解決好吃飯問題 第二課時》課件
- 2025年湖北省八市高三(3月)聯考物理試卷(含答案詳解)
- 綜合應急預案、專項應急預案、現場處置方案
- 放射醫學檢查技術及操作規范
- 《南非綜合簡要介紹》課件
- 新蘇教版一年級數學下冊第四單元《認識20~99》全部教案(共3課時)
- 2025年中國高壓注射器行業發展策略、市場環境及前景研究分析報告
評論
0/150
提交評論