版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢 業(yè) 設(shè) 計(jì) </p><p><b> 設(shè)計(jì)題目:</b></p><p><b> 單片機(jī)籃球計(jì)分器</b></p><p><b> 設(shè)計(jì)要求:</b></p><p> 1.本次設(shè)計(jì)的籃球計(jì)時(shí)計(jì)分器,電路簡(jiǎn)單,而且易懂,使操作使用
2、者使用非常方便,成本較低,靈敏可靠,記錄準(zhǔn)確,程序簡(jiǎn)單,具有非常高的實(shí)用價(jià)值。</p><p> 2.比賽時(shí)加減分,加分按鍵有1分、2分、三分。在加錯(cuò)的情況下要求可以減分,按鍵一次減1分。</p><p> 3.設(shè)計(jì)內(nèi)容包括計(jì)分器、,可以使參加比賽的成員、裁判和觀眾一目了然的看到所有參加者的成績(jī),以最快的速度評(píng)出結(jié)果,該籃球計(jì)時(shí)計(jì)分還鞥廣泛應(yīng)用于各類只是競(jìng)賽。</p>&
3、lt;p><b> 設(shè)計(jì)進(jìn)度要求:</b></p><p> 第一周:選定論文題目</p><p> 第二周:查找相關(guān)資料</p><p><b> 第三周:整理資料</b></p><p> 第四周:掌握單片機(jī)硬件、軟件的組成和應(yīng)用</p><p> 第五
4、周:完成論文,編程調(diào)試</p><p> 第六周:經(jīng)老師檢查后進(jìn)行修改畢業(yè)論文</p><p> 第七周:打印論文,完成畢業(yè)論文</p><p><b> 第八周:答辯</b></p><p><b> 目錄</b></p><p><b> 1概述3&
5、lt;/b></p><p><b> 2系統(tǒng)設(shè)計(jì)方案4</b></p><p> 2.1基本功能介紹4</p><p> 2.2系統(tǒng)構(gòu)成框圖5</p><p><b> 3系統(tǒng)硬件設(shè)計(jì)5</b></p><p> 3.1 AT89C51簡(jiǎn)介5<
6、;/p><p> 3.2 單片機(jī)的工作條件9</p><p> 3.2.1 時(shí)鐘電路10</p><p> 3.2.2 復(fù)位電路12</p><p><b> 4軟件設(shè)計(jì)13</b></p><p> 4.1軟件的設(shè)計(jì)13</p><p> 4.2總的程序
7、設(shè)計(jì)代碼17</p><p><b> 致 謝19</b></p><p><b> 參考文獻(xiàn)20</b></p><p><b> 總結(jié)21</b></p><p> 附錄1 硬件原理圖22</p><p><b> 1
8、概述</b></p><p> 單片機(jī)把我們帶入了智能化的電子領(lǐng)域,許多繁瑣的系統(tǒng)若由單片機(jī)進(jìn)行設(shè)計(jì),便能收到電路更簡(jiǎn)單、功能更齊全的良好效果。若把更經(jīng)典的點(diǎn)子系統(tǒng)當(dāng)作一個(gè)僵死的點(diǎn)子系統(tǒng),那么智能化的現(xiàn)代電子系統(tǒng)則是一個(gè)具有"生命"的電子系統(tǒng)。而隨著技術(shù)的進(jìn)步,單片機(jī)與串口通信的結(jié)合更多地應(yīng)用到各個(gè)電子系統(tǒng)中已成一種趨勢(shì)。</p><p> 單片機(jī)具有體
9、積笑、功能強(qiáng)、應(yīng)用面廣等優(yōu)點(diǎn),目前正以前所未見的速度取代著傳統(tǒng)電子線路構(gòu)成的經(jīng)典系統(tǒng),蠶食著傳統(tǒng)數(shù)字電路與模擬電路固有的領(lǐng)域。同時(shí),一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的新高潮正在大規(guī)模地興起。</p><p> 但是,單片機(jī)并不像傳統(tǒng)數(shù)字電路或模擬電路那樣直觀,原因是除了“硬件”之外,還存在一個(gè)“軟件”的因素。正是這個(gè)“軟件”因素的存在,使得許多初學(xué)者怎么也弄不懂單片機(jī)的工作過程,怎么也不明白為什么將幾個(gè)數(shù)送來送去,就能控制
10、一盞燈亮/滅,就能控制一個(gè)電機(jī)變速。</p><p> 本設(shè)計(jì)是有一種由AT89C51編程控制LED數(shù)碼管現(xiàn)實(shí)的球賽計(jì)時(shí)計(jì)分系統(tǒng)。本系統(tǒng)具有賽程定時(shí)暫停、甲、已雙方 的比分。它具有價(jià)格低廉、性能穩(wěn)定、操作方便且攜帶等特點(diǎn)、廣泛適合各類學(xué)校和小團(tuán)體作為賽程計(jì)時(shí)計(jì)分。</p><p><b> 2系統(tǒng)設(shè)計(jì)方案</b></p><p><b
11、> 2.1基本功能介紹</b></p><p> 在籃球比賽中,根據(jù)比賽的得分情況(得得1分、2分、3分)分別通過三個(gè)按鍵進(jìn)行加分(加1分、2分、3分),當(dāng)前總分值通過兩個(gè)數(shù)碼管顯示出來。如有錯(cuò)誤(多加分?jǐn)?shù))可通過第4個(gè)按鍵進(jìn)行減分,每按一次按鍵減1分。</p><p><b> 2.2系統(tǒng)構(gòu)成框圖</b></p><p&g
12、t;<b> 圖2.2-1</b></p><p><b> 3系統(tǒng)硬件設(shè)計(jì)</b></p><p> 3.1 AT89C51簡(jiǎn)介</p><p> 51單片機(jī)為單芯片微控制器,常見封裝形式為40腳雙列直插式塑料封裝DIP-40,其引腳識(shí)別為:正面面向用戶,缺口向上,左上面第一腳為1腳,然后按逆時(shí)針方向依次為2~4
13、0腳。通常第一腳有標(biāo)志符號(hào),如圖1-1所示。</p><p> 圖3.1-1單片機(jī)引腳圖</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器
14、的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖所示</p><p><b>
15、; 主要特性:</b></p><p> ·與MCS-51 兼容 </p><p> ·4K字節(jié)可編程閃爍存儲(chǔ)器 </p><p> ·壽命:1000寫/擦循環(huán)</p><p> ·數(shù)據(jù)保留時(shí)間:10年</p><p> ·全靜態(tài)工作:0Hz-2
16、4MHz</p><p> ·三級(jí)程序存儲(chǔ)器鎖定</p><p> ·128×8位內(nèi)部RAM</p><p> ·32可編程I/O線</p><p> ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> ·5個(gè)中斷源 </b>
17、</p><p><b> ·可編程串行通道</b></p><p> ·低功耗的閑置和掉電模式</p><p> ·片內(nèi)振蕩器和時(shí)鐘電路</p><p><b> 管腳說明:</b></p><p><b> VCC:供電電
18、壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P
19、0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收
20、,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p>
21、;<p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p><b> 口管腳 備選功能</
22、b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸入)</p><p&g
23、t; P3.5 T1(記時(shí)器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。<
24、/p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOV
25、C指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不
26、管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p><b> 振蕩器特性:
27、</b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> 3.2 單片機(jī)的工作條件</p>&l
28、t;p> 單片機(jī)是一種微控制器,任何為控制器正常工作最基本的條件是要有正確的電源、時(shí)鐘電路好復(fù)位信號(hào),三者缺一部可。本章節(jié)著重介紹時(shí)鐘電路好復(fù)位電路的結(jié)構(gòu)及外部接線。</p><p> 單片機(jī)正常工作最基本條件是:正確的電源、時(shí)鐘好 復(fù)位信號(hào)。51系列單片機(jī)第40引腳接電源+5V,第20引腳接地。電壓過高或者過低均會(huì)引起單片機(jī)CPU部工作。單片機(jī)指令執(zhí)行時(shí)在時(shí)鐘脈沖控制下進(jìn)行的,時(shí)鐘脈沖信號(hào)是由單片機(jī)內(nèi)
29、部時(shí)鐘電路及18腳、19腳外接晶振和電容組成的時(shí)鐘電路產(chǎn)生的。時(shí)鐘電路異常,也會(huì)引起單片機(jī)CPU部工作,可通過測(cè)量30腳(ALE) 是否有時(shí)鐘脈沖六分頻信號(hào)輸出來判斷振蕩電路是否起振。復(fù)位電路時(shí)在CPU通電后,給復(fù)位端9腳(RST)一個(gè)復(fù)位脈沖,使CPU內(nèi)部處于初始工作狀態(tài)。51系列單片機(jī)是高電平復(fù)位,在正確的復(fù)位后(工作狀態(tài))9腳應(yīng)保持低電平。如果復(fù)位電路出現(xiàn)故障,CPU也將無法工作。由于CPU的復(fù)位電路只有在開機(jī)瞬間產(chǎn)生復(fù)位脈沖,周
30、期一般為幾毫秒,用萬用表無法鑒別正常與否。對(duì)于只有上電復(fù)位的復(fù)位電路,快速判斷CPU是否有故障可以采取強(qiáng)制復(fù)位的方法,將復(fù)位瞬時(shí)接電源正端,如果此時(shí)CPU恢復(fù)工作,說明CPU的復(fù)位電路出現(xiàn)故障。對(duì)于有按鍵復(fù)位的復(fù)位電路,按下復(fù)位鍵,測(cè)量復(fù)位端是否有高電平產(chǎn)生來判斷復(fù)位電路工作是否正常。</p><p> 圖3.2-1單片機(jī)的工作條件電路圖</p><p> 3.2.1 時(shí)鐘電路<
31、/p><p> 要給單片機(jī)CPU時(shí)鐘信號(hào),就需要相關(guān)的硬件電路,即振蕩器好時(shí)鐘電路。51系列單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,這個(gè)反相放大器的作用就是構(gòu)成振蕩器,但是形成時(shí)鐘,外部還需要加一些附加電路。51系列單片機(jī)的時(shí)鐘有兩種方式,一種是內(nèi)部時(shí)鐘方式,這種方式需在18腳和19腳外接石英晶體(或陶瓷諧振器)和電容,晶體或陶瓷諧振器的頻率范圍可在2~24MHz(具體型號(hào)有差別)范圍內(nèi)選取,外接石英晶體,電容的值一般取
32、30pF;外接陶瓷諧振器時(shí),電容的值一般取47pF,如圖1-1所示。另一種是外部時(shí)鐘方式,對(duì)HMOS型單片機(jī)將XTAL1接地,外部時(shí)鐘信號(hào)從XTAL2腳輸入,如圖 1-2所示(注本設(shè)計(jì)電路圖采用Protel軟件繪制,有部分元件符號(hào)與電氣圖符號(hào)的標(biāo)準(zhǔn)不一致);對(duì)CHMOS型單片機(jī)外部時(shí)鐘信號(hào)從XTAL1腳輸入,XTAL2懸空,如圖1-3所示。</p><p> 圖3.2.1-1 內(nèi)部時(shí)鐘接法</p>
33、<p> 圖3.2.1-2 HMOS型單片機(jī)外部時(shí)鐘接法</p><p> 圖3.2.1-3 CHMOS型單片機(jī)外部時(shí)鐘接法</p><p> 3.2.2 復(fù)位電路</p><p> 復(fù)位時(shí)單片機(jī)的初始功能化操作,單片機(jī)啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于以個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。因而復(fù)位是一個(gè)很重要的操
34、作,但51系列單片機(jī)本身一般不能自動(dòng)進(jìn)行復(fù)位,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。當(dāng)51系列單片機(jī)的復(fù)位引腳RST出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式,即上電復(fù)位(見圖1-4)和按鍵復(fù)位(見圖 1-5)。</p><p> 圖3.2.2-1上電位電路</p><p> 圖3.2.2
35、-2 按鍵復(fù)位電路</p><p><b> 4軟件設(shè)計(jì)</b></p><p><b> 4.1軟件的設(shè)計(jì)</b></p><p><b> 程序設(shè)計(jì) </b></p><p><b> 初始化</b></p><p>
36、 用MOV R0, # 0 指令將總寄存器R0清0,用MOV DPTR, #TAP指令將七段碼首地址送DPTR。</p><p><b> 判斷按鍵是否按下</b></p><p> 用MOV A,P0指令將接于P0口的4個(gè)按鍵狀態(tài)讀入,因只用到P0口的低4位,所以用ANL A , #0FH指令屏蔽P0口高4位,取出其低4位。根據(jù)原理圖中4個(gè)按鍵的接線
37、方式可知,當(dāng)某按鍵按下時(shí)其對(duì)應(yīng)位為0,沒有按下時(shí)對(duì)應(yīng)位為1,所以用CENJ A,#0FH, KEY1指令判斷讀入的按鍵是否等于0FH(即4個(gè)按鍵均沒按下,對(duì)應(yīng)位均為1),如相等,說明沒有按鍵按下,程序順序執(zhí)行下一條指令 SJMP START,轉(zhuǎn)到START處繼續(xù)讀取按鍵狀態(tài);如不相等,則程序轉(zhuǎn)到KEY1處執(zhí)行,調(diào)用12ms延時(shí)程序,以消除按鍵抖動(dòng)。</p><p> (3) 判斷是否真正有鍵按下<
38、/p><p> 再次用MOV A,P0指令讀取按鍵狀態(tài),運(yùn)用ANL A ,#0FH 指令讀取P0口低4位,運(yùn)用CJNE A,#0FH ,KEY2指令再次判斷是否有鍵按下,如A等于0FH,則表明該次是由于干擾引起的誤讀鍵操作,程序順序執(zhí)行下一條指令SJMP START ,轉(zhuǎn)到START處繼續(xù)讀取按鍵狀態(tài);如不相等,是一次真正的按鍵操作,程序轉(zhuǎn)到KEY2處執(zhí)行。</p><p> ?。?
39、) 判斷按下的是哪個(gè)鍵</p><p><b> ?。?)按鍵功能執(zhí)行</b></p><p> 當(dāng)S1鍵按下時(shí),得一分,運(yùn)用MOV R1, #1給存放得分的寄存器R1送入1,然后執(zhí)行LJMP ADDOPR指令,程序轉(zhuǎn)到ADDOPR處;當(dāng)S2鍵按下時(shí),得2分,運(yùn)用MOV R1,#2給R1送入2,然后執(zhí)行LJMP ADDOPR指令,程序轉(zhuǎn)到ADDOPR處;當(dāng)
40、S3鍵按下時(shí),得3分,運(yùn)用MOV R1,#3給R1送入3,然后執(zhí)行LJMP ADDOPR指令,程序轉(zhuǎn)到ADDOPR處。當(dāng)程序轉(zhuǎn)到ADDOPR處時(shí),運(yùn)用MOV A,R0指令, ADD A,R1指令將所得的分?jǐn)?shù)加到總分上,然后運(yùn)用MOV R0,A將總分送入存放總分得R0中。當(dāng)按下S4時(shí),用DEC R0指令將總分減1分,然后執(zhí)行LJMP WAIT程序,轉(zhuǎn)到WAIT處。</p><p><b>
41、 等待按鍵釋放</b></p><p> 運(yùn)用WAIT:MOV A,P0指令,ANL A。#0FH指令,CJNE,#0FH,WAIT指令等待按鍵釋放,以確保每按一次按鍵,進(jìn)行一次按鍵功能操作。</p><p> 二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼</p><p> 存放總分得寄存器R0中得數(shù)為二進(jìn)制數(shù),應(yīng)將其轉(zhuǎn)換為人們熟悉的十進(jìn)制數(shù)(BCD)碼。用MOV
42、 A,R0指令將R0得值(總分)送到A中,再用MOV B,#10指令給寄存器B送入10,最后用DIV AB指令將A(總分)的值除以10,則結(jié)果的十位存放在A中,結(jié)果的個(gè)位存放在B中。</p><p> BCD碼轉(zhuǎn)換為七段碼并輸出顯示 </p><p> 因?yàn)榭偡忠ㄟ^數(shù)碼管顯示出來,必須將BCD碼在轉(zhuǎn)換為七段碼,運(yùn)用查表法進(jìn)行轉(zhuǎn)換。執(zhí)行MOVC A,@A+DPTR指令,查的總分十
43、位對(duì)應(yīng)的七段碼,執(zhí)行MOV P1,A將總分十位的七段碼輸出至P1口,驅(qū)動(dòng)SMG1 數(shù)碼過顯示;執(zhí)行MOV A,B指令將總分送到A中,再執(zhí)行MOVC A,@A+DPTR指令,查的總分個(gè)位對(duì)應(yīng)的七段碼,最后執(zhí)行MOV P3 ,A 指令,將總分個(gè)位得七段碼經(jīng)P3口輸出,驅(qū)動(dòng)SMG2 數(shù)碼顯示管。</p><p> 4.2總的程序設(shè)計(jì)代碼</p><p> 根據(jù)以上任務(wù)分析和任務(wù)實(shí)施過
44、程編寫的源程序如下:</p><p> ORG 0000H </p><p> MOV R0,#0 ;將R0(存放總分的寄存器)清0</p><p> MOV DPTR,#TAB ;將七段碼數(shù)據(jù)表首地址送DPTR</p><p> START:M
45、OV A,P0 ;讀取P0口(鍵盤狀態(tài))值</p><p> ANL A,#0FH ;取出P0 口低4位(只因有低4位接按鍵)</p><p> CJNE A,#0FH,KEY1 ;A與0FH比較(即判斷是否有鍵按下),不相等(有鍵按下,則轉(zhuǎn)移至KEY1處</p><p> SJ
46、MP START ;無鍵按下,則轉(zhuǎn)至START處,重新讀取鍵盤狀態(tài)</p><p> KEY1:LCALL DELAY ;有鍵按下則調(diào)用延時(shí)程序以消除按鍵抖動(dòng)</p><p> MOV A,P0 ;再次讀取P0 口(鍵盤狀態(tài))值</p><p> ANL A,#0FH
47、 ;取出P0口低4位</p><p> CJNE A,#0FH,KEY2 ;再次判斷有鍵是否按下,有鍵按下則程序轉(zhuǎn)移至KEY2處</p><p> SJMP START ;第二次判斷則為無鍵按下,則表明是由于干擾引起的誤讀鍵</p><p> KEY2:JNB ACC.0,K0
48、 ;進(jìn)行鍵盤掃描,以判斷按下的是哪個(gè)鍵,如按下的是S1 鍵,則程序轉(zhuǎn)至K1 處</p><p> JNB ACC.1,K1 ;如按下的是S2鍵,則程序轉(zhuǎn)至K2處</p><p> JNB ACC.2,K2 ;如按下的是S3鍵,則程序轉(zhuǎn)至K3處 </p><p> JNB ACC.3,K3
49、 ;如按下的是S4鍵,則程序轉(zhuǎn)至K4處</p><p> LJMP START ;如無鍵按下則程序轉(zhuǎn)至START處,重新讀取鍵盤</p><p> K1:MOV R1,#1 ;S1鍵按下時(shí),給R1送1</p><p> LJMP ADDOPR ;
50、程序跳轉(zhuǎn)至ADDOPR處</p><p> K2:MOV R1,#2 ;S2鍵按下時(shí),給R1送2</p><p> LJMP ADDOPR ;程序跳轉(zhuǎn)至ADDOPR處</p><p> K3:MOV R1,#3 ;S3鍵按下時(shí),給R1送3</p><p
51、> LJMP ADDOPR 程序跳轉(zhuǎn)至ADDOPR處</p><p> K4:DEC R0 ;S4 鍵按下時(shí),總分減1</p><p> LJMP WAIT ;程序跳轉(zhuǎn)至WAIT處</p><p> ADDOPR:MOV A,R0
52、 ;將R0 的值(總分)送入A</p><p> ADD A,R1 ;A與R1相加(總分加上該次得分)</p><p> MOV R0,A ;將總分送入R0中</p><p> WAIT:MOV A,P0 ;讀取P0口(鍵盤狀態(tài))值</p>
53、<p> ANL A,#0FH ;取出低4位</p><p> CJNE A,#0FH,WAIT ;A與0FH比較,不相等(按鍵還處于閉合狀態(tài))則轉(zhuǎn)至WAIT處(等待按鍵釋放)</p><p> MOV A,R0 ;將R0的值送入A中</p><p> MOV
54、B,#10 ;將10送入B中</p><p> DIV AB A除以B(以二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼),結(jié)果:A存放BCD碼十位,B存放BCD碼個(gè)位</p><p> MOVC A,@A+DPTR ;查表得十位BCD碼的七段碼</p><p> MOV P1,A
55、 ; 將十位七段碼送P1 口輸出</p><p> MOV A,B ;將個(gè)位BCD碼送入A</p><p> MOVC A,@A+DPTR ;在查表得個(gè)位BCD碼的七段碼</p><p> MOV P3,A ;將個(gè)位七段碼送P3口輸
56、出</p><p> LJMP START ;</p><p> 程序轉(zhuǎn)至START處</p><p> DELAY:MOV R6,#15 12ms延時(shí)子程序</p><p> DEL2:MOV R7,#200</p><p> DEL1:D
57、JNZ R7,DEL1</p><p> DJNZ R6,DEL2</p><p><b> RET</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H ;七段碼數(shù)據(jù)表</p><p> DB 92H,82H,0F8H,80H,90H</p>
58、<p><b> 致 謝</b></p><p> 短暫幾個(gè)月的畢業(yè)設(shè)計(jì)即將結(jié)束,在此,我首先感謝我的母校,在我們即將步入社會(huì),走向工作崗位之際為我提供了這樣一個(gè)良好的學(xué)習(xí)知識(shí)與動(dòng)手操作的機(jī)會(huì),并為我提供了先進(jìn)實(shí)驗(yàn)設(shè)備。通過本次畢業(yè)設(shè)計(jì)我受益匪淺,不僅使我學(xué)會(huì)了用單片機(jī)編寫程序的方法,而且對(duì)學(xué)過的相關(guān)知識(shí)得到了進(jìn)一步的鞏固和提高,通過閱讀相關(guān)專業(yè)書籍掌握了一些以前未了解的知
59、識(shí);同時(shí)也熟悉了很多的硬件設(shè)備,更重要的是使我在學(xué)習(xí)和掌握這些知識(shí)的同時(shí),能夠在思維上得到提高和升華,在分析問題和解決問題的能力上得到培養(yǎng)和提高。這次畢業(yè)設(shè)計(jì)使我完善了知識(shí)結(jié)構(gòu)、拓寬了知識(shí)面,開闊了眼界、提高了對(duì)各科知識(shí)綜合應(yīng)用的能力;同時(shí)也鍛煉和培養(yǎng)了我的基本素質(zhì),它使我更加耐心、謹(jǐn)慎、細(xì)致。在這次畢業(yè)設(shè)計(jì)期間,指導(dǎo)老師給予了我耐心的輔導(dǎo)和熱情的幫助。對(duì)于一些疑難問題老師更是很有耐心、不厭其煩的給予解答,并且在百忙之中對(duì)本論文進(jìn)行了仔
60、細(xì)的審閱,提出了極為寶貴的修改意見和建議,保證了論文的質(zhì)量。使我在畢業(yè)之際為學(xué)校交上了一份滿意的答卷。在此對(duì)老師表示衷心的感謝和崇高的敬意。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 康華光。電子技術(shù)基礎(chǔ)(模擬部分)(第四版)。高等教育出版社。北京:1999年。</p><p> [2]、康華光。電子技術(shù)基礎(chǔ)(
61、數(shù)字部分)(第三版)。高等教育出版社。北京:1999年。</p><p> [3]趙保經(jīng),中國集成電路大全——CMOS集成電路(第一版)。北京:國防工業(yè)出版社出版。2004</p><p> [4] 彭介華,電子技術(shù)課程設(shè)計(jì)指。長(zhǎng)沙:高等教育出版社。2001</p><p> [5]曾祥富,張龍興,童士寬。電子技術(shù)基礎(chǔ) (第一版)。北京:高等教育出版社,200
62、3</p><p> [6] 中國集成電路大全編寫委員會(huì)編 中國集成電路大全——TTL集成電路(第一版)。北京:國防工業(yè)出版社出版,1985</p><p> [7] 梁宗善.電子技術(shù)基礎(chǔ)課程設(shè)計(jì)——中大規(guī)模集成電路應(yīng)用(第一版)。武漢:華中理工大學(xué)出版社。1995</p><p><b> 總結(jié)</b></p><p
63、> 本次設(shè)計(jì)敘述了籃球計(jì)時(shí)計(jì)分器的基本原理及使用方法,給出了一種籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)方案。利用單片機(jī)程序設(shè)計(jì)原理,來實(shí)現(xiàn)籃球計(jì)時(shí)計(jì)分器的各項(xiàng)功能。此次設(shè)計(jì)的籃球計(jì)時(shí)計(jì)分器,電路簡(jiǎn)單,而且易懂,使操作使用者使用非常方便,成本較低,靈敏可靠,計(jì)錄準(zhǔn)確,連接簡(jiǎn)單,具有非常高的使用價(jià)值。設(shè)計(jì)內(nèi)容包括計(jì)時(shí)器、計(jì)分器、到時(shí)報(bào)警、比分顯示等部分,可以使參加比賽的成員、裁判和觀眾一目了然的看到所有參加者的成績(jī),以最快的速度評(píng)出結(jié)果.該籃球計(jì)時(shí)計(jì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 籃球計(jì)分器畢業(yè)設(shè)計(jì)
- 籃球賽計(jì)時(shí)計(jì)分器畢業(yè)設(shè)計(jì)
- 籃球計(jì)分牌的畢業(yè)設(shè)計(jì)
- 嵌入式籃球賽計(jì)分器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-籃球場(chǎng)計(jì)時(shí)計(jì)分器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-- 基于單片機(jī)的籃球賽計(jì)分器
- 基于單片機(jī)的籃球比賽計(jì)分器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的籃球賽計(jì)分器
- 畢業(yè)設(shè)計(jì)---電子計(jì)分器
- 畢業(yè)論文---籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 電子計(jì)分器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---電子計(jì)分器設(shè)計(jì)
- 籃球計(jì)分器
- 畢業(yè)設(shè)計(jì)說明書--籃球計(jì)分牌設(shè)計(jì)
- 籃球計(jì)時(shí)器畢業(yè)設(shè)計(jì)
- 籃球計(jì)時(shí)器畢業(yè)設(shè)計(jì)
- 籃球計(jì)分器課程設(shè)計(jì)
- 籃球計(jì)分器課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論