【電氣設(shè)計(jì)自動(dòng)化論文】多功能秒表設(shè)計(jì)
【電氣設(shè)計(jì)自動(dòng)化論文】多功能秒表設(shè)計(jì),電氣設(shè)計(jì),自動(dòng)化,論文,多功能,秒表,設(shè)計(jì)
本科畢業(yè)論文(設(shè)計(jì))( 2015 屆)多功能秒表設(shè)計(jì)院 系 電子信息工程學(xué)院 專 業(yè) 電氣工程及其自動(dòng)化姓 名 指導(dǎo)教師 助教 2015 年 4 月學(xué)號(hào):I摘 要本次設(shè)計(jì)的內(nèi)容是以 STC89C52 單片機(jī)為控制核心的秒表。設(shè)計(jì)的主要內(nèi)容為計(jì)時(shí)器從 00~99 秒的計(jì)時(shí),每秒種自動(dòng)加 1,另外還設(shè)置有暫停鍵和復(fù)位鍵等按鍵,在任何情況下都可以實(shí)現(xiàn)暫停和復(fù)位功能。利用單片機(jī)定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED 數(shù)碼管以及外部中斷電路來設(shè)計(jì)的計(jì)時(shí)器。此次設(shè)計(jì)將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn) 2 位 LED 數(shù)碼管顯示,顯示時(shí)間為 00~99 秒,同時(shí)計(jì)時(shí)精度為1 秒,并且能夠正確地進(jìn)行計(jì)時(shí)。其中軟件系統(tǒng)采用 C 語言編寫程序,包括顯示子程序、中斷服務(wù)、外部中斷服務(wù)子程序和復(fù)位子程序等。關(guān)鍵詞:單片機(jī); 數(shù)碼管; C 語言;合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))IIAbstractThis design content for the stopwatch with AT89C52 single-chip computer as the core. Design of the main characteristics of the timer timing from 00 to 99 seconds, automatically add 1 every second, and also set a pause button and reset button, under any circumstances can suspend and reset. Use of single-chip timer/counter timing and number of principles, combined with the display circuit, LED digital tube circuit to design the timer and external interrupt. The software and hardware organically, enables the system to realize the two LED display, display time is 00 ~ 99 seconds, timing accuracy for one second, time properly. Software system using C language program, including display program, interrupt service, external interrupt service routine, reset the program, etc.Keywords : MCU; LED; C language;III目 錄摘 要 IAbstract .II1 引 言 .- 1 -1.1 研究背景 .- 1 -1.2 研究的意義與方法 - 1 -2 電路方案論證 - 2 -2.1 單片機(jī)芯片的選擇方案和論證: .- 2 -2.1.1 采用 STC89C51 單片機(jī) .- 2 -2.1.2 采用 STC89C52 單片機(jī) .- 2 -2.2 顯示模塊選擇方案和論證: .- 2 -2.2.1 采用 LED 液晶顯示屏 .- 2 -2.2.2 采用 LED 數(shù)碼管顯示 .- 3 -2.3 小結(jié) - 3 -3 系統(tǒng)硬件電路設(shè)計(jì) - 3 -3.1 STC89C52 芯片 - 3 -3.1.1 概述 .- 3 -3.1.2 STC89C52 主要特性 - 3 -3.1.3 STC89C52 管腳說明 - 4 -3.2 LED 數(shù)碼管顯示器概述 .- 5 -3.2.1 數(shù)碼管的分類 .- 5 -3.2.2 數(shù)碼管的連接方法 .- 5 -3.3 總體設(shè)計(jì)方案 - 6 -3.4 部分電路設(shè)計(jì) - 7 -3.4.1 晶振電路 - 7 -3.4.2 按鍵部分電路接線 .- 7 -3.4.3 顯示電路 .- 8 -3.4.4 復(fù)位電路 .- 8 -4 系統(tǒng)程序的設(shè)計(jì) - 9 -4.1 主程序設(shè)計(jì) - 9 -4.2 定時(shí)器 T0 子程序設(shè)計(jì) - 10 -5 聯(lián)調(diào)與調(diào)試 .- 10 -合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))IV5.1 仿真調(diào)試 - 10 -5.2 硬件調(diào)試 - 12 -結(jié)論與展望 .- 13 -致 謝 .- 14 -參考文獻(xiàn) .- 15 -附 錄 A 系統(tǒng)原理圖 .- 16 -附 錄 B 系統(tǒng)仿真圖與實(shí)物圖 .- 17 -附 錄 C 系統(tǒng) PCB 圖 .- 18 -附 錄 D 系統(tǒng)源程序 .- 19 -- 1 -1 引 言1.1 研究背景在生活和生產(chǎn)的各領(lǐng)域中,凡是有自動(dòng)控制要求的地方都會(huì)伴隨著單片機(jī)的身影出現(xiàn);從簡單到復(fù)雜,從空中、地面到地下,只要是能想象到的地方幾乎都有使用單片的需求。現(xiàn)在盡管單片機(jī)的應(yīng)用已經(jīng)非常廣泛,但仍有許多可以用單片機(jī)控制而尚未實(shí)現(xiàn)的項(xiàng)目,因此,單片機(jī)的應(yīng)用大有想象和拓展空間。 簡單的來說單片機(jī)就是微型控制器,它是嵌入式系統(tǒng)中的非常重要且發(fā)展快速的組成部分。當(dāng)單片機(jī)接上晶振電路、復(fù)位電路和接口電路等且載入軟件后,就可以構(gòu)成單片機(jī)應(yīng)用系統(tǒng)。將單片機(jī)嵌入到形形色色的應(yīng)用系統(tǒng)中時(shí),它就會(huì)成為眾多產(chǎn)品、設(shè)備的智能化核心。所以,很多生產(chǎn)企業(yè)將單片機(jī)稱為“微電腦”。單片機(jī)的廣泛應(yīng)用有利于產(chǎn)品的微型化、多功能化和智能化,有助于顯著提高勞動(dòng)生產(chǎn)效率,減輕勞動(dòng)強(qiáng)度,提高產(chǎn)品質(zhì)量,改善勞動(dòng)環(huán)境,減少能源和材料消耗,保證安全等。 但是,單片機(jī)應(yīng)用的意義絕不僅限于它的廣闊的應(yīng)用范圍以及所帶來的經(jīng)濟(jì)效益上,更重要的意義還在于:單片機(jī)的應(yīng)用正在從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。以前,必須要模擬電路或數(shù)字電路才能實(shí)現(xiàn)的大部分功能,現(xiàn)在已能使用單片機(jī)通過軟件編程方法實(shí)現(xiàn)了。這種以軟件取代硬件并提高系統(tǒng)性能的控制系統(tǒng)“軟化”技術(shù),稱之為微控制技術(shù)。微控制技術(shù)是一種全新的概念,是對(duì)傳統(tǒng)控制技術(shù)的一次重大革命。隨著單片機(jī)應(yīng)用的推廣和普及,微控制技術(shù)一定將不斷發(fā)展、日益完善和更加充實(shí)。近年來隨著計(jì)算機(jī)在社會(huì)各領(lǐng)域的崛起, 單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用的。因此,僅有單片機(jī)方面知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象的特點(diǎn)等,實(shí)現(xiàn)軟、硬件的結(jié)合,以作完善。本篇論文討論了簡單的計(jì)時(shí)器的設(shè)計(jì)與制作過程 ,對(duì)于計(jì)時(shí)器中的LED數(shù)碼顯示器來說,我為了簡化線路、降低成本,采用以軟件為主的接口方法,即不使用專門的硬件譯碼器,直接由單片機(jī)驅(qū)動(dòng)數(shù)碼管。1.2 研究的意義與方法當(dāng)今社會(huì)在很多重要比賽中,都要用到時(shí)間的長短來衡量比賽的結(jié)果,比如在藍(lán)球比合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 2 -賽中,球隊(duì)雙方控球的時(shí)間都不能超過 24s ,即進(jìn)攻方必須在 24s 內(nèi)一定要投藍(lán)出手,否則違例;另外知識(shí)比賽中必須在相應(yīng)的時(shí)間內(nèi)回答完所有提出的問題等等。為了使參加比賽隊(duì)員和裁判都能夠準(zhǔn)確地掌握和控制好時(shí)間,必須在比賽場(chǎng)地邊豎起一個(gè)秒表計(jì)時(shí)器,以便讓比賽隊(duì)員和裁判以及觀眾都能夠清楚地看到時(shí)間。基于此種設(shè)想, 我們用 STC 公司生產(chǎn)的簡化單片機(jī)(STC89C52) 加上少許的外圍電路就可以很容易做成一個(gè) 00 到99S 范圍內(nèi)的秒表計(jì)時(shí)器。本文的目的在于從硬件和軟件的基礎(chǔ)上具體分析其設(shè)計(jì)和制作方法。主機(jī)包括定時(shí)器輸入電路、時(shí)鐘電路、電源電路、按鍵控制電路、LED 顯示電路等。此外,主機(jī)的信息交換方式采用串行通信方式,設(shè)置三個(gè)簡易按鍵分別控制時(shí)鐘的開始/繼續(xù)、暫停和清零(復(fù)位);顯示 LED 采用 7 段共陰極數(shù)碼管,用來滿足較遠(yuǎn)距離清晰顯示。2 電路方案論證2.1 單片機(jī)芯片的選擇方案和論證:2.1.1 采用 STC89C51 單片機(jī)若采用 STC89C51 芯片作為硬件核心,其 ROM 存儲(chǔ)器采用 Flash ROM,內(nèi)部僅具有4KB 的 ROM 存儲(chǔ)空間,可以于 3V 的超低壓下工作 ,并且與 MCS-51 系列單片機(jī)完全兼容,但是,由于運(yùn)用于電路設(shè)計(jì)中時(shí) STC89C51 單片機(jī)不具備 ISP 在線編程技術(shù), 且在對(duì)電路進(jìn)行調(diào)試時(shí),因?yàn)槌绦虻腻e(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦虻仍?,可能芯片的多次插拔?huì)對(duì)芯片造成一定程度的損壞。2.1.2 采用 STC89C52 單片機(jī)若采用 STC89C52,片內(nèi) ROM 全部都采用 Flash ROM 技術(shù);并且也可在 3V 的超底壓下工作;同時(shí)也與 MCS-51 系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為 8KB 的 ROM 存儲(chǔ)空間,同樣具有 STC89C51 的功能,而且具有在線編程可擦寫技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的新增功能需要燒入程序或?qū)Τ绦虻腻e(cuò)誤修改時(shí),不需要再對(duì)芯片進(jìn)行多次拔插,因此不會(huì)對(duì)芯片造成較大損壞。綜上論證,所以我選擇采用 STC89C52 作為控制系統(tǒng)核心。2.2 顯示模塊選擇方案和論證:合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 3 -2.2.1 采用 LED 液晶顯示屏若采用 LED 液晶顯示屏,液晶顯示屏具有顯示功能強(qiáng)大且可顯示大量圖形、文字,顯示內(nèi)容多樣,清晰可見,但是價(jià)格非常昂貴,需要的接口線較多,因此在此次設(shè)計(jì)中不會(huì)采用 LED 液晶顯示屏。2.2.2 采用 LED 數(shù)碼管顯示若采用 LED 數(shù)碼管靜態(tài)掃描顯示,LED 數(shù)碼管價(jià)格相對(duì)適中,對(duì)于顯示數(shù)字最合適,而且采用靜態(tài)掃描法與單片機(jī)連接時(shí),顯示穩(wěn)定且亮度較強(qiáng)。所以我采用了 LED 數(shù)碼管作為顯示器件。2.3 小結(jié)綜上各方案所述,對(duì)此次作品的方案選定: 我選擇采用 STC89C52 作為主控制系統(tǒng); LED 數(shù)碼管的靜態(tài)掃描作為顯示器件。3 系統(tǒng)硬件電路設(shè)計(jì)3.1 STC89C52芯片3.1.1 概述 STC89C52 是一款高性能,低功耗的 CMOS 8 位單片機(jī),且單片機(jī)內(nèi)部含有 8k Bytes ISP(In-system programmable)的可反復(fù)擦寫 1000 多次的 Flash ROM,多數(shù)器件采用 STC公司的高密度、非易失性存儲(chǔ)技術(shù)制造,可兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)及 80C51 引腳的結(jié)構(gòu),芯片內(nèi)集成了通用的 ISP Flash 存儲(chǔ)單元和 8 位中央處理器。此種功能強(qiáng)大的微型計(jì)算機(jī) STC89C52 可以為大多數(shù)的嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方法。另外STC89C52 單片機(jī)也為很多的嵌入式控制系統(tǒng)提供了一種靈活性更高且價(jià)格低廉的設(shè)計(jì)方案。 其工作電壓一般在 4.5-5V,很多情況下我們選用+5V 電壓作為 STC89C52 的驅(qū)動(dòng)電壓。3.1.2 STC89C52 主要特性合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 4 -XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1STC89C52圖 3.1 STC89C52·具有8K字節(jié)可編程閃爍存儲(chǔ)器 ·壽命:100多次擦/寫循環(huán)·數(shù)據(jù)保留時(shí)間:10年左右·全靜態(tài)工作:0Hz-24MHz·具有三級(jí)程序存儲(chǔ)器鎖定·128×8位的內(nèi)部隨機(jī)存儲(chǔ)器·32位可編程I/O線·含有兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 、兩個(gè)中斷優(yōu)先級(jí)·具有可編程串行通道·低功耗的閑置和掉電模式·時(shí)鐘電路和片內(nèi)振蕩器等3.1.3 STC89C52 管腳說明(1) 時(shí)鐘及電源引腳(4個(gè))Vcc: 為電源接入引腳;Vss:為接地引腳;XTAL1:晶振震蕩器接入的其中一個(gè)引腳(若采用外部振蕩器時(shí),此引腳接地);XTAL2:晶體振蕩器接入的另一個(gè)引腳(若采用外部振蕩器時(shí),此引腳作為外部振蕩器信號(hào)的輸入端);(2)控制線引腳(4個(gè))RST/Vpd:復(fù)位信號(hào)輸入引腳/備用電源輸入引腳;ALE:地址鎖存允許信號(hào)輸出引腳/編程脈沖輸入引腳:EA:內(nèi)外存儲(chǔ)器選擇引腳/片外EPROM編程電壓輸入引腳;PSEN:外部程序存儲(chǔ)器選通信號(hào)輸出引腳;合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 5 -(3)并行I/O引腳P0.0-P0.7:為一般I/O口引腳或數(shù)據(jù)/低位地址總線復(fù)用引腳,需上拉電阻;P1.0-P1.7:為一般I/O口引腳,不需上拉電阻;P2.0-P2.7:為一般I/O口引腳或高位地址總線引腳,不需上拉電阻;P3.0-P3.7:為一般I/O口引腳或第二功能引腳,不需上拉電阻;3.2 LED 數(shù)碼管顯示器概述本設(shè)計(jì)中采用的是 7SEG–COM –CATHODE 型號(hào)數(shù)碼管,它是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。實(shí)物如圖 2 所示:圖 3.2 7SEG–COM –CATHODE3.2.1 數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管等,八段數(shù)碼管比七段數(shù)碼管多了一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示位);數(shù)碼管按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;數(shù)碼管按發(fā)光二極管單元連接方式不同可分為共陰極數(shù)碼管和共陽極數(shù)碼管等。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極連接到一起構(gòu)成公共陰極(COM)的數(shù)碼管。共陰極數(shù)碼管在應(yīng)用時(shí)必須將公共極(COM)接到地線GND上,當(dāng)某一字段發(fā)光二極管的合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 6 -陽極為高電平時(shí),相應(yīng)字段就會(huì)被點(diǎn)亮;當(dāng)某一字段的陽極為低電平時(shí),此時(shí)相應(yīng)字段就不會(huì)被點(diǎn)亮。共陽極數(shù)碼管在應(yīng)用時(shí)要將公共極(COM)接到+5V電源上,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),此時(shí)相應(yīng)的字段就會(huì)被點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不會(huì)被點(diǎn)亮。3.2.2 數(shù)碼管的連接方法(1)共陽極的連接方法。把發(fā)光二極管的陽極全部連接在一起形成公共陽極,使用時(shí)公共陽極接到+5V電源上,每個(gè)發(fā)光二極管的陰極通過合適的電阻且與輸入端相連。 (2)共陰極的連接方法。把發(fā)光二極管的陰極連接在一起構(gòu)成公共陰極,使用時(shí)公共的陰極必須接地。每個(gè)發(fā)光二極管的陽極應(yīng)通過相應(yīng)的電阻且與輸入端相連。圖 3.3 LED 數(shù)碼管連接方法3.3 總體設(shè)計(jì)方案本設(shè)計(jì)采用了 STC89C52 單片機(jī)為中心器件,利用其內(nèi)部定時(shí)器/計(jì)數(shù)器定時(shí)計(jì)數(shù)的原理,結(jié)合硬件電路如晶振電路,電源電路,顯示電路和復(fù)位電路等電路,以及一些按鍵電路等來設(shè)計(jì)計(jì)時(shí)器,將軟、硬件有機(jī)的結(jié)合起來,包括計(jì)數(shù)子程序,顯示子程序以及中斷子程序等。硬件系統(tǒng)利用 Protues 強(qiáng)大的仿真功能來實(shí)現(xiàn),簡單且容易觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài),便于修改。其中軟件系統(tǒng)統(tǒng)一采用 C 語言來編寫程序,利用 STC89C52 單片機(jī)來設(shè)計(jì)秒表計(jì)時(shí)器,通過 LED 顯示器來顯示秒的十位和個(gè)位,在設(shè)計(jì)過程中用一個(gè)存儲(chǔ)單元作為秒的計(jì)數(shù)單元,當(dāng)一秒鐘到來時(shí),就讓秒計(jì)數(shù)單元加1,當(dāng)秒計(jì)數(shù)達(dá)到 99 時(shí),就自動(dòng)返回到 0,重新開始秒計(jì)數(shù)。在設(shè)計(jì)秒表要求一秒定時(shí)時(shí),合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 7 -采用了定時(shí)器和 for 循環(huán)來定時(shí),其中一個(gè)軟件一個(gè)硬件,用單片機(jī)內(nèi)部的定時(shí)器 T0,先將時(shí)鐘初始化,賦入初值 50ms 定時(shí),循環(huán) 20 次來進(jìn)行 1 秒的定時(shí)。然后由定義的變量來進(jìn)行加一運(yùn)算,然后將其值通過 STC89C52 的 P2、P3 口在數(shù)碼管上進(jìn)行顯示。其中在數(shù)碼管顯示時(shí),我在程序中首先定義了一個(gè)關(guān)于數(shù)碼管顯示的字形碼的定義,以便在顯示時(shí)直接調(diào)用即可。電路的結(jié)構(gòu)圖如下:時(shí)鐘電路復(fù)位電路單片機(jī)S T C 8 9 C 5 2顯示電路按鈕電路圖 3.4 結(jié)構(gòu)圖3.4 部分電路設(shè)計(jì)3.4.1 晶振電路STC89C52 單片機(jī)內(nèi)部的晶振電路是一個(gè)高增益的反相放大器,引用 XTAL1 和 XTAL2 分別為反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以設(shè)置為片內(nèi)振蕩器。這里,我們選用 STC89C52 單片機(jī) 12MHZ 的內(nèi)部振蕩方式。電路如下:電容器 C1、C2 起穩(wěn)定振蕩頻率和快速起振的作用,電容 C1 和 C2 可以在20-100PF 之間取值,這里取 22PF,接線時(shí)要使晶體振蕩器 X1 盡可能的接近單片機(jī)。C122pFC222pFX1CRYSTAL合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 8 -圖 3.5 晶振電路3.4.2 按鍵部分電路接線在按鍵電路中,我可以在 I/O 口上直接設(shè)置按鍵,或者通過 I/O 口設(shè)計(jì)一個(gè)鍵盤,然后通過鍵盤掃描程序判斷是否有按鍵按下等。此系統(tǒng)是一個(gè)小系統(tǒng),有足夠的 I/O 口可以使用,為了使程序簡化,我采用按鍵電路并且用部分 P1 口做按鍵開關(guān),P1.0 為開始/繼續(xù)按鍵,P1.3 為暫停按鍵,P1.5 為清零按鍵。此外復(fù)位選擇上電復(fù)位。開 始暫 停清 零圖 3.6 按鍵電路3.4.3 顯示電路顯示電路我采用的是 7 位數(shù)碼管顯示電路。即用 2 個(gè)共陰極 LED 顯示,LED 是七段式顯示器,內(nèi)部有 7 個(gè)條形發(fā)光二極管組成,其工作方式是根據(jù)各二極管的亮滅組合成相應(yīng)的字符。在用數(shù)碼管顯示時(shí),有靜態(tài)掃描和動(dòng)態(tài)掃描兩種選擇,靜態(tài)顯示程序簡單,顯示穩(wěn)定,但是占用端口比較多;動(dòng)態(tài)顯示所使用的端口比較少,但可以節(jié)省單片機(jī)的I/O 口。此設(shè)計(jì)由于電路簡單,有足夠的 I/O 口,為了簡化程序我選擇靜態(tài)顯示連接方式。合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 9 -圖 3.7 數(shù)碼管顯示3.4.4 復(fù)位電路復(fù)位是將單片機(jī)進(jìn)行初始化的操作,除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤是系統(tǒng)處于跑飛狀態(tài)時(shí),為了擺脫困境,也需要按復(fù)位按鍵以便重新啟動(dòng)單片機(jī)。復(fù)位操作有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。在本次設(shè)計(jì)中采用了按鍵電平復(fù)位的方式,其復(fù)位電路如圖所示:復(fù) 位R1220R2220C310uF圖 3.8 復(fù)位電路4 系統(tǒng)程序的設(shè)計(jì)本系統(tǒng)程序主要模塊由主程序、定時(shí)中斷服務(wù)程序、外部中斷 1 服務(wù)程序組成。其中主程序是整個(gè)程序的主體,可以對(duì)各個(gè)中斷程序進(jìn)行調(diào)用,協(xié)調(diào)各個(gè)子程序之間的聯(lián)系。4.1 主程序設(shè)計(jì)合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 10 -系統(tǒng)(上電)復(fù)位后,進(jìn)入主程序,主程序流程圖如下:開始初始化開始按鍵 ?啟動(dòng)定時(shí)器顯示當(dāng)前時(shí)間暫停按鍵 ?記錄當(dāng)前時(shí)間清零按鍵 ?返回開始按鍵 ?N NNYYYYN圖 4.1 主程序流程圖4.2 定時(shí)器 T0 子程序設(shè)計(jì)定時(shí)器 T0 子程序主要功能是溢出中斷,其流程圖如下:合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 11 -開始顯示單元清零T 0 設(shè)為 1 6 位計(jì)時(shí)器模式允許 T 0 中斷進(jìn)入功能程序按鍵按下 ?調(diào)用顯示子程序圖 4.2 定時(shí)器 T0 子程序流程圖5 聯(lián)調(diào)與調(diào)試5.1 仿真調(diào)試系統(tǒng)的調(diào)試開始是把編譯生成的無錯(cuò)誤且后綴名為.hex 的文件加載到 STC89C52 單片機(jī)中,方法是雙擊單片機(jī)彈出一個(gè)對(duì)話框,在 program file 后選擇要添加文件,文件要求必須是 hex 文件。然后可以點(diǎn)擊運(yùn)行觀察現(xiàn)象,當(dāng)出現(xiàn)錯(cuò)誤時(shí),大多都是軟件出了問題,經(jīng)過不斷的進(jìn)行改進(jìn)與調(diào)試。對(duì)按鍵檢測(cè)、加減時(shí)間與按鍵之間產(chǎn)生的不一致、倒計(jì)時(shí)子程序的調(diào)用等軟件的修改后,系統(tǒng)基本實(shí)現(xiàn)了所要設(shè)計(jì)的功能。(1) 經(jīng)過對(duì)程序的運(yùn)行,并用 keil 軟件編譯后,用 proteus 仿真軟件進(jìn)行仿真,按下“開始”按鈕之前,可以看到數(shù)碼管上數(shù)字顯示為零。如圖所示:合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 12 -開 始暫 停清 零復(fù) 位XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732P1.011.2P1.231.34P1.451.56P1.671.78P3.0/RXD103.1/T 1P3.2/INT0123./IT113P3.4/T014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/1427U1STC89C52C12pFC22pFX1CRYSTALR120R220C310uF圖 5.1 開始(2)按下“開始”按鈕計(jì)時(shí)圖:開 始暫 停清 零復(fù) 位XTAL218XTAL119ALE30EA31PSEN29RST9P0./AD039P0.1/A138P0.2/AD237P0.3/A336P0.4/AD435P0.5/A534P0.6/AD63P0.7/A732P1.01P1.2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TX1P3.2/INT012P3./IT113P3.4/T014P3.7/RD17P3.6/W16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2./A10232.3/124P2.4/A1225P2.5/A1326P2.6/A1427U1STC89C52C12pFC22pFX1CRYSTALR120R220C310uF圖 5.2 計(jì)時(shí)(3)最大計(jì)數(shù)范圍 99 秒圖:開 始暫 停清 零復(fù) 位XTAL218XTAL119ALE30EA31PSEN29RST9P0./AD039P0.1/A138P0.2/AD237P0.3/A336P0.4/AD435P0.5/A534P0.6/AD63P0.7/A732P1.01P1.2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TX1P3.2/INT012P3./IT113P3.4/T014P3.7/RD17P3.6/W16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2./A1023P2.3/A124P2.4/A1225P2.5/A1326P2.6/A1427U1STC89C52C12pFC22pFX1CRYSTALR120R220C310uF圖 5.3 最大計(jì)時(shí)數(shù)合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 13 -5.2 硬件調(diào)試1、檢查電路:無論焊接多好的電子電路,在通電之前,都一定要仔細(xì)檢查電路的接線是否有誤,是否有虛焊等情況。在仔細(xì)的對(duì)照電路原理圖的情況下,按照特定的次序逐步逐級(jí)一一對(duì)應(yīng)檢查,尤其需要注意的是,電源連接線是否會(huì)接錯(cuò),電源和地之間是否有短接等情況,二極管方向是否接反,電解電容的極性是否接錯(cuò)等,集成電路和晶體管的引腳是否接錯(cuò),稍微碰一碰元器件,仔細(xì)查看它的焊點(diǎn)是否足夠牢固等。2、通電觀察:在給元器件接通電源之前,必須要調(diào)試好電源所需要電壓數(shù)值,并確定電路板電源接線端是否有短路的現(xiàn)象,若得出無短路現(xiàn)象的結(jié)論,就能給電路接通電源了。電源一經(jīng)接通,必須要趕快去測(cè)試它的特征,像波形、數(shù)據(jù)等可以稍后再測(cè),首要的是觀察接通后元器件有沒有不正?,F(xiàn)象,如冒煙、異常氣味、放電、元器件發(fā)燙等現(xiàn)象。如果有應(yīng)要立即關(guān)斷電源,只有在故障排除后才方可重新接通電源。然后,再測(cè)量每個(gè)集成塊的電源引腳電壓是否正常,以確信集成電路是否已正常通電工作。合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 14 -結(jié)論與展望畢業(yè)設(shè)計(jì)是考察學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題、鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察的過程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中非常活躍的領(lǐng)域,在生活中可以說單片機(jī)是無處不在。因此,對(duì)于二十一世紀(jì)的大學(xué)來說,掌握單片機(jī)的開發(fā)技術(shù)與方法是十分重要的。回顧起此次畢業(yè)設(shè)計(jì)的種種,我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在這些日子里,可以說是苦多于甜,但是在設(shè)計(jì)的過程中,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次畢業(yè)設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不能滿足以后發(fā)展要求的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說是困難重重,難免會(huì)遇到各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中也發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法等。通過這次設(shè)計(jì),把以前所學(xué)過的知識(shí)又重新溫習(xí)了一遍。另外,在做畢業(yè)設(shè)計(jì)的過程中我也進(jìn)一步認(rèn)識(shí)到全面專業(yè)知識(shí)以及邏輯思考方式對(duì)研究問題的重要性,同時(shí)我也更加具體的掌握了畢業(yè)設(shè)計(jì)的基本方法。經(jīng)過不斷的的努力與嘗試我最終圓滿完成了這次畢業(yè)設(shè)計(jì)。總的來說,我學(xué)到了不少的東西,在設(shè)計(jì)過程中遇到了很多的困難,但沒放棄,查閱了許多相關(guān)的書籍,自己獨(dú)立思考和借鑒了前人的許多優(yōu)秀成果,并與所學(xué)的知識(shí)緊密的結(jié)合了起來。我們相信這過程對(duì)今后的學(xué)習(xí)和工作給有著積極的影響。合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 15 -致 謝這次畢業(yè)設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程和硬件電路問題,最后在老師的辛勤指導(dǎo)下,終于完成了設(shè)計(jì)要求。同時(shí),從老師和同學(xué)那里我學(xué)得到很多實(shí)用的知識(shí),在此我對(duì)給予我?guī)椭^的所有同學(xué)和各位指導(dǎo)老師再次表示衷心的感謝!此外,從這次的畢業(yè)設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高。最后,再次向幫助過我的所有人真誠的道一聲謝謝!合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 16 -參考文獻(xiàn)[1] 李朝清.單片機(jī)原理及口技術(shù)[M].北京航空航天大學(xué)出版社.2005.[2] 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大出版社,1995.[3] 王守中. 51 單片機(jī)應(yīng)用開發(fā)速查手冊(cè)[Z].人民郵電出版社.2009.[4] 張毅剛.單片機(jī)原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008:029-535. [5] 張毅剛,彭喜元, 彭宇. 單片機(jī)原理及應(yīng)用[M].北京: 高等教育出版社, 2010.[6] 陳忠平.單片機(jī)原理及接口[M].北京:清華大學(xué)出版社,2007.[7] 張毅剛.基于 Proteus 的單片機(jī)課程的基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì) [M].北京:人民郵電出版社,2012:032-159.[8] 張毅剛,彭喜元, 彭宇. 單片機(jī)原理及應(yīng)用[M].北京: 高等教育出版社, 2010.[9] 樓然苗, 李光飛. 單片機(jī)課程設(shè)計(jì)指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2007.[10] 石秀民.嵌入式系統(tǒng)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007[11] 陳汝全.實(shí)用微機(jī)與單片機(jī)控制技術(shù)[M].北京:電子科技大學(xué)出版社,1998.[12] 譚浩強(qiáng).C 程序設(shè)計(jì)[M](第三版).北京:清華大學(xué)出版社,2005.合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 17 -附 錄 A 系統(tǒng)原理圖P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0 10P3.1 11P3.2 12P3.3 13P3.4 14P3.5 15P3.6 16P3.7 17P2.0 21P2.1 22P2.2 23P2.3 24P2.4 25P2.5 26P2.6 27P2.7 28XTAL119XTAL218RST20PSEN29ALE30EA31U1AT89c51U2CAPU3CAPU4CRYSTALU7RES2U6RES2+C1CAPACITOR POL+5S1SW-PBS3SW-PB4SW-PBS2W-PB1234567abcdefg8GNDabfcgdeDS1REDCC1234567abcdefg8GNDabfcgdeDS2REDCC位位\位位位位位位位位合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 18 -附 錄 B 系統(tǒng)仿真圖與實(shí)物圖開 始暫 停清 零復(fù) 位XTAL218XTAL119ALE30EA31PSEN29RST9P0./AD039P0.1/A138P0.2/AD237P0.3/A336P0.4/AD435P0.5/A534P0.6/AD63P0.7/A732P1.01P1.2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TX1P3.2/INT012P3./IT113P3.4/T014P3.7/RD17P3.6/W16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2./A1023P2.3/A124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C12pFC22pFX1CRYSTALR120R220C310uF合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 19 -附 錄 C 系統(tǒng) PCB 圖合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 20 -附 錄 D 系統(tǒng)源程序#include //頭文件#define uchar unsigned char //宏定義#define uint unsigned int //宏定義//定義位sbit kai=P1^0;sbit zanting=P1^2;sbit fuwei=P1^4;void keyscan(); //函數(shù)聲明uchar a,i;uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(uint z) //延時(shí)程序{uchar i,j;for(i=z;i0;i--) //i=z 即延時(shí)約 z 毫秒for(j=2;j0;j--);}void main() //主程序{a=0;i=0;TMOD=01; //設(shè)置定時(shí)器 0 為工作方式 1TH0=(65536-50000)/256; //裝初值 50ms 一次中斷TL0=(65536-50000)%256; TR0=0;ET0=1; //開定時(shí)器 0 中斷EA=1; //開總中斷P2=table[0];P3=table[0];while(1) //循環(huán)檢測(cè)是否有按鍵按下{keyscan();}}合肥師范學(xué)院 2015 屆畢業(yè)生本科論文(設(shè)計(jì))- 21 -void keyscan() //鍵盤掃描程序{delay(10); //去抖動(dòng)if(!kai) //開始按鍵按下TR0=1;delay(10);if(!zanting ) //暫停按鍵按下TR0=0;delay(10);if(!fuwei) //清零按鍵按下{P2=table[0];P3=table[0];a=0;i=0;TR0=0;}}void time0() interrupt 1{TH0=(65536-50000)/256; //重裝初值TL0=(65536-50000)%256;i++;if(i==20) //如果到了 20 次,說明 1 秒時(shí)間到{i=0; //把 i 清零重新再計(jì) 20 次a++;if(a==100) //如果計(jì)時(shí)到 99 秒,從新從 0 開始a=0;P2=table[a/10];P3=table[a%10];}本 科 畢 業(yè) 論 文 ( 設(shè) 計(jì) ) 開 題 報(bào) 告學(xué) 號(hào) 姓 名 指 導(dǎo) 教 師題目 多功能秒表設(shè)計(jì)課題內(nèi)容:在生活和生產(chǎn)的各領(lǐng)域中,凡是有自動(dòng)控制要求的地方都會(huì)有單片機(jī)的身影出現(xiàn);從簡單到復(fù)雜,從空中、地面到地下,凡是能想像到的地方幾乎都有使用單片的需求。現(xiàn)在盡管單片機(jī)的應(yīng)用已經(jīng)很普遍了,但仍有許多可以用單片機(jī)控制而尚未實(shí)現(xiàn)的項(xiàng)目,因此,單片機(jī)的應(yīng)用大有想像和拓展空間。 單片機(jī)就是微控制器,它是嵌入式系統(tǒng)中的重要且發(fā)展迅速的組成部分。單片機(jī)接上震蕩元件(或震蕩源) 、復(fù)位電路和接口電路,載入軟件后,可以構(gòu)成單片機(jī)應(yīng)用系統(tǒng)。將它嵌入到形形色色的應(yīng)用系統(tǒng)中,它就成為眾多產(chǎn)品、設(shè)備的智能化核心。所以,生產(chǎn)企業(yè)稱單片機(jī)為“微電腦” 。本論文討論了簡單的計(jì)時(shí)器的設(shè)計(jì)與制作,他是利用用芯片 STC89C52 的功能并通過 LED 數(shù)碼管顯示,通過鍵盤可以任意調(diào)整計(jì)時(shí)時(shí)間,它應(yīng)用比較廣泛,通常用于交通燈、體育場(chǎng)地、電子產(chǎn)品等各種領(lǐng)域。計(jì)時(shí)器應(yīng)用十分廣泛,在制作計(jì)時(shí)器時(shí)多采用純數(shù)字電路和模擬電路,電路復(fù)雜功能單一。如今微控技術(shù)應(yīng)用十分廣泛,采用單片機(jī)控制器制作計(jì)時(shí)器電路十分簡單,功能齊全并且可以擴(kuò)展其他功能。數(shù)碼顯示電路采用直接與單片機(jī)接口連接方式更加節(jié)省電路。成本低、功能靈活、使用方便等優(yōu)勢(shì),更加鞏固了單片機(jī)技術(shù)在電子產(chǎn)品制作中的不可替代的作用。近年來隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新?,F(xiàn)在,在許多領(lǐng)域中,定時(shí)器得到了廣泛的應(yīng)用,比如在體育比賽中的計(jì)時(shí)器;安全措施中的定時(shí)報(bào)警器;游戲中的倒計(jì)時(shí);維持秩序的交通信號(hào)燈;紅路燈,交通控制器,鬧鐘等等??梢姷褂?jì)時(shí)器在社會(huì)中的重要性。2課題關(guān)鍵問題及難點(diǎn):①單片機(jī)芯片的選擇②顯示模塊選擇擬采取的方式、方法及計(jì)劃進(jìn)程安排(主要技術(shù)路線):①單片機(jī)芯片的選擇方式:方式一: 采用 89C51 芯片作為硬件核心,采用 Flash ROM,內(nèi)部具有 4KB ROM 存儲(chǔ)空間,能于 3V 的超低壓工作,而且與 MCS-51 系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備 ISP 在線編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。方式二:采用 STC89C52,片內(nèi) ROM 全都采用 Flash ROM;能以 3V 的超底壓工作;同時(shí)也與MCS-51 系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為 8KB ROM 存儲(chǔ)空間,同樣具有 89C51 的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。所以選擇采用 STC89C52 作為主控制系統(tǒng)。②顯示模塊選擇方式:方式一:采用 LED 液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價(jià)格昂貴,需要的接口線多,所以在此設(shè)計(jì)中不采用 LED 液晶顯示屏。方式二:采用 LED 數(shù)碼管靜態(tài)掃描,LED 數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字最合適,而且采用靜態(tài)掃描法與單片機(jī)連接時(shí),顯示穩(wěn)定且能保證亮度。所以采用了 LED 數(shù)碼管作為顯示。綜上各方案所述,對(duì)此次作品的方案選定: 采用 STC89C52 作為主控制系統(tǒng);LED數(shù)碼管靜態(tài)掃描作為顯示。3參考文獻(xiàn):[1] 李朝清.單片機(jī)原理及口技術(shù)[M].北京航空航天大學(xué)出版社.2005.[2] 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大出版社,1995.[3] 王守中. 51 單片機(jī)應(yīng)用開發(fā)速查手冊(cè)[Z].人民郵電出版社.2009.[4] 張毅剛.單片機(jī)原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008:029-535. [5] 張毅剛,彭喜元, 彭宇. 單片機(jī)原理及應(yīng)用[M].北京: 高等教育出版社, 2010.[6] 陳忠平.單片機(jī)原理及接口[M].北京:清華大學(xué)出版社,2007.[7] 張毅剛.基于 Proteus 的單片機(jī)課程的基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì) [M].北京:人民郵電出版社,2012:032-159.[8] 張毅剛,彭喜元, 彭宇. 單片機(jī)原理及應(yīng)用[M].北京: 高等教育出版社, 2010.[9] 樓然苗, 李光飛. 單片機(jī)課程設(shè)計(jì)指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2007.[10] 石秀民.嵌入式系統(tǒng)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007[11] 陳汝全.實(shí)用微機(jī)與單片機(jī)控制技術(shù)[M].北京:電子科技大學(xué)出版社,1998.[12] 譚浩強(qiáng).C 程序設(shè)計(jì)[M](第三版).北京:清華大學(xué)出版社,2005.指導(dǎo)教師意見:教師簽名: 年 月 日指導(dǎo)小組(教研室)意見:組長簽名: 年 月 日3
收藏