




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、金 華 職 業(yè) 技 術 學 院J I N H U A P O L Y T E C H N I C畢業(yè)教學環(huán)節(jié)成果 2021屆題 目 基于單片機的智能_ _搶答器的設計與制作 學 院 信息工程學院 專 業(yè) 應用電子技術 班 級 應電 112 學 號 姓 名 王容 指導教師 鄭惠群 2021年5月14號金華職業(yè)技術學院畢業(yè)教學成果目 錄摘要1關鍵詞1英文摘要.1英文關鍵詞:1引言21 系統(tǒng)方案設計31.1 設計要求31.2 方案選擇與確定3 1.3 系統(tǒng)工作流程設計42 硬件電路的設計52.1 硬件主要組成局部52.2 單片機最小系統(tǒng)52.2.1 STC89C51芯片52.2.2 振蕩電路設計72
2、.2.3 復位電路設計72.3 按鍵電路設計82.4 計分顯示電路設計102.5 報警電路設計123 軟件設計143.1 搶答器主程序設計143.2 報警程序設計163.3 分數(shù)顯示程序設計174.仿真與調(diào)試20結論與謝辭21附錄1:程序清單23附錄2:硬件電路圖34附錄3:實物圖35基于單片機的智能搶答器的設計與制作信息工程學院應用電子技術專業(yè) 王容摘要:隨著各種娛樂節(jié)目和競賽的增加,搶答器的作用起到越來越大的重要性。搶答器作為一種工具,已廣泛應用于各種智力和知識競賽場合。本文設計以STC89C51單片機為核心的四路搶答器,設定限時搶答和答復的功能,硬件由5個模塊組成,包括直流電源模塊、報警
3、模塊、LED顯示模塊、數(shù)碼管顯示模塊和單片機控制模塊;軟件上實現(xiàn)了智能搶答并數(shù)碼管顯示分數(shù)等功能。經(jīng)過調(diào)試和運行使該系統(tǒng)到達預期目標,具有反響快、功能齊全、實用性強的特點。關鍵詞:搶答器 單片機 數(shù)碼管 鎖存器Based on MCU to intelligent to answer first device design and production Major of Applied Electronic Technology,Information and Engineering College,Wang Rong)Abstract:With the increase of all kin
4、ds of entertainment and competition, the role of the buzzer play a more and more importance. Responder as a tool, has been widely used in all kinds of intelligence and knowledge competition. This paper designed a buzzer STC89C51 microcontroller as the core of the four road, the function of the set t
5、ime vies to answer first and answer, the hardware is composed of five modules, including dc power supply module, alarm module, LED display module, digital tube display module and single-chip microcomputer control module; On the software implements the intelligent vies to answer first and digital tub
6、e display scores, and other functions. After debugging and running the system achieve anticipated goal, has the characteristics of fast response and complete function, strong practicability.Keyword: The buzzer MCU Digital tube Latch引言搶答器是一種應用非常廣泛的設備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發(fā)言權的選手。早期的搶答器只由幾個三極管、可控
7、硅、發(fā)光管等組成,能通過發(fā)光管的指示辯認出選手號碼?,F(xiàn)在大多數(shù)搶答器均使用單片機(如MCS-51型)和數(shù)字集成電路,并增加了許多新功能,如選手號碼顯示、搶按前或搶按后的計時、選手得分顯示等功能。八位搶答器廣泛用于搶答器主要用于選手做搶答題時,選手進行搶答,搶到題的選手來答復以下問題。搶答器不僅考驗選手的反響速度同時也要求選手具備足夠的知識面和一定的勇氣。選手們都站在同一個起跑線上,表達了公平公正的原那么本設計是以搶答為出發(fā)點??紤]到需設定限時答復的功能,利用89C51單片機及外圍接口實現(xiàn)的搶答系統(tǒng),利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機地結合起來,使得系統(tǒng)能夠正確地進行計時
8、,同時使數(shù)碼管能夠正確地顯示時間。用開關做鍵盤輸出,揚聲器發(fā)生提示。同時系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效并報警提示,選手搶答成功后通過主持人來實現(xiàn)計分功能。1 系統(tǒng)方案設計1.1 設計要求設計一個供4名選手參加的四路智力競賽搶答器。每人設計一個搶答按扭供選手使用。主持人控制4個按鈕,分別實行開始答題和重新開始的功能及判斷搶答者答復正確和答復錯誤。該搶答器具有定時搶答的功能,在設定的時間內(nèi)搶答有效,否那么無效;假設選手犯規(guī)搶答能夠報警,電路信息鎖定存儲功能。在主持人按下答復正確和答復錯誤按鈕時,對應的數(shù)碼管將顯示選手的分數(shù)。電路還具有自鎖功能,使其他人再按
9、搶答鍵那么不起作用。1.2 方案選擇與確定方案1:如圖1-1所示,采用數(shù)字電子技術,它的功能齊全,設計的電路也很穩(wěn)定。但是它電路結構復雜,調(diào)試困難,涉及到的外圍元件多,造價也很高。僅僅是集成電路它就用了四個,這跟我們當初的設計理念是相沖突的。我們要的是功能齊全,但是造價比擬低的設計。四路搶答開關八D鎖存器優(yōu)先編碼器七段譯碼器七段數(shù)碼顯示管秒脈沖發(fā)生器主持人控制開關十進制減計數(shù)器七段譯碼管七段數(shù)碼顯示器集成單穩(wěn)態(tài)觸發(fā)器報警電路圖1-1 數(shù)字電子技術為主電路框圖方案2:如圖1-2所示,采用單片機進行系統(tǒng)設計,以單片機STC89C51為核心,其片內(nèi)帶有的4KFLASHROM,128B的RAM,以及1
10、5根I/O口線能滿足設計要求。利用單片機可以用很少元件實現(xiàn)相同功能,而且單片機性能可操作性強。通過比擬以上兩種方案,我們采用方案二實現(xiàn)多人智能搶答的功能。單片機STC89C51具有靈活性高,可靠性好,結構簡單,強大的控制處理功能和可擴展功能,本錢低廉的優(yōu)點,控制系統(tǒng)已根本取代了以前復雜的電子線路或數(shù)字電路構成的控制系統(tǒng),用軟件來實現(xiàn)產(chǎn)品的智能化。圖1-2 單片機為核心電路框圖 系統(tǒng)工作流程設計圖2-1 系統(tǒng)工作流程2 硬件電路的設計2.1 硬件主要組成局部 硬件電路主要由STC89C51單片機及外圍電路組成,外圍電路包括振蕩電路、復位電路、按鍵電路、顯示電路和蜂鳴器報警電路。2.2 單片機最小
11、系統(tǒng) STC89C51芯片STC89C51單片機主要有以下部件構成:八位微處理器CPU、振蕩電路、總線控制部件、中斷控制部件、片內(nèi)Flash存儲器、片內(nèi)RAM、并行I/O接口、定時器和串行I/O接口。STC89C51單片機內(nèi)部由CPU、4KB的FPEROM ,128B的RAM,兩個16位的定時/計數(shù)器T0和T1,4個8位的I/O端P0、P1、P2、P3等組成。單片微機內(nèi)部最核心的局部是CPU,CPU按其功能可分為運算器和控制器兩局部??刂破饔沙绦蛴嫈?shù)器PC、指令儲存器、指令譯碼器、實時控制與條件轉(zhuǎn)移邏輯電路等組成。它的功能是對來自存儲器中的指令進行譯碼,通過實時控制電路,在規(guī)定的時刻發(fā)出各種操
12、作所需的內(nèi)部和外部的控制信號,使各局部協(xié)調(diào)工作,完成指令所規(guī)定的操作。運算器由算術邏輯器部件ALU、累加器ACC、暫存器、程序狀態(tài)字存放器PSW,BCD碼運算調(diào)整電路等組成。為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個通用存放器B和一些專用存放器,還增加了位處理邏輯電路的功能。STC89C51的主要性能包括:STC89C51與MCS51控制器系列產(chǎn)品兼容,片內(nèi)有4K可在線重復編程閃速電擦除存儲器Flash Memory,存儲器可循環(huán)寫入/擦除1000次;存儲器數(shù)據(jù)保存時間可達10年;工作電壓范圍寬:Vcc可由2.7V到6V;全靜態(tài)工作可由0Hz到16MHz;程序存儲器具有3級鎖存保護;128*
13、8位內(nèi)部RAM;32條可編程I/O線;兩個16位定時器/計數(shù)器;中斷結構具有5個中斷源和2個中斷優(yōu)先級;可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。STC89C51引腳圖如圖2-1所示。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8個TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。圖2-1 STC89C51引腳圖P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能
14、接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特
15、殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流ILL這是由于上拉的緣故。P3口也可作為STC89C51的一些特殊功能口,同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALEP:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以
16、不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不出現(xiàn)。EA/VPP:當保持低電平時,那么在此期間外部程序存儲器0000H-FFFFH,不管是否有內(nèi)部程序存儲器。注意加密方式1時,EA/VPP將內(nèi)部鎖定為RESET;當EA/VPP端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源VPP。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自
17、反向振蕩器的輸出。2 振蕩電路設計單片機必須在時鐘的驅(qū)動下才能工作。AT89C51單片機的時鐘產(chǎn)生方法有兩種:內(nèi)部時鐘方式和外部時鐘方式。無論何種形式,都需要外部附加電路,產(chǎn)生時鐘脈沖。外部時鐘方式就是直接將外部的振蕩脈沖通過XTALl或XTAL2接入單片機,外部時鐘方式多用于多機系統(tǒng),以便各個單片機能夠同時工作。對外部震蕩信號無特殊要求,但需保證脈沖寬度不小于20ns,且頻率應低于單片機所支持的最高頻率。內(nèi)部時鐘方式就是利用單片機芯片內(nèi)部的振蕩器,通過在引腳XTALl和XTAL2兩端跨接晶體振蕩器,構成穩(wěn)定的自激振蕩器的方法,再由獲得的自激振蕩器發(fā)出穩(wěn)定的脈沖,直接送入芯片內(nèi)部的時鐘電路的方
18、式。跨接的晶體振蕩器如果已經(jīng)起振,那么會向XTAL2引腳1上輸出一定幅值的正弦波。自激振蕩器的頻率取決于晶體振蕩器的頻率,常見的晶體振蕩器頻率有6MHz和12MHz。AT89C51單片機的時鐘頻率最高可為24Mz。本系統(tǒng)中采用的是內(nèi)部時鐘方式。時鐘電路如圖2-2所示。圖2-2 振蕩電路2. 復位電路設計單片機系統(tǒng)在啟動運行時,首先完成的復位操作,即上電復位。其目的是使CPU和系統(tǒng)中其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。復位很重要,單片機有多種復位方式。這里僅介紹上電復位和按鍵復位這兩種常用的復位方式。上電復位常用的方法是使用電容器。利用電容器的充電特性到達滿足接通電源后,單片
19、機實現(xiàn)自動復位的要求。單片機的第9腳RST為硬件復位端,只要將該端持續(xù)4個機器周期的高電平即可實現(xiàn)復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如圖2-3所示。圖2-3 復位電路復位電路的原理是單片機RST引腳接收到2uS以上的電平信號,只要保證電容的充放電時間大于2uS,即可實現(xiàn)復位,所以電路中的電容值是可以改變的。值得注意的是,在設計當中使用到了硬件復位和軟件復位兩種功能,軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。2.3 按鍵電路設計用于單片機系統(tǒng)的鍵盤按其結構形式分為兩類非編碼鍵盤和非編碼鍵盤。編碼鍵盤即鍵盤上閉合鍵的識別有專用的
20、硬件來實現(xiàn),由硬件邏輯電路完成必要的鍵識別工作與可靠性措施。每按一次鍵,鍵盤自動提供被按鍵的讀數(shù),同時產(chǎn)生一選通脈沖通知微處理器,一般還具有反彈跳和同時按鍵保護功能。這種鍵盤易于使用,但硬件比擬復雜,對于主機任務繁重之情況,采用8279可編程鍵盤管理接口芯片構成編碼式鍵盤系統(tǒng)是很實用的方案。非編碼鍵盤即鍵盤上閉合鍵的識別由軟件來識別。只簡單地提供鍵盤的行列與矩陣,其他操作如鍵的識別,決定按鍵的讀數(shù)等僅靠軟件完成,故硬件較為簡單,但占用CPU較多時間。本次設計四路搶答器的按鍵不多,即使用的是獨立鍵盤,獨立鍵盤主要特點是每個按鍵獨占一個I/O口,每個按鍵工作不會影響其他的I/O口線的狀態(tài),多用于按
21、鍵不多的場合。如圖2-4所示。圖2-4 按鍵電路組成鍵盤的按鍵有觸點式和非觸點式兩種,單片機中應用的一般是由機械觸點構成的。按鍵如圖2-5所示,圖2-5 按鍵圖當開關S1斷開時,單片機接入口輸入為高電平,S1閉合時,單片機接入口輸入為低電平。由于按鍵是機械觸點,當機械觸點斷開、閉合時,會有抖動,P1輸入端的波形如圖2-6所示。圖2-6 抖動波形圖這種抖動對于人來說是感覺不到的,但對單片機來說,那么是完全可以感應到的,因為單片機處理的速度是在微秒級,而機械抖動的時間至少是毫秒級,對單片機而言,這已是一段“漫長的時間了。如果鍵處理程序采用中斷方式的話,在響應按鍵時就可能會出現(xiàn)問題,也就是說按鍵有時
22、靈,有時不靈,其實就是這個原因,你只按了一次按鍵,可是單片機卻已執(zhí)行了屢次中斷的過程,假設執(zhí)行的次數(shù)正好是奇數(shù)次,那么結果正如你所料,假設執(zhí)行的次數(shù)是偶數(shù)次,那就不對了。而如果鍵處理程序采用查詢方式的話也會存在響應按鍵遲鈍的現(xiàn)象,甚至可能會漏掉信號。為了使CPU能正確地讀出按鍵接入口的狀態(tài),對每一次按鍵只作一次響應,就必須考慮如何去除抖動,也就是消除在按鍵過程中產(chǎn)生的“毛刺現(xiàn)象。常用的去抖動的方法有兩種:硬件方法和軟件方法。單片機設計中常用軟件法,因此,對于硬件方法我們在此不做介紹。軟件去除抖動其實很簡單,這里采用最常用的方法,即延時重復掃描法,延時法的原理為:因為“毛刺脈沖一般持續(xù)時間短,約
23、為幾ms,而我們按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜按鍵按下或釋放后再延時一段時間(這里我們?nèi)?0ms)后再判斷此電平是否保持原狀態(tài),如果是那么為有效按鍵,否那么無效。不過一般情況下,我們通常不對按鍵釋放的后沿進行處理,實踐證明,也能滿足一定的要求。當然,實際應用中,對按鍵的要求也是千差萬別,要根據(jù)不同的需要來編制處理程序。2.4 計分顯示電路設計在單片機的應用系統(tǒng)中,顯示器是最常見的輸出設備,而數(shù)碼管那么是最常用到的工具。數(shù)碼管發(fā)光原理分兩種情況:共陰極型a、b、c、d、e、f、g 各引腳輸入高電平有效。只要哪個引腳輸入為高電平,對應的二極管就會發(fā)亮;共陽極型結構數(shù)碼
24、管的a、b、c、d、e、f、g 各引腳輸入低電平有效。只要哪個引腳輸入低電平,對應的二極管就會發(fā)亮。通過點亮不同的發(fā)光段可組成不同的字形。輸入到數(shù)碼管 dp 、g、f、e、d、c、b、a 的二進制碼稱為字段碼或稱字形碼,數(shù)碼管顯示的結果為字形。表2-1是顯示字形與共陽極和共陰極兩種接法的字段碼對應關系。表2-1 顯示字形字段碼對應關系(字體)顯示字型共陽極段選碼共陰極段選碼0C0H3FH1F9H06H2A4H5BH3B0H4FH499H66H592H6DH682H7DH顯示字型共陽極段選碼共陰極段選碼7F8H07H880H7FH990H6FHA88H77HB83H7CHCC6H39HDA1H5
25、EHE86H79HF8EH71H“滅FFH00H表2-1中,各發(fā)光段 a、b、c、d、e、f、g 及 dp 與數(shù)據(jù)線的對應關系是 D0D7,即 a 對應 D0、b 對應D1、依次類推,而 dp 對應 D7。只要把共陽極數(shù)碼管按照引腳 a、b、c、d、e、f、g、dp 的順序分別對應接單片機 P0 口的 P0.0P0.7,由于 P0 口在輸出時具有鎖存功能,只要用指令向 P0 口送出字段碼,數(shù)碼管就可顯示出所需字形。例如 MOV P0,#3FH,假設采用共陰的數(shù)碼管,那么數(shù)碼管顯示“0; 假設采用共陽型數(shù)碼管,MOV P0,#88H 那么顯示“A 顯示功能與硬件關系極大,當硬件固定后,如何在不引
26、起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。七段數(shù)碼管通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。靜態(tài)顯示就是顯示某一字符時,相應的發(fā)光二極管恒定的導通或截止,這種方法,每一顯示位都需要一個8位的輸出口控制,一般僅用于顯示位數(shù)較少的場合,其特點是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多;動態(tài)顯示就是一位一位的輪流點亮各位顯示器,對每一位顯示器而言,每隔一段時間點亮一次,利用人的視覺留感到達顯示的目的,顯示器的亮度跟導通的電流有關,也和點亮的時間與間隔的比例有關,其的特點是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復雜,但是相對靜態(tài)顯示而言占用端口資源少,硬件本
27、錢較低。在本設計中根據(jù)實際情況采用的是共陽極靜態(tài)顯示方法。4位七段數(shù)碼管顯示電路如圖2-7所示。圖2-7智能搶答器顯示模塊圖3-7中數(shù)碼管采用的是4位七段共陽極數(shù)碼管,其中A-G段分別通過八路D 型透明鎖存器74HC573接到單片機的P1口,由鎖存器的LE和OE口數(shù)據(jù)來決定輸入輸出,位選碼P1-P7分別接到另一個鎖存器上,由鎖存器的LE和OE口來決定當前該顯示的是位碼還是段碼。74HC573包含八路D 型透明鎖存器,每個鎖存器具有獨立的D 型輸入,以及適用于面向總線的應用的三態(tài)輸出。所有鎖存器共用一個鎖存使能LE端和一個輸出使能OE端。當LE為高時,數(shù)據(jù)從Dn輸入到鎖存器,在此條件下,鎖存器進
28、入透明模式,也就是說,鎖存器的輸出狀態(tài)將會隨著對應的D輸入每次的變化而改變。當LE為低時,鎖存器將存儲D輸入上的信息一段就緒時間,直到LE的下降沿來臨。當OE為低時,8個鎖存器的內(nèi)容可被正常輸出;當OE為高時,輸出進入高阻態(tài)。OE端的操作不會影響鎖存器的狀態(tài)。2.5 報警電路設計報警信號通常有三種類型:一是閃光報警,因為閃動的指示燈更能提醒人們注意;二是鳴音報警,發(fā)出特定的音響,作用于人的聽覺器官,易于引起和加強警覺;三是語音報警,不僅能起到報警作用,還能直接給出警報種類的信息中。前兩種報警裝置因硬件結構簡單,軟件編程方便,常常在單片機應用系統(tǒng)中使用;而語音報警雖然警報信息較直接,但硬件本錢高
29、,結構較復雜,軟件量也增加,綜合考慮采用鳴音報警。發(fā)聲電路用于報警,當遇到發(fā)聲信號時,發(fā)出警報。一般喇叭是一種電感性,聲音的頻譜范圍約在幾十到幾千赫茲,假設能利用程序來控制單片機某個口線的“高電平或低電平,那么在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭壓電陶瓷型揚聲器就能發(fā)出一定頻率的聲音,假設再利用延時程序控制“高“低電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。搶答器發(fā)聲電路設計如圖2-8所示。單片機的23腳的IO端口功能,單片機通過內(nèi)部定時器的操作實現(xiàn)交替變換的波形輸出驅(qū)動揚聲器發(fā)聲。圖2-8 發(fā)聲電路在圖 2-8中,接三極管基極輸入端,當輸出高電平“1時, 三
30、極管導通,蜂鳴器的通電而發(fā)音,當 輸出低電平“0時,三極管截止,蜂鳴器停止發(fā)音。在本系統(tǒng)中,當搶答時間和答題時間倒計10秒后就調(diào)用報警子程序發(fā)聲報警。3 軟件設計3.1 搶答器主程序設計圖3-1 主程序流程圖void Compere_key_function(void)if(have_key = 0)return;have_key = 0;switch (key_value)case start_all_key:answer_statu = 0;score0 = 0;score1 = 0;score2 = 0;score3 = 0;Led_Off_All();break;case start_
31、answer_key:answer_time0 = 0;answer_time1 = 0;answer_time2 = 0;answer_time3 = 0;answer_statu = 1; /* = 1Led_Off_All();Answer_time_count = 10*500*time_2ms;break;case answer_right_key:if(answer_statu = 2)answer_statu = 0;if(scoreanswer_group <= 97)scoreanswer_group = scoreanswer_group + 2;break;case
32、 answer_error_key:if(answer_statu = 2)answer_statu = 0;if(scoreanswer_group > 0) scoreanswer_group = scoreanswer_group - 1; break;default :break; 3.2 報警程序設計圖3-2 主程序子程序流程圖void En_beep(void)unsigned char i;for (i=0;i<100;i+)Delay(50);BEEP=!BEEP;BEEP=1;void Cheak_Answer_time_over(void)if(Answer_t
33、ime_over = 1 | answer_statu = 1) En_beep();Delay(250);Delay(250);En_beep();Delay(250);Delay(250);En_beep(); 3.3 分數(shù)顯示程序設計圖3-3分數(shù)顯示子程序流程圖void Display_shumaguan(void)static unsigned char Witch_isplay;unsigned char Temp_score,Display_score;if(Display_time = 0)return;Display_time = 0;cs_1 = 1;P0 = 0xff;cs
34、_1 = 0;Delay(1);cs_1 = 1;switch (Witch_isplay)case 0:P0 = 0x010xff;break;case 1:P0 = 0x020xff;break;case 2:P0 = 0x040xff;break;case 3:P0 = 0x080xff;break;case 4:P0 = 0x100xff;break;case 5:P0 = 0x200xff;break;case 6:P0 = 0x400xff;break;case 7:P0 = 0x800xff;break;default :break;cs_1 = 0;cs_0 = 1;Temp_
35、score = scoreWitch_isplay/2;if(unsigned char)(Witch_isplay%2) = 0)Display_score = Temp_score/10;elseDisplay_score = Temp_score%10;P0 = tableDisplay_score;Delay(1);cs_0 = 0;if(+Witch_isplay = 8)Witch_isplay = 0;4.仿真與調(diào)試在進行方案論證和軟硬件設計之后,做出的成品要進行系統(tǒng)調(diào)試和測試,并對調(diào)試中產(chǎn)生的問題加以解決和改良。調(diào)試分為軟件調(diào)試和硬件調(diào)試兩個模塊。軟件調(diào)試主要是利用集成開發(fā)環(huán)境
36、Keil uVision4開發(fā)環(huán)境進行調(diào)試,初步地檢查是否有定義錯誤,語法錯誤等常見的錯誤。編譯是否通過,是否有.hex 文件輸出。以及用集成開發(fā)環(huán)境Keil uVision4開發(fā)環(huán)境所帶的仿真局部進行仿真包括定時器,以確定顯示程序,主程序的正確性。系統(tǒng)的硬件調(diào)試主要是排查PCB上的連接問題。硬件調(diào)試中主要注重工藝性和設計性兩類錯誤和缺陷。調(diào)試方法為:首先檢查電路板上元器件的焊接情況,有無虛焊、漏焊或者連焊。然后用萬用表檢查電源,芯片I/O口與地有無短路,接著不加芯片接通電源,檢查各焊點的電壓是否正常,最后接上芯片,接通電源,觀測工作電流是否過大。完成以上步驟,確保無誤之后,可結合軟件硬件進行
37、整體調(diào)試,按下按鍵看是否出現(xiàn)預定的現(xiàn)象。通過調(diào)試,本次搶答器可實現(xiàn)預期功能。如圖4-1為4號選手連續(xù)答復正確4次后的分數(shù)顯示效果圖。圖4 選手搶答正確效果圖結論與謝辭本次設計的四路智能搶答器采用了通用的電子元器件,用STC89C51單片機及外圍接口實現(xiàn)搶答系統(tǒng),利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機地結合起來,使得系統(tǒng)能夠正確地進行倒計時,同時使數(shù)碼管能夠正確地顯示分數(shù)。設計時,首先通過軟件編程及原理圖仿真,然后實物制作,安裝下載,完全實現(xiàn)了要求功能。通過這次整個工程的制作完成,我也對大學里三年來學到的各種知識做了一次整理匯總。通過這次課程設計,我知道了理論和實際的距離,也
38、知道了理論和實際相結合的重要性,也從中得知了很多書本上無法得知的知識。在整個設計制作過程中,我要感謝我的指導老師鄭惠群教授,從開始的設計構思到后來的實物制作,她都給了我很大程度的點撥指導。同時我還要感謝我的一些同學,他們陪伴著我一起完成了任務,在最需要幫助的時候伸出了援助之手,在此,對于他們無私的幫助表示深深的感謝。除此之外,我還要感謝我的一些從事電子行業(yè)工作的朋友,通過和他們的探討交流,讓我的理論知識得到了強化,動手實踐能力得到了提升。再次對所有在本次設計制作過程中幫助過我的朋友表示最誠摯的謝意。參考文獻1 M.人民郵電出版社,20212 李廣弟.單片機根底M.北京:北航出版社,20213
39、胡學海.單片機原理及應用系統(tǒng)設計M.北京:京電子工業(yè)出版社,20054 陳大欽編.電子技術根底實驗(第二版)M.湖北:機械工業(yè)出版社,20015 彭為單片機典型系統(tǒng)設計實例精講M北京:電子工業(yè)出版社,20066 梁超.一款基于單片機技術的電子搶答器J.機電工程技術,20057 余發(fā)山單片機原理及應用技術M中國礦業(yè)大學出版社,20038 余錫存單片機原理及接口M.陜西:西安電子科技大學出版社,2000附錄1:程序清單#include<reg51.h>#include "main.h"sbit cs_0 = P20;sbit cs_1 = P21;sbit BEEP
40、 = P22;unsigned char key_new_statu,key_old_statu,key_scan_time_count,have_key;unsigned char key_new_statu_group,key_old_statu_group,answer_time4;unsigned char answer_statu,answer_group;unsigned char key_value;unsigned char score4;unsigned char Display_time;unsigned int Answer_time_count;unsigned cha
41、r Answer_time_over;unsigned char code table= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77;void Init_IO (void);void InitTIMER(void);void Compere_key_function(void);void Compere_Key_Scan(void);void answer_key_sacn_and_function(void);void Var_int(void);void Delay(unsigned num);void Display_sh
42、umaguan(void);void Display_Led(unsigned char group_led);void Led_Off_All(void);void En_beep(void);void Cheak_Answer_time_over(void);void main(void)Init_IO();InitTIMER();Var_int();while(1)Compere_key_function();Display_shumaguan();Cheak_Answer_time_over();void Init_IO (void)P0 = 0xff;P1 = 0xff;P2 = 0
43、xff;void InitTIMER(void)TMOD|=0x01; TH0=(65536-2000)/256; TL0=(65536-2000)%256; ET0=1;TR0=1; EA=1;void Var_int(void)key_old_statu_group = P0 & 0x0f;void timer0(void) interrupt 1 using 1 TH0=(65536-2000)/256; TL0=(65536-2000)%256;Display_time+;if(answer_statu = 1)if(Answer_time_count)Answer_time_
44、count - ;if(Answer_time_count = 0)Answer_time_over = 1;Compere_Key_Scan(); answer_key_sacn_and_function();void answer_key_sacn_and_function(void)key_new_statu_group = P0 & 0x0f;if(key_new_statu_group & key_goup1_bit) != (key_old_statu_group & key_goup1_bit)answer_time0+;if(answer_time0 =
45、 10)answer_time0 = 0;if(key_new_statu_group & key_goup1_bit) = 0)if(answer_statu = 1)answer_group = 0;answer_statu = 2;Display_Led(answer_group);elseEn_beep();elseanswer_time0 = 0;if(key_new_statu_group & key_goup2_bit) != (key_old_statu_group & key_goup2_bit)answer_time1+;if(answer_time
46、1 = 10)answer_time1 = 0;if(key_new_statu_group & key_goup2_bit) = 0)if(answer_statu = 1)answer_group = 1;answer_statu = 2;Display_Led(answer_group);elseEn_beep();elseanswer_time1 = 0;if(key_new_statu_group & key_goup3_bit) != (key_old_statu_group & key_goup3_bit)answer_time2+;if(answer_t
47、ime2 = 10)answer_time2 = 0;if(key_new_statu_group & key_goup3_bit) = 0)if(answer_statu = 1)answer_group = 2;answer_statu = 2;Display_Led(answer_group);elseEn_beep();elseanswer_time2 = 0;if(key_new_statu_group & key_goup4_bit) != (key_old_statu_group & key_goup4_bit)answer_time3+;if(answe
48、r_time3 = 10)answer_time3 = 0;if(key_new_statu_group & key_goup4_bit) = 0)if(answer_statu = 1)answer_group = 3;answer_statu = 2;Display_Led(answer_group);elseEn_beep();elseanswer_time3 = 0;void Compere_key_function(void)if(have_key = 0)return;have_key = 0;switch (key_value)case start_all_key:ans
49、wer_statu = 0;score0 = 0;score1 = 0;score2 = 0;score3 = 0;Led_Off_All();break;case start_answer_key:answer_time0 = 0;answer_time1 = 0;answer_time2 = 0;answer_time3 = 0;answer_statu = 1;Led_Off_All();Answer_time_count = 10*500*time_2ms;break;case answer_right_key:if(answer_statu = 2)answer_statu = 0;
50、if(scoreanswer_group <= 97)scoreanswer_group = scoreanswer_group + 2;break;case answer_error_key:if(answer_statu = 2)answer_statu = 0;if(scoreanswer_group > 0) scoreanswer_group = scoreanswer_group - 1;break;default :break;void Compere_Key_Scan(void)key_new_statu = P0 & 0xf0;if(key_new_sta
51、tu != key_old_statu)key_scan_time_count+;if(key_scan_time_count = 10)key_scan_time_count = 0;if(key_new_statu & key_srart_all_bit) != (key_old_statu & key_srart_all_bit) && (key_new_statu & key_srart_all_bit) = 0)key_value = start_all_key;have_key = 1;else if(key_new_statu & key_start_bit) != (key_old_statu & key_start_bit) && (ke
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保險代理合同補充協(xié)議
- 居家養(yǎng)老服務合同
- 投標保證金擔保合同
- 日元借款合同8篇
- 2025年經(jīng)典的購銷合同6篇
- 2023年高考全國乙卷理科綜合真題(解析版)
- 2025年高中化學新教材同步 必修第一冊 第4章 第1節(jié) 研究與實踐3 認識元素周期表
- 烹飪用具采購合同范本
- 無損檢測儀競爭策略分析報告
- 庫房存儲合同范本
- 《木蘭詩》第二課時(公開課)課件
- 核電項目人橋吊車抗震計算書版
- 消防控制室值班記錄1
- 淺談簽證合同索賠培訓課件
- 2023年江蘇經(jīng)貿(mào)職業(yè)技術學院單招職業(yè)適應性測試筆試題庫及答案解析
- 揭陽市基層診所醫(yī)療機構衛(wèi)生院社區(qū)衛(wèi)生服務中心村衛(wèi)生室地址信息
- 晉中項目投決會報告
- 二年級下冊數(shù)學課件-1.3 分草莓 北師大版(共14張PPT)
- 2022年中小學心理健康教育指導綱要
- 高架橋梁混凝土工程專項施工方案
- 銀行案件風險排查實施細則
評論
0/150
提交評論