單片機(jī)課程設(shè)計(jì)-- 基于單片機(jī)的搶答器設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  單片機(jī)課程設(shè)計(jì)報(bào)告</b></p><p>  項(xiàng)目名稱(chēng) 基于單片機(jī)的搶答器設(shè)計(jì) </p><p>  專(zhuān)業(yè)班級(jí) 通信111班 </p><p>  學(xué)生姓名 #### </p><p&g

2、t;  指導(dǎo)教師 ###### </p><p>  2013年12 月28日</p><p><b>  摘 要</b></p><p>  此次設(shè)計(jì)提出了用STC89C52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的搶答器, 本方案以STC89C52單片機(jī)作為主控核心,發(fā)光二極管、數(shù)碼管、蜂鳴器等構(gòu)成

3、四路搶答器,利用了單片機(jī)的按鍵復(fù)位電路、時(shí)鐘電路、定時(shí)/中斷等電路,設(shè)計(jì)的搶答器具有實(shí)時(shí)顯示搶答選手的號(hào)碼的特點(diǎn),還有復(fù)位電路,使其再開(kāi)始新的一輪的答題和比賽,同時(shí)還利用C語(yǔ)言編程,使其實(shí)現(xiàn)一些基本的功能。</p><p>  本設(shè)計(jì)的系統(tǒng)實(shí)用性強(qiáng)、判斷精確、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。它的功能實(shí)現(xiàn)是比賽開(kāi)始,主持人讀完題之后按下總開(kāi)關(guān),此時(shí)數(shù)碼管顯示初始狀態(tài)0,直到有一個(gè)選手搶答時(shí),對(duì)應(yīng)的會(huì)在數(shù)碼管上顯示出該選手的編

4、號(hào),同時(shí)發(fā)光二極管出現(xiàn)閃爍狀態(tài),蜂鳴器也會(huì)發(fā)出聲音,以提示有人搶答本題,主持人按下復(fù)位鍵,示意可以答題。</p><p>  關(guān)鍵字:STC89C52單片機(jī);動(dòng)態(tài)顯示;中斷;按鍵控制</p><p><b>  Abstract</b></p><p>  This design use STC89C52as the core control

5、 element is presented to design a simple responder, this scheme is STC89C52 single chip microcomputer as control core, light-emitting diode, digital tube, buzzer and so on four road vies to answer first device, using the

6、 single chip microcomputer button reset circuit, clock circuit, timing/interrupt circuit, design of vies to answer first appliance has the characteristic of real-time display vies to answer first contestant's number,

7、 and reset circuit, t</p><p>  The design of the system is practical, accurate judgment, simple operation, strong extended functionality. Its function realization is the match began, and the host to read the

8、 topic after press the main switch, the digital tube display initial condition 0, until there is a contestant vies to answer first, the corresponding in the contestant's serial number is shown on the digital tube, li

9、ght-emitting diodes, flicker status at the same time, the buzzer will sound, to remind someone vies to answe</p><p>  Keywords: STC89C52 microcomputer; Dynamic display; Interrupt; The key control</p>

10、;<p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  第1章 緒論1</b></p><p>  1.1 單片機(jī)搶答器的背景1</p>&

11、lt;p>  1.2 單片機(jī)搶答器的意義1</p><p>  1.3 搶答器的應(yīng)用1</p><p>  第2章 系統(tǒng)硬件部分的設(shè)計(jì)2</p><p>  2.1 設(shè)計(jì)要求2</p><p>  2.2 總體設(shè)計(jì)方案2</p><p>  2.3 單元模塊設(shè)計(jì)3</p>&

12、lt;p>  2.3.1 單片機(jī)簡(jiǎn)介3</p><p>  2.3.2 最小系統(tǒng)的設(shè)計(jì)5</p><p>  2.3.3 數(shù)碼管顯示電路6</p><p>  2.3.4 按鍵模塊設(shè)計(jì)6</p><p>  第3章 系統(tǒng)的軟件設(shè)計(jì)8</p><p>  3.1 搶答器工作原理8</p&

13、gt;<p><b>  3.2 流程圖8</b></p><p>  3.3 KEIL軟件簡(jiǎn)介9</p><p>  第4章 系統(tǒng)的仿真與調(diào)試11</p><p>  4.1 軟件的仿真與調(diào)試11</p><p>  4.2 硬件的安裝與調(diào)試11</p><p>  

14、4.2.1晶振電路的測(cè)試12</p><p>  4.2.2復(fù)位電路的測(cè)試12</p><p>  4.2.3顯示電路的測(cè)試12</p><p><b>  總結(jié)13</b></p><p><b>  參考文獻(xiàn)14</b></p><p>  附錄1源程序代碼1

15、5</p><p>  附錄2 元件清單17</p><p>  附錄3 仿真圖18</p><p>  附錄4 實(shí)物照片展示19</p><p><b>  致謝20</b></p><p><b>  緒論</b></p><p>  1

16、.1 單片機(jī)搶答器的背景</p><p>  二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過(guò),這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱(chēng)PC機(jī)。它由主機(jī)、鍵盤(pán)、顯示器等組成。還有一類(lèi)計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱(chēng)微控制器)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。

17、它在整個(gè)裝置中,起著有如人類(lèi)頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱(chēng)前冠以形容詞--“智能型”。</p><p>  在知識(shí)競(jìng)賽中,往往會(huì)用到搶答器。故此我們就選擇利用單片機(jī)編程來(lái)設(shè)計(jì)搶答器,即使兩組的搶答時(shí)間相差幾微秒,也能輕松的分辨出哪一組(或哪個(gè)選

18、手)先搶答到題。</p><p>  1.2 單片機(jī)搶答器的意義</p><p>  本系統(tǒng)采用單片機(jī)作為整個(gè)控制核心??刂葡到y(tǒng)的四個(gè)模塊為:顯示模塊、存儲(chǔ)模塊、語(yǔ)音模塊、搶答開(kāi)關(guān)模塊。該系統(tǒng)通過(guò)開(kāi)關(guān)電路四個(gè)按鍵輸入搶答信號(hào),利用一個(gè)數(shù)碼管來(lái)完成顯示功能,用按鍵來(lái)讓選手進(jìn)行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實(shí)現(xiàn)整個(gè)搶答過(guò)程。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用途

19、。系統(tǒng)工作原理本系統(tǒng)采用STC89C52單片機(jī)作為核心??刂葡到y(tǒng)四個(gè)模塊分別為:存儲(chǔ)模塊、顯示模塊、語(yǔ)音模塊、搶答開(kāi)關(guān)模塊。該搶答器系統(tǒng)通過(guò)開(kāi)關(guān)電路四個(gè)按鍵輸入搶答信號(hào), 利用一個(gè)數(shù)碼管來(lái)完成顯示功能。工作時(shí),用按鍵通過(guò)開(kāi)關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理, 輸出控制信號(hào),單片機(jī)控制的智能搶答器設(shè)計(jì)。</p><p>  1.3 搶答器的應(yīng)用</p><p>  隨著我國(guó)經(jīng)濟(jì)和文化

20、事業(yè)的發(fā)展,在很多公開(kāi)競(jìng)爭(zhēng)場(chǎng)合要求有公正的競(jìng)爭(zhēng)裁決,諸如證券、股票交易及各種智力競(jìng)賽等,因此出現(xiàn)了搶答器。搶答器一般是由很多電路組成的,線路復(fù)雜,可靠性不高,功能也比較簡(jiǎn)單,特別是當(dāng)搶答路數(shù)很多時(shí),實(shí)現(xiàn)起來(lái)就更為困難。因此我們?cè)O(shè)計(jì)了以單片機(jī)為核心的新型智能的搶答器,在保留原始搶答器的基本功能的同時(shí)又增加了數(shù)碼管顯示電路實(shí)現(xiàn)了其它功能。搶答器又稱(chēng)為第一信號(hào)鑒別器,其主要應(yīng)用于各種知識(shí)競(jìng)賽、文藝活動(dòng)等場(chǎng)合。</p><p

21、>  第2章 系統(tǒng)硬件部分的設(shè)計(jì)</p><p><b>  2.1 設(shè)計(jì)要求</b></p><p> ?。?)總共6個(gè)按鍵,兩個(gè)供主持人用于“開(kāi)始搶答”和“復(fù)位”操作,四個(gè)供四個(gè)選手用作“搶答”操作。</p><p> ?。?)用1個(gè)發(fā)光二極管用作開(kāi)始搶答的指示燈,用4個(gè)發(fā)光二極管分別顯示4個(gè)選手的搶答狀態(tài)。</p>

22、<p> ?。?)開(kāi)始搶答后,哪個(gè)選手搶答鍵最先按下,搶答指示燈點(diǎn)亮,蜂鳴器報(bào)警,數(shù)碼管顯示選手號(hào)碼,表示該選手搶答成功,此時(shí)其他選手再按鍵為無(wú)效。</p><p> ?。?)開(kāi)始搶答前,若有選手按下?lián)尨疰I,則其對(duì)應(yīng)的指示燈變?yōu)殚W爍,蜂鳴器報(bào)警,數(shù)碼管顯示選手號(hào)碼,表示該選手犯規(guī),此時(shí)所有選手按鍵都將無(wú)效。</p><p> ?。?)出現(xiàn)犯規(guī)后,主持人可以利用“復(fù)位鍵”重新開(kāi)始

23、。</p><p>  2.2 總體設(shè)計(jì)方案</p><p>  方案:依據(jù)課題要求,基于STC89C52單片機(jī)制作的搶答器,其最大的好處就是處理準(zhǔn)確性高、可靠性好、控制功能強(qiáng)。 </p><p>  采用STC89C52單片機(jī)作為控制中心,系統(tǒng)可以完成運(yùn)算控制、信號(hào)的控制以及顯示的功能。選手通過(guò)按鍵開(kāi)光作為輸入信號(hào)完成輸入信號(hào)的觸發(fā),主持人根據(jù)選手的輸入信號(hào)準(zhǔn)確

24、的判斷最先按下的選手且屏蔽其他的搶答信號(hào),讓選手作答。使用外部中斷方式來(lái)實(shí)現(xiàn)開(kāi)始搶答,運(yùn)用按鍵復(fù)位來(lái)實(shí)現(xiàn)系統(tǒng)的復(fù)位,其系統(tǒng)原理框圖如下:</p><p>  圖2-1 系統(tǒng)原理框圖</p><p>  2.3 單元模塊設(shè)計(jì)</p><p>  2.3.1 單片機(jī)簡(jiǎn)介</p><p>  STC89C51單片機(jī)是采用高性能的靜態(tài)80C52

25、設(shè)計(jì)由先進(jìn)CMOS 工藝制造并帶有非易失性Flash 程序存儲(chǔ)器,全部支持12 時(shí)鐘和6 時(shí)鐘操作。P89C51X2 和P89C52X2/54X2/58X2 分別包含128 字節(jié)和256 字節(jié)RAM 32 條I/O 口線3 個(gè)16 位定時(shí)/計(jì)數(shù)器6 輸入4 優(yōu)先級(jí)嵌套中斷結(jié)構(gòu)1 個(gè)串行I/O 口可用于多機(jī)通信I/O 擴(kuò)展或全雙工UART以及片內(nèi)振蕩器和時(shí)鐘電路。</p><p>  圖2-2 STC89C52單片

26、機(jī)引腳圖</p><p>  各引腳功能介紹如下:</p><p>  ●VCC:供電電壓 </p><p>  ●GND:接地 </p><p>  ●P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每個(gè)管腳可吸收8

27、TTL門(mén)電流。當(dāng)P1口的管腳寫(xiě)“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部電位必須被拉高。</p><p>  ●P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入“1”后,電位被內(nèi)部上拉為高,可用作輸入,P1口被外

28、部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p>  ●P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時(shí),P2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器

29、進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p>  ●P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入時(shí),由于外部下拉為低電平,P3口將

30、輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:</p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 INT0(外部中斷0)</p><p>  P3.3 INT1(外部中斷1)</p><p>  

31、P3.4 T0(記時(shí)器0外部輸入)</p><p>  P3.5 T1(記時(shí)器1外部輸入)</p><p>  P3.6 WR (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)</p><p>  P3.7 RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p>  同時(shí)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p>  ●RST:

32、復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高平時(shí)間。</p><p>  ●ALE / PROG :當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想

33、禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p>  ●PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期PSEN兩次有效。但在訪問(wèn)內(nèi)部部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。</p><p>  ●EA/V

34、PP:當(dāng)EA保持低電平時(shí),訪問(wèn)外部ROM;注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),訪問(wèn)內(nèi)部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  ●XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p>  ●XTAL2:來(lái)自反向振蕩器的輸出。</p><p>  2.3.2 最

35、小系統(tǒng)的設(shè)計(jì)</p><p>  單片機(jī)的最小系統(tǒng)電路圖:</p><p>  圖2-3 單片機(jī)的最小系統(tǒng)圖</p><p>  說(shuō)明:  ①?gòu)?fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合“電容電壓不能突變”的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且,這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來(lái)決定。典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)

36、位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位.一般教科書(shū)推薦C 取10,R取8.2K。當(dāng)然也有其他取法的,原則就要讓RC組合可以在RST腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平;  ②復(fù)位輸入高電平有效,當(dāng)振蕩器工作是,RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平,使單片機(jī)復(fù)位。此電路除具有上電復(fù)位功能外,若要復(fù)位只需按“RST”鍵,此電源Vcc經(jīng)電阻分壓,在RST端產(chǎn)生一個(gè)復(fù)位高電平;  ③晶振電路:典型的晶振取11.0592MHz(因?yàn)榭?/p>

37、以準(zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場(chǎng)合)/12MHz(產(chǎn)生精確的方波便于12分頻,方便定時(shí)操作);  ④單片機(jī):一片STC89C51/52或其他51系列兼容單片機(jī);  注意:對(duì)于31腳(EA/Vpp),當(dāng)接高電平時(shí),單片機(jī)在復(fù)位后從內(nèi)部ROM的0000H開(kāi)始執(zhí)行;當(dāng)接低電平時(shí),復(fù)位后直接從</p><p>  2.3.3 數(shù)碼管顯示電路  其中數(shù)碼管的顯示可以分為兩種:靜態(tài)顯示

38、和動(dòng)態(tài)顯示。</p><p>  靜態(tài)顯示的段選位和位選位均單獨(dú)連接,因此占用的I/O接口多,無(wú)法擴(kuò)展多個(gè)數(shù)碼管,在這種采用這種方式,必須要給LED恒定的電壓,要求電壓一直保持,所以一般在LED和單片機(jī)之間加鎖存器,這種顯示方式亮度高,編程較簡(jiǎn)單,結(jié)構(gòu)清晰,管理也較簡(jiǎn)單,占用的CPU時(shí)間少。</p><p>  動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)

39、驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共端COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,

40、就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。</p><p>  在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低?! 碾娐飞?,按數(shù)碼管的接法不同又分為共陰和共陽(yáng)兩種。圖2-4 是共陰和

41、共陽(yáng)極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。其數(shù)碼管的外形如下圖所示:</p><p>  圖2-4 數(shù)碼管的共陰和共陽(yáng)極接法</p><p>  2.3.4 按鍵模塊設(shè)計(jì)</p><p>  4個(gè)搶答按鍵分別接入單片機(jī)的P3.0~P3.3端口,單片機(jī)通過(guò)讀取P3.0~P3.3的值來(lái)判斷當(dāng)前輸入的是4個(gè)搶答按鍵中的哪一個(gè)。<

42、/p><p><b>  圖2-5 按鍵電路</b></p><p>  按鍵的觸點(diǎn)在閉合和斷開(kāi)時(shí)均會(huì)產(chǎn)生抖動(dòng),這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行。現(xiàn)在一般均用軟件延時(shí)的方法來(lái)避開(kāi)抖動(dòng)階段,這一延時(shí)過(guò)程一般大于5ms,例如取10-20ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺(tái)程序)或鍵盤(pán)中斷(外部中斷)子程序中,則該延時(shí)

43、子程序便可直接插入讀鍵過(guò)程中。</p><p>  圖2-6 數(shù)碼管顯示電路</p><p>  第3章 系統(tǒng)的軟件設(shè)計(jì)</p><p>  在軟件設(shè)計(jì)中,一般采用模塊化的程序設(shè)計(jì)方法,它具有明顯的優(yōu)點(diǎn)。把一個(gè)多功能的復(fù)雜的程序劃分為若干個(gè)簡(jiǎn)單的、功能單一的程序模塊,有利于程序的設(shè)計(jì)和調(diào)試,有利于程序的優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結(jié)構(gòu)層次一目了

44、然。</p><p>  3.1 搶答器工作原理</p><p>  搶答器是為智力競(jìng)賽參賽者答題時(shí)進(jìn)行搶答而設(shè)計(jì)的一種優(yōu)先判決器電路,廣泛應(yīng)用于各種知識(shí)競(jìng)賽、文娛活動(dòng)等場(chǎng)合。</p><p>  在搶答競(jìng)賽或呼叫時(shí),有多個(gè)信號(hào)同時(shí)或不同時(shí)送入主電路中,搶答器內(nèi)部的寄存器工作,并識(shí)別、記錄第一個(gè)號(hào)碼,同時(shí)內(nèi)部的定時(shí)器開(kāi)始工作,記錄有關(guān)時(shí)間并產(chǎn)生超時(shí)信號(hào)。在整個(gè)搶答器

45、工作過(guò)程中,顯示電路、聲音電路等還要根據(jù)現(xiàn)場(chǎng)的實(shí)際情況向外電路輸出相應(yīng)信號(hào)。</p><p><b>  3.2 流程圖</b></p><p>  流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計(jì)方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對(duì)其進(jìn)行描述??傮w框圖中的各個(gè)子模塊或各個(gè)子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫(huà)出較詳細(xì)的程序流程圖,供

46、后面編寫(xiě)具體程序和閱讀程序使用?! ×鞒虉D是由一些圖框和流程線組成的,其中圖框表示各種操作的類(lèi)型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分支結(jié)構(gòu)(又稱(chēng)選擇結(jié)構(gòu)),循環(huán)結(jié)構(gòu)。為便于識(shí)別,繪制流程圖的習(xí)慣做法是:  方框表示:要執(zhí)行的處理(Process)  平行四邊型表示:代表資料輸入(Input)  不規(guī)則圖形代表資料輸出(Output)或報(bào)表輸出(Print)  菱形表示:決

47、策或判斷(例如:If...Then...Else)</p><p>  圖3-1 主程序流程圖</p><p>  在搶答競(jìng)賽或呼叫時(shí),有多個(gè)信號(hào)同時(shí)或不同時(shí)送入主電路中,搶答器內(nèi)部的寄存器工作,并識(shí)別、記錄第一個(gè)號(hào)碼,同時(shí)內(nèi)部的定時(shí)器開(kāi)始工作,記錄有關(guān)時(shí)間并產(chǎn)生超時(shí)信號(hào)。在整個(gè)搶答器工作過(guò)程中,顯示電路還要根據(jù)現(xiàn)場(chǎng)的實(shí)際情況向外電路輸出相應(yīng)信號(hào)。</p><p>

48、  3.3 KEIL軟件簡(jiǎn)介</p><p>  單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,

49、Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤(pán)空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的

50、使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買(mǎi)到該軟件、而你買(mǎi)的仿真機(jī)也很可能只支持該軟件),即使不使用C語(yǔ)言而僅用</p><p>  打開(kāi)Keil軟件,首先,建立工程文件,然后新建一文檔,輸入自己編寫(xiě)的程序。點(diǎn)擊保存,保存為.ASM文件(C語(yǔ)言為.C文件)。然后,然后再單擊Add Files to Group Source Gro

51、up 1。然后勾選生成.HEX文件選項(xiàng),最后點(diǎn)擊編譯,如圖3-2所示。</p><p>  圖3-2 Keil軟件程序編寫(xiě)</p><p>  第4章 系統(tǒng)的仿真與調(diào)試</p><p>  4.1 軟件的仿真與調(diào)試</p><p>  Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件,它可以仿真、分析(SPI

52、CE)各種模擬器件和集成電路。該軟件的主要特點(diǎn)總結(jié)后有以下四點(diǎn):</p><p> ?、賹?shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合的功能。</p><p>  ②支持目前主流單片機(jī)系統(tǒng)的仿真。</p><p> ?、厶峁┝塑浖{(diào)試功能,并可以與WAVE聯(lián)合仿真調(diào)試。</p><p> ?、芫哂袕?qiáng)大的原理圖繪制功能。</p>&l

53、t;p>  總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。在電子領(lǐng)域中也起到了很大的作用,它的出現(xiàn)仿真不需要先焊接電路,可以先仿真調(diào)試通過(guò)后在焊電路,節(jié)省了不少在硬件調(diào)試上所花的時(shí)間。</p><p>  Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面。它包括標(biāo)題欄、主菜單、狀態(tài)欄、標(biāo)準(zhǔn)工具欄、繪圖工具欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)

54、覽窗口、對(duì)象選擇器窗口、圖形編輯窗口等十幾個(gè)工具,方便了使用者的使用。</p><p>  首先打開(kāi)已經(jīng)畫(huà)好的proteus DSN文件,雙擊圖中的STC89C52芯片,就彈出一個(gè)窗口,在Program File項(xiàng)中通過(guò)路徑選擇在WAVE中生成的HEX文件,雙擊選中后確定,這樣仿真圖中的STC89C51芯片就已經(jīng)讀取了本設(shè)計(jì)中的HEX文件。單擊“三角形按鈕”進(jìn)行仿真。通過(guò)對(duì)仿真結(jié)果的觀察來(lái)對(duì)程序進(jìn)行修改,最終使程

55、序到達(dá)設(shè)計(jì)要求。</p><p>  4.2 硬件的安裝與調(diào)試</p><p>  按照之前設(shè)計(jì)好的搶答器原理圖,詳細(xì)計(jì)算系統(tǒng)中各個(gè)元件的參數(shù),選擇相應(yīng)器件,焊接實(shí)際電路板。由于考慮到萬(wàn)能板大小的問(wèn)題及元件之間連線的方便,在焊接元器件前必須考慮元件的布局然后進(jìn)行實(shí)際操作。</p><p>  制作好的電路板可以用萬(wàn)用表(200歐姆檔)的紅、黑表筆測(cè)試電路板的每條走線

56、,當(dāng)其電阻非常小時(shí),證明走線沒(méi)有斷開(kāi),當(dāng)其電阻很大時(shí),證明該條走線斷了,應(yīng)該重新走線,使電路板在電氣上得到正確地連接。選用萬(wàn)用表的20K歐姆檔,檢測(cè)電路中是否存在短路。因?yàn)橄到y(tǒng)采用的是共陰極數(shù)碼管作為顯示電路,必須確保數(shù)碼管的公共端接的是低電平。</p><p>  4.2.1晶振電路的測(cè)試</p><p>  在單片機(jī)正常運(yùn)行的必要條件是單片機(jī)系統(tǒng)的時(shí)鐘穩(wěn)定正常。實(shí)際中,因?yàn)楦鞣N原因?qū)е?/p>

57、系統(tǒng)時(shí)鐘不正常而出現(xiàn)系統(tǒng)無(wú)法正常運(yùn)行的情況時(shí)有,因此系統(tǒng)時(shí)鐘是否振是通電檢查的首要環(huán)節(jié)。在系統(tǒng)通電的狀況下,用萬(wàn)用表的直流電壓檔(20V),分別測(cè)量XTAL1和XTAL2引腳的電壓,看是否正常,在調(diào)試過(guò)程中,測(cè)得電壓XTAL1引腳應(yīng)為2.05V,XTAT2應(yīng)為2.15V。</p><p>  4.2.2復(fù)位電路的測(cè)試</p><p>  復(fù)位不正常也會(huì)導(dǎo)致系統(tǒng)不能工作。如果復(fù)位引腳始終為高

58、電平,系統(tǒng)將始終處于復(fù)位狀態(tài);如果始終為低電平,不能產(chǎn)生復(fù)位所需的高電平信號(hào)脈沖,則系統(tǒng)也可能無(wú)法正常工作。單片機(jī)正常工作時(shí),RST復(fù)位引腳應(yīng)為0V,按下復(fù)位按鍵時(shí),復(fù)位引腳為高電平5V左右。</p><p>  4.2.3顯示電路的測(cè)試</p><p>  顯示電路是搶答器正常運(yùn)行最直觀的觀察窗口,我們可以通過(guò)觀察顯示電路的顯示結(jié)果觀察系統(tǒng)能否正常運(yùn)行。當(dāng)顯示電路按照電路圖焊接好后,用萬(wàn)

59、用表的測(cè)二極管檔位,將黑表筆接共陰數(shù)碼管的公共段,然后將紅表筆接數(shù)碼管的各段,當(dāng)數(shù)碼管的段能正常顯示,說(shuō)明各點(diǎn)焊接正常。將R3到R9及共陰數(shù)碼管焊好,再將集成電路插座焊上,這樣這部分電路就制作完成了。接下來(lái)對(duì)這部分電路進(jìn)行測(cè)試,接上電源,數(shù)碼管全滅,用一導(dǎo)線的一端與地線相連,另一端依次碰集成電路插座的20腳到26腳,一邊碰一邊查看數(shù)碼管,正常時(shí)可以看到每碰一個(gè)腳,對(duì)應(yīng)一段數(shù)碼管燈亮。若不亮,仔細(xì)查看與該腳相連的電阻及數(shù)碼管是否虛焊。&l

60、t;/p><p>  將燒錄好程序的AT89C2051芯片插上(我們提供的芯片中已燒錄好程序),注意方向不要插錯(cuò)(反插容易損壞芯片),芯片上有一個(gè)小三角的標(biāo)記處為1腳。只要元件焊接無(wú)誤,按以上制作流程操作,裝好后就可以正常工作。制作完成的4路搶答器見(jiàn)。所有元件全部制作完成后,接上電源,電源指示燈亮,按動(dòng)4路搶答開(kāi)關(guān)中的任何一路,音樂(lè)響起,同時(shí)數(shù)碼管顯示相應(yīng)的搶答開(kāi)關(guān)號(hào)。搶答成功后,按下復(fù)位鍵,系統(tǒng)返回?fù)尨馉顟B(tài)。<

61、;/p><p><b>  總結(jié)</b></p><p>  本次課程設(shè)計(jì)結(jié)束了,在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。通過(guò)這次課程設(shè)計(jì),我對(duì)單片機(jī)的知識(shí)有了進(jìn)一步的學(xué)習(xí)。通過(guò)這次設(shè)計(jì),本人在多方面都有所提高。通過(guò)這次設(shè)計(jì),綜合運(yùn)用本專(zhuān)業(yè)所學(xué)課程的理論,設(shè)計(jì)工作的實(shí)際訓(xùn)練從而培養(yǎng)和提高學(xué)生獨(dú)立工作能

62、力,鞏固所學(xué)的內(nèi)容,同時(shí)各科相關(guān)的課程都有了全面的復(fù)習(xí),獨(dú)立思考的能力也有了提高。在設(shè)計(jì)過(guò)程中遇到了很多問(wèn)題,我都沒(méi)有放棄,不明白的地方就及時(shí)查資料,問(wèn)同學(xué)或是找老師幫忙。經(jīng)過(guò)查閱有關(guān)方面的書(shū)籍,獲取了很多專(zhuān)業(yè)方面的知識(shí),拓展了視野,增加了我實(shí)際動(dòng)手能力。</p><p>  通過(guò)這次的實(shí)訓(xùn)在軟件方面在進(jìn)一步學(xué)習(xí)了匯編程序編譯環(huán)境keil uVision3, 并且學(xué)習(xí)新的軟件proteus 7,學(xué)習(xí)在上面畫(huà)電路圖

63、,硬件與程序相結(jié)合仿真路。在此感謝我們的老師.,老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;老師循循善誘的教導(dǎo)和不拘一格的思路給予我無(wú)盡的啟迪;這次設(shè)計(jì)的每個(gè)實(shí)驗(yàn)細(xì)節(jié)和每個(gè)結(jié)果,都離不開(kāi)老師您的細(xì)心指導(dǎo)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 張毅剛 彭喜元 彭 宇 單片機(jī)原理及其應(yīng)用 2010 , 05 :(1

64、01-113).</p><p>  [2] 譚浩強(qiáng) C程序設(shè)計(jì) 2005 ,07 :(219-278).</p><p>  [3] 戴佳. 單片機(jī)C51語(yǔ)言應(yīng)用程序設(shè)計(jì). 電子工業(yè)出版社, 2006.7:168-169</p><p>  [4] 朱民雄.計(jì)算機(jī)語(yǔ)言技術(shù). 北京航空航天大學(xué)出版社,2002.1:103-105</p>&

65、lt;p>  [5] 李鴻. 單片機(jī)原理及應(yīng)用. 湖南大學(xué)出版社. 2004:8:72-73</p><p>  [6] 劉建清. 單片機(jī)技術(shù). 國(guó)防工業(yè)出版社, 2006.8: 104-105 </p><p>  [7] 楊寧,胡學(xué)軍.單片機(jī)與控制技術(shù).北京航空航天大學(xué)出版社,2005-03:306-322</p><p>  [8] 馬忠梅等.

66、單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì).北京航空航天大學(xué)出版社, 1997:201-211</p><p><b>  附錄1源程序代碼</b></p><p>  ORG000</p><p>  MP BEGIN </p><p>  TABLE:

67、 ; 共陰極數(shù)碼管顯示代碼表</p><p>  DB 3FH,06H,5cH,4FH,66H ; 01234</p><p>  DB 6DH,7DH,07H,7FH ; 46789</p><p>  DELAY: MOVR5,#20 ; 延時(shí)20×20ms子程序 </p>

68、<p>  LOOP4: MOVR6,#50 </p><p>  LOOP5: MOVR7,#100</p><p>  DJNZR7,$</p><p>  DJNZ6, LOOP5</p><p>  DJNZR5, LOOP4</p><p><b&

69、gt;  RET</b></p><p>  BEGIN: MOVP2, #0FFH;P2口置高電平,準(zhǔn)備接收信號(hào)</p><p>  MOV R4,#0 ; "R4"的位標(biāo)志值清零。</p><p>  MOVA, R4 ; "R4"位標(biāo)志值送A寄存</p>

70、<p>  AGAIN: MOV DPTR,#TABLE ;共陰極數(shù)碼管代碼表首址送 </p><p>  MOVCA, @A+DPTR; 取出顯示"0"的代碼送P口顯示</p&g

71、t;<p>  MOV P1, A</p><p>  LOOP1: MOVA,P3 ;接收P3口的搶答信號(hào)。</p><p>  CPL A ;搶答信號(hào)求反</p><p>  JZ LOOP1 ;如果沒(méi)有搶答信號(hào)</p><p><b

72、>  LOOP1</b></p><p>  LOOP2: RRC A;有搶答信號(hào)則逐次移動(dòng)判斷是那一位搶答</p><p>  INC R4 ;每移一次位,R4位標(biāo)志值加1</p><p>  JNC LOOP2 ;如果沒(méi)有遇到搶答信號(hào)返回LOOP1繼續(xù)移位</p><p>  MOV A,R

73、4 ;遇到搶答信號(hào)把R4位標(biāo)志的只送AMOVCA,@A+DPTR ;找到相應(yīng)位的顯示代碼</p><p>  MOVP1,A;送P1口顯示</p><p>  LOOP3: JNB P2.2, BEGIN;若主持人按了復(fù)位信號(hào)健則轉(zhuǎn)向程序復(fù)位</p><p>  CPL P2.0 ;若沒(méi)按復(fù)位信號(hào)鍵

74、,則通過(guò)P2.2給出高低信號(hào)驅(qū)動(dòng)蜂鳴器</p><p>  LCALLDELAY ;調(diào)用延時(shí)程序</p><p>  SJMP LOOP3 ;P2.2口反復(fù)間隔0.4秒變化,驅(qū)動(dòng)蜂鳴器 </p><p><b>  END</b></p><p><b>  附

75、錄2 元件清單</b></p><p><b>  附錄3 仿真圖</b></p><p>  附錄4 實(shí)物照片展示</p><p><b>  致謝</b></p><p>  本設(shè)計(jì)是在##老師的悉心指導(dǎo)下完成的,老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的工作作風(fēng),平易近人的性格都是我學(xué)習(xí)的楷

76、模,感謝老師的指導(dǎo)讓我很好的完成了我的作品以及論文。 </p><p>  雖然畢業(yè)設(shè)計(jì)內(nèi)容繁多,過(guò)程繁瑣,但我的收獲卻更加豐富。通過(guò)老師的悉心指導(dǎo)和其他老師的指導(dǎo)及其與同學(xué)們?cè)谥谱髯髌窌r(shí)的交流,我了解到到了單片機(jī)最小系統(tǒng)的作用和設(shè)計(jì)方法,相關(guān)設(shè)備的選用標(biāo)準(zhǔn),以及各種容易忽略的細(xì)節(jié),我的能力得到了提高。雖然提高是有限的,但這次提高也是全面的,正是這一次設(shè)計(jì)讓我積累了大量的實(shí)際經(jīng)驗(yàn),使我的頭腦更好的被知識(shí)武裝了起來(lái)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論