




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)系統(tǒng)開發(fā)與應(yīng)用工程實(shí)習(xí)報(bào)告0計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)論文計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)論文選題名稱選題名稱: 基于 AT89S52 單片機(jī)的比賽記分牌設(shè)計(jì)系(院)系(院): 電子電氣工程學(xué)院 專專 業(yè)業(yè): 自 動(dòng) 化 班班 級(jí)級(jí): 0212112 姓姓 名名: 紀(jì) 辰 學(xué)學(xué) 號(hào)號(hào): 021211229 指導(dǎo)教師指導(dǎo)教師: 華 勇 學(xué)年學(xué)期學(xué)年學(xué)期: 2013 2014 學(xué)年 第 2 學(xué)期時(shí)時(shí) 間間: 2014.05.122014.06.13 單片機(jī)系統(tǒng)開發(fā)與應(yīng)用工程實(shí)習(xí)報(bào)告1摘要: 單片機(jī)是把主要計(jì)算機(jī)功能部件都集成在一塊芯片上的微型計(jì)算機(jī)。它是一種集計(jì)數(shù)和多接口于一體的微控制器,被廣泛應(yīng)用在智能
2、產(chǎn)品和工業(yè)自動(dòng)化上,而 AT89S52 單片機(jī)是單片機(jī)中較為典型和有代表性的一種。本次實(shí)習(xí)的主要任務(wù)是設(shè)計(jì)一個(gè)比賽記分牌,包括硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件設(shè)計(jì)的主要任務(wù)是:LED 數(shù)碼管顯示、按鍵控制系統(tǒng)、單片機(jī)主控系統(tǒng)及電源模塊設(shè)計(jì)。軟件設(shè)計(jì)包括:實(shí)現(xiàn)加分、減分及復(fù)位。本文主要介紹了單片機(jī)實(shí)現(xiàn)記分牌的整個(gè)設(shè)計(jì)流程,采用匯編語言編寫程序。本課題選擇 AT89S52 為核心控制元件,設(shè)計(jì)了日常比賽中用到的記分牌。設(shè)計(jì)同時(shí)引用 74LS06 專用驅(qū)動(dòng)芯片,解決了共陰碼字表向共陽的轉(zhuǎn)換,同時(shí)提高了數(shù)碼管的亮度。本項(xiàng)目設(shè)計(jì)的計(jì)分牌系統(tǒng),電路簡單,成本較低,靈敏可靠,操作方便,具有較高的推廣價(jià)值。關(guān)鍵詞:A
3、T89S51 單片機(jī);LED 數(shù)碼管;8255 芯片;匯編;記分牌單片機(jī)系統(tǒng)開發(fā)與應(yīng)用工程實(shí)習(xí)報(bào)告0目目 錄錄()緒論.1(1)系統(tǒng)原理.11.1 設(shè)計(jì)方案.11.2 系統(tǒng)框圖 .11.3 單片機(jī)的時(shí)鐘電路原理 .21.4 單片機(jī)復(fù)位電路工作原理.21.5 單片機(jī)晶振電路工作原理 .31.6 顯示數(shù)碼管原理.5(2)硬件設(shè)計(jì).72.1 按鍵電路的設(shè)計(jì) .72.2 鍵盤顯示電路的設(shè)計(jì) .82.3 芯片介紹.9AT89S51 單片機(jī)引腳 .9(3) 軟件設(shè)計(jì).123.1 程序框圖.12(4)設(shè)計(jì)結(jié)果.144.1 軟件調(diào)試.144.2 設(shè)計(jì)結(jié)果.14(5)課程小結(jié).155.1 課程分析.155.2
4、小結(jié).15(6)附錄.16 上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)1()緒論)緒論單片機(jī)是一個(gè)單芯片形態(tài),面向控制對(duì)象的嵌入式應(yīng)用計(jì)算機(jī)系統(tǒng).它的出現(xiàn)及發(fā)展使計(jì)算機(jī)技術(shù)從通用型數(shù)值計(jì)算領(lǐng)域進(jìn)入到智能化的控制領(lǐng)域。 由于本次設(shè)計(jì)的簡單籃球記分牌體積小,故要求其控制器體積更小以便能嵌入其結(jié)構(gòu)之中。單片機(jī)以微小的體積和編程的靈活性而產(chǎn)生多種控制功能,完全可以滿足需求??梢赃m應(yīng)不同規(guī)則下操作?,F(xiàn)在大多數(shù)比賽活動(dòng)中都會(huì)遇到需要向觀眾和選手展示選手得分的情況,需要用到比賽記分牌。在目前的市場(chǎng)上,普通計(jì)分牌系統(tǒng)都需要幾百塊,價(jià)錢比較高。本項(xiàng)目設(shè)計(jì)的記分牌系統(tǒng),電路簡易
5、,靈敏可靠,具有一定的使用價(jià)值和競(jìng)爭價(jià)值。(1 1)系統(tǒng)原理系統(tǒng)原理1.1 設(shè)計(jì)方案計(jì)分牌主要用途是展示選手的得分情況,當(dāng)選手得分時(shí)記分牌加上相應(yīng)的分?jǐn)?shù),當(dāng)選手失分時(shí)減去相應(yīng)的分?jǐn)?shù)。根據(jù)項(xiàng)目要求進(jìn)行系統(tǒng)設(shè)計(jì)?;?AT89S52 單片機(jī)比賽記分牌,采用 12MHz 晶振。項(xiàng)目具體要求如下: (1) 得分的時(shí)候加上相應(yīng)的分?jǐn)?shù) (2)失分時(shí)減去相應(yīng)的分?jǐn)?shù)。 (3) 計(jì)分范圍設(shè)為 0F。 (4)分別記錄兩個(gè)隊(duì)伍的分?jǐn)?shù)1.2 系統(tǒng)框圖 基于 AT89S52 單片機(jī)比賽計(jì)分牌由顯示模塊、按鍵模塊、單片機(jī)上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)2主控模塊、電源模塊等組
6、成,系統(tǒng)框圖如圖 1-1 所示:電源復(fù)位電路AT89S52單片機(jī)晶振電路顯示電路按鍵電路圖 1-1 基于 AT89S51 單片機(jī)比賽記分牌體統(tǒng)框圖1.3 單片機(jī)的時(shí)鐘電路原理 單片機(jī)本身是一個(gè)復(fù)雜的同步時(shí)序系統(tǒng),為保證同步工作方式的實(shí)現(xiàn),單片機(jī)必須有時(shí)鐘信號(hào),以使其系統(tǒng)在時(shí)鐘信號(hào)的控制下按時(shí)序協(xié)調(diào)工作。單片機(jī)的時(shí)鐘電路由振蕩電路和分頻電路組成。其中震蕩電路由反相器以及并聯(lián)外接的石英晶體和電容構(gòu)成,用于產(chǎn)生振蕩脈沖。而分頻電路則用于把振蕩脈沖分頻,以得到所需要的時(shí)鐘信號(hào)。如圖 1-2圖 1-2 單片機(jī)的時(shí)鐘電路上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)31.4
7、 單片機(jī)復(fù)位電路工作原理復(fù)位是單片機(jī)的初始化操作,其作用是使 CPU 中的各個(gè)部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。當(dāng)單片機(jī)的 ALE 及 兩腳輸出高電平,RST 引腳高電平時(shí),單片機(jī)復(fù)位。單片機(jī)的復(fù)位電路有上電復(fù)位和手動(dòng)按鈕復(fù)位兩種形式,RST/VPD 端的高電平直接由上電瞬間產(chǎn)生高電平則為上電復(fù)位;若通過按鈕產(chǎn)生高電平復(fù)位信號(hào)稱為手動(dòng)按鈕復(fù)位。在實(shí)際應(yīng)用系統(tǒng)中,有些外圍芯片也需要復(fù)位,如果這些復(fù)位端的復(fù)位電平要求與單片機(jī)的要求一致,則可以與之相連。復(fù)位后,P0P3 四個(gè)并行接口全為高電平,其它寄存器全部清零,只有 SBUF 寄存器狀態(tài)不確定。目前,在單片機(jī)體統(tǒng)中共使用 4 種
8、類型的復(fù)位電路,分別為:積分型電路、微分型電路、比較器型和看門狗型。其中前三種是在芯片外面用分立元件或集成電路芯片搭建的,而最后一種位于芯片內(nèi)部,是單片機(jī)芯片的一部分。對(duì)于片外復(fù)位電路,無論哪種類型,加電復(fù)位和手動(dòng)復(fù)位是必不可少的基本功能。如圖 1-3 所示:圖 1-3 復(fù)位原理電路1.5 單片機(jī)晶振電路工作原理每個(gè)單片機(jī)系統(tǒng)里都有晶振,全程是叫晶體震蕩器,在單片機(jī)系統(tǒng)上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)4里晶振的作用非常大,他結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立在這個(gè)基礎(chǔ)上的,晶振的提供的時(shí)鐘頻率越高,那單
9、片機(jī)的運(yùn)行速度也就越快。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。在通常工作條件下,普通的晶振頻率絕對(duì)精度可達(dá)百萬分之五十。高級(jí)的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器(VCO)。 晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。通常一個(gè)系統(tǒng)共用一個(gè)晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調(diào)整頻率的方法保持同步。 晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時(shí)鐘頻率。如果不同子系統(tǒng)需要不同頻率的時(shí)鐘信號(hào),可以用與同一個(gè)晶振相連的不同鎖相環(huán)來提供。下面具體的介紹一下晶振的作用以及原理,晶振一
10、般采用如圖 1-4a 的電容三端式(考畢茲) 交流等效振蕩電路;實(shí)際的晶振交流等效電路如圖1-4b,其中 Cv 是用來調(diào)節(jié)振蕩頻率,一般用變?nèi)荻O管加上不同的反偏電壓來實(shí)現(xiàn),這也是壓控作用的機(jī)理;把晶體的等效電路代替晶體后如圖 1-4c。其中 Co,C1,L1,RR 是晶體的等效電路。圖 1-4 晶振電路及其等效槽路分析整個(gè)振蕩槽路可知,利用 Cv 來改變頻率是有限的:決定振蕩頻上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)5率的整個(gè)槽路電容 C=Cbe,Cce,Cv 三個(gè)電容串聯(lián)后和 Co 并聯(lián)再和 C1 串聯(lián)??梢钥闯觯篊1 越小,Co 越大,Cv 變化時(shí)對(duì)
11、整個(gè)槽路電容的作用就越小。因而能“壓控”的頻率范圍也越小。實(shí)際上,由于 C1 很小(1E-15 量級(jí)),Co 不能忽略(1E-12 量級(jí),幾 PF)。所以,Cv 變大時(shí),降低槽路頻率的作用越來越小,Cv 變小時(shí),升高槽路頻率的作用卻越來越大。這一方面引起壓控特性的非線性,壓控范圍越大,非線性就越厲害;另一方面,分給振蕩的反饋電壓(Cbe 上的電壓)卻越來越小,最后導(dǎo)致停振。通過晶振的原理圖你應(yīng)該大致了解了晶振的作用以及工作過程了吧。采用泛音次數(shù)越高的晶振,其等效電容 C1 就越??;因此頻率的變化范圍也就越小。微控制器的時(shí)鐘源可以分為兩類:基于機(jī)械諧振器件的時(shí)鐘源,如晶振、陶瓷諧振槽路;RC(電
12、阻、電容)振蕩器。一種是皮爾斯振蕩器配置,適用于晶振和陶瓷諧振槽路。另一種為簡單的分立 RC 振蕩器。用萬用表測(cè)量晶體振蕩器是否工作的方法:測(cè)量兩個(gè)引腳電壓是否是芯片工作電壓的一半,比如工作電壓是 51 單片機(jī)的+5V 則是否是 2.5V左右。另外如果用鑷子碰晶體另外一個(gè)腳,這個(gè)電壓有明顯變化,證明是起振了的。晶振的類型有 SMD 和 DIP 型,即貼片和插腳型 。其中 DIP:常用尺寸有 HC-49U/T,HC-49S,UM-1,UM-5,這些都是MHZ 單位的。1.6 顯示數(shù)碼管原理數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能
13、顯示多少個(gè)“8”可分為 1 位、2 位、4 位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)6二極管的陽極接到一起形成公共陽極 (COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極 COM 接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM 接到地線 GND 上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段
14、就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(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ù)碼管的選通控制打開,
15、該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為 12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。下圖 1-5 分別為共陽極和共陰極數(shù)碼管引腳圖:上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)7圖 1-5 左為共陽極 右為共陰極引腳結(jié)構(gòu)(2 2)硬件設(shè)計(jì))硬件設(shè)
16、計(jì)2.1 按鍵電路的設(shè)計(jì)本次實(shí)驗(yàn)用了兩個(gè)按鍵電路:加一電路和減一電路。兩個(gè)按鍵電路都是通過手動(dòng)按下按鍵拉低電平來分別實(shí)現(xiàn)相應(yīng)的加減功能。按鍵電路接線圖如圖 2-1 所示:上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)8圖 2-1 按鍵電路連線圖2.2 鍵盤顯示電路的設(shè)計(jì)數(shù)碼管采用共陽極的接法,8 個(gè)發(fā)光二極管與 8255 芯片的 B 口相連,以 B 口控制段選。Com 端與 8255 芯片的 A 口相連,以此控制位選。具體接線圖如圖 2-2 所示:上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)9圖 2-2 顯示電路連線圖2.3 芯
17、片介紹AT89S51 單片機(jī)引腳功能特性:AT89S51 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。使用 Atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造 ,與工業(yè) 80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得 AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能 :8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)
18、 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)102 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下, CPU 停止工作,允許 RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下, RAM 內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 FLASH AT89S52P0 口。其引腳結(jié)構(gòu)如圖 2-3:圖 2-3 AT89S51 引腳圖8255 芯片引腳8
19、255 是 Intel 公司生產(chǎn)的可編程并行 I/O 接口芯片,有 3 個(gè) 8 位并行 I/O 口。具有 3 個(gè)通道 3 種工作方式的可編程并行接口芯片(40 引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255 可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。8255 作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的 3 個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口 A、B、C 口。由于 8255 可編程,所以必須具有邏輯控制部分,因而8255 內(nèi)部結(jié)構(gòu)分為 3 個(gè)部分:與 CPU 連接部分、與外設(shè)連接部分、控制部分。其引腳圖如圖 2-4 所示:上海工程技術(shù)大學(xué)
20、課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)11圖 2-4 8255 引腳圖2.4 芯片接口圖 根據(jù)分析設(shè)計(jì),設(shè)計(jì)出基于 AT89S51 單片機(jī)的比賽計(jì)分牌電路原理圖如圖 2-5 所示。電源電路為單片機(jī)以及其他模塊提供標(biāo)準(zhǔn) 5V 電源。晶振模塊為單片機(jī)提供時(shí)鐘標(biāo)準(zhǔn),使系統(tǒng)各部分能協(xié)調(diào)工作。復(fù)位電路為單片機(jī)提供復(fù)位功能。單片機(jī)作為主控制器,根據(jù)輸入信號(hào)對(duì)系統(tǒng)進(jìn)行相應(yīng)的控制。數(shù)碼管顯示選手當(dāng)前的得分。按鍵設(shè)置模塊用來刷新選手的得分,當(dāng)選手得分或者失分時(shí)可以通過這兩個(gè)按鈕對(duì)選手分?jǐn)?shù)重新設(shè)置。上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)12XTAL2
21、18XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/
22、T115U180C51D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U28255A12U3:A74LS0412121212121212121212121212345678201918171615141391012111234567820191817161514139101211X1CRYSTALC110
23、00uC21000u12121212圖 2-5 比賽記分牌的原理圖(3 3) 軟件設(shè)計(jì)軟件設(shè)計(jì)3.1 程序框圖單片機(jī)開始運(yùn)行時(shí)顯示選手 0 分,數(shù)碼管顯示 0,主程序循環(huán)調(diào)用顯示選手得分,見掃描程序循環(huán)執(zhí)行,當(dāng)判斷有鍵按下時(shí),跳轉(zhuǎn)子程序程序,執(zhí)行左右記分牌的加減分程序,并在數(shù)碼管顯示。具體如圖 3-1顯示:上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)13 圖 3-1 程序流程圖上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)14(4 4)設(shè)計(jì)結(jié)果)設(shè)計(jì)結(jié)果4.1 軟件調(diào)試單片機(jī)系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,許多硬件錯(cuò)誤時(shí)在
24、軟件調(diào)試的過程中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結(jié)合起來調(diào)試以進(jìn)一步排除故障??梢娪布恼{(diào)試是基礎(chǔ),如果硬件調(diào)試不通過,軟件設(shè)計(jì)則無從做起。但是由于本次課程設(shè)計(jì)時(shí)使用的實(shí)驗(yàn)箱子內(nèi)部的接線是已經(jīng)接好的,所以硬件調(diào)試部分只要保證通訊口連接正常,模塊地址連接無誤即可。而軟件調(diào)試時(shí)由于此次程序設(shè)計(jì)跳轉(zhuǎn)子程序較多且按鍵標(biāo)志 FLAG 的標(biāo)志置位比較復(fù)雜,所以執(zhí)行程序時(shí)采用單步跟蹤跳轉(zhuǎn),這樣才能即使發(fā)現(xiàn)具體的設(shè)計(jì)不合理的地方并進(jìn)行修改。另外,具體調(diào)試時(shí)分模塊進(jìn)行,如顯示模塊,按鍵模塊,加一減一模塊等,各模塊均調(diào)試正常后再進(jìn)行總體的調(diào)試。4.2 設(shè)計(jì)結(jié)果調(diào)試完畢后,運(yùn)行程序所得結(jié)果
25、如圖 4-1 所示:(5 5)課程小結(jié))課程小結(jié)5.1 課程分析此次課程設(shè)計(jì)的課題由于實(shí)驗(yàn)箱子內(nèi)部接線電路的限制,與鍵盤和顯示管位選腳相連的 8255 的 A 口需要一直在輸入輸出口之間轉(zhuǎn)換,所以無法保持顯示燈管常亮。一開始的時(shí)候并不是很了解這個(gè)情況,所以我們嘗試讓顯示子程序循環(huán)跳轉(zhuǎn)的方式解決,但是發(fā)現(xiàn)這樣雖然可以使燈上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)15管常亮,但是無法與鍵盤掃描子程序銜接。所以只能退而求其次,按鍵的時(shí)候顯示管亮。另外一個(gè)問題是按鍵后加一減一的鎖定,不設(shè)標(biāo)志位時(shí),按下鍵后會(huì)持續(xù)的加一和減一,所以我們后來想了個(gè)辦法,就是給加一或減一的
26、程序設(shè)定一個(gè)前提條件,利用 FLAG 的高低電平來控制。最后經(jīng)過整體的調(diào)整,能夠?qū)崿F(xiàn)按一下鍵,加/減一個(gè)數(shù)的功能。軟件設(shè)計(jì)的過程中,還碰到過一些程序跳轉(zhuǎn)返回順序的問題,但是都通過單步跟蹤執(zhí)行的方法成功解決了。5.2 小結(jié)通過四周的努力,本次課程設(shè)計(jì)任務(wù)終于能夠成功,系統(tǒng)部分功能能夠?qū)崿F(xiàn)。通過設(shè)計(jì)調(diào)整軟件能夠?qū)崿F(xiàn)基本計(jì)分功能。該設(shè)計(jì)通過制作記分牌,將幾個(gè)模塊有機(jī)融合起來,對(duì)使用單片機(jī)設(shè)計(jì)記分牌進(jìn)行了分析設(shè)計(jì),并介紹了基于單片機(jī)比賽記分牌的硬件組成,功能模塊清晰,編程時(shí),根據(jù)硬件來分模塊編程。當(dāng)然這中間也還是有許多不足之處,一開始電路不是很穩(wěn)定,尤其是數(shù)碼管部分,最開始是不亮,然后是按設(shè)計(jì)要求應(yīng)是
27、每次加一或減一,有時(shí)也會(huì)出現(xiàn)亂碼或加減混亂的情況,后來通過查找資料,不斷調(diào)試,請(qǐng)教老師才將問題一個(gè)個(gè)解決。這次的單片機(jī)課程設(shè)計(jì)使我收益頗豐,最終完成這個(gè)簡易的比賽記分牌,對(duì)整個(gè)的過程更加熟悉,對(duì)其中的原理更加清晰。課程設(shè)計(jì)是本科學(xué)習(xí)階段很有價(jià)值的理論與實(shí)踐相結(jié)合的機(jī)會(huì)。這次比賽記分牌的設(shè)計(jì)提高了我運(yùn)用所學(xué)的專業(yè)基礎(chǔ)課來解決實(shí)際問題的能力,看到了單片機(jī)應(yīng)用的實(shí)際價(jià)值。最后,此次單片機(jī)課程設(shè)計(jì)過程使我們認(rèn)識(shí)到自身知識(shí)及能力的薄弱,更讓我們知道實(shí)踐的重要性。在以后的學(xué)習(xí)過程中,我們會(huì)更加努力學(xué)習(xí)單片機(jī)的相關(guān)知識(shí)和應(yīng)用,真正能夠運(yùn)用單片機(jī)組成的微控制系統(tǒng)解決各種實(shí)際的問題。上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論
28、文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)16(6 6)附錄)附錄程序代碼C8255 EQU 0F22BH ;8255 命令口地址P8255A EQU 0F228H ;8255 PA 口地址P8255B EQU 0F229H ;8255 PB 口地址P8255C EQU 0F22AH ;8255 PC 口地址COUNT EQU 30HCOUNT2 EQU 60H NUM EQU 40HFLAG EQU 50HYFLAG EQU 70H ORG 0000H LJMP START ORG 0100HSTART: MOV SP,#60H MOV FLAG,#00H MOV YFLAG,#00
29、H MOV COUNT,#00H MOV COUNT2,#00H MOV R2,#0FEH;位碼初始值 MOV DPTR,#C8255 MOV A,#90H ;PC 口輸出,PA 輸入,PB 口輸出 MOVX DPTR,A MOV DPTR,#P8255C 上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)17 MOV A,#00H MOVX DPTR,AKB_DIS: LCALL RD_KB ;讀鍵子程序 MOV A,YFLAG JNZ YKB_XSHIKB_XSHI: MOV DPTR,#C8255 MOV A,#90H ;PC 口輸入,PA,PB 口輸出 MO
30、VX DPTR,A MOV DPTR,#SMBIAO LCALL XSHI ;顯示子程序 LCALL KB_DIS ;循環(huán)掃描 XSHI: MOV A,COUNTANL A,#0FHMOVC A,A+DPTRMOV DPTR,#P8255BMOVX DPTR,AMOV A,R2MOV DPTR,#P8255AMOVX DPTR,ALCALL DELRETYKB_XSHI: 上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)18 MOV DPTR,#C8255 MOV A,#90H ;PC 口輸入,PA,PB 口輸出 MOVX DPTR,A MOV DPTR,#SMB
31、IAO LCALL YXSHI ;顯示子程序 LCALL KB_DIS ;循環(huán)掃描 YXSHI: MOV A,COUNT2ANL A,#0FHMOVC A,A+DPTRMOV DPTR,#P8255BMOVX DPTR,AMOV A,R2MOV DPTR,#P8255AMOVX DPTR,ALCALL DELRET DEL: MOV R7,#10HDEL1: MOV R6,#200HDEL4:MOV R5,#250HDJNZR5,$DJNZR6,DEL4DJNZR7,DEL1RETRD_KB:上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)19 MOV DPTR,
32、#C8255 MOV A,#90H ;PC 口輸出,PA 輸入,PB 口輸出 MOVX DPTR,A MOV A,#02H ;鍵盤掃描第一行 MOV DPTR,#P8255C MOVX DPTR, A MOV DPTR,#P8255A MOVX A,DPTR MOVNUM,A CPLA JZUNFLAG UFLAG: MOV A,NUM CJNE A,#0FFH,KEY_L0 RETUNFLAG: MOV FLAG,#00H JMPUFLAGKEY_L0: LCALL DELAY22 ;延時(shí)消抖 ;MOV DPTR,#P8255B ;讀鍵值 MOV DPTR,#P8255A MOVX A,DPTR CPLA MOVNUM,A上海工程技術(shù)大學(xué)課程設(shè)計(jì)(論文) 基于 AT89S51 單片機(jī)的比賽記分牌設(shè)計(jì)20 ANLA,#01H JNZJIAYIMOVA,NUMANL A,#02H JNZJIANYI MOVA,NUMANL A,#40HJNZYJIAYIMOVA,NUMANL A,#80HJNZYJIANY
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理健康在醫(yī)療康復(fù)中的重要作用研究
- 教育大數(shù)據(jù)在學(xué)習(xí)成果評(píng)價(jià)中的價(jià)值研究
- 智慧城市的公共服務(wù)創(chuàng)新與優(yōu)化
- 幼兒教育機(jī)構(gòu)的數(shù)據(jù)收集與決策支持
- 學(xué)生行為背后的動(dòng)機(jī)與需求分析
- 中國包裝設(shè)計(jì)行業(yè)市場(chǎng)發(fā)展前瞻及投資戰(zhàn)略研究報(bào)告2025-2028版
- 2025年中國高鉻合金鋼段行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年中國臺(tái)/壁扇電機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 新生兒人工皮的臨床使用規(guī)范與實(shí)踐
- 聯(lián)系交互設(shè)備采購合同
- 同聲傳譯考試大綱
- 初中英語2023年中考專題訓(xùn)練任務(wù)型閱讀-判斷正誤篇
- 2022年江西南昌高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)人民檢察院聘用制檢察輔助人員招聘考試真題
- 小學(xué)安全隱患排查表
- 測(cè)控電路課程設(shè)計(jì)報(bào)告-信號(hào)采集調(diào)理電路的設(shè)計(jì)【完整版】
- 銀行業(yè)法律法規(guī)與綜合能力經(jīng)濟(jì)基礎(chǔ)知識(shí)課
- 套管開窗側(cè)鉆技術(shù)
- 2023-2024學(xué)年山西省長治市小學(xué)語文五年級(jí)期末??碱}詳細(xì)參考答案解析
- 淘寶客服銷售技巧-客戶分析
- 現(xiàn)代物流管理(第三版-錢廷仙)課件3.物流成本核算特點(diǎn)與內(nèi)容
- 混凝土結(jié)構(gòu)下冊(cè)第章鋼筋混凝土框架結(jié)構(gòu)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論