搶答器畢業(yè)設計論文
《搶答器畢業(yè)設計論文》由會員分享,可在線閱讀,更多相關《搶答器畢業(yè)設計論文(45頁珍藏版)》請在裝配圖網上搜索。
畢 業(yè) 設 計 專 業(yè): 機電一體化 班級學號: 1707342 學生姓名: 馬忠 指導教師: 王國賓老師 二〇一九年 九 月 甘肅有色冶金職業(yè)技術學院畢業(yè)設計 搶答器 Responder 專業(yè)班級:機電1703班 學生姓名:馬忠 指導教師:王國賓老師 系 別:機電工程系 2019 年 9月 摘 要 近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,作為嵌入式控制系統(tǒng)的主體與核心,代替了傳統(tǒng)的控制系統(tǒng)的常規(guī)電子線路。但僅單片機方面知識是不夠的,還應根據(jù)具體硬件結構軟硬件結合,加以完善。 本設計是以六路搶答為基本理念,應用以單片機作為核心部件進行邏輯控制及信號的產生,考慮到依需設定限時回答的功能,利用AT89C51單片機及外圍接口實現(xiàn)的搶答系統(tǒng),利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機地結合起來,使得系統(tǒng)能夠正確地進行計時,同時使數(shù)碼管能夠正確地顯示時間。用開關做鍵盤輸出,揚聲器發(fā)生提示。同時系統(tǒng)能夠實現(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可在1-99s設定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時間和回答問題時間倒記時顯示,滿時后系統(tǒng)計時自動復位及主控強制復位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。 由于計算機的普及和電子信息技術的迅猛發(fā)展,對智能搶答器有了更高的要求,如何有效的保證許多公開競爭場合裁決的公平,公正。單片機智能搶答器為之提供了條件和發(fā)展空間。建立一個價格適宜、智能化、自動化、數(shù)字化等特點的智能搶答器具有重要意義。 【關鍵詞】單片機;智能;六路;搶答 Abstract With the rapid development of science and technology in recent years, SCM applications are deepening at the same time promote ,the growing of traditional control detection technology updates. In real-time detection and automatics control of the microcomputer application sys- tem, the microcontroller is often used as a core component, as the main embedded control to systems and core, instead of the traditional control system of conventional electronic circuits. But only SCM knowledge is not enough, should be based on specific hardware structure of hardware and software combination to be improved. This design is based on six road to answer in the basic concepts used to MCU as the core co- mponents for logic control and signal generation, taking into account the need to set timebou- nd to answer according to the function, using AT89C51 microcontroller and external interface of the answer in his system, using SCM Timer / Counter Timing and count of the principle, It hardware and software together organically, allowing the system to correctly time, and while the digital control to correctly display the time. Switching to do with the keyboard output The speaker prompts occur. At the same time the system can be achieved: The answer in his place, only to be effective after the commencement of answer in his place, if the answer in his place before the answer in his place at the beginning null and void; to answer in a limited time and answer the question time can be set in 1-99s; can display is an effective answer in which pla- yers and Invalid answer in the correct button prompt after the music; time and answer the qu- estions to answer in time for ups · shows, full-time hours after the system automatically reset and master reset forces; keys locked in the effective state, the button is not illegal. Due to the proliferation of computers and electronic information technology, the rapid devel- opment of smart Responder have higher requirements, how to effectively guarantee open the competition in many occasions, the ruling fair and just. SCM Smart Responder furnish the c- onditions and development. The establishment of an affordable, intelligent, automated, digital and other characteristics of the intelligent Responder of great significance. Key words: SCM;intelligence;For 6 Player;To answer first 目 錄 引 言 1 第1章 方案論證 2 1.1 系統(tǒng)的主要功能 2 1.1.1 系統(tǒng)功能分析 3 1.1.2 搶答器的工作流程 3 1.2 器件選型方案 5 1.2.1 控制器模塊的選取 5 1.2.2 顯示器模塊的選取 5 1.3 AT89C51的簡介及使用 6 1.3.1 89系列單片機的概況 6 1.3.2 AT89C51單片機的內部結構圖 7 1.3.3 AT89C51特殊功能寄存器 8 1.3.4 AT89C51單片機使用方法 9 第2章 系統(tǒng)總體方案的設計 11 2.1 硬件電路的設計 11 2.2 時鐘頻率電路的設計 12 2.3 復位電路的設計 12 2.4 顯示電路的設計 13 2.4.1 LED數(shù)碼管顯示原理 13 2.5 鍵盤掃描電路的設計 14 2.5.1 鍵盤抖動的軟件處理 14 2.6 發(fā)聲報警 15 2.7 系統(tǒng)復位 15 2.8 電源設計 16 第3章 軟件設計 17 3.1軟件任務分析 17 3.2主程序系統(tǒng)結構圖 18 3.3主要程序說明 19 總 結 27 致 謝 28 參考文獻 29 附錄:硬件系統(tǒng)原理圖 30 甘肅有色冶金職業(yè)技術學院2017屆畢業(yè)設計 引 言 單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內存、內部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網絡、復雜的輸入輸出系統(tǒng)集成在一塊芯片上。 隨著電子技術的發(fā)展,單片機的應用已經滲透到國民經濟的各個部門和領域,現(xiàn)代人類生活中所用的幾乎每件電子和機械產品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部單片機。它已成為工業(yè)控制領域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機。 在本設計中,單片機識別多路搶答信號采用外中斷,當外中斷信號來臨時執(zhí)行中斷處理程序,將搶答標志位置位。即所謂的掃描。同時電子智能搶答器用單片機控制,功能分別為計分和搶答。計分的工作原理是采用最小系統(tǒng),用4x4鍵盤來輸入是選手需要加減進行分數(shù)的加減輸入。主板上的6個數(shù)碼顯示,加幾分的數(shù),按確定鍵后分數(shù)值從I/O口P2傳到計分器顯示模塊上再通過數(shù)碼管驅動模塊顯示。搶答的工作原理是采用單片機最小系統(tǒng),用查詢式鍵盤進行搶答。采用鎖存顯示組號。搶答器也可稱為第一信號鑒別器,利用了單片機本身的優(yōu)勢使競賽達到公平,公正,公開。因此具有重要意義。 第1章 方案論證 1.1 系統(tǒng)的主要功能 本系統(tǒng)是借用單片機采用模塊化設計的智能搶答器,主控與參賽者設為終端分系統(tǒng)。參賽者分系統(tǒng)設有:搶答按紐、計時計分顯示、提示功能等(根據(jù)需要可另設或多設相關功能);主控分系統(tǒng)有:開始與結束控制按鈕、計分功能、各種相關顯示調控功能等(根據(jù)需要也可另設或多設相關功能)。 參賽者系統(tǒng),除享有搶答按紐的權利功能外,還有人性化的提示功能和時間提示功能,也可設定由參賽者終端表現(xiàn)的趣味性功能等;主控系統(tǒng)的控制按鈕做開始與結束控制,根據(jù)活動參賽者的層次,對提前掄答者的行為設定為非法或阻隔,若設有非法搶答控制功能時,在主控處帶有公示性顯示的非法掄答者的臺位號,對搶答限時及回答問題限時設為倒計時式,并有公示性顯示。 搶答器同時供6名選手或6個代表隊比賽,分別用6個按鈕S1~S6表示。設置一個系統(tǒng)清除和搶答控制按扭,該按扭由主持人控制。搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應的編號,并在LED數(shù)碼管上顯示,同時揚聲器發(fā)出報警聲響提示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。計分器的工作原理是采用最小系統(tǒng),用4x4鍵盤來輸入是選手需要加減進行分數(shù)的加減輸入。主板上的6個數(shù)碼顯示,加幾分的數(shù),按確定鍵后分數(shù)值從I/O口P2傳到計分器顯示模塊上再通過數(shù)碼管驅動模塊顯示。 本系統(tǒng)采用模塊化設計智能搶答器,在搶答比賽中廣泛應用,各組分別有一個搶答按鈕。主持人有開始和結束復位鍵。在后臺主持人可以修改,搶答時間和選手回答問題的時間設置,搶答時間為連續(xù)可調的0~9秒??梢酝ㄟ^軟件編程自行修改時間,主持人按鍵開始后,選手開始搶答為有效,數(shù)碼顯示屏顯示搶答時間倒計時和選手號,在最 后五秒揚聲器發(fā)生提示。如果主持人沒有按下開始鍵而選手就搶答視為犯規(guī),數(shù)碼顯示屏顯示犯規(guī)者的代號,揚聲器持續(xù)發(fā)生。主持人可按鍵結束,新一輪搶答開始。系統(tǒng)的主要功能模 主 控 制 器 LED顯示 發(fā)聲器 鍵盤顯示 時鐘頻率 復位電路 塊方框圖如1-1所示。 圖1-1 系統(tǒng)主要功能模塊 搶答主板:搶答主板是整個搶答器的核心,其關鍵是單片機AT89C51。內部電路設計用C語言與匯編語言編寫。它完成了時間參數(shù)的設定,搶按號碼的譯碼,保存;顯示;輸出,搶按及計分功能等。 顯示及指示:本設計中,有六個共陽數(shù)碼管??捎糜陲@示時間,分數(shù),搶答號碼。主持人依次按下開始鍵后開始搶答??梢該尠矗喝粲羞x手在規(guī)定時間內搶按成功,則可以答題,數(shù)碼管顯示搶答時間的同時也顯示選手號碼。若在按開始鍵前搶答表示違規(guī),發(fā)出報警聲。 1.1.1 系統(tǒng)功能分析 1、在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。 2、搶答限定時間和回答問題的時間可以通過軟件編程自己設定的。 3、可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有聲音提示。 4、搶答時間和回答問題時間倒記時顯示,時間完后系統(tǒng)可以進行復位。 5、按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。 1.1.2 搶答器的工作流程 搶答器識別搶答信號可用外部中斷的方式,當外中斷信號到來時,將強答標志位置位,同時內部寄存器工作,記錄有關時間并產生超時信號。在整個搶答器工作過程中,顯示電路、語音電路等還要根據(jù)現(xiàn)場的實際情況向外電路輸出相應信號。它的工作流程如圖1-2所示,下面分別予以介紹。 搶答器的工作過程: 1、如果想調節(jié)搶答時間或答題時間,可以在軟件編程的時候將相關的變量控制設定好,調整范圍為連續(xù)可調的0~9s。 掃描 第一組 第二組 第六組 顯示組號 報警聲 是 是 是 否 開始化化化 否 2、主持人按"搶答開始"鍵,并立刻進入搶答倒計時,如有選手搶答,會有提示音,并會顯示其號數(shù)并立刻進入回答倒計時,不進行搶答查詢,所以只有第一個按搶答的選手有效。同時數(shù)碼管鎖存相應的選手號。 直到主持人將號碼清零然后開始下一輪 的搶答。 3、如果主持人未按"搶答開始"鍵, 而有人按了搶答按鍵,犯規(guī)搶答,則顯 示報警聲,直到按下"停止" 鍵為止。 總而言之,本課題利用AT89C51單 片機及外圍接口實現(xiàn)的搶答系統(tǒng)設計了搶 答器,該搶答器增加了新功能、提高了系 統(tǒng)的可靠性、簡化了電路結構、節(jié)約了成 本,是一個實用的工程設計。 圖1-2 搶答器工作流程 1.2 器件選型方案 1.2.1 控制器模塊的選取 微控制器是整個系統(tǒng)的核心部件,控制對顯示、搶答、音樂、計分等??刂破鞯倪x擇主要有以下兩鐘方案。 方案一:采用FPGA(現(xiàn)場可編程門列陣)或PLC器件作為系統(tǒng)的控制器。FPGA可以實現(xiàn)各種復雜的邏輯功能,規(guī)模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩(wěn)定性,并且可以應用EDA軟件仿真、調試,易于進行功能擴展。FPGA采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模實時系統(tǒng)的控制核心。。PLC是一種新型的通用自動化控制裝置,它將傳統(tǒng)的繼電器控制技術、計算機技術和通訊技術融為一體,具有控制功能強,可靠性高,使用靈活方便,但由于本設計對 數(shù)據(jù)處理的速度要求不高,F(xiàn)PGA與PLC的高速處理的優(yōu)勢得不到充分體現(xiàn),并且由于其集成度高,使其成本偏高,同時由于芯片的引腳較多,實物硬件電路板布線復雜,加重了電路設計和實際焊接的工作。 方案二:利用KeilC開發(fā)平臺,采用ATMEL公司的AT89C51作為系統(tǒng)控制器的CPU方案。單片機算術運算功能強,軟件編程靈活、自由度大,可以用軟件編程實現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術成熟和成本低等優(yōu)點,使其在各個領域應用廣泛。基于以上分析擬訂方案二。 1.2.2 顯示器模塊的選取 顯示器主要負責數(shù)據(jù)的輸出顯示。我們考慮有以下兩種顯示方案。 方案一:使用液晶屏顯示時間。液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強的特點。但由于只需要顯示時間等這樣的數(shù)字,信息量比較少,且由于液晶是以點陣的模式顯示各種符號,需要利用控制芯片創(chuàng)建字符庫,編程工作量大, 控制器的資源占用較多,其成本也偏高。在使用時,不能有靜電干擾,否則易燒壞液晶顯示芯片,不易維護。 方案二:在使用傳統(tǒng)的數(shù)碼管顯示。數(shù)碼管具有:低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對外界環(huán)境要求低,易于維護,同時其精度高,稱量快,精確可靠,操作簡單。數(shù)碼顯示是采用七段BCD編碼顯示數(shù)字,程序編譯容易,資源占用較少。 根據(jù)以上的論述,采用方案二。 1.3 AT89C51的簡介及使用 1.3.1 89系列單片機的概況 AT89C51單片機是ATMAL公司89系列單片機的一種8位Flash單片機。它最大特點是片內含有Flash存儲器,用途十分廣泛,特別是在生產便攜式商品,手提式儀器等方面,有著十分廣泛的應用。 (1) 89系列單片機的特點 89系列單片機是以8031為內核的產品,它與51系列單片機是兼容的。89系列單片機具有以下特點: a) 內部含有Flash存儲器,使用戶在開發(fā)過程中十分容易修改程序縮短系統(tǒng)的開發(fā)周期??梢灾貜投啻尉幊蹋筛鶕?jù)需要對內部程序進行更新或升級。 b) 89系列單片機的引腳和AT80C51引腳座兼容,用89系列單片機可以代替同檔次的AT80C51單片機,不需要對外圍電路進行改動。 c) 89系列單片機采用靜態(tài)時鐘方式,可以節(jié)省電能,降低便攜式設備的功耗。 (2) 89系列單片機的結構簡介 89系列單片機的內部結構與AT80C51相近,主要有以下部件: 1 8031CPU 2 振蕩電路 3 總線控制部件 4 中斷控制部件 5 片內Flash存儲器 6 片內RAM 7 并行I/O接口 8 定時器 9 串行I/O接口 89系列的各種型號單片機,內部差別很大。例如,AT89C1051片內Flash存儲器只有1KB,而AT89C52、AT89LV52和AT89S8252的片內Flash存儲器有8KB。AT89S8252的結構最復雜,它的內部含有標準的串行口,還有一個串行的外圍接口SPI,Watchdog定時器,雙數(shù)據(jù)指針等部件,以及電源下降的中斷恢復功能。 89系列的單片機一共有五種型號,分別為AT89C51,AT89LV51,AT89C52,AT89LV52和AT89S8252,其中AT89LV51和AT89LV52分別是AT89C51和AT89C52的低壓產品,最低電壓可以低2.7V,AT89C1051和AT89C2051則是抵擋的低壓產品,只有20根引腳。 89系列單片機的型號編碼中字母的意義是:AT表示該器件是ATMEL公司的產品,C表示該器件是CMOS產品,LV表示該器件是低電壓產品,S表示該器件含可以下載的Flash存儲器。 AT89C51是89系列單片機的標準型,它是與MSC-51系列單片機兼容的。在內部含有4KB或8KB可重復編程的Flash存儲器,可進行1000次擦寫操作。全靜態(tài)工作為0-24MHZ,有3級程序鎖存器,內部含有128-256字節(jié)的RAM,有32條可編程I/O口線,2-3個16位定時/計數(shù)器,6-8個中斷源,通用的串行接口,低電壓空閑及電源下降方式。 AT89C51是基本型,具有4KB的Flash存儲器,128字節(jié)的片內RAM,32條可編程I/O口,兩個16位定時/計數(shù)器,6個中斷源,3位存儲器加密,一個可編程串行接口。AT89C52在AT89C52的基礎上,增加了一個定時/計數(shù)器,2個中斷源,128字節(jié)的片內RAM,4KB的Flash存儲器。 1.3.2 AT89C51單片機的內部結構圖 AT89C51單片機內部由CPU、4KB的FPEROM ,128B的RAM,兩個16位的定時/計數(shù)器T0和T1,4個8位的I/O端P0、P1、P2、P3等組成。單片微機內部最核心的部分是CPU。CPU主要功能是產生各種控制信號,控制存儲器、輸入/輸出端口的數(shù)據(jù)傳輸、數(shù) 據(jù)的算術運算、邏輯運算以及位操作處理等,CPU按其功能可分為運算器和控制器兩部分。控制器由程序計數(shù)器PC、指令儲存器、指令譯碼器、實時控制與條件轉移邏輯電路等組成。它的功能是對來自存儲器中的指令進行譯碼,通過實時控制電路,在規(guī)定的時刻發(fā)出各種操作所需的內部和外部的控制信號,使各部分協(xié)調工作,完成指令所規(guī)定的操作。運算器由算術邏輯器部件ALU、累加器ACC、暫存器、程序狀態(tài)字寄存器PSW,BCD碼運算調整電路等組成。如圖1.3所示: 通道2驅動器 通道2驅動器 通道0驅動器 程序地址寄存器 程序計數(shù)器 EPROM RAM地址寄存器 B寄存器 ACC TMP2 ALU TMP1 PSW 堆棧指針 中斷,串行口定時器邏輯 DPTR PC 通道3鎖存器 通道1鎖存器 通道1驅動器器 通道3驅動器器 P1.0-P1.7 P3.0-P3.7 定時和控制邏輯 指令寄存器 OSC P0.0-P0.7 緩沖器 RAW 通道0驅動器 P2.0-P2.7 圖1-3 MCS-51結構框圖 1.3.3 AT89C51特殊功能寄存器 特殊功能寄存器也稱專用寄存器,是具有特殊功能的所有寄存器的集合,簡稱SFR(Special Function Register)。特殊功能寄存器共含有22個不同寄存器。它們的地址分配在80H~FFH中,即在RAM地址中。雖然特殊功能寄存器地址在80H~FFH之中,但在80H~FFH的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內容是不確定的,如果對這些單元進行操作,得到的是一些隨機數(shù),而寫入則無效。所以,用戶編程時不應該將數(shù)據(jù)寫入這些未確定的地址單元,它們是公司留待將來開發(fā)新產品時使用的。這些寄存器的名稱和地址見表1.1 表1.1 AT89C51特殊功能寄存器列表 注:帶*號的特殊功能寄存器都是可以位尋址的寄 1.3.4 AT89C51單片機使用方法 AT89C51是一種低功耗、高性能的含有4KB閃速可編程電擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲技術制造,并且與80C51指令系統(tǒng)和引腳完成兼容。芯片上的FPEROM允許在線或采用通用的非易失存儲編程器對程序存儲器重復編程。 (1)AT89C51的主要性能包括:AT89C51與MCS—51控制器系列產品兼容,片內有4K可在線重復編程閃速電擦除存儲器(Flash Memory),存儲器可循環(huán)寫入/擦除1000次;存儲器數(shù)據(jù)保存時間可達10年;工作電壓范圍寬:Vcc可由2.7V到6V;全靜態(tài)工作可由0Hz到16MHz;程序存儲器具有3級鎖存保護;128*8位內部RAM;32條可編程I/O線;兩個16位定時器/計數(shù)器;中斷結構具有5個中斷源和2個中斷優(yōu)先級;可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內容。 (2)FPEROM的編程:AT89C51的I/O口P0、P1、P2和P3除具有與80C51相同的一些性能和用途外,在FPEROM編程時,P0口接收代碼字節(jié),并在程序檢驗時輸出代碼字節(jié),但在程序校驗時需要外部上拉負載電阻,在FPEROM編程和程序校驗期間,P1口接收低位地址字節(jié),P2口接收高位地址字節(jié)和一些控制信號,P3口也接收一些FPEROM編程和校驗用的信號,此時ALE/PROG引腳是編程脈沖輸入(PROG)端,在FPEROM編程期間,如果選擇12V編程電壓、那么EA/Vpp引腳也允許接受12V編程電壓(Vpp)。 第2章 系統(tǒng)總體方案的設計 2.1 硬件電路的設計 一般說來,一個控制系統(tǒng)的設計主要分硬件設計與軟件設計。根據(jù)它的工作原理與技術性能。硬件設計要畫出它的原理圖,電路板圖,合理選擇元器件。然后對硬件進行調試、測試,以達到設計要求。從時間上看,硬件設計的絕大部分工作量是在最初階段, 到后期往往還要做一些修改。只要技術準備充分,硬件設計的大返工是比較少的,軟件設計的任務貫徹始終,到中后期基本上都是軟件設計任務,隨著集成電路技術的飛速發(fā)展,各種功能很強的芯片不斷出現(xiàn),使硬件電路的集成度越來越高,硬件設計的工作量在整個項目中的所占的比重逐漸下降。為使硬件電路設計盡可能合理,應注意以下幾方面: (1) 盡可能采用功能強的芯片,以簡化電路,功能強的芯片可以代替若干普通芯片,隨著生產工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總和高。 (2) 留有設計余地。在設計硬件電路時,要考慮到將來修改擴展的方便。因為很少有一錘定音的電路設計,如果現(xiàn)在不留余地,將來可能要為一點小小的修改或擴展而被迫進行全面返工。 (3) 程序空間,選用片內程序空間足夠大的單片機,本設計采用AT89C51單片機。 (4) RAM空間,AT89C51內部RAM不多,當要增強軟件數(shù)據(jù)處理功能時,往往覺得不足。如果系統(tǒng)配置了外部RAM,則建議多留一些空間。如選用8155作I/O接口,就可以增強256字節(jié)RAM.如果有大批數(shù)據(jù)需要處理,則應配置足夠的RAM,如6264,62256等。隨著軟件設計水平的提高,往往只要改變或增加軟件中的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級換代。只要在硬件電路設計初期考慮到這一點,就應該為系統(tǒng)將來升級留足夠的RAM空間,哪怕多設計一個RAM的插座,暫不插芯片也好。 (5) I/O端口:在樣機研制出來后進行現(xiàn)場試用時,往往會發(fā)現(xiàn)一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設計就預留出一些I/O端口,雖然當時空著沒用,那么用的時候就派上用場了。 硬件系統(tǒng)原理圖見附錄一 2.2 時鐘頻率電路的設計 所有的單片機必須在時鐘的驅動下才能正常工作。在單片機內部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產生一定的時鐘信號送到單片機內部的各個單元,決定單片機的工作速度。本系統(tǒng)中采用的是內部振蕩的方式,外振蕩源一般選用石英晶體。在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調。C1,C2的典型值為20PF。單片機在工作時,由內部振蕩器產生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用fosc表示。如時鐘頻率為12MHz,即fosc=12MHz,則時鐘周期為1/12μs。電路如圖2-1所示: 圖2-1振蕩電路 2.3 復位電路的設計 單片機的第9腳RST為硬件復位端,當8951通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)4個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8951的初始態(tài)。 8951的復位方式可以是自動復位,也可以是手動復位,見下圖3.4。此外,RESET/VPD 還是一復用腳,VCC掉電其間,此腳可接上備用電源,以保證單片機內部RAM的數(shù)據(jù)不丟失。其電路圖如圖2-2所示: 圖2-2 8951的復位電路 值得注意的是,在設計當中使用到了硬件復位和軟件復位兩種功能,由上面的硬件復位后的各狀態(tài)可知寄存器及存儲器的值都恢復到了初始值,而前面的功能介紹中提到了倒計時時間的記憶功能,該功能的實現(xiàn)的前提條件就是不能對單片機進行硬件復位,所以設定了軟復位功能。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉指令讓它跳轉到程序執(zhí)行的起始地址。 2.4 顯示電路的設計 2.4.1 LED數(shù)碼管顯示原理 LED是由條形發(fā)光二極管組成“8”字形的LED顯示器,也稱數(shù)碼管。它通常有7段與8段之分。8段數(shù)碼管是在7段發(fā)光二極管的基礎上再加一個圓點型發(fā)光二極管(在圖中以dp表示),用于顯示小數(shù)點。LED數(shù)碼管分共陽與共陰兩種:共陰管使用時把陰極連在一起,接低電平,再在陽極接高電平,這樣就能導通點亮。而共陽管則剛好相反,把陽極連在一起,接高電平,陰極需接低電平,這樣才能正常導通。如圖2-3: 由以上原理可知,數(shù)碼管要顯示對應的數(shù)字,則要求與之各腳連接的單片機管腳對應為高低電平,這則需要用軟件編程的方法實現(xiàn)。具體過程會在后面進一步的講到。 圖2-3 數(shù)碼管電路 圖2-4 矩陣式鍵盤電路 2.5 鍵盤掃描電路的設計 鍵盤是人機交流的工具,是信息準確輸入的重要保證,是單片機不可缺少的人機交換設備。但這里所指的鍵盤不是PC機使用的標準鍵盤。考慮到經濟適用等因素,在單片機系統(tǒng)中通常使用的是價格便宜的非編碼矩陣式鍵盤。矩陣式鍵盤的鍵排列成矩陣形式,在行與列的每個交點上對應有一個鍵。顯然,在按鍵數(shù)量較多時,矩陣式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多I/O口。 由于本系統(tǒng)要求能提供6位搶答的信號,因此可采用4×4矩陣式鍵盤,它可以構成一個含有16個按鍵的鍵盤,這樣能滿足系統(tǒng)的要求。 矩陣式鍵盤中,行、列線分別連接到按鍵開關的兩端,在進行鍵盤掃描時,首先把矩陣鍵盤行線的第一根線置高,然后分別再檢測矩陣鍵盤列線是否有高電平的信號,如果有信號,那么就證明這根行線與第一根列線相交處的按鍵被按下了,單片機就讀入這個鍵值。如果所有的四根列線都沒有信號,那么就把第一根行線置低,把第二根行線置高,再一次檢測行線有沒有信號,然后依次類推。如圖2-4所示: 2.5.1 鍵盤抖動的軟件處理 按鍵的觸點在閉合和斷開時均會產生抖動,這是觸點的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復執(zhí)行?,F(xiàn)在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于5ms,例如取10-20ms。延時的選擇非常重要,太快了,起不到消除抖動的效果,太慢了又讓鍵盤太不靈活,錯過較多的按鍵信號。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。 2.6 發(fā)聲報警 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線的“高”電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調,使喇叭發(fā)出不同的聲音。因此由P3.7輸出一個低電平。延時10~20毫秒,再輸出一個高電平,延時10~20秒則可以發(fā)出聲音。 2.7 系統(tǒng)復位 使CPU進入初始狀態(tài),從0000H地址開始執(zhí)行程序的過程叫系統(tǒng)復位。從實現(xiàn)系統(tǒng)復位的方法來看,系統(tǒng)復位可分為硬件復位和軟件復位。硬件復位必須通過CPU外 部的硬件電路給CPU的RESET端加上足夠時間的高電位才能實現(xiàn)。上電復位,人工按鈕復位和硬件看門狗復位均為硬件復位。硬件復位后,各專用寄存器的狀態(tài)均被初始化,且對片內通用寄存器的內容沒有影響。但是,硬件復位還能自動清除中斷激活標志,使中斷系統(tǒng)能夠正常工作,這樣一個事實卻容易為不少編碼人員所忽視。軟件復位就是用一系列指令來模擬硬件復位功能,最后通過轉移指令使程序從0000H地址開始執(zhí)行。對各專用寄存器的復位操作是容易的,也沒有必要完全模擬,可根據(jù)實際需要去主程序初始化過程中完成。而對中斷激活標志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。有的編程人員用020000(LJMP 0000H)作為軟件陷阱,認為直接轉向0000H地址就完成了軟件復位,就是這類錯誤的典型代表。軟件復位是使用軟件陷阱和軟件看門狗后必須進行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標志已置位,它將阻止同級中斷響應。由于軟件看門是高級中斷,它將阻止說要中斷響應,由此可見清除中斷激活標志的重要性。 在所有的指令中,只有RETI指令能夠清除中斷激活標志。前文各處提案到的出錯處理程序ERR主要完成這一功能,其他的善后工作交由復位后的系統(tǒng)去完成。這部分程序如下: POWER DATA 67H ;上電標志存放單元 ERR: CLR EA ;關中斷 MOV DPTR,#ERR1 ;準備返回地址 PUSH DPL PUSH DPH RETI ;清除高級中斷激活標志 ERR1: MOV POWER,#0AAH;重建上電標志 CLR A ;準備復位地址 PUSH ACC ;壓入復位地址0000H PUSH ACC RETI ;清除低級中斷激活標志,從程序0000H開始執(zhí)行。 這段程序先關中斷,以便后續(xù)處理能順利進行,然后用兩個RETI指令代替兩個LJMP指令,從而清除了兩級中斷激活標志。有相應軟件陷阱捕捉來的程序可能沒有全部激活兩個標志,這也無妨。 有復位時系統(tǒng)的歷史狀況,可將復位分為“冷啟動”和“熱啟動”。 “冷啟動”時,系統(tǒng)的狀態(tài)全部無效,進行徹底的初始化操作;而“熱啟動”時,對系統(tǒng)的當前狀態(tài)進行修復和有選擇的初始化。系統(tǒng)初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復位操作一般均為“熱啟動”初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復位操作一般均為“熱啟動”。為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標志來區(qū)分。 圖2-5 電源電路 2.8 電源設計 系統(tǒng)要正常工作,需要多個電源。AT89C51使用5V穩(wěn)壓電源,驅動芯片需要5-50V電壓驅動。要獲得持續(xù)與穩(wěn)定的直流電壓。較常用的穩(wěn)壓方法是采用穩(wěn)壓管。這里采用一種非常普遍的方法。用三端穩(wěn)壓集成7805與7812分別得到5V和12V的穩(wěn)定電壓。將220V市電經過橋式整流,濾波,穩(wěn)壓后便可得到穩(wěn)定的直流5V與12V電壓。經檢測發(fā)現(xiàn)該方法方便簡單,工作穩(wěn)定可靠。 第3章 軟件設計 3.1軟件任務分析 軟件任務分析環(huán)節(jié)是為軟件設計做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質性的功能,如測量,計算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調各執(zhí)行模塊和操作者的關系,在系統(tǒng)軟件中充當組織調度角色的軟件。這兩類軟件的設計方法各有特色,執(zhí)行軟件的設計偏重算法效率,與硬件關系密切,千變萬化。 軟件任務分析時,應將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進行定義時,將要牽扯到的數(shù)據(jù)結構和數(shù)據(jù)類型問題也一并規(guī)劃好。 各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設置選擇一種最適合的監(jiān)控程序結構。相對來講,執(zhí)行模塊任務明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當一名操作工人比較容易,而當一個廠長就比較難了。 軟件任務分析的另一個內容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調用的子程序,這類程序對實時性要求不是太高,延誤幾十ms甚至幾百ms也沒關系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實時性要求較高的內容,如定時系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序為“使系統(tǒng)進入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和 抗干擾。 特別值得注意的是,在系統(tǒng)設計方法的選用是系統(tǒng)設計能否成功的關鍵。硬件電路是采用結構化設計方法,使電路標準化、模塊化。本設計中硬件電路的設計最重要的在于選擇合適的單片機與外圍芯片,使系統(tǒng)既經濟又性能。硬件電路設計還包括輸入輸出接口設計,畫出詳細電路圖,標出芯片的型號、器件參數(shù)值,根據(jù)電路圖在仿真機上進行調試,發(fā)現(xiàn)設計不當及時修改,最終達到設計目的。軟件設計的方法與開發(fā)環(huán)境的選取有著非常重要的關系,本系統(tǒng)由于是采用51系列單片機,因此主程序用C語言進行編寫,利用Keil C語言進行開發(fā)。C51 程序設計語言,編程者只需了解變量和常量的存儲類型與80C51 單片機存儲空間的對應關系。而不必深入了解單片機的硬件和接口。C51 編譯器會自動完成變量的存儲單元的分配。編譯調試靈活方便,生成的代碼編譯效率高,完全模塊化??梢浦残院?便于項目維護管理。 3.2主要程序說明 計分器顯示程序//搶答器加減記分顯示程序// DBUF EQU 30H ;三位顯示緩沖區(qū)首址 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,#60H ACALL KEYSCAN ;調用鍵盤掃描子程序判斷是加分或減分 CJNE A,#0EH,NEXT2 ;不是加分鍵,則轉移判斷是減分鍵? NEXT1: ACALL KEYSZ ;是加分鍵 ACALL DISPLAY ;調用顯示子程序 SJMP MAIN NEXT2: CJNE A,#0FH,MAIN ;都不是,則轉MAIN AJMP NEXT1 ;是減分鍵, ORG 0100H KEYSZ: PUSH PSW ;鍵盤設置子程序 PUSH ACC SETB RS1 MOV R0,#DBUF ;R0指向顯示緩沖區(qū)首地址 MOV R7,#3 ;設置鍵盤輸入位數(shù) T1: CLR RS1 ACALL KEYSCAN ;調用鍵盤掃描子程序取按下鍵的鍵號 SETB RS1 CJNE A,#0AH,L2 ;鍵入數(shù)合法性檢測(是否大于9) T2: JNC L1 ;大于9,重新鍵入 MOV R0,A ;鍵號送顯示緩沖區(qū) INC R0 DJNZ R7,L1 ;3位數(shù)值輸入完否?未完繼續(xù),否則返回 POP ACC POP PSW CLR RS1 RET KEYSCAN:MOV R3, #0F7H ;掃描初值 MOV R1, #00H ;取碼指針 T3: MOV A, R3 ;開始掃描 MOV P1, A ;將掃描值輸出 MOV A, P1 ;讀入值,判斷是否有鍵按下 MOV R4, A ;存入R4,以判斷按鍵是否放開 SETB C ;C=1 MOV R5, #04H ;掃描 T4: RLC A ;將按鍵左移一位 JNC KEYIN ;判斷C=0?有鍵按下則C=0,跳至KEYIN INC R1 ;C=1,則無鍵按下,將取碼指針值加1 DJNZ R5, L4 ;4列掃描完畢了嗎? MOV A, R3 ;掃描值載入 SETB C ;C=1 RRC A ;掃描下一行 MOV R3, A ;存回掃描寄存器 JC L3 ;C=1?是則P1.0尚未掃描到 SJMP KEYSCAN ;C=0,則四行已掃描完畢 KEYIN: MOV R7, #60 ;延時消除抖動 D2: MOV R6, #248 ; DJNZ R6, $ ; DJNZ R7, D2 ; D3: MOV A, P1 ;延時后再讀入值 XRL A, R4 ;與上次讀入值作比較 JZ D3 ;A=0,表示按鍵未放,等待按鍵釋放 MOV A, R1 ;按鍵已放開,取碼指針載入累加器 MOV DPTR,#TABLE ;鍵盤碼表首地址送DPTR MOVC A, @A+DPTR ;查鍵碼 RET ;返回 TABLE: DB 00H,01H,02H,03H ;鍵碼安排表與鍵盤相同 DB 04H,05H,06H,07H DB 08H,09H,0AH,0BH DB 0CH,0DH,0EH,0FH ORG 0200H DISPLAY:MOV R0, #DBUF ;顯示子程序 MOV R2,#3 ;顯示3位數(shù)碼 MOV DPTR,#SEGTAB; DISP: MOV A,@R0 ; MOVC A,@A+DPTR ;取字段碼 MOV SCON,#0 ; MOV SBUF,A ;開始 JNB TI,$ ;等待完畢 CLR TI ;完畢,標志位清零 INC R0 ;緩沖單元地址增1 DJNZ R2,DISP ;三位數(shù)碼發(fā)送完否? RET ;完畢,則返回 SEGTAB: DB 0FCH,60H,0DAH,0F2H ;0,1,2,3(共陽極字段碼表) DB 66H,0B6H, 0BEH,0E0H ;4,5,6,7 DB 0FEH,0F6H,0EEH,3EH ;8,9,A,B DB 9CH,7AH,9EH,8EH ;C,D,+,- END DBUF EQU 30H ;三位顯示緩沖區(qū)首址 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,#60H ACALL KEYSCAN ;調用鍵盤掃描子程序判斷是加分或減分 CJNE A,#0EH,NEXT2 ;不是加分鍵,則轉移判斷是減分鍵? NEXT1: ACALL KEYSZ ;是加分鍵, ACALL DISPLAY ;顯示子程序 SJMP MAIN NEXT2: CJNE A,#0FH,MAIN ;都不是,則轉MAIN AJMP NEXT1 ;是減分鍵, ORG 0100H KEYSZ: PUSH PSW ; PUSH ACC SETB RS1 MOV R0,#DBUF ;R0指向顯示緩沖區(qū)首地址 MOV R7,#3 ;設置鍵盤輸入位數(shù) T1: CLR RS1 ACALL KEYSCAN ;調用鍵盤掃描子程序取按下鍵的鍵號 SETB RS1 CJNE A,#0AH,L2 ;鍵入數(shù)合法性檢測(是否大于9) T2: JNC L1 ;大于9,重新鍵入 MOV R0,A ;鍵號送顯示緩沖區(qū) INC R0 DJNZ R7,L1 ;3位數(shù)值輸入完否?未完繼續(xù),否則返回 POP ACC POP PSW CLR RS1 RET KEYSCAN: MOV R3, #0F7H ;掃描初值(P0.3=0) MOV R1, #00H ;取碼指針 T3: MOV A, R3 ;開始掃描 MOV P0, A ;將掃描值輸出至 MOV A, P0 ;讀入值,判斷是否有鍵按下 MOV R4, A ;存入R4,以判斷按鍵是否放開 SETB C ;C=1 MOV R5, #04H ;掃描 T4: RLC A ;將按鍵左移一位 JNC KEYIN ;判斷C=0?有鍵按下則C=0,跳至KEYIN INC R1 ;C=1,則無鍵按下,將取碼指針值加1 DJNZ R5, L4 ;4列掃描完畢了嗎? MOV A, R3 ;掃描值載入 SETB C ;C=1 RRC A ;掃描下一行 MOV R3, A ;存回掃描寄存器 JC L3 ;C=1?是則尚未掃描到 SJMP KEYSCAN ;C=0,則四行已掃描完畢 KEYIN: MOV R7, #60 ;延時消除抖動 D2: MOV R6, #248 ; DJNZ R6, $ ; DJNZ R7, D2 ; D3: MOV A, P0 ;延時后再讀入值 XRL A, R4 ;與上次讀入值作比較 JZ D3 ;A=0,表示按鍵未放,等待按鍵釋放 MOV A, R1 ;按鍵已放開,取碼指針載入累加器 MOV DPTR,#TABLE ;鍵盤碼表首地址送DPTR MOVC A, @A+DPTR ;查鍵碼 RET ;返回 TABLE: DB 00H,01H,02H,03H ;鍵碼安排表與鍵盤相同 DB 04H,05H,06H,07H DB 08H,09H,0AH,0BH DB 0CH,0DH,0EH,0FH ORG 0200H DISPLAY:MOV R0, #DBUF ;顯示子程序 MOV R2,#3 ;顯示3位數(shù)碼 MOV DPTR,#SEGTAB; DISP: MOV A,@R0 ; MOVC A,@A+DPTR ;取字段碼 MOV SCON,#0 ; MOV SBUF,A ;開始 JNB TI,$ ;等待 CLR TI ;完畢 INC R0 ;緩沖單元地址增1 DJNZ R2,DISP ;三位數(shù)碼否? RET ;完畢,則返回 SEGTAB: DB 0FCH,60H,0DAH,0F2H ;0,1,2,3(共陽極字段碼表) DB 66H,0B6H, 0BEH,0E0H ;4,5,6,7 DB 0FEH,0F6H,0EEH,3EH ;8,9,A,B DB 9CH,7AH,9EH,8EH ;C,D,+,- END 搶答器軟件程序 #include- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 搶答 畢業(yè)設計 論文
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.kudomayuko.com/p-722968.html