版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢 業(yè) 論 文 (設 計)</p><p> 設計題目:電子計分器設計與實現</p><p> 姓 名 </p><p> 學 號 </p><p> 專 業(yè) 電子信息工程 </p><p> 班 級
2、 </p><p> 指導教師 </p><p> 學 部 計算機學部 </p><p> 答辯日期 2012年05月19日 </p><p> 畢業(yè)論文(設計)任務書</p><p> 本表一式三份,學生本人、指導教師、學部各一份。</p&g
3、t;<p><b> 電子計分器</b></p><p><b> 摘 要</b></p><p> 21世紀是電子技術飛速發(fā)展的時代,如今我們的生活越來越離不開電子技術近從我們生活中離不開的電腦、電視機、電風扇、洗衣機電冰箱空調等,遠到人們的生產、醫(yī)療保險、國防教育等,都離不開電子技術。下面就以電子計分器電路為例來具體
4、說明電子產品的特點。</p><p> 本文設計一種有AT89C51編程控制LED七段數碼管作顯示的球賽計時計分系統(tǒng)。本系統(tǒng)具有賽程定時設置、賽程時間暫停、及時刷新A、B隊雙方的成績以及賽后成績暫存等功能。它具有價格低廉、性能穩(wěn)定、操作方便且易攜帶等特點。廣泛適合各類學校與小團體作為賽程計時計分。</p><p> 關鍵詞:AT89C51、LED七段數碼管</p><
5、;p> Electronic scoring device</p><p><b> Abstract</b></p><p> Twenty-first Century is the rapid development of electronic technology of the times, more and more of our lives no
6、w is inseparable from the electronic technology in the past from the we can't live without computer, TV, electric fans, washing machine freezer air conditioning, much to the people's production, medical insurance
7、, defense and education, are inseparable from the electronic technology. The following points on the electronic circuit as an example to specify the characteristics of electr</p><p> This paper designed a A
8、T89C51 programming control of LED seven digital tube display game timing and scoring system. The system has a race timing settings, schedule time to pause, timely refresh A, B team scores and achievements of the game bot
9、h temporary and other functions. It has a low price, stable performance, convenient operation and easy to carry and so on. Suitable for all kinds of schools and small groups as schedule time scoring.</p><p>
10、 Key words: AT89C51, LED seven digital tube</p><p><b> 分享到 </b></p><p><b> 翻譯結果重試</b></p><p> 抱歉,系統(tǒng)響應超時,請稍后再試</p><p> 支持中英、中日在線互譯 </p>
11、;<p> 支持網頁翻譯,在輸入框輸入網頁地址即可 </p><p> 提供一鍵清空、復制功能、支持雙語對照查看,使您體驗更加流暢</p><p><b> 分享到 </b></p><p><b> 翻譯結果重試</b></p><p> 抱歉,系統(tǒng)響應超時,請稍后再試&l
12、t;/p><p> 支持中英、中日在線互譯 </p><p> 支持網頁翻譯,在輸入框輸入網頁地址即可 </p><p> 提供一鍵清空、復制功能、支持雙語對照查看,使您體驗更加流暢</p><p><b> 分享到 </b></p><p><b> 翻譯結果重試</b&g
13、t;</p><p> 抱歉,系統(tǒng)響應超時,請稍后再試</p><p> 支持中英、中日在線互譯 </p><p> 支持網頁翻譯,在輸入框輸入網頁地址即可 </p><p> 提供一鍵清空、復制功能、支持雙語對照查看,使您體驗更加流暢</p><p><b> 目 錄</b>&l
14、t;/p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第1章 緒論1</b></p><p> 第2章 設計方案2</p><p> 第3章 電子計分器的控制模塊3</p>&
15、lt;p> 3.1.1 蜂鳴器3</p><p> 3.1.2 單片機3</p><p> 3.1.3 按鍵控制4</p><p> 3.1.4 LED輸出顯示5</p><p> 3.2 電路參數及元器件的選擇6</p><p> 3.3 核心器件的介紹6</p>
16、<p> 3.3.1 51單片機及其管腳的介紹6</p><p> 3.3.2 LED數碼管介紹9</p><p> 3.4 四大單元模塊的連接10</p><p> 3.4.1 單片機與PC機的連接10</p><p> 3.4.2 單片機與LED的連接12</p><p>
17、; 3.5 電子計分器總原理圖12</p><p> 第4章 電子計分器的軟件設計14</p><p> 4.1 電子計分器軟件設計原理14</p><p> 4.2 軟件設計圖及功能14</p><p> 4.3 主要軟件設計流程圖及說明15</p><p> 4.4 軟件程序代碼
18、18</p><p> 第5章 電子計分器的調試25</p><p> 第6章 電子計分器系統(tǒng)功能、指標參數26</p><p> 6.1 系統(tǒng)仿真26</p><p> 6.2 系統(tǒng)仿真的參數分析27</p><p> 6.3 系統(tǒng)仿真的結果圖27</p><p>
19、;<b> 結 論29</b></p><p><b> 參考文獻30</b></p><p><b> 致 謝31</b></p><p> 電子計分器的設計與實現</p><p><b> 第1章 緒論</b></p
20、><p> 在市面上有很多籃球計分器,有電子線路設計的,有各種單片機設計的,但作為現在我接觸到最多的還是51單片機。現在市面上還出現了紅外線自動計分器,紅外傳感器且顯示面板位于籃板上的籃球計分器,包括紅外線計數器發(fā)射頭、紅外線計數器接收頭與起計數與控制作用的處理控制器,其特別之處在于:所述的計數器接收頭設置于籃板表面上球框架的底部,所述的計數器發(fā)射頭設置于球框架上與計數器接收頭相對的位置處;所述的處理控制器的輸出端
21、口還連接有顯示模塊,所述顯示模塊設置于籃板表面的上部位置。本實用新型可實現對籃球比賽的自動計分,方便了比賽運動員;顯示模塊設置于籃板表面的上部,更加有利于觀眾與比賽運動員即時了解比賽狀態(tài)。</p><p> 而且現在國際上的計分器主要是運用到體育館中,體育館計時記分設備是用于各類室內、室外體育比賽場館所舉辦的各種球類比賽中使用的一套便攜式“計時記分系統(tǒng)”。</p><p> 隨著單片機
22、載各個領域的廣泛應用,許多用單片機作控制的球賽計時計分器系統(tǒng)也應運產生,用單片機控制LCD液晶顯示器計時計分器,用單片機控制LED七段顯示器計時計分器等。</p><p> 本文設計一種有AT89C51編程控制LED七段數碼管作顯示的球賽計時計分系統(tǒng)。本系統(tǒng)具有賽程定時設置、賽程時間暫停、及時刷新A、B隊雙方的成績以及賽后成績暫存等功能。它具有價格低廉、性能穩(wěn)定、操作方便且易攜帶等特點。廣泛適合各類學校與小團體
23、作為賽程計時計分。</p><p> 本設計主要是運用單片機自動產生時間顯示。而且主要的是采用國際籃聯的規(guī)定采用的是四節(jié)四十分鐘計時。每十分鐘暫停一次,而且由蜂鳴器自動提醒一小節(jié)結束。在重啟開始按鈕后,時間又繼續(xù)計時,而且本實驗主要是采用的倒計時,當需要中場休息或者換人暫停的時候只需要按下暫停按鈕就可以了,倘若需要繼續(xù)那么久需要按一下開始按鈕就行了。而且本設計的界面簡單只有6顆實用按鍵,兩顆分別為開始與暫停,兩
24、顆分別為兩隊加分軟件,還有重啟按鈕與電源按鈕,簡單易操作。</p><p><b> 第2章 設計方案</b></p><p> 本系統(tǒng)是以匯編語言作為編輯語言,采用單片機AT89C51作為本設計的核心元件,。利用7段共陰LED作為顯示器件。在此設計中共接入了8個7段共陽LED顯示器,其中四位作為倒計時時間顯示,其中一二位作為時間顯示的秒數顯示,本實驗主要是采用
25、先給時間顯示置60分鐘的倒計時,其中三四位作為分顯示。還有四位作為分數顯示,分為兩組,每兩個顯示為一組作為分數顯示,本著實際的計分結果課最高計分為99分鐘,分別表示個位,十位,用于記錄該隊的分數,能夠滿足籃球比賽的需要。并設置有5個按鍵:K1,K2,K3,K4,K5。當比賽A隊得1分時,按下k1鍵加1分,得2分時按k1鍵兩下加2分,得3分時按下k1鍵三次加3分。當比賽B隊得1分時,按下k2鍵加1分,得2分時按k2鍵兩下加2分,得3分時按
26、下k2鍵三次加3分,其中K3,K4鍵分別暫停與開始鍵,K5是單片機復位鍵。因所設計的籃球賽計分器功能較少,電路結構也相對簡單。</p><p> 本次設計選用的芯片為AT89C51,顯示部分用的是LED數碼管顯示。</p><p> 圖2.1 硬件平臺功能框圖</p><p> 此方案實現的時間顯示精確,而且體現了單片機的功能,本作畢業(yè)設計的目的它很好的反應出
27、了單片機的性能,而且它的電路簡潔,電路簡單易于控制,而且時間做的是倒計時,采用的是最接近機械語言的匯編語言,修改程序能夠應用其他的各種比賽例如排球賽,單片機的成本價低,制造出的電路廉價。</p><p> 第三章 電子計分器的控制模塊</p><p> 3.1 四大單元模塊功能介紹及電路原理圖</p><p> 本設計其中包括單片機模塊部分,鍵控輸入部分,L
28、ED顯示部分,蜂鳴器報警部分的介紹。</p><p><b> 3.1.1 蜂鳴器</b></p><p> 根據本次設計要求,我采用了一個二極管與一個蜂鳴器來實現聲光報警,并用一個三極管來驅動蜂鳴器,本設計主要是參考CBA的籃球比賽時間設計的,所以每十分鐘暫停一下,然后就驚醒報警,當按下暫停或則開始鍵的時候蜂鳴器都自動消音。起電路圖如圖3.1所示。</p&
29、gt;<p> 圖3.1蜂鳴器報警部分</p><p><b> 3.1.2 單片機</b></p><p> 本部分模塊是本設計的核心部分,此模塊應用的是51單片機。單片機的全稱為單片機微型計算機,它是把組成微型計算機的各功能部件,如中央處理器、隨機存取儲存器、只讀存儲器,I/O接口電路,定時/計數器,以及串口通信接口等部件制作在一塊集成芯片上。
30、</p><p> 單片機的P0口外接8段LED顯示的片選端,當需要改變那個LED的內容的時候就需要把它點亮選中,P2口作為8端LED的內容輸入端,根據設計的需要點亮相應的LED燈而顯示時間。P1.1與P1.0分別作為籃球計分的輸入接口端口。P3.2與P3.3作為籃球計分器的開始暫停端的輸入口。P3.4就作為當時間到時的報警輸出端口。本設計主要是采用了單片機的內部的計數器與外部中斷方式才實現的控制與顯示。其結構
31、圖如圖3.2所示。</p><p> 圖3.2單片機模塊原理圖</p><p><b> 3.1.3按鍵控制</b></p><p> 在本次設計中主要采用了五顆鍵,分別是復位鍵,時間暫停鍵,開始鍵,A隊加分鍵,B隊加分鍵。分別表述為K1,K2,K3,K4,K5。當比賽A隊得1分時,按下k1鍵加1分,得2分時按k1鍵兩下加2分,得3分時按
32、下k1鍵三次加3分。當比賽B隊得1分時,按下k2鍵加1分,得2分時按k2鍵兩下加2分,得3分時按下k2鍵三次加3分,其中K3,K4鍵分別暫停與開始鍵,K5是單片機復位鍵。A,B對加分鍵分別接在單片機的P1.0與P1.1口上的,當來一個P1.0來一個高電平則A隊計分顯示加一分,當P1.1來一個高電平則B隊的計分顯示加一分,當按下暫停鍵時LED時間暫停,當按下開始時時間顯示繼續(xù)開始時間跳動。當按下復位鍵時所有的記時計分從新開始,其結構圖如圖
33、3.3所示。</p><p> 圖3.3鍵控輸入模塊原理圖</p><p> 3.1.4 LED輸出顯示</p><p> 本模塊主要是采用的七段顯示來顯示倒計時,分別用四個數碼管,一組為時間顯示,本次設計主要是采用的倒計時設計,采用一個小時的倒計時。另一組就為計分顯示設計,這一組的其中相連中的一個表示A隊的分數顯示,另外兩個表示B對的分數顯示。而且外接的單片
34、機的P0口做為片選輸入端,P1作為段碼的輸入端,而且本次采用的共陽極八段LED顯示。其電路圖如3.4與3.5所示。</p><p> 點亮LED顯示器有兩種方式:一是靜態(tài)顯示;二是動態(tài)顯示。在本次設計中,采用的是動態(tài)顯示。</p><p> 這種電路的優(yōu)點在于:在同一時間可以顯示不同的字符;但缺點就是占用端口資源較多。從下圖可以看出,每位LED顯示器需要單獨占用8根端口線,因此,在數據
35、</p><p> 較多的時候,往往不采用這種設計,而是采用動態(tài)顯示方式。</p><p> 所謂動態(tài)顯示,就是將要顯示的多位LED顯示器采用一個8位的段選端口,然后采用動態(tài)掃描一位一位地輪流點亮各位顯示器。</p><p> 圖3.4 分數顯示部分</p><p> 圖3.5時間顯示部分</p><p>
36、 3.2電路參數及元器件的選擇</p><p> 本次設計對內外存要求都不大,所以本次設計選擇的是STC89C51單片機。而且采用的是共陽極七段LED顯示。為方便時間計算單片機主要是采用的12MHZ的晶振。</p><p> 3.3 核心器件的介紹</p><p> 3.3.1 51單片機及其管腳的介紹</p><p> 單片機最系統(tǒng)
37、包括晶體振蕩電路,復位開關與電源部分。本系統(tǒng)采用的是12.0592MHZ晶振;復位電路在單片機中是很重要的,它可以完成單片機的初始化也可以在死機狀態(tài)下重啟單片機。在本設計中采用的是手動復位。</p><p> STC89C51單片機是由運算器、控制器、存儲器、輸入設備與輸出設備共五個基本部分組成的。單片機是把包括運算器、控制器、少量存儲器、最基本的輸入輸出口電路、串行口電路、定時電路與中斷定時電路等都集成在一個
38、尺寸有限的芯片上。</p><p> 通常單片機由單個集成電路芯片構成,內部包括有計算機的基本功能部件:中央處理器、存儲器與I/O接口電路等。因此單片機只需要與適當的軟件,及外部設備相結合便可成為一個單片機控制系統(tǒng)。</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b>
39、;</p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可負載8個TTL門電路。當P1口的管腳第一次寫1時,被定義為高阻輸入;P0能夠用于外部程序的數據存儲器,它可以被定義為數據/地址第八位。在FIASH編程時,P0 口做原碼輸入口時,當FIASH進行校驗時P0輸出原碼,這時P0外部必須被拉高。</p><p> P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,
40、P1口緩沖器能接收輸出4個TTL門電路。P1口管腳寫入1后,被內部上拉為高電平,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉電阻的緣故。在FLASH編程與校驗時,P1口作為第八位地址接收。</p><p> P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電路。當P2口被寫1時,其管腳被內部上拉電阻被拉高,且作為輸入。并因此作為輸入時,P2口的管腳
41、被外部拉低將輸出電流。這是由于內部上拉電阻的緣故。P2口當用于外部程序存儲器以及16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址1時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫的時候,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程與校驗時接收高八位控制信號與地址信號。</p><p> ALE/PROG:當訪問外部存儲器的時候,地址鎖存允許的輸出電平用于鎖存地址的地位
42、字節(jié)。在FLASH編程期間此引腳用于輸入編程脈沖。但在平時ALE端以不變的頻率周期輸出正脈沖信號此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器的時候,將跳過一個ALE脈沖。倘若想禁止ALE的輸出可在SFR8EH地址上置0。這時 ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外該引腳被略微拉高。倘若微處理器在外部執(zhí)行狀態(tài)ALE禁止置位無效。</p>
43、<p> P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電路。當P3口寫入1后,它們被內部上拉為高電平并用作輸入。作為輸入由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> P3口也可作為AT89C51的一些特殊
44、功能口,P3口同時為閃爍編程與編程校驗接收一些控制信號。如表3.1所示:</p><p> 表3.1 AT89C51特殊功能表</p><p> /PSEN:外部程序存儲器的選通信號。但在訪問外部數據存儲器的時候,這兩次有效的/PSEN信號將不出現。在由外部程序存儲器取期間,每個機器周期兩次/PSEN有效。</p><p> /EA/VPP:當/EA保持低電
45、平的時候,則在此期間外部程序存儲器(0000H-FFFFH不管是否有內部程序存儲器)。當/EA端保持高電平時,注意加密方式1的時候,/EA將內部鎖定為RESET;此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</
46、p><p> P3-P0口都是并行I/O口都可用于數據的輸入與輸出,但P2口與P0口除了可進行數據的輸入與輸出外,通常都用來構建系統(tǒng)的數據總線與地址總線。P3-P1這3個口都是準雙向口。P3口的口線具有第二功能,在這4個口中只有P0口是一個真正雙向的口,為系統(tǒng)提供一些控制信號。單片機管腳圖如圖3.6所示。</p><p> 圖3.6 單片機管腳圖</p><p>
47、 3.3.2 LED數碼管介紹</p><p> LED顯示器又稱為數碼管,LED顯示器由8個發(fā)光二極管組成。中7個長條形的發(fā)光管排列成“日”字形,另一個點形的發(fā)光管在顯示器的右下角作為顯示小數點,它能顯示各種數字及部份英文字母。</p><p> 段數碼管又分共陰和共陽兩種顯示方式。如果把7段數碼管的每一段都等效成發(fā)光二極管的正負兩個極,那共陰就是把abcdefg這7個發(fā)光二極管的
48、負極連接在一起并接地;它們的7個正極接到7段譯碼驅動電路74LS48的相對應的驅動端上(也是abcdefg)!此時若顯示數字1,那么譯碼驅動電路輸出段bc為高電平,其他段掃描輸出端為低電平,以此類推。如果7段數碼管是共陽顯示電路,那就需要選用74LS47譯碼驅動集成電路。共陽就是把abcdefg的7個發(fā)光二極管的正極連接在一起并接到5V電源上,其余的7個負極接到74LS47相應的abcdefg輸出端上。無論共陰共陽7段顯示電路,都需要加
49、限流電阻,否則通電后就把7段譯碼管燒壞了!限流電阻的選取是:5V電源電壓減去發(fā)光二極管的工作電壓除上10ma到15ma得數即為限流電阻的值。發(fā)光二極管的工作電壓一般在1.8V--2.2V,為計算方便,通常選2V即可!發(fā)光二極管的工作電流選取在10-20ma,電流選小了,7段數碼管不太亮,選大了工作時間長了發(fā)光管易燒壞!對于大功率7段數碼管可根據實際情況來選取限流電阻及電阻的瓦數! 74LS48芯片是一種常用的七段數碼管譯</p&g
50、t;<p> 圖3.7 BCD七段譯碼器驅動器</p><p> 圖3.8 七段數碼管引腳圖</p><p> 3.4 四大單元模塊的連接</p><p> 3.4.1 單片機與pc機的連接</p><p> 為了能實現遠距離的檢測電壓,需要單片機與PC機進行數據通信。異步串行通信時最常用的,也是本設計中所采用的。
51、 </p><p> 在PC機上,串行口指的是RS232串行通信端口。本設計采用的是9針的連接頭。其結構如圖3.9所示。</p><p> 圖3.9 RS232結構圖</p><p> 圖3.9中RXD:接收數據;TXD:發(fā)送數據;DTR:數據終端就緒;DSG:數據裝置就緒;RTS:發(fā)送請求;CTS:清除發(fā)送。 </p><
52、;p> 串行通信接口在本設計中的作用是:數據以二進制的形式的傳送。將單片機采集回來的數據送到PC機去處理。通過串行口一次只能傳送一個字節(jié),而控制信息與數據都是在單線上移動,所以需要通信協議,常用的通信協議如下:一個起始位;8個或7個數據位;奇偶校驗位;一個或兩個停止位;傳輸速度即波特率</p><p> 串行口主要由發(fā)送數據緩沖器、發(fā)送控制器、輸出門控電路、接收數據緩沖器、接收控制器、輸入移位寄存器等組
53、成。接收數據緩沖器只能讀出不能寫入。發(fā)送數據緩沖器只能寫入不能讀出。故兩個緩沖器共用一個符號---特殊功能寄存器:SBUF。另外還有兩個特殊功能寄存器SCON,PCON,分別用來控制串行口的工作方式與波特率。</p><p> 考慮到通信程序之間采用軟件握手以及降低編寫PC與單片機的程序的復雜性,PC機與單片機之間的連接只采用了RS232接口中的RXD、GND、TXD。因為由PC出來的是RS232的電平,而單片
54、機是典型的TTL電平,因此在PC與單片機的連接中必須要有電平轉換,本設計中采用的是MAX232電平轉換電路。工作時只需要單一的+5V電源。其片內有2個發(fā)送器與2個接收器。有TTL信號輸入/RS-232C輸出功能也有RS-232C輸入/TTL輸出的功能。它是RS-232C雙工發(fā)送器/接收器接口電路芯片。由于芯片內部有自升壓的電平倍增電路,將+5V轉換成-10V到+10V,滿足RS-232C標準對邏輯1與邏輯0的電平的要求。</p&g
55、t;<p> 其連接如圖3.10所示。</p><p> 圖3.10 RS232與MAX232的連接</p><p> 3.4.2 單片機與LED的連接</p><p> 為了使電路簡單采用了8位2組的數碼管動態(tài)顯示方式。圖3.11為數碼管動態(tài)顯示器電路的鏈接部分。</p><p> 圖3.11八段LED顯示與單片機的
56、連接部分</p><p> 3.5電子計分器總原理圖</p><p><b> 如圖3.12</b></p><p> 圖3.12 電子計分器總原理圖 </p><p> 電子計分器的軟件設計</p><p> 4.1 電子計分器軟件設計原理</p><p>
57、; 在研制單片機應用系統(tǒng)時大多采用匯編語言作為軟件工具,本文所需程序均由匯編語言編寫,其優(yōu)點是生成代碼短,測量精度高。本設計的軟件設計主要是采用的KEIL軟件。</p><p> KEIL是一個匯編語言的集成開發(fā)環(huán)境,主要面向匯編語言的初學者。 它提供了一個在Windows界面下的匯編語言開發(fā)環(huán)境具有了一般的集成開發(fā)環(huán)境所提供的功能。例如:原來需要煩瑣的命令行才能完成的工作,現在只需要簡單的鼠標單擊就可以完成
58、,而且復雜的參數也只要進行一下設置就可以了。它會截獲錯誤信息,并顯示在錯誤窗口上只要點擊一下錯誤信息,對應的錯誤行就會在編輯窗口突出顯示出來。</p><p> 4.2 軟件設計圖及功能</p><p> 本設計主要主要是實現了計分與顯示兩個功能。籃球比賽計分器其實就是一個計數器,本次設計就是利用單片機中的定時/計數器來實現其計分的功能。在51單片機中有兩個16位的定時/計數器T1、T
59、0。它們分別由TH1、TL1與TH0、TL0組成,它們均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它們用于存放定時或計數的初始值。此外,內部還有一個8位的控制寄存器TCON與一個8位的方式寄存器TMOD,用于選擇與控制定時/計數器的工作,將工作方式控制字寫入TMOD寄存器。</p><p> 根據定時時間要求或計數要求計算計數器初值,啟動定時器/計數器,即將TRX置位。</p><
60、;p> 將計數初值寫入TLX與THX寄存器。</p><p> 倘若工作于中斷方式,需置位EA(中斷總開關)及ETX(允許定時/計數器中斷),并編寫中斷服務程序。軟件結構圖如圖4.1所示。</p><p> 圖4.1主程序流程圖</p><p> 主要軟件設計流程圖及說明</p><p> 計分器主要采用了中斷溢出與外部中斷來
61、寫的程序,該程序主要包括以下幾部分,定時器TO的溢出中斷。還有外接開關的外部中斷0與外部中斷1。</p><p> 當定時器T0的計數器的TF0產生溢出是則跳到中斷程序INT_TIMER0,這段程序主要是對LED燈的掃描輸出,當中斷一次則掃描一次。而且調節(jié)T0的計數時間就能調節(jié)LED的掃描時間,當時間過長時會讓覺得LED等多閃。所以根據人眼選擇合適的時間。程序如下:</p><p>&l
62、t;b> ORG 000BH</b></p><p> LJMP INT_TIMER0</p><p> INT_TIMER0:</p><p><b> PUSH 0</b></p><p><b> PUSH DPH</b></p><p>&
63、lt;b> PUSH DPL</b></p><p> ;MOV TH0,#TIMERH</p><p> ;MOV TL0,#TIMERL</p><p> MOV P2,#0FFH ;</p><p> MOV P0,#0FFH ;</p><p> MOV P1,#00H<
64、/p><p> MOV A,INT_CNT</p><p><b> INC A</b></p><p> ANL A,#07H ;只要兩位</p><p> MOV INT_CNT,A</p><p> ADD A,#DISPLAY_BUF ; [0,7]+30h=[30h,37h]&l
65、t;/p><p><b> MOV R0,A</b></p><p><b> MOV A,@R0</b></p><p> CPL A ;累加器求反</p><p><b> MOV P0,A</b></p><p> MOV DPTR ,
66、 #LED_SET</p><p> MOV A,INT_CNT</p><p> MOVC A,@A+DPTR</p><p><b> MOV P2,A</b></p><p><b> POP DPL</b></p><p><b> POP DPH
67、</b></p><p><b> POP 0</b></p><p><b> RETI</b></p><p> 其程序結構如圖4.2所示</p><p> 圖4.2定時器T0中斷程序結構圖</p><p> 籃球計分器有開始暫停的功能,當按下按鍵時
68、相應的中斷就會響應,當中斷0響應時就會使得計分開始,同樣當暫停按鈕按下去的時候就會使的得計分與時間顯示暫停。其程序如下:</p><p> ORG 0003H ;INT0</p><p> LJMP INT0L</p><p> ORG 0013H ;INT1</p><p> LJMP INT1L</p>&
69、lt;p><b> INT0L:</b></p><p> SETB P3.4</p><p> SETB TR1</p><p><b> RETI</b></p><p><b> INT1L: </b></p><p> S
70、ETB P3.4</p><p><b> CLR TR1</b></p><p><b> RETI</b></p><p> 程序結構圖如圖4.3與4.4所示。</p><p> 圖4.3外部中斷0程序結構圖</p><p> 圖4.4外部中斷1程序結構
71、圖</p><p> 主程序是本程序最重要的部分,當結構幾個中斷響應就完成了本程序的功能。而且在主程序中采用了子程序也采用了子程序循環(huán)程序,對已A/B隊計分又采用的查詢方式來給A/B隊加分的。其程序結構圖如圖4.5所示。</p><p> 圖4.5主程序詳細流程圖</p><p><b> 軟件程序代碼</b></p>&l
72、t;p> TIMERH EQU 050H</p><p> TIMERL EQU 0H</p><p> TIMER1HEQU 0H</p><p> TIMER1L EQU 0H</p><p> INT_CNT EQU 50H</p><p> DISPLAY_BUF EQU
73、30H</p><p> CONTER_BCD0 EQU 40h</p><p> CONTER_BCD1 EQU 41H</p><p> CONTER_BCD2 EQU 42H</p><p> CONTER_BCD3 EQU 43H</p><p> CONTER_BCD4 EQU 44h&l
74、t;/p><p> CONTER_BCD5 EQU 45H</p><p> CONTER_BCD6 EQU 46H</p><p> CONTER_BCD7 EQU 47H</p><p><b> ORG 0000H</b></p><p> LJMP START</p&g
75、t;<p><b> ORG 000BH</b></p><p> LJMP INT_TIMER0</p><p> ORG 0003H ;INT0</p><p> LJMP INT0L</p><p> ORG 0013H ;INT1</p><p> LJM
76、P INT1L</p><p><b> START:</b></p><p> MOV SP,#50H</p><p><b> MOV B,#3H</b></p><p><b> CLR P1.0</b></p><p><b&g
77、t; CLR P1.1</b></p><p> MOV CONTER_BCD0,#10</p><p> MOV CONTER_BCD1,#6</p><p> MOV CONTER_BCD2,#10</p><p> MOV CONTER_BCD3,#6</p><p> MOV CONT
78、ER_BCD4,#1</p><p> MOV CONTER_BCD5,#1</p><p> MOV CONTER_BCD6,#1</p><p> MOV CONTER_BCD7,#1</p><p> MOV TMOD , #12H</p><p> MOV TH0,#TIMERH</p>
79、<p> MOV TL0,#TIMERL</p><p> MOV TH1,#TIMER1H</p><p> MOV TL1,#TIMER1L </p><p><b> SETB ET0</b></p><p><b> SETB EA</b></p>&l
80、t;p><b> SETB TR0</b></p><p><b> SETB TR1</b></p><p><b> SETB EX0</b></p><p><b> SETB IT0</b></p><p><b> S
81、ETB EX1</b></p><p><b> SETB IT1</b></p><p> MAIN: </p><p><b> JNB TF1,$</b></p><p><b> CLR ET0</b></p><p&
82、gt;<b> CLR TF1</b></p><p> MOV TH1,#TIMER1H</p><p><b> SETB ET0</b></p><p> MOV TL1,#TIMER1L</p><p> SHIJIAN:</p><p> DEC C
83、ONTER_BCD0</p><p> MOV A,CONTER_BCD0</p><p> CJNE A,#0,NOT_EQU0</p><p> MOV CONTER_BCD0,#10</p><p> DEC CONTER_BCD1</p><p> MOV A,CONTER_BCD1</p>
84、;<p> CJNE A,#0,NOT_EQU0</p><p> MOV CONTER_BCD1,#6</p><p> DEC CONTER_BCD2</p><p> MOV A,CONTER_BCD2</p><p> CJNE A,#0,NOT_EQU0</p><p><b&g
85、t; CLR TR1</b></p><p><b> CLR P3.4</b></p><p> MOV CONTER_BCD2,#10</p><p> DEC CONTER_BCD3</p><p> MOV A,CONTER_BCD3</p><p> CJNE
86、 A,#0,NOT_EQU0</p><p> MOV CONTER_BCD3,#6</p><p><b> ;RET</b></p><p><b> ;時間顯示倒計時</b></p><p> IR1 :LCALL ADUI</p><p> IR2 :
87、LCALL BDUI </p><p> NOT_EQU0: </p><p> JB P1.0 ,IR1</p><p> JB P1.1 , IR2</p><p> NOT_EQU1:</p><p> MOV R0, #3</p><p> MOV
88、R1, CONTER_BCD0</p><p> LCALL LED_DISPLAY</p><p> MOV R0, #2</p><p> MOV R1, CONTER_BCD1</p><p> LCALL LED_DISPLAY</p><p> MOV R0, #1</p>
89、<p> MOV R1, CONTER_BCD2</p><p> LCALL LED_DISPLAY</p><p> MOV R0, #0</p><p> MOV R1, CONTER_BCD3</p><p> LCALL LED_DISPLAY</p><p> MOV R0
90、, #7</p><p> MOV R1, CONTER_BCD4</p><p> LCALL LED_DISPLAY</p><p> MOV R0, #6</p><p> MOV R1, CONTER_BCD5</p><p> LCALL LED_DISPLAY</p>&l
91、t;p> MOV R0, #5</p><p> MOV R1, CONTER_BCD6</p><p> LCALL LED_DISPLAY</p><p> MOV R0, #4</p><p> MOV R1, CONTER_BCD7</p><p> LCALL LED_DISPL
92、AY</p><p><b> NOFLOW:</b></p><p><b> LJMP MAIN</b></p><p> ; R0->位置[0,7],R1 BCD[0,9]</p><p> ; 返回 段碼數據放到 30H-37H</p><p> LE
93、D_DISPLAY:</p><p> PUSH 0 ;R0</p><p> PUSH 1 ;R1</p><p> MOV DPTR,#LED_SEG</p><p><b> MOV A,R1</b></p><p> MOVC A,@A+DPTR</p><p
94、><b> MOV R1,A</b></p><p><b> MOV A,R0</b></p><p> ADD A,#DISPLAY_BUF</p><p><b> MOV R0,A</b></p><p><b> MOV A,R1</b
95、></p><p><b> MOV @R0,A</b></p><p><b> POP 1</b></p><p><b> POP 0</b></p><p><b> RET</b></p><p><b
96、> ADUI: </b></p><p> INC CONTER_BCD4</p><p> LOOP1: JNB P1.0 , JUXUA</p><p> SJMP LOOP1</p><p> JUXUA: </p><p> MOV A,CONTER_BCD4&
97、lt;/p><p> CJNE A,#10,NOT_EQU1</p><p> MOV CONTER_BCD4,#0</p><p> INC CONTER_BCD5</p><p> MOV A,CONTER_BCD5</p><p> CJNE A,#10,NOT_EQU1</p><p&
98、gt; MOV CONTER_BCD5,#0</p><p><b> RET</b></p><p><b> BDUI: </b></p><p> INC CONTER_BCD6</p><p> LOOP2: JNB P1.1 , JUXUB</p><p
99、> SJMP LOOP2</p><p><b> JUXUB:</b></p><p> MOV A,CONTER_BCD6</p><p> CJNE A,#10,NOT_EQU1</p><p> MOV CONTER_BCD6,#0</p><p> INC CON
100、TER_BCD7</p><p> MOV A,CONTER_BCD7</p><p> CJNE A,#10,NOT_EQU1</p><p> MOV CONTER_BCD7,#0</p><p><b> RET</b></p><p> ;在p1口判斷是否有高平信號給籃球加分顯示
101、程序</p><p> INT_TIMER0:</p><p><b> PUSH 0</b></p><p><b> PUSH DPH</b></p><p><b> PUSH DPL</b></p><p> ;MOV TH0,#T
102、IMERH</p><p> ;MOV TL0,#TIMERL</p><p> MOV P2,#0FFH ;</p><p> MOV P0,#0FFH ;</p><p> MOV P1,#00H</p><p> MOV A,INT_CNT</p><p><b>
103、 INC A</b></p><p> ANL A,#07H ;只要兩位</p><p> MOV INT_CNT,A</p><p> ADD A,#DISPLAY_BUF ; [0,7]+30h=[30h,37h]</p><p><b> MOV R0,A</b></p>&l
104、t;p><b> MOV A,@R0</b></p><p> CPL A ;累加器求反</p><p><b> MOV P0,A</b></p><p> MOV DPTR , #LED_SET</p><p> MOV A,INT_CNT</p><p
105、> MOVC A,@A+DPTR</p><p><b> MOV P2,A</b></p><p><b> POP DPL</b></p><p><b> POP DPH</b></p><p><b> POP 0</b></
106、p><p><b> RETI</b></p><p><b> INT0L: </b></p><p> SETB P3.4</p><p> SETB TR1</p><p><b> RETI</b></p><p&
107、gt; INT1L: </p><p> SETB P3.4</p><p><b> CLR TR1</b></p><p><b> RETI</b></p><p><b> LED_SET:</b></p><p>
108、 DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH</p><p><b> LED_SEG: </b></p><p> DB 0CH, 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H</p><p> DB 80H,90H</p><p><b
109、> END</b></p><p> 第5章 電子計分器的調試</p><p> 軟件調試包括兩個過程,一個是實物系統(tǒng)調試過程因為本實驗沒有做實物所以只有軟件仿真調試,另一個是仿真調試過程,。軟件仿真我主要是采用的PTOTEUS軟件的下載單片機程序來實現的。</p><p> 在仿真過程中,為了更快看到仿真結果,我使用了更為簡潔的電路,在
110、校驗LED燈轉換的結果是否正確時,并沒有接鎖存器,同時那些電源也只用了軟件中的標號,而是直接將信號輸出到二極管,運行時可直接觀察信號燈亮滅直接用I/O實現片選,在仿真中沒有加上REST鍵用的軟件仿真開始來代替的。</p><p> 實物系統(tǒng)調試時,我直接將仿真用的程序改正后調入系統(tǒng),結果并不顯示,原因是板子上的數碼管是共陽極的,而在仿真時采用的是共陰極。在程序里加入取反語句后,正常顯示。在蜂鳴器鳴叫的設計中蜂鳴
111、器沒有正常鳴叫報警,后來才發(fā)現時當低電平時蜂鳴器才接通。所以當把SETB修改成CLR后蜂鳴器正常鳴叫。</p><p> 電子計分器系統(tǒng)功能、指標參數</p><p><b> 6.1 系統(tǒng)仿真</b></p><p> 由于沒有做實物出來系統(tǒng)參數指標我只能用仿真圖來演示,主要參數就看仿真出來的時間顯示與計分顯示。這次的籃球計分器主要是采
112、用的CBA的比賽規(guī)則,所以當十分鐘時就自動暫停一下,并且報警表示本小節(jié)結束。當第一個十分鐘自動暫停的仿真結果圖6.1如下。</p><p> 圖6.1十分鐘暫停與報警仿真</p><p> 當打開仿真的時候時間顯示立即開始運行。當按下P1.0(A隊計分按鈕)時,仿真結果圖如圖6.2所示。當按下接在p1.1(B隊計分按鈕)接口的按鈕的時候其仿真結構圖如圖6.3所示。</p>
113、<p> 圖6.2當A隊加分時</p><p> 圖6.3當B隊加分時</p><p> 6.2 對仿真的參數分析</p><p> 比較仿真圖與所需要的仿真結果,當A/B隊的加分按鈕按下后A/B分數顯示籃分別加一分。所以在這一點上滿足了設計要求。當P1.0接上高點平時(當按下A隊加分按鈕時)程序就會查詢到P1.0為高電平,這個時候就會跳轉到分數
114、的段碼加1的程序,當它的個位段碼查詢到有低電平時則又會跳轉到相應的端口輸出。這樣就實現了分數的加分。對于B隊加分也同理。</p><p> 當時間的分數的十位需要借1的時候就關閉定時器1那么它的段碼掃描程序也就沒法運行,相當于只有把定時器打開的最后一個時間的狀態(tài)一直保存就實現了軟件上的暫停同時打開了蜂鳴器報警,只需要按下開始按鈕就可以從新接著計時計分。</p><p> 6.3 系統(tǒng)仿
115、真的結果圖</p><p><b> 如圖6.4</b></p><p> 圖6.4 系統(tǒng)仿真結果圖</p><p><b> 結 論</b></p><p> 在大多數用C語言編程的情況下我選擇了匯編,能夠清楚的反應單片機的內存分配問題,而且采用匯編語言寫幾十程序能夠精確到一條機
116、械指令,所以時間非常的精確,這是C語言所不能達到的。而且本設計不但能夠計分還能夠顯示時間。我做的籃球計分器非常的簡潔,沒有過多的按鍵只有四顆,所以操作起來非常的方便與簡單。采用程序查詢方式在硬件上也節(jié)約了成本,所以倘若本設計成本很低,適合批量生產。同時本設計能夠暫停,開始的功能。</p><p> 但本設計為了答辯現在演示方便我的一秒計時沒有精確到一秒。而且本設計沒有加分系統(tǒng),倘若加錯分的情況下沒法改變。而且為
117、了方便我只采用了分數60倒計時的情況。而且積分采用的0-99計分,倘若超過99就沒沒辦法計分了。</p><p> 在設計中我采用的查詢方式來實現的加分。在開始時倘若按著按鈕的時間過長就會產生加很多分數的情況。最后我采用先測試高低電平,然后在一段時間后檢驗是否有低電平,有就加1這就從檢查高電平變成檢驗有沒有一個負跳沿而加分,這就變成了按一次加一分。就不再受按鍵時間長短影響。也就在軟件上實現了需要由硬件鎖存器所能
118、產生的脈沖下跳沿觸發(fā),在硬件上大大的節(jié)約了成本,而且電路看起來方便簡潔。</p><p> 這次畢業(yè)設計是大學以來所學電路知識的綜合運用,本電路雖然不復雜但涵蓋了所學的幾乎所電學知識。鍛煉了我的綜合實踐能力與動手能力,更加鞏固了我以前所學的知識。新知識的獲得與電子器件的參數查找是個棘手問題,網絡學習與圖書館資料給我提供了很好的學習機會與渠道,但方法與經驗給我造成了一定困難,但在此設計中我掌握了不少這方面的知識。
119、</p><p><b> 參考文獻</b></p><p> [1] 陳日耀.金屬切削原理[M].北京:機械工業(yè)出版社,1985.33-36</p><p> [2] 謝維成,等.微機原理與接口技術[M].武漢:華中科技大學出版社,2009.</p><p> [3] 陳紅衛(wèi),等.微型計算機基本原理與接口技[M
120、].北京:高等教育出版社,2008.</p><p> [4] 鄭學堅,等.微型計算機原理與應用[M].北京:清華大學出版社,2001.</p><p> [5] 謝自美.電子線路設計[M].武漢:華中科技大學出版社,2006.</p><p> [6] 吳延海.微機計算機接口技術[M]重慶:重慶大學出版社,1997.</p><p>
121、 [7] 張義與,等.例說8051[M].北京:人民郵電出版社,2006.</p><p> [8] 導向科技.Protel DXP電子電路設計培訓教程[M].北京:人民郵電出版社,2003.</p><p> [9] 王昊.通用電子元器件的選用與檢測[M].北京:電子工業(yè)出版社,2006.</p><p> [10] 袁啟昌.單片機原理及應用教程[M].科
122、學出版社,2005.3 </p><p> [11] 林仲茂.8051單片機徹底研究基礎篇[M].人民郵電出版社,2004.5 </p><p> [12] 徐安.單片機原理與應用[M].北京希望電子出版社,2002.11 </p><p> [13] 張毅剛.MSC-51單片機應用設計[M].哈爾濱工業(yè)大學出版社,1997.12</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子計分器畢業(yè)設計
- 畢業(yè)設計---電子計分器設計
- 電子計分器畢業(yè)設計說明書
- 籃球計分器畢業(yè)設計
- 籃球計分器畢業(yè)設計 (2)
- 畢業(yè)設計---遙控電子計分牌顯示端的設計
- 機械電子工程畢業(yè)設計-汽車離合器膜片彈簧的設計分析
- 畢業(yè)設計---比賽計分器單片機設計
- 電子節(jié)拍器畢業(yè)設計
- 電子節(jié)拍器畢業(yè)設計
- 畢業(yè)設計-電子搶答器
- 畢業(yè)設計---簡易電子滅鼠器
- 籃球賽計時計分器畢業(yè)設計
- 電子專業(yè)畢業(yè)設計--電子智能搶答器
- 電子變壓器的設計畢業(yè)設計
- 電子節(jié)拍器畢業(yè)設計.doc
- 畢業(yè)設計-籃球場計時計分器的設計
- 嵌入式籃球賽計分器畢業(yè)設計
- 電子計數器的畢業(yè)設計
- 電子節(jié)拍器畢業(yè)設計.doc
評論
0/150
提交評論