2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(jì)開題報(bào)告書</b></p><p>  設(shè)計(jì)題目: 基于單片機(jī)搶答器設(shè)計(jì) </p><p>  系別: 自動(dòng)化系 專業(yè): 機(jī)電一體化 </p><p>  學(xué)生姓名: 班級(jí): 07機(jī)電52 </p><p>  指導(dǎo)教

2、師: </p><p><b>  摘要</b></p><p>  隨著電子技術(shù)的飛速發(fā)展,基于單片機(jī)的控制系統(tǒng)已廣泛應(yīng)用與工業(yè)、農(nóng)業(yè)、電力、智能樓宇等行業(yè),微型計(jì)算機(jī)作為嵌入式控制系統(tǒng)的主題與核心,代替了傳統(tǒng)的控制系統(tǒng)的常規(guī)電子線路。同時(shí)樓宇智能化的發(fā)展與成熟,也為單片機(jī)的照明控制系統(tǒng)的普及與應(yīng)用奠定了堅(jiān)實(shí)的

3、基礎(chǔ)。本設(shè)計(jì)主要介紹了用單片機(jī)實(shí)現(xiàn)的智能搶答器的硬件結(jié)構(gòu)和設(shè)計(jì)方法,系統(tǒng)介紹了它的硬件構(gòu)成和軟件工作過程,系統(tǒng)以AT89C51為核心,主要采用中斷控制系統(tǒng),結(jié)合單片機(jī)的知識(shí),實(shí)現(xiàn)系統(tǒng)的功能要求,設(shè)計(jì)過程中很好的將軟件與硬件相結(jié)合,達(dá)到了產(chǎn)品設(shè)計(jì)的基本要求。</p><p>  關(guān)鍵詞:單片機(jī) 微型計(jì)算機(jī) 軟件 智能 AT89C51 搶答器</p><p><b>  目 錄&

4、lt;/b></p><p>  第一節(jié) 前 言3</p><p>  1.1 智能搶答器的介紹4</p><p>  1.2 本設(shè)計(jì)任務(wù)4</p><p>  第二節(jié) 單片機(jī)簡介4</p><p>  2.1 80C51的主要性能:5</p><p>  2.2 信號(hào)引

5、腳介紹:6</p><p>  2.3 信號(hào)引腳的第二功能6</p><p>  2.4 引腳的第一、第二功能會(huì)不會(huì)混淆7</p><p>  第三節(jié) 設(shè)計(jì)方案比較8</p><p>  3.1 原始方案8</p><p>  3.2 最終方案10</p><p>  第四節(jié) 硬

6、件設(shè)計(jì)介紹10</p><p>  4.1、74LS47譯碼器10</p><p>  4.2、LM35811</p><p>  4.3 硬件部分工作原理12</p><p>  4.4、倒計(jì)時(shí)的處理14</p><p>  第五節(jié) 軟件設(shè)計(jì)14</p><p>  5.1、

7、主程序流程圖:14</p><p>  5.2 INT0中斷服務(wù)程序框圖:15</p><p>  5.3 中斷16</p><p><b>  結(jié)論21</b></p><p><b>  參考文獻(xiàn)25</b></p><p>  單片機(jī)控制的智能搶答器設(shè)計(jì)&

8、lt;/p><p><b>  第一節(jié) 前 言</b></p><p>  隨著我國經(jīng)濟(jì)和文化事業(yè)的發(fā)展,在很多公開競爭場合要求有公正的競爭裁決,諸如證券、股票交易及各種智力競賽等,因此出現(xiàn)了搶答器。搶答器一般是由很多電路組成的,線路復(fù)雜,可靠性不高,功能也比較簡單,特別是當(dāng)搶答路數(shù)很多時(shí),實(shí)現(xiàn)起來就更為困難。因此我們?cè)O(shè)計(jì)了以單片機(jī)為核心的新型智能的搶答器,在保留了原始

9、搶答器的基本功能的同時(shí)又增加一系列的實(shí)用功能并簡化其電路結(jié)構(gòu)。搶答器又稱為第一信號(hào)鑒別器,其主要應(yīng)用于各種知識(shí)競賽、文藝活動(dòng)等場合。傳統(tǒng)普通搶答器主要存在以下缺陷:</p><p>  (一)、在一次搶答過程中,當(dāng)出現(xiàn)超前違規(guī)搶答時(shí),只能處理違規(guī)搶答信號(hào),而對(duì)沒有違規(guī)的有效搶答信號(hào)不能進(jìn)行處理,因而使該次搶答過程變?yōu)闊o效。</p><p> ?。ǘ?、當(dāng)有多個(gè)違規(guī)搶答時(shí),普通搶答器或采用優(yōu)

10、先編碼電路選擇其中一個(gè),或利用搶答電路電子元件的“競爭”選擇其中一個(gè)。對(duì)于后者由于搶答電路制作完畢后電子元件被固定。各路搶答信號(hào)的“競爭”能力也被固定,因而本質(zhì)上也有優(yōu)先權(quán)。普通搶答器存在不公平性。</p><p>  (三)、當(dāng)有多個(gè)違規(guī)搶答時(shí),普通搶答器只能“抓住”其中一個(gè)而出現(xiàn)“漏洞”。</p><p>  1.1 智能搶答器的介紹</p><p>  這是一

11、種單片機(jī)控制的智能化搶答器,該搶答器可以克服普通搶答器存在的各種缺陷。詳細(xì)介紹了其硬件結(jié)構(gòu)和設(shè)計(jì)方法。本系統(tǒng)的功能是通過按下?lián)尨疰I的按鈕使單片機(jī)的相應(yīng)的口線讀入信號(hào),經(jīng)過處理后輸出致7447顯示所按下的鍵號(hào)。本系統(tǒng)還具備了用概率的方法篩選第一有效搶答信號(hào)、顯示超前違規(guī)搶答信號(hào)、以及可變的提示搶答的倒計(jì)時(shí)信號(hào)和按鍵自檢等功能。其中簡述了單片機(jī)的特點(diǎn)和7447芯片的使用;概述中斷系統(tǒng)的控制功能,并詳細(xì)介紹了本系統(tǒng)軟件的程序設(shè)計(jì)和步驟。<

12、;/p><p><b>  1.2 本設(shè)計(jì)任務(wù)</b></p><p>  任務(wù):以單片機(jī)為控制核心的智能型搶答器。它對(duì)采樣獲得的各種搶答信號(hào)進(jìn)行分析,識(shí)別超前違規(guī)信號(hào)。并對(duì)它們進(jìn)行處理,使每一次搶答過程都有效。利用存儲(chǔ)器記憶多個(gè)違規(guī)信號(hào),克服“漏洞”現(xiàn)象。當(dāng)同時(shí)出現(xiàn)多個(gè)搶答信號(hào)時(shí),利用程序軟件隨機(jī)選擇其中一個(gè)十分公平并具有倒計(jì)時(shí)功能、驗(yàn)鍵、違規(guī)顯示等功能。</p&

13、gt;<p>  第二節(jié) 單片機(jī)簡介</p><p>  電子計(jì)算機(jī)的發(fā)展經(jīng)歷了從電子管、晶體管、集成電路到大規(guī)模集成電路共四個(gè)階段,即通常所說的第一代、第二代、第三代和第四代計(jì)算機(jī)?,F(xiàn)在廣泛使用的微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,因此它屬于第四代計(jì)算機(jī),而單片機(jī)則是微型計(jì)算機(jī)的一個(gè)分支。從1971年微型計(jì)算機(jī)問世以來,由于實(shí)際應(yīng)用的需要,微型計(jì)算機(jī)向著兩個(gè)不同的方向發(fā)展:一個(gè)是向著高速度

14、、大容量、高性能的高檔微機(jī)方向發(fā)展;而另一個(gè)則是向穩(wěn)定可靠、體積小和價(jià)格廉的單片機(jī)方向發(fā)展。但兩者在原理和技術(shù)上是緊密聯(lián)系的。單片機(jī)因?qū)⑵渲饕M成部分集成在一個(gè)芯片上而得名,具體說就是把中央處理器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器以及I/O口電路等主要微型機(jī)部件,集成在一塊芯片上。雖然單片機(jī)只是一塊芯片,但從功能和組成上,它已具有了計(jì)算機(jī)的屬性,為此它稱為單片微型機(jī)。</p><p>  單片機(jī)有

15、很多的特點(diǎn),主要表現(xiàn)在:體積小、功耗低、價(jià)格廉、控制功能強(qiáng)、應(yīng)用現(xiàn)場環(huán)境惡劣等等。</p><p>  本設(shè)計(jì)核心采用了AT89C51單片機(jī)。80C51單片機(jī)系列是在MCS—51系列的基礎(chǔ)上發(fā)展起來的,早期的80C51只是系列眾多芯片中的一類,但是隨著后來的發(fā)展,80C51已經(jīng)形成獨(dú)立的系列,并且成為當(dāng)前8位單片機(jī)的典型代表。80C51的芯片信號(hào)引腳和邏輯符號(hào)如圖2—1。</p><p>

16、  80C51芯片為40引腳雙列直插封裝,單一的+5V電源,其引腳排列和邏輯結(jié)構(gòu)如圖2—1,它具有4個(gè)8位并行I/O口,以實(shí)現(xiàn)數(shù)據(jù)的并行輸入/輸出。此外還有256單元的RAM和2個(gè)16位計(jì)數(shù)結(jié)構(gòu)的定時(shí)器/計(jì)數(shù)器。</p><p>  2.1 80C51的主要性能:</p><p>  1、8位微處理器和控制器</p><p>  2、內(nèi)含一個(gè)一位布爾運(yùn)算處理器,可

17、直接對(duì)數(shù)據(jù)的位進(jìn)行操作和運(yùn)算,特別適用于邏輯控制。</p><p>  3、內(nèi)部含有4KB的程序ROM。</p><p>  4、2個(gè)16位的計(jì)數(shù)/定時(shí)器。</p><p><b>  5、內(nèi)部時(shí)鐘振蕩器</b></p><p>  6、全雙工方式的串行接口(UART)</p><p>  7、兩

18、極中斷優(yōu)先權(quán)的6個(gè)中斷源/5個(gè)中斷矢量的中斷邏輯。</p><p>  8、哈佛結(jié)構(gòu)的存儲(chǔ)器組織,支持高達(dá)64K為單周期指令,支持六種尋址方式。</p><p>  9、最高時(shí)鐘振蕩頻率可達(dá)12MHZ,大部分指令執(zhí)行時(shí)間為1µs,乘、除指令為4µs。</p><p>  2.2 信號(hào)引腳介紹:</p><p><b

19、>  1、輸入/輸出口線</b></p><p>  ~ 口8位雙向口線</p><p>  ~ 口8位雙向口線</p><p>  ~ 口8位雙向口線</p><p>  ~ 口8位雙向口線</p><p>  2、ALE 地址鎖存控制信號(hào)</p><p>  

20、在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把口輸出的底8位地址送入鎖存器鎖存起來,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。此外由于ALE是以六分之一晶振頻率的固定頻率輸出的正脈沖,因此可作為外部時(shí)鐘或外部定時(shí)脈沖使用。</p><p>  3、外部程序存儲(chǔ)器讀選通信號(hào)</p><p>  在讀外部ROM時(shí)有效(低電平),以實(shí)現(xiàn)外部ROM單元的讀操作。</p><p>  4、訪問程序存儲(chǔ)

21、器控制信號(hào)</p><p>  當(dāng)信號(hào)為低電平時(shí),對(duì)ROM的讀操作限定在外部程序存儲(chǔ)器;而當(dāng)信號(hào)為高電平時(shí),則對(duì)ROM的讀操作是從內(nèi)部程序存儲(chǔ)器開始,并可延續(xù)至外部程序存儲(chǔ)器。</p><p>  5、RST 復(fù)位信號(hào)</p><p>  當(dāng)輸入的復(fù)位信號(hào)延續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位操作。</p><p>  6

22、、XTAL1和XTAL2外接晶體引線端</p><p>  當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。</p><p><b>  7、VSS地線</b></p><p>  8、VCC+5V 電源</p><p>  2.3 信號(hào)引腳的第二功能</p&g

23、t;<p>  由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限的,例如MCS—51系列芯片引腳數(shù)目40條,但單片機(jī)為實(shí)現(xiàn)其功能所需要的信號(hào)數(shù)目卻遠(yuǎn)遠(yuǎn)超過此數(shù),因此就出現(xiàn)了供需矛盾,所以只能“復(fù)用”,即給一些信號(hào)引腳賦予雙重功能。</p><p>  1、常見的第二功能信號(hào)</p><p> ?。?)、口線的第二功能信號(hào)</p><p>  的8條口線都定

24、義有第二功能,詳見下表2—1</p><p>  表2—1口線的第二功能</p><p>  (2)、EPROM存儲(chǔ)器程序固化所需要的信號(hào)</p><p>  有內(nèi)部EPROM的單片機(jī)芯片(例如87C51),為寫入程序需提供專門的編程脈沖和編程電源,它們也是由信號(hào)引腳以第二功能的形式提供的,即:</p><p>  編程脈沖: 30腳(AL

25、E/PROG)</p><p>  編程電壓(25V):31腳(/ )</p><p> ?。?)、備用電源引入</p><p>  MCS—51單片機(jī)的備用電源也是以信號(hào)引腳第二功能的方式由9腳(RST/VPD)引入的。當(dāng)電源發(fā)生故障,電壓降低到下限值時(shí),備用電源經(jīng)此端向內(nèi)部RAM提供電壓,以保護(hù)內(nèi)部RAM中的信息不丟失。</p><p>

26、  2.4 引腳的第一、第二功能會(huì)不會(huì)混淆</p><p> ?。?)、對(duì)于各種型號(hào)的芯片,其引腳的第一功能信號(hào)是相同的,所不同的只在引用的第二功能信號(hào)上。 </p><p> ?。?)、對(duì)于9、30和31各引腳,由于第一功能信號(hào)與第二功能信號(hào)是單片機(jī)在不同工作方式下的信號(hào),因此不會(huì)發(fā)生使用上的矛盾。 </p><p> ?。?)、口線的第二功能信號(hào)都是單片機(jī)的重要

27、控制信號(hào)。因此在實(shí)際使用時(shí),總是先按需要優(yōu)先選用它的第二功能,剩下不用的才作為口線使用。引腳表現(xiàn)出的是單片機(jī)的外特性或硬件特性,在硬件方面用戶只能使用引腳,即通過引腳組建系統(tǒng)。因此熟悉引腳是單片機(jī)硬件學(xué)習(xí)的重要內(nèi)容。見圖2—1 </p><p>  1圖2—1 8051單片機(jī)芯片引腳圖</p><p>  第三節(jié) 設(shè)計(jì)方案比較</p><p><b> 

28、 3.1 原始方案</b></p><p>  其工作原理為主邏輯電路的工作原理介紹如下:參看圖3—1。IC1為CD4532八輸入優(yōu)先權(quán)編碼器,IC2為CD4042四D鎖存器,IC3為CD4511七段譯碼驅(qū)動(dòng)器,IC4為CD4514二一十六線譯碼器。其作用是將八路按鍵的輸入轉(zhuǎn)化成三位二進(jìn)制編碼,同時(shí)由GS端指示編碼的有效性。沒有鍵按下時(shí)GS為低電平、輸出無效的000,反之GS高電平、此時(shí)的代碼有效,

29、如果為000則是0號(hào)鍵的代碼。之所以采用優(yōu)先權(quán)編碼器,是考慮如果有多個(gè)鍵真正的同時(shí)按下(時(shí)間上的差別微小到電路無法區(qū)分)時(shí),穩(wěn)定輸出這幾個(gè)鍵中優(yōu)先權(quán)最高的鍵的代碼。電路的關(guān)鍵之處是對(duì)IC2四D鎖存器的巧妙利用,其CP端與Q0相連。由其功能表可知,無任何鍵按下時(shí),IC1的GS端為0,故IC2的CP端為1,IC3的BI端為0,IC4的INH端為1,由于IC2的M模式控制端為1,而且各鎖存器的輸出跟隨對(duì)應(yīng)輸入的變化,Q1—Q3為無效的000,

30、IC2處于一個(gè)穩(wěn)態(tài);此時(shí)IC3處于消隱狀態(tài),數(shù)碼管無任何顯示,IC4處于輸出禁止?fàn)顟B(tài),L0—L7也全滅。當(dāng)AN0-AN7中有任何一個(gè)鍵按下時(shí),IC1輸出有效數(shù)據(jù)的同時(shí)其GS端變?yōu)?,該組數(shù)據(jù)(包括GS)到達(dá)</p><p>  圖3—1 第一方案電路圖</p><p><b>  3.2 最終方案</b></p><p>  相較第一方案而言此

31、方案(如圖3—2)采單片機(jī)為控制核心大大簡化了系統(tǒng)電路結(jié)構(gòu),把各種處理的功能整合在了單片機(jī)內(nèi)部。此設(shè)計(jì)方案把軟件的設(shè)計(jì)作為設(shè)計(jì)重點(diǎn),在原始的單一功能上添加了倒計(jì)時(shí)搶答、糾正同時(shí)按鍵問題等新穎的附屬功能。并保留了傳統(tǒng)的光亮報(bào)警部分。</p><p>  圖3—2 最終方案電路圖</p><p>  第四節(jié) 硬件設(shè)計(jì)介紹</p><p>  4.1、74LS47譯碼器&

32、lt;/p><p>  圖3—3 7447引腳圖</p><p>  7447為4-7線譯碼驅(qū)動(dòng)器,使其與數(shù)碼管各個(gè)管腳相連接顯示數(shù)字,如:輸出1001置7447則數(shù)碼管則顯示9, 其具體設(shè)定詳見圖3—3和表3—1。具體連接時(shí)使其使能端全部接電源。</p><p>  表3—1 7447真值表</p><p><b>  4.2、L

33、M358</b></p><p>  圖3—4 LM358管腳圖</p><p>  LM358為一電流放大元件,在此電路中用于為聲音報(bào)警提供所需電流。其管腳如圖3—4所示</p><p>  4.3 硬件部分工作原理</p><p>  本設(shè)計(jì)采用AT89C51單片機(jī)作為控制核心。AN0~AN7為8個(gè) 搶答鍵。P0.0~P0.

34、7為8路搶答信號(hào)輸入端。當(dāng)有搶答鍵按下時(shí),對(duì)應(yīng)輸入端為低電平“0”反之為高電平“1”。AN8為搶答啟動(dòng)鍵。在搶答開始時(shí),按動(dòng)一下AN8鍵,向單片機(jī)申請(qǐng)一次INTO中斷單片機(jī)在中斷服務(wù)程序中對(duì)搶答信號(hào)進(jìn)行采樣和識(shí)別處理。</p><p>  采用二位LED共陽數(shù)碼管以動(dòng)態(tài)掃描方式對(duì)搶答鍵號(hào)、違規(guī)搶答鍵號(hào)、倒計(jì)時(shí)時(shí)間等信息進(jìn)行顯示,倒計(jì)時(shí)時(shí)間由選擇開關(guān)K2進(jìn)行選擇。本設(shè)計(jì)共有4個(gè)時(shí)間檔供選擇(15S、30S、60S、

35、99S)AN10為違規(guī)顯示器。按動(dòng)AN10鍵,可對(duì)一次搶答過程中出現(xiàn)的所有超前違規(guī)搶答的鍵號(hào)進(jìn)行顯示。K為驗(yàn)鍵功能選擇開關(guān),當(dāng)需要驗(yàn)鍵時(shí),將K閉合,可檢驗(yàn)各搶答鍵能否正常工作,驗(yàn)鍵完畢將K打開。LED1為違規(guī)指示燈。當(dāng)一次搶答過程存在違規(guī)搶答信號(hào)時(shí),LED1發(fā)出多個(gè)第一有效搶答信號(hào)的處理。</p><p>  1、第一有效搶答信號(hào)的處理</p><p>  在搶答過程中往往會(huì)出現(xiàn)多個(gè)搶答鍵

36、同時(shí)按下,或者時(shí)間差非常短。單片機(jī)無法識(shí)別它們之間的時(shí)間差,此時(shí)R2中會(huì)出現(xiàn)多個(gè)為1的位,既出現(xiàn)多個(gè)第一有效搶答信號(hào)。但每次搶答過程只能輸出顯示一個(gè)第一有效搶答信號(hào),公正處理這個(gè)問題的方法是隨機(jī)地挑選其中的一個(gè)。本設(shè)計(jì)采用一種隨機(jī)定位查找方法:將R2中各位的查找順序排成一個(gè)環(huán),如圖3—5然后找一個(gè)隨機(jī)數(shù)x從第x位開始按上述查找順序環(huán)規(guī)定查找順序找R2中為1的位。</p><p>  圖3—5 隨機(jī)查找示意圖&l

37、t;/p><p>  第一個(gè)被找到為1的位其對(duì)應(yīng)的搶答信號(hào)作為被選擇的第一有效搶答信號(hào)。本設(shè)計(jì)搶答鍵的權(quán)目為8個(gè)隨機(jī)權(quán)數(shù)可選擇為0~7。</p><p>  例如:假設(shè)x=3,R2=01010001B即出現(xiàn)三個(gè)第一有效搶答信號(hào)。(對(duì)應(yīng)AN6.AN4.AN0三個(gè)鍵)根據(jù)上述方法,則從D3位開始查找第一個(gè)找到為1的位是D4因而搶答鍵AN4被選中。</p><p>  2、違

38、規(guī)搶答信號(hào)的記錄</p><p>  搶答開始按動(dòng)AN8鍵單片機(jī)開始INT0中斷服務(wù)程序,先采樣P0口并將采樣值送入工作寄存器R0使LED顯示“AA”字形提示開始,顯然R0中寄存了搶答開始前最后一瞬間各路搶答輸入信號(hào)。若無違規(guī)搶答,R0值為FFH;若有違規(guī)搶答,R0值不為FFH。R0中為0的位對(duì)應(yīng)的搶答鍵屬違規(guī)。若R0=10111110B表示AN0和AN6二路搶答鍵違規(guī)出現(xiàn)R0時(shí)表示八路搶答器全部違規(guī),LED顯示

39、“UU”延時(shí)5s后返回主程序需重新?lián)尨稹?lt;/p><p>  所謂“有效搶答信號(hào)”是指從LED顯示“HH”字形提示搶答開始之后的搶答信號(hào),在搶答提示之前的搶答信號(hào)屬于“違規(guī)信號(hào)”。最先到達(dá)的有效搶答信號(hào)稱為“第一有效信號(hào)”。</p><p>  3、第一有效搶答信號(hào)的處理</p><p>  搶答提示之后,單片機(jī)再采樣P0口,用于檢測(cè)搶答信號(hào),將采樣值送入工作寄存器

40、R1。若采樣值為FFH表示還沒有搶答,繼續(xù)采樣P0口。若R1值不為FFH表示有人按下?lián)尨疰I。</p><p>  但還應(yīng)判斷是否由違規(guī)搶答所導(dǎo)致,這只需將R1值與R0值進(jìn)行比較。若R1和R0值相同表示是由違規(guī)搶答所導(dǎo)致,則繼續(xù)采樣P0口。若R1和R0值不同,則表示存在有效搶答,不再采樣P0口。此時(shí)R1中含有第一有效搶答信號(hào)。為了提取R1中第一有效搶答信號(hào),拋棄其中的違規(guī)搶答信號(hào),可進(jìn)行如下處理:將R0與R1相“異

41、或”再與R0相“與”,并將運(yùn)算送工作寄存器R2即(R0⊕R1)·R0置R2。</p><p>  經(jīng)上述邏輯運(yùn)算可知,若搶答鍵產(chǎn)生第一有效搶答信號(hào),則R2中第i位為1(R2i=1)若R2值為0則表示沒有效搶答信號(hào),此表為搶答過程中可能出現(xiàn)的4種搶答信號(hào)處理過程。其具體數(shù)值詳見表3—2</p><p>  表3—2 搶答信號(hào)處理過程表</p><p>  

42、4.4、倒計(jì)時(shí)的處理</p><p>  本設(shè)計(jì)有多個(gè)時(shí)間檔可選擇,用于留出搶答選手對(duì)搶答的反應(yīng)。原設(shè)計(jì)方案有多檔位可以選擇,但實(shí)際應(yīng)用中我只做了99秒的倒計(jì)時(shí)顯示用以達(dá)到顯示的效果,若要修改計(jì)時(shí)的檔位只需要修改軟件地址預(yù)設(shè)的數(shù)值即可。倒計(jì)時(shí)還為違規(guī)搶答的顯示留出時(shí)間檔,以記錄和顯示違規(guī)操作的鍵號(hào)。 </p><p>  第五節(jié) 軟件設(shè)計(jì)</p><p>  系

43、統(tǒng)軟件由主程序和INT0中斷服務(wù)組成。主程序由驗(yàn)鍵,違規(guī)顯示,倒計(jì)時(shí)等功能子程序組成,系統(tǒng)完成初始化后循環(huán)檢查各個(gè)功能當(dāng)用戶使用某個(gè)功能時(shí),按下相應(yīng)的按鈕(或開關(guān))單片機(jī)進(jìn)入相應(yīng)的功能處理。INT0中斷服務(wù)程序完成搶答信號(hào)采樣和識(shí)別處理。</p><p>  5.1、主程序流程圖:</p><p>  圖4-1 主程序流程圖</p><p>  5.2 INT0中

44、斷服務(wù)程序框圖:</p><p>  圖4—2中斷服務(wù)程序框圖</p><p><b>  5.3 中斷</b></p><p>  本設(shè)計(jì)以中斷為基礎(chǔ)因此這里對(duì)中斷進(jìn)行詳細(xì)的說明。這是由于中斷是一項(xiàng)重要的計(jì)算機(jī)技術(shù),這一門技術(shù)在單片機(jī)中得到了充分繼承。</p><p>  中斷是工業(yè)過程控制及智能化儀器用微型機(jī)或單片

45、機(jī)應(yīng)用最多的一種數(shù)據(jù)傳送方式。在通常情況下,單片機(jī)執(zhí)行主程序,只有當(dāng)正常狀態(tài)出現(xiàn)故障,或發(fā)出中斷請(qǐng)求時(shí),單片機(jī)才暫停執(zhí)行主程序,轉(zhuǎn)去執(zhí)行或處理中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序后,再返回到主程序繼續(xù)運(yùn)行。</p><p>  基于資源共享原理上的中斷技術(shù),在計(jì)算機(jī)中得到了廣泛的應(yīng)用。中斷技術(shù)能實(shí)現(xiàn)CPU與外部設(shè)備的并行工作,提高CPU的利用率以及數(shù)據(jù)的輸入/輸出效率;中斷技術(shù)也能對(duì)計(jì)算機(jī)運(yùn)行過程中突然發(fā)生的故障作到

46、及時(shí)發(fā)現(xiàn)并進(jìn)行自動(dòng)處理如:硬件故障、運(yùn)算錯(cuò)誤及程序故障等;中斷技術(shù)還能使我們通過鍵盤發(fā)出請(qǐng)求,隨時(shí)對(duì)運(yùn)行中的計(jì)算機(jī)進(jìn)行中的計(jì)算機(jī)進(jìn)行干擾,而不用先停機(jī)處理,然后再重新開機(jī)等等。</p><p>  在單片機(jī)中,中斷技術(shù)主要用于實(shí)時(shí)控制。所謂實(shí)時(shí)控制,就是要求計(jì)算機(jī)能及時(shí)地相應(yīng)被控對(duì)象提出的分析、計(jì)算和控制等請(qǐng)求,使被控對(duì)象保持在最佳工作狀態(tài),以到達(dá)預(yù)定的控制效果。由于這些控制參量的請(qǐng)求都是隨機(jī)發(fā)出,而且要求單片機(jī)

47、必須作出快速響應(yīng)并及時(shí)處理,對(duì)此只有靠中斷技術(shù)才能實(shí)現(xiàn)。</p><p>  向CPU發(fā)出中斷請(qǐng)求的來源稱之為中斷源。MCS-51是一個(gè)多中斷源的單片機(jī),以80C51為例有3類共五個(gè)中斷源,分別是外部中斷2個(gè),定時(shí)中斷2個(gè)和串行中斷1個(gè)。</p><p>  在MCS-51單片機(jī)中,控制寄存器共有4個(gè),即定時(shí)器控制寄存器、中斷允許控制寄存器、中斷優(yōu)先控制寄存器及串行口控制寄存器。這4個(gè)控制

48、寄存器都屬于專用寄存器之列。MCS-51的中斷優(yōu)先級(jí)控制比較簡單,因?yàn)橄到y(tǒng)只定義高低2個(gè)優(yōu)先級(jí)。各中斷源的優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器(IP)進(jìn)行設(shè)定。從中斷相應(yīng)到轉(zhuǎn)向執(zhí)行中斷服務(wù)程序,完成中斷所要求的操作任務(wù),是一個(gè)很復(fù)雜的過程。中斷完成后,TCON或SCON中的中斷請(qǐng)求標(biāo)志應(yīng)及時(shí)清除。否則就意味著中斷請(qǐng)求仍然存在,弄不好就會(huì)造成中斷的重復(fù)查詢和相應(yīng),因此就存在一個(gè)中斷請(qǐng)求的撤銷問題。MCS-51是通過只有在一條指令的最后一個(gè)機(jī)器周期的查

49、詢有效才能進(jìn)行中斷相應(yīng)來實(shí)現(xiàn)。它有一種單步工作方式,所謂單步執(zhí)行就是由外來脈沖控制程序的執(zhí)行。而外來脈沖是通過按鍵產(chǎn)生的,因此實(shí)際上單步執(zhí)行就是按一次鍵執(zhí)行一條指令。</p><p><b>  中斷系統(tǒng)的控制</b></p><p>  1、定時(shí)器/計(jì)數(shù)器的控制寄存器</p><p> ?。?)、定時(shí)器控制寄存器(TCON)</p>

50、;<p>  TCON寄存器既參與中斷控制又參與定時(shí)控制?,F(xiàn)對(duì)其定時(shí)功能加以介紹。其中有關(guān)定時(shí)的控制位共有4位:</p><p>  ?F0和TF1—計(jì)數(shù)溢出標(biāo)志位</p><p>  當(dāng)計(jì)數(shù)器計(jì)數(shù)溢出(計(jì)滿)時(shí),該位置“1”;使用查詢方式時(shí),此位作狀態(tài)位供查詢,但應(yīng)注意查詢有效后應(yīng)以軟件方法及時(shí)將該位清“0”;使用中斷方式時(shí),此位作中斷標(biāo)志位,在轉(zhuǎn)向中斷服務(wù)程序時(shí)由硬件自動(dòng)

51、清“0”。</p><p>  ?R0和TR1—定時(shí)器運(yùn)行控制位</p><p>  TRO(TR1)=0 停止定時(shí)器/計(jì)數(shù)器工作</p><p>  TRO(TR1)=1 啟動(dòng)定時(shí)器/計(jì)數(shù)器工作</p><p>  (2)、工作方式控制寄存器(TMOD)</p><p> 

52、 TMOD寄存器是一個(gè)專用寄存器,用于設(shè)定兩個(gè)定時(shí)器/計(jì)數(shù)器的工作方式。但TMOD寄存器不能位尋址,只能用字節(jié)傳送指令設(shè)置其內(nèi)容。各位定義如表4—1:</p><p>  表4—1 TMOD定義表</p><p>  從寄存器的位格式中可以看出,它的低半字節(jié)定義定時(shí)器/計(jì)數(shù)器0,高半字節(jié)定義定時(shí)器/計(jì)數(shù)器1。</p><p><b>  ?ATE——門控位

53、</b></p><p>  GATE=O 以運(yùn)行控制位TR啟動(dòng)定時(shí)器</p><p>  GATE=1 以外中斷請(qǐng)求信號(hào)(或)啟動(dòng)定時(shí)器</p><p>  ?——定時(shí)方式或計(jì)數(shù)方式選擇位 </p><p>  =0 定時(shí)工作方式 </p><p>  =1 計(jì)數(shù)工作

54、方式 </p><p>  ?M1M0——工作方式選擇 </p><p>  M1M0=00 方式0</p><p>  M1M0=01 方式1</p><p>  M1M0=10 方式2</p><p>  M1M0=11 方式3</p><p>  (3

55、)、中斷允許控制寄存器(IE)</p><p>  ?EA——中斷允許總控制位</p><p>  ?ET0和ET1——定時(shí)/計(jì)數(shù)中斷 </p><p>  定時(shí)器/計(jì)數(shù)器提供給用戶使用的有:8位計(jì)數(shù)器TH和TL,以及有關(guān)的控制位。這些內(nèi)容只能以軟件方法使用。中斷源和中斷標(biāo)志位能夠產(chǎn)生中斷申請(qǐng)的部件被稱為中斷源。8051型單片機(jī)提供了五個(gè)中斷源:兩個(gè)外部中斷

56、源和三個(gè)內(nèi)部中斷源。每一個(gè)中斷源都有一個(gè)中斷申請(qǐng)標(biāo)志位,但是串行口占有兩個(gè)中斷標(biāo)志位。一共有六個(gè)中斷標(biāo)志位。表4—2給出了它們各自的名稱。</p><p>  表4—2 中斷的說明表</p><p><b>  2、定時(shí)工作方式0</b></p><p>  (1)、電路邏輯結(jié)構(gòu)</p><p>  方式0是13位計(jì)數(shù)結(jié)

57、構(gòu)的工作方式,其計(jì)數(shù)器由TH0全部8位和TL0的低五位構(gòu)成。TL0的高3位棄之不用。其中OCS是Oscillator(震蕩器)的縮寫。當(dāng)C/=0時(shí),多路開關(guān)接通振蕩脈沖的12分頻輸出,13位計(jì)數(shù)器以此進(jìn)行計(jì)數(shù),這就是所謂定時(shí)器工作方式。當(dāng)C/=1時(shí),多路開關(guān)接通計(jì)數(shù)引腳(T0),外部計(jì)數(shù)脈沖由引腳T0輸入。當(dāng)計(jì)數(shù)脈沖發(fā)生負(fù)跳變時(shí),這就是所謂計(jì)數(shù)工作方式。</p><p>  不管是哪種工作方式,當(dāng)TL0的低五位計(jì)

58、數(shù)溢出時(shí),向TH0進(jìn)位,而全部13位計(jì)數(shù)溢出時(shí),則向計(jì)數(shù)溢出標(biāo)志位TF0進(jìn)位。</p><p>  門控位GATE:當(dāng)GATE=0時(shí),由于GATE信號(hào)封鎖了或門,使用TRO引腳信號(hào)無效。而這時(shí)或門輸出端的高電平狀態(tài)卻打開了與門。因此可以由TRO(TCON)的狀態(tài)來控制計(jì)數(shù)脈沖的接通與斷開。這時(shí)如果TRO=1,TRO則接通模擬開關(guān),使計(jì)數(shù)器進(jìn)行加法計(jì)數(shù),即定時(shí)器/計(jì)數(shù)器0工作。如果TRO=0,則斷開模擬開關(guān),停止計(jì)

59、數(shù),定時(shí)器/計(jì)數(shù)器0不能工作。因此在單片機(jī)的定時(shí)或計(jì)數(shù)應(yīng)用中要注意GATE位的清“0”。</p><p>  當(dāng)GATE=1,同時(shí)又TRO=1時(shí),有關(guān)電路的或門和與門全都打開,計(jì)數(shù)脈沖的接通與斷開由外引腳信號(hào)控制。當(dāng)該信號(hào)為高電平時(shí)計(jì)數(shù)器工作;當(dāng)該信號(hào)為低電平時(shí)計(jì)數(shù)器停止工作。這種情況可用于測(cè)量外信號(hào)的脈沖寬度。</p><p>  (2)、定時(shí)和計(jì)數(shù)應(yīng)用</p><p

60、>  兩個(gè)前提:溢出停止和加法計(jì)數(shù)</p><p><b>  A、定時(shí)工作方式0</b></p><p>  在方式0工作方式下,當(dāng)為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)值的范圍是:</p><p>  1~8192(213)</p><p>  當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間的計(jì)算公式為:</p><p>

61、; ?。?13-計(jì)數(shù)初值)×晶振周期×12</p><p>  或(213-計(jì)數(shù)初值)×機(jī)器周期</p><p>  其時(shí)間單位與晶振周期或機(jī)器周期相同(us).</p><p><b>  B、定時(shí)工作方式1</b></p><p>  方式1是16位計(jì)數(shù)結(jié)構(gòu)的工作方式,計(jì)數(shù)器由TH0全部

62、8位和TL0全部8位構(gòu)成。其邏輯電路和工作情況與方式0完全相同。所不同的只是組成計(jì)數(shù)器的位數(shù)。</p><p>  當(dāng)為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)值的范圍是:</p><p>  1~65536(216)</p><p>  當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間計(jì)算公式為:</p><p> ?。?16-計(jì)數(shù)初值)×晶振周期×12<

63、;/p><p>  或 (216-計(jì)數(shù)初值)×機(jī)器周期</p><p>  其時(shí)間單位與晶振周期或機(jī)器周期相同。</p><p>  在方式0和方式1中,每當(dāng)CPU響應(yīng)中斷后,都應(yīng)該在中斷服務(wù)子程序中對(duì)T0和T1初始化,即軟件重裝初值n。而且必須用兩條指令對(duì)TH0 和TL0(TH1和TL1)分別裝載初值。還應(yīng)該注意到中斷服務(wù)子程序執(zhí)行的時(shí)間可能部分地影響定時(shí)時(shí)

64、間。</p><p> ?。ㄋ模⒕唧w設(shè)計(jì)方法</p><p>  本設(shè)計(jì)主要是以中斷的方法(中斷的概念已在上一節(jié)詳細(xì)的介紹過了)來一步一步的實(shí)現(xiàn)各個(gè)部分的具體功能,以倒計(jì)時(shí)為例:1S等于1000000微妙,而每一計(jì)時(shí)脈沖是1微秒,因此需要輸入1000000個(gè)計(jì)時(shí)脈沖方可達(dá)到1秒的時(shí)間。由于16位計(jì)數(shù)初值為0000H,需要65536個(gè)計(jì)時(shí)脈沖方可發(fā)生溢出?,F(xiàn)在需要1000000個(gè)脈沖,則溢

65、出次數(shù)達(dá)15.258次。</p><p>  1000000=65536*15+16960</p><p>  65536-16960=48576=BDC0H</p><p>  BDH給TH0,C0H給TL0</p><p>  其他部分的軟件的編程方法也諸如此類,圍繞中斷展開,這里就不逐一進(jìn)行介紹了。各個(gè)部分的設(shè)計(jì)方法詳見程序附錄及之前的

66、程序流程圖。</p><p><b>  結(jié)論</b></p><p>  本設(shè)計(jì)報(bào)告主要介紹了用單片機(jī)實(shí)現(xiàn)的搶答器的軟件設(shè)計(jì)方法。系統(tǒng)介紹了該電路的硬件構(gòu)成和軟件工作過程,系統(tǒng)以AT89C51為核心,主要采用中斷控制系統(tǒng),結(jié)合所學(xué)的單片機(jī)的知識(shí),實(shí)現(xiàn)系統(tǒng)的功能要求。設(shè)計(jì)中很好的使軟、硬件相結(jié)合,雖然還存一些問題但產(chǎn)品基本上達(dá)到了設(shè)計(jì)的要求。在設(shè)計(jì)過程中,通過大量的查

67、閱資料,認(rèn)真研究教材,并向指導(dǎo)老師請(qǐng)教很多問題,使自己對(duì)單片機(jī)有了更為深刻的理解,在做軟件時(shí),仔細(xì)的分析硬件電路,畫出程序流程圖,培養(yǎng)了我的耐性和刻苦鉆研的精神。</p><p><b>  程序:</b></p><p><b>  1、主程序</b></p><p><b>  ORG 00H</b&

68、gt;</p><p>  JMP START</p><p><b>  ORG 0BH</b></p><p>  JMP TIMER</p><p>  START:MOV TMOD,#01H</p><p>  MOV TH0,#0BDH</p><p>

69、  MOV TL0,#0C0H</p><p>  MOV IE,#82H</p><p>  MOV 20H,#10</p><p>  MOV 21H,#10</p><p>  MOV R7,#10</p><p><b>  CLR TR0</b></p><

70、;p>  A4: JNB P0.0,B0_0</p><p>  JNB P0.1,B1_1</p><p>  JNB P0.2,B2_2</p><p>  JNB P0.3,B3_3</p><p>  JNB P0.4,B4_4</p><p>  JNB P0.5,B5_5</p>

71、;<p>  JNB P0.6,B6_6</p><p>  JNB P0.7,B7_7</p><p>  B0_0:AJMP B0</p><p>  B1_1:AJMP B1</p><p>  B2_2:AJMP B2</p><p>  B3_3:AJMP B3</p><

72、;p>  B4_4:AJMP B4</p><p>  B5_5:AJMP B5</p><p>  B6_6:AJMP B6</p><p>  B7_7:AJMP B7</p><p>  MOV p2,#10H</p><p>  CALL DELAY</p><p>  ANL

73、P2,#00H</p><p>  MOV P2,#20H</p><p>  CALL DELAY</p><p>  ORL P2,#00H</p><p>  JB P3.0,A4</p><p><b>  SETB TR0</b></p><p>  A1

74、: MOV A,20H</p><p>  MOV DPTR,#TABLE</p><p>  MOVC A,@A+DPTR</p><p>  ADD A,#10H</p><p><b>  MOV P2,A</b></p><p>  CALL DELAY</p>

75、<p>  ANL P2,#00H</p><p>  MOV A,21H</p><p>  MOV DPTR,#TABLE</p><p>  MOVC A,@A+DPTR</p><p>  ADD A,#20H</p><p><b>  MOV P2,A</b><

76、;/p><p>  CALL DELAY</p><p>  ANL P2,#00H</p><p>  MOV A,#01H</p><p>  CJNE A,21H,A1</p><p>  MOV A,#01</p><p>  CJNE A,20H,A1</p><

77、p>  JMP START</p><p>  TIMER:DJNZ R7,A2</p><p>  MOV TH0,#0BDH</p><p>  MOV TL0,#0C0H</p><p>  MOV R7,#16</p><p>  DJNZ 20H,A2</p><p>  

78、MOV 20H,#10</p><p>  DJNZ 21H,A2</p><p>  MOV 21H,#10</p><p>  A2: RETI</p><p>  B0:MOV P2,#11H</p><p>  ACALL DELAY</p><p><b>  AJM

79、P A4</b></p><p>  B1:MOV P2,#12H</p><p>  ACALL DELAY</p><p><b>  AJMP A4</b></p><p>  B2:MOV P2,#13H</p><p>  ACALL DELAY</p><

80、;p><b>  AJMP A4</b></p><p>  B3:MOV P2,#14H</p><p>  ACALL DELAY</p><p><b>  AJMP A4</b></p><p>  B4:MOV P2,#15H</p><p>  LCALL

81、DELAY</p><p><b>  LJMP A4</b></p><p>  B5:MOV P2,#16H</p><p>  ACALL DELAY</p><p><b>  AJMP A4</b></p><p>  B6:MOVX P2,#17H</p&g

82、t;<p>  LCALL DELAY</p><p><b>  LJMP A4</b></p><p>  B7:MOV P2,#18H</p><p>  ACALL DELAY</p><p>  ALJMP A4 <

83、;/p><p>  DELAY:MOV R6,#248</p><p><b>  DJNZ R6,$</b></p><p><b>  RET</b></p><p>  TABLE:DB 00H,00H,01H,02H,03H,04H</p><p>  DB 05H,0

84、6H,07H,08H,09H</p><p><b>  END</b></p><p>  總結(jié)  經(jīng)過近幾周的努力,在老師和同學(xué)的商討和幫助下,我較好的完成了設(shè)計(jì)任務(wù),通過此次課程設(shè)計(jì),我重新認(rèn)識(shí)到了自學(xué)的重要性,以及學(xué)以致用的道理。我在圖書館查閱了大量的資料,同時(shí)也認(rèn)識(shí)到了圖書館的重要作用。通過此次的搶答器的設(shè)計(jì),讓我重新拾起了以前所學(xué)習(xí)的電子知識(shí),及我覺得此

85、次設(shè)計(jì)讓我更加鞏固了所學(xué)的知識(shí)并在設(shè)計(jì)的過程中學(xué)會(huì)了與時(shí)俱進(jìn),克服了編程的枯燥感,讓我受益匪淺。由于知識(shí)水平的局限,設(shè)計(jì)中可能會(huì)存在著一些不足,我真誠的接受老師和同學(xué)的批評(píng)和指正。</p><p><b>  參考文獻(xiàn)</b></p><p>  周航慈編. 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)(修訂版)[M]. 2002</p><p>  徐愛卿編.單

86、片微型計(jì)算機(jī)應(yīng)用和開發(fā)系統(tǒng)[M]1998.</p><p> ?。?] 戴梅芳編.微型計(jì)算機(jī)技術(shù)及應(yīng)用[M].,1996.</p><p> ?。?] 李廣弟,朱月秀,王秀山編.單片機(jī)基礎(chǔ)[M]2001.</p><p> ?。?] 吳金戌. 8051單片機(jī)實(shí)踐與應(yīng)用[M]. 2003年</p><p> ?。?] 李朝青. PC機(jī)及單片機(jī)數(shù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論