版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機搶答器畢業(yè)論文 課 題 基于單片機的搶答器的設(shè)計 專 業(yè) 機電一體化 摘要數(shù)字搶答器由主體電路與擴展電路組成。優(yōu)先編碼電路、鎖存器、譯碼電路將參賽隊的輸入信號在顯示器上輸出;用控制電路和主持人開關(guān)啟動報警電路,以上兩部分組成主體電路。通過定時電路和譯碼電路將秒脈沖產(chǎn)生的信號在顯示器上輸出實現(xiàn)計時功能,構(gòu)成擴展電路。經(jīng)過布線、焊接、調(diào)試等工作后數(shù)字搶答器成形。單片機體積小價格低,應(yīng)用方便,穩(wěn)定可靠。單片機將很多任務(wù)交給了軟件編程去實現(xiàn),大大簡化了外圍硬件電路,使外圍電路的實現(xiàn)簡單方便。單片機系統(tǒng)的硬件結(jié)構(gòu)給予了搶答系統(tǒng)“身軀”,而單片機的應(yīng)用程序賦予了其新的“生命”,使其在傳統(tǒng)的搶答器面前
2、具有電路簡單、成本低、運行可靠等特色。對于搶答器我們大家都知道那是用于選手做搶答題時用的,選手進行搶答,搶到題的選手來回答問題。搶答器不僅考驗選手的反應(yīng)速度同時也要求選手具備足夠的知識面和一定的勇氣。選手們都站在同一個起跑線上,體現(xiàn)了公平公正的原則。關(guān)鍵字: 搶答電路 定時電路 報警電路 - 33 - a compendiumdigital vies to implement by corpus circuit and expansion circuit composed. priority coding circuit, latches, decoder circuit will be th
3、e teams input signal on the display output, with the control circuit and the host switches on the alarming circuit, the above two parts subject circuit. through the timing circuit and decoder circuit will seconds pulse signal on the display output of timing function, constitute expansion circuit. af
4、ter wiring, welding, commissioning work digital vies to implement forming. in practical circuit design, need to go through the simulation software testing of circuit and programs compiled, check the periphery circuit design is reasonable, software compiler are proper and that the software and hardwa
5、re circuit can normal work, can accurate realization design functions. if the test circuit emulation by, no problem can fully realize function words can actually do plate welding work. scm small volume low prices, easy application, it is stable and reliable. microcontroller will many missions gave s
6、oftware programming to realize, greatly simplifying the peripheral hardware circuit, make the periphery the circuitry is simple and convenient.key word: scare-answering circuit timing circuit alarm circuit目錄第一章 數(shù)字搶答器的概述及制作要求- 8 -1.1 數(shù)字搶答器的概述- 8 -1.2 設(shè)計任務(wù)與要求- 8 -第二章 單片機芯片的選擇及搶答器方案- 11 -2.1單片機芯片的選擇- 1
7、1 -2.2模塊性能分析- 14 -第三章 硬件電路設(shè)計- 16 -3.1總體設(shè)計- 16 -3.2 外部振蕩電路- 17 -3.3 復位電路的設(shè)計- 17 -第四章 系統(tǒng)軟件設(shè)計- 20 -4.1 搶答器流程圖- 20 -4.2 主程序- 22 -4.3 中斷程序- 25 -第五章 產(chǎn)品的樣品- 28 -結(jié)束語- 29 -參考文獻- 30 -致謝- 31 -引言:單片機的發(fā)展史 單片機誕生于20世紀70年代末,經(jīng)歷了scm、mcu、soc三大階段。 1.scm即單片微型計算機(single chip microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模
8、式”獲得成功,奠定了scm與通用計算機完全不同的發(fā)展道路。在開創(chuàng)嵌式系統(tǒng)獨立發(fā)展道路上,intel公司功不可沒。 2.mcu即微控制器(micro controller unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴展?jié)M足嵌入式應(yīng)用時,對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展mcu的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,intel逐漸淡出mcu的發(fā)展也有其客觀因素。在發(fā)展mcu方面,最著名的廠家當數(shù)philips公司。philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將mcs-51從單片微型計算機迅速發(fā)展到微控制
9、器。因此,當我們回顧嵌入式系統(tǒng)發(fā)展道路時,不要忘記intel和philips的歷史功績。 3.單片機是嵌入式系統(tǒng)的獨立發(fā)展之路,向mcu階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機的發(fā)展自然形成了soc化趨勢。隨著微電子技術(shù)、ic設(shè)計、eda工具的發(fā)展,基于soc的單片機應(yīng)用系統(tǒng)設(shè)計會有較大的發(fā)展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應(yīng)用系統(tǒng)。 單片機的發(fā)展單片機作為微型計算機的一個重要分支,應(yīng)用面很廣,發(fā)展很快。自單片機誕生至今,已發(fā)展為上百種系列的近千個機種。 第一章 數(shù)字搶答器的概述及制作要求1.1 數(shù)字搶答器的概述對于搶答器我們
10、大家來說都不陌生,它是用于很多競賽場合,真正實現(xiàn)先搶先答,讓最先搶到題的選手來回答問題。搶答器不僅考驗選手的反應(yīng)速度同時也要求選手具備足夠的知識面和一定的勇氣。選手們都站在同一個起跑線上,體現(xiàn)了公平公正的原則。1.2 設(shè)計任務(wù)與要求基本要求:1. 給主持人設(shè)置一個開關(guān),用來控制系統(tǒng)的清零(編號顯示數(shù)碼管滅燈)和搶答器的開始。2. 搶答器具有數(shù)據(jù)鎖存和顯示的功能。搶答開始后,若有選手按動搶答器按鈕,編號立即鎖存,并在led數(shù)碼上顯示選手的編號,同時揚聲器給出音響提示。此外,要封鎖輸入電路,禁止其他選手搶答。發(fā)揮部分:1. 搶答器具有定時搶答的功能,且一次搶答的時間可以由主持人設(shè)定(如30秒)。當
11、節(jié)目主持人啟動“開始”鍵后,要求定時器立即減計時,并用顯示器顯示,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)時間0.5秒左右。2. 參加選手在設(shè)定的時間內(nèi)搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答時刻的時間,并保持到主持人將系統(tǒng)清零為止。3. 如果定時搶答的時間已到,卻沒有選手搶答時,本次搶答無效,系統(tǒng)短暫報警,并封鎖輸入電路,禁止選手超時后搶答,時間顯示器上顯示00。4. 選手如果在主持人按開始鍵之前違規(guī)搶答,系統(tǒng)報警,led顯示違規(guī)選手號碼和ff,直到主持人按下停止鍵。緒論1.1 單片機搶答器的背景二十世紀跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進入的電腦時代。不過,這
12、種電腦,通常是指個人計算機,簡稱pc機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數(shù)人卻不怎么熟悉。這種計算機就是把智能賦予各種機械的單片機(亦稱微控制器)。顧名思義,這種計算機的最小系統(tǒng)只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。現(xiàn)在,這種單片機的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞“智能型”,如智能型洗衣機等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者
13、搞出來的某些產(chǎn)品,不是電路太復雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機或其它可編程邏輯器件上。在知識競賽中,特別是做搶答題時,在搶答過程中,為了更確切的知道哪一組或哪一位選手先搶答到題,必須要有一個系統(tǒng)來完成這個任務(wù)。若在搶答中,只靠人的視覺(或者是聽覺)是很難判斷出哪一組(或哪一個選手)先搶答到題的。利用單片機編程來設(shè)計搶答器,可以使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也能輕松的分辨出哪一組(或哪個選手)先搶答到題的。本文主要介紹了搶答器的工作原理及設(shè)計,以及它的實際用途。1.2 單片機搶答器的意義本系統(tǒng)采用單片機作為整個控制核心??刂葡到y(tǒng)的四個模塊為
14、:顯示模塊、存儲模塊、語音模塊、搶答開關(guān)模塊。該系統(tǒng)通過開關(guān)電路四個按鍵輸入搶答信號;利用一個數(shù)碼管來完成顯示功能;用按鍵來讓選手進行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實現(xiàn)整個搶答過程。在知識比賽中, 特別是做搶答題目的時候, 在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計一個系統(tǒng)來完成這個任務(wù)。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統(tǒng)來設(shè)計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機搶答器設(shè)計及工作原理,以及它的實際用途。系統(tǒng)工作原理本系統(tǒng)采用89c52單片機作為核心??刂葡到y(tǒng)的四個模塊分別為:存儲
15、模塊、顯示模塊、語音模塊、搶答開關(guān)模塊。該搶答器系統(tǒng)通過開關(guān)電路四個按鍵輸入搶答信號; 利用一個數(shù)碼管來完成顯示功能。工作時,用按鍵通過開關(guān)電路輸入各路的搶答信號,經(jīng)單片機的處理, 輸出控制信號,單片機控制的智能搶答器設(shè)計。1.3 搶答器的應(yīng)用隨著我國經(jīng)濟和文化事業(yè)的發(fā)展,在很多公開競爭場合要求有公正的競爭裁決,諸如證券、股票交易及各種智力競賽等,因此出現(xiàn)了搶答器。搶答器一般是由很多電路組成的,線路復雜,可靠性不高,功能也比較簡單,特別是當搶答路數(shù)很多時,實現(xiàn)起來就更為困難。因此我們設(shè)計了以單片機為核心的新型智能的搶答器,在保留了原始搶答器的基本功能的同時又增加一系列的實用功能并簡化其電路結(jié)構(gòu)
16、。搶答器又稱為第一信號鑒別器,其主要應(yīng)用于各種知識競賽、文藝活動等場合。傳統(tǒng)普通搶答器主要存在以下缺陷:(一)、在一次搶答過程中,當出現(xiàn)超前違規(guī)搶答時,只能處理違規(guī)搶答信號,而對沒有違規(guī)的有效搶答信號不能進行處理,因而使該次搶答過程變?yōu)闊o效。 (二)、當有多個違規(guī)搶答時,普通搶答器或采用優(yōu)先編碼電路選擇其中一個,或利用搶答電路電子元件的“競爭”選擇其中一個。對于后者由于搶答電路制作完畢后電子元件被固定。各路搶答信號的“競爭”能力也被固定,因而本質(zhì)上也有優(yōu)先權(quán)。普通搶答器存在不公平性。 (三)、當有多個違規(guī)搶答時,普通搶答器只能“抓住”其中一個而出現(xiàn)“漏洞”。第二章 單片機芯片的選擇及搶答器方案
17、2.1單片機芯片的選擇單片機選用的是atmel公司推出的at89s52,它是一種低功效、高性能cmos8位微控制器,具有8k在系統(tǒng)可編程flash存儲器。使用atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51產(chǎn)品指令和引腳完全兼容。在單芯片上擁有靈巧的8位cpu和在線系統(tǒng)可編程flash,使得at89s52具有以下標準功能:8k字節(jié)flash,256字節(jié)ram,32位i/o口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路??臻e模式下,cpu停止工作,允許ram、定時器/計數(shù)器串口、中斷繼續(xù)工作。掉電保護方式下ram內(nèi)
18、容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。而且,它還具有一個看門狗(wdt)定時/計數(shù)器。如果程序沒有正常工作,就會強制整個系統(tǒng)復位,還可以在程序陷入死循環(huán)的時候,讓單片機復位而不用整個系統(tǒng)斷電,從而保護你的硬件電路。t89s52有40個引腳,32個外部雙向輸入/輸出(i/o)端口,同時內(nèi)含2個外中端口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的微處理器和flash存儲器結(jié)合在一起,特別是可反復擦寫的flash存儲器可有效地降低開發(fā)成本。2.1.2單片機管腳說明(1)vcc:供電電壓。
19、(2)gnd:接地。(3)p0口:p9口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在flash編程時,p0口作為原碼輸入口,當flash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。(4)p1口:p1口是一個內(nèi)部提供的上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故,。在flash編程和校驗時,p1作為第八位地址接收。(5)p2口:p2口為
20、一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4ttl門電流,當p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。(6)p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內(nèi)部上拉為
21、高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89s52的一些特殊功能口,如下表所示:p3口功能引腳簡介p3口引腳 第二功能 p3.0 rxd(串行口輸入) p3.1 txd(串行口輸出) p3.2 int0(外部中斷0輸入) p3.3 int1(外部中斷1輸入) p3.4 t0(定時器0外部脈沖輸入) p3.5 t1(定時器1外部脈沖輸入) p3.6 wr(外部數(shù)據(jù)存儲器寫脈沖輸出) p3.7 rd(外部數(shù)據(jù)存儲器讀脈沖輸出) p3口同時為閃爍編程和編程校驗接收一些控制信號。(7)rst:復位輸入。當振蕩器復位器件時,要保
22、持rst腳兩個機器周期的高電平時間。(8)ale/rpog:當訪問外部存儲器時,地址鎖存允許的輸出電平由于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6.因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳出一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0.此時,ale只有在執(zhí)行movx,movc指令時ale才起作用。另外該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。(9)/psen:外部程序存儲器的選通信號。在由外部程序存儲器取
23、指期間,每個機器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。(10)/ea/vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。(11)xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。(12)xtal2:來自反向振蕩器的輸出。2.2模塊性能分析模塊部分主要分為at89c52芯片、獨立式鍵盤、led數(shù)碼管顯示部分,下面對這后兩部分進行介
24、紹,其中對led七段數(shù)碼管顯示器做詳細介紹,并根據(jù)實際工作情況采用合適的工作方式。2.2.1獨立式鍵盤 利用8個常開按鈕開關(guān)s1s8和8只電阻r1r8組成搶答器的輸入電路。s1s8為自復式常開按鈕開關(guān),分別作為8位搶答按鈕,與它相連的8只電阻為下拉電阻,以保證按鈕未按下時,鎖存器的輸入端為低電平。當程序執(zhí)行時,按下按鍵,七段數(shù)碼管顯示器上即顯示相應(yīng)的是哪個組按下?lián)尨稹?.2.2led數(shù)碼管顯示譯碼器的邏輯功能是將每一個輸入的二進制代碼譯成對應(yīng)的輸出高、低電平信號,是編碼器的反操作。數(shù)碼管可以用ttl或cmos集成電路直接驅(qū)動,所以使用譯碼器將bcd編碼譯成數(shù)碼管所需要的驅(qū)動信號,以便使數(shù)碼管用
25、十進制數(shù)字顯示出bcd編碼表示的數(shù)值。七段數(shù)碼管的段排列和內(nèi)部結(jié)構(gòu)如圖所示七段數(shù)碼管的段排列和內(nèi)部部結(jié)構(gòu)應(yīng)根據(jù)實際情況決定究竟采用共陽還是共陰方式,其基本原則是:若單片機口線直接驅(qū)動數(shù)碼管各段,最好采用共陽極數(shù)碼管,因為8051系列單片機口線輸出高電平時,輸出的電流很小,數(shù)碼管不會太亮。若數(shù)碼管通過驅(qū)動芯片與單片機相連,就要看驅(qū)動芯片對數(shù)碼管極性的要求了點亮顯示器分為靜態(tài)和動態(tài)顯示兩種方法。所謂靜態(tài)顯示,就是當顯示器顯示某一字符時,相應(yīng)的發(fā)光二極管恒定的導通或是截止。例如,其段數(shù)碼管的a、b、c、d、e、f、導通,g截止,則顯示0.這對這種顯示方式每一位都要有一個8位輸出口控制,所占硬件較多,
26、一般用于顯示位數(shù)較少(很少)的場合。當位數(shù)較多時,用靜態(tài)顯示所需的i/o過多,一般采用動態(tài)顯示方法。所謂動態(tài)顯示,就是逐位地輪流點亮各位顯示器(掃描),對于每一位顯示器而言,每個一段時間點亮一次。顯示器的點亮既與點亮時的導通電流有關(guān),也與點亮時間和間隔時間比例有關(guān)。調(diào)整電流和時間參數(shù),可是實現(xiàn)亮度較高、較為穩(wěn)定的顯示,同時可減少工作電流。中的com是選通位,對于共陽極數(shù)碼管,當a、b、c、d、e、f、g、h端接低電平時,com位高電平,數(shù)碼管各段全部點亮。例如,想讓數(shù)碼管顯示“1”,就必須使數(shù)碼管的b、c段點亮,其它段熄滅;所以使b、c段為低電平,其它各引腳均為高電平。在設(shè)計電路時,可將這幾位
27、分別接到單片機的引腳上,還要加上限流電阻,這樣就可由程序控制數(shù)碼管的工作情況了。但是如果用一個端口驅(qū)動一個數(shù)碼管,四位數(shù)碼管就需要四個空閑端口,而在許多系統(tǒng)中并無四個端口可用。此外,使用四個端口往往使得每一個數(shù)字都需要獨立驅(qū)動(緩沖)電路和排阻,這將大大增加系統(tǒng)的成本。 最常見的解決方案是采用多路復用顯示。這是指對于每一個顯示只驅(qū)動1/4時間。只要在20hz-50hz之間循環(huán)所有顯示,由于人眼存在視覺殘留,在這樣的顯示方式下,數(shù)碼管看起來時同時點亮的。在這次課程設(shè)計中根據(jù)實際需要采用了七段數(shù)碼管共陽極和靜態(tài)顯示方式。搶答器的實現(xiàn)方式有種多樣,通過純電子器件搭建電路實現(xiàn),如優(yōu)先編碼器,鎖存器,5
28、55定時器譯碼器等,純電子器件實現(xiàn)沒有軟件參與,調(diào)試簡單,但是它不易于擴展和修改,而且電路結(jié)構(gòu)復雜,調(diào)試困難電子,電子器件管腳很多,實際搭建起來費時費力,焊接很容易出錯。于是,我想到了用單片機實現(xiàn)。單片機體積小價格低,應(yīng)用方便,穩(wěn)定可靠。單片機將很多任務(wù)交給了軟件編程去實現(xiàn),大大簡化了外圍硬件電路,使外圍電路的實現(xiàn)簡單方便。由于單片機本身不具有軟件編譯測試的功能,我們需要借助其他軟件編譯,將編譯好的程序“燒”入單片機內(nèi)。 在實際電路設(shè)計中,需要先通過仿真軟件測試電路以及編譯的程序,檢查外圍電路設(shè)計是否合理,軟件編譯是否正確,以及軟件和硬件電路能否正常配合工作,能否準確的實現(xiàn)所設(shè)計的功能。如果測
29、試通過,電路仿真沒有問題能完全實現(xiàn)功能的話就可以實際的做板子的焊接工作了。在老師的指導下我選擇了常用的單片機仿真軟件proteus6.9以及keil 進行仿真。第三章 硬件電路設(shè)計3.1總體設(shè)計根據(jù)搶答器的基本功能,可以設(shè)計出如下的單片機外圍電路:圖3-1 總體設(shè)計如圖3-1,p3.0為開始搶答,p3.2為停止,p1.0-p1.7為八路搶答輸入,數(shù)碼管段選p0口,位選p2口低3位,蜂鳴器(用綠燈代替)輸出為p3.6口。p3.2為時間加1調(diào)整,p3.3為時間減1調(diào)整。3.2 外部振蕩電路圖3-2 外部振蕩電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅
30、度為3v左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 c1,c2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調(diào)。c1,c2的典型值為30pf。3.3 復位電路的設(shè)計單片機的第9腳rst為硬件復位端,只要將該端持續(xù)4個機器周期的高電平即可實現(xiàn)復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如圖4所示:圖3-3 復位電路在方案中使用到了硬件復位和軟件復位兩種功能,由上面的硬件復位可使寄存器及存儲器的值都恢復到初始值,而前面的功能提到了倒計時間需要有記憶功能,該功能實現(xiàn)的前提條件就是不能對單片機進行硬件復位,所以設(shè)定了軟復位功能。軟復位實際上就是當程序
31、執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。3.1.4 顯示電路的設(shè)計顯示電路使用了七段數(shù)碼管7seg-mpx4-cc,它是共陰極的,由高電平點亮。圖3-4 陰極七段數(shù)碼管4.1.5 按鈕輸入電路的設(shè)計搶答器的輸入按鈕使用常開開關(guān),圖3-5 搶答按鍵這些常開開關(guān)組成了搶答按鍵,硬件電路簡單,在程序設(shè)計上也不復雜,只要在程序中消除在按鍵過程中產(chǎn)生的“毛刺” 現(xiàn)象就可以了。這里采用最常用的方法即延時法,其的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾ms,而按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里取10ms)后再判斷此電平是否保
32、持原狀態(tài),如果是則為有效按鍵,否則無效。3.1.6 發(fā)聲這里能利用程序來控制單片機p3.6口線反復輸出高電平或低電平,即在該口線上產(chǎn)生一定頻率的矩形波,接上揚聲器就能發(fā)出一定頻率的聲音,再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào),使揚聲器發(fā)出不同的聲音。第四章 系統(tǒng)軟件設(shè)計4.1 搶答器流程圖流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對其進行描述。總體框圖中的各個子模塊或各個子任務(wù)也應(yīng)該結(jié)合具體的教學模型和算法畫出較詳細的程序流程圖,供后面編寫具體程序和閱讀程序使用。流程圖是由一些圖框和
33、流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分支結(jié)構(gòu)(又稱選擇結(jié)構(gòu)),循環(huán)結(jié)構(gòu)。為便于識別,繪制流程圖的習慣做法是:方框表示:要執(zhí)行的處理(process)平行四邊型表示:代表資料輸入(input) 不規(guī)則圖形代表資料輸出(output)或報表輸出(print) 菱形表示:決策或判斷(例如:if.then.else) 初始化部分kz= =0啟動中斷,數(shù)碼管開始計時若有選手搶答中斷停止,數(shù)碼管顯示選手的標號及所用的時間結(jié)束開始nyyn圖4-1-1搶答器主程序流程圖 定時器0中斷1秒時間到?中斷返回n秒加1數(shù)碼管
34、顯示秒值y圖4-1-2 搶答器定時器中斷流程圖外部中斷0中斷k0鍵按下k1鍵按下k3鍵按下k2鍵按下中斷返回與k0鍵對應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與k1鍵對應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與k3鍵對應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與k2鍵對應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示yyyynnnn圖4-1-3 外部中斷程序圖4.2 主程序我們組所設(shè)計的搶答器的程序采用的是c程序設(shè)計,c語言的顯著特點是用二進制來編寫程序,程序的各個部分除了必要的信息交流外彼此之間相互獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護以及調(diào)試。c語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流
35、向,從而使程序完全結(jié)構(gòu)化。雖然c語言也是強類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。本次設(shè)計的主程序中包括時鐘設(shè)計程序,定時器中斷子程序,led顯示程序以及按鍵控制子程序,程序設(shè)計如下: #includesbit k0=p10;sbit k1=p11;sbit k2=p12;sbit k3=p13;sbit d0=p14;sbit d1=p15;sbit d2=p16;sbit d3=p17;sbit b0=p37;sbit l0=p20;sbit l1=p22;sbit l2=p23;sbit l3=p24;sbit kz=p30;unsigned char qiangda
36、num=0x3f;unsigned char code table=0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char ge=0,shi=0;unsigned int num=0,time=0;void display(); /*顯示函數(shù)*/void delay(unsigned int);main()tmod=0x01; /*采用方式一,即十六位計數(shù)器*/th0=(65536-50000)/256; /*設(shè)置初始值*/tl0=(65536-50000)%256;it0=0;ea=1;et0=1; /*開啟總中斷源*/
37、ex0=1; /*啟動外部中斷0*/while(1)display(); if(kz=0) tr0=1; /*開啟定時器0中斷*/ if(num=20) num=0; time+; if(time=60) /*60秒的計時*/ time=0; void exter0() interrupt 0 /*外部中斷程序*/ea=0;l0=0; if(k0=0) /*開關(guān)0按下*/d0=0;qiangdanum=1;b0=1; /* 1號選手搶答成功,數(shù)碼管顯示1,蜂鳴器響,第1個二極管亮*/if(k1=0) /*開關(guān)1按下*/ d1=0;qiangdanum=2;b0=1; /* 2號選手搶答成功,數(shù)
38、碼管顯示2,蜂鳴器響,第2個二極管亮*/if(k2=0) /*開關(guān)2按下*/ d2=0;qiangdanum=3;b0=1; /* 3號選手搶答成功,數(shù)碼管顯示3,蜂鳴器響,第3個二極管亮*/if(k3=0) /*開關(guān)3按下*/ d3=0;qiangdanum=4;b0=1; /* 4號選手搶答成功,數(shù)碼管顯示4,蜂鳴器響,第4個二極管亮*/void time0() interrupt 1num+;th0=(65536-50000)/256;tl0=(65536-50000)%256; /*1秒定時函數(shù)*/void delay(unsigned int z)unsigned int x,y;
39、for(x=z;x0;x-) for(y=110;y0;y-); /*延遲函數(shù)*/void display(void) shi=time/10;ge=time%10;p2=0xef;p0=tablege;delay(5);p2=0xf7;p0=tableshi;delay(5);p2=0xfe;p0=tableqiangdanum;delay(5); /*顯示函數(shù):來顯示0-60的計數(shù)*/4.3 中斷程序4.3.1 什么是中斷中斷是指由于某種隨機事件的發(fā)生,計算機暫停現(xiàn)行的程序的運行,轉(zhuǎn)去執(zhí)行另一個程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。有五種中斷源:外部中斷0、外部中
40、斷1、定時器中斷0、定時器中斷1、串行中斷。它們的描述如下圖所示:中斷源符號名稱終端引起的原因中斷矢量地址int0外部中斷0由p3.2低電平或下降沿信號0003ht0定時器中斷0定時/計數(shù)器0回零溢出p3.40013hint1外部中斷1由p3.3低電平或下降沿信號000bht1定時器中斷1定時/計數(shù)器1回零溢出p3.5001bhti/ri串行中斷串行口接收或發(fā)送完幀數(shù)據(jù)引起的中斷0023h表4-3-1 五種中斷源的表示4.3.2 中斷所用到的寄存器介紹定時器/計數(shù)器中所介紹的寄存器:(1)、定時器/計數(shù)器控制寄存器tcontcon的作用是控制定時器的啟動停止,標志定時器的溢出和中斷情況;(2)
41、、中斷允許控制寄存器ie對中斷源的開放或屏蔽是由中斷寄存器ie控制的,地址為0a8h,即可以按字節(jié)尋址,也可以按位尋址。當單片機復位時,ie被清零。(3)、串行控制寄存器scon定時/計數(shù)器的控制方法:在啟動定時/計數(shù)器工作之前cpu必須將一些命令(稱為控制字)寫入定時/計數(shù)器中,這個過程稱為定時/計數(shù)的初始化。(定時/計數(shù)器的初始化通過定時/計數(shù)器的方式寄存器tmod和控制寄存器tcon來完成。定時/計數(shù)器方式寄存器tmodgatec/tm1m0gatec/tm1m0定時器1 定時器0m1m0工作方式功能說明00方式013位計數(shù)器01方式116位計數(shù)器10方式2自動再裝入8位計數(shù)器11方式3
42、定時器0:分成兩個8位計數(shù)器;定時器1:停止計數(shù)表4-3-2 選擇定時方式表中斷程序的編寫的步驟:(1)、根據(jù)要求設(shè)置ie(中斷允許寄存器)的對應(yīng)位ea(ea總中斷允許位 ea=1開放所有的中斷;ea=0禁止所有的中斷),某個中斷源還有相應(yīng)的中斷允許位、當=1時:允許相應(yīng)中斷源的中斷;、當=0時:禁止相應(yīng)中斷源的中斷;(2)、int0、int1設(shè)定觸發(fā)方式it0(外部中斷觸發(fā)方式控制位)當為0時:低電平觸發(fā);當為1時:下降沿觸發(fā);(3)、返回值是void中斷函數(shù)名() interrupt()4.3.2 為什么采用中斷控制方式cpu與外部設(shè)備的數(shù)據(jù)傳送方式:(1)、無條件傳送方式cpu總認為外設(shè)處于準備好的狀態(tài),外設(shè)比較簡單(2)、程序查詢傳送方式外設(shè)有一個狀態(tài)(狀態(tài)存儲在寄存器內(nèi))缺點:cpu工作效率低,cpu處于等待的狀態(tài),為解決此缺點便出現(xiàn)了第三種傳送方式(3)、中斷傳送方式中斷是指由于某種隨機事件的發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市電網(wǎng)智能化改造施工組織設(shè)計方案
- 機械制造鋼材取樣檢測方案
- 調(diào)味品品牌市場推廣實施方案
- 鋼結(jié)構(gòu)工業(yè)設(shè)施隔熱施工方案
- 交通運輸抗旱供電方案
- 小學戲曲藝術(shù)融合課程方案
- 電爐能耗監(jiān)測與管理方案
- 幼兒園五一安全協(xié)議書(2篇)
- 公共設(shè)施裂縫處理方案
- 濟南2024年11版小學6年級英語第3單元暑期作業(yè)
- 2024年部編新改版語文小學四年級上冊第三單元復習課教案及單元測試題(有答案)
- 《量子化學計算方法》課件
- 山東省青島市西海岸新區(qū)2023-2024學年三年級上學期期中數(shù)學試題
- DL5009.3-2013 電力建設(shè)安全工作規(guī)程 第3部分:變電站
- 當代社會政策分析 課件 第13、14章 反貧困社會政策、公益慈善政策
- 數(shù)字化轉(zhuǎn)型企業(yè)架構(gòu)設(shè)計手冊
- 醫(yī)療技術(shù)操作規(guī)范制度及流程
- 戶外直播知識競賽答題附答案
- 傳統(tǒng)文化4敦厚崇禮(課件)山東友誼出版社《中華優(yōu)秀傳統(tǒng)文化》六年級
- 三相異步電動機的啟??刂?/a>
- 中華民族共同體概論課件專家版8第八講 共奉中國與中華民族聚力發(fā)展
評論
0/150
提交評論