【電氣設計自動化論文】多功能秒表設計
【電氣設計自動化論文】多功能秒表設計,電氣設計,自動化,論文,多功能,秒表,設計
本科畢業(yè)論文(設計)( 2015 屆)多功能秒表設計院 系 電子信息工程學院 專 業(yè) 電氣工程及其自動化姓 名 指導教師 助教 2015 年 4 月學號:I摘 要本次設計的內(nèi)容是以 STC89C52 單片機為控制核心的秒表。設計的主要內(nèi)容為計時器從 00~99 秒的計時,每秒種自動加 1,另外還設置有暫停鍵和復位鍵等按鍵,在任何情況下都可以實現(xiàn)暫停和復位功能。利用單片機定時器/計數(shù)器定時和記數(shù)的原理,結合顯示電路、LED 數(shù)碼管以及外部中斷電路來設計的計時器。此次設計將軟、硬件有機地結合起來,使得系統(tǒng)能夠實現(xiàn) 2 位 LED 數(shù)碼管顯示,顯示時間為 00~99 秒,同時計時精度為1 秒,并且能夠正確地進行計時。其中軟件系統(tǒng)采用 C 語言編寫程序,包括顯示子程序、中斷服務、外部中斷服務子程序和復位子程序等。關鍵詞:單片機; 數(shù)碼管; C 語言;合肥師范學院 2015 屆畢業(yè)生本科論文(設計)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 單片機芯片的選擇方案和論證: .- 2 -2.1.1 采用 STC89C51 單片機 .- 2 -2.1.2 采用 STC89C52 單片機 .- 2 -2.2 顯示模塊選擇方案和論證: .- 2 -2.2.1 采用 LED 液晶顯示屏 .- 2 -2.2.2 采用 LED 數(shù)碼管顯示 .- 3 -2.3 小結 - 3 -3 系統(tǒng)硬件電路設計 - 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 總體設計方案 - 6 -3.4 部分電路設計 - 7 -3.4.1 晶振電路 - 7 -3.4.2 按鍵部分電路接線 .- 7 -3.4.3 顯示電路 .- 8 -3.4.4 復位電路 .- 8 -4 系統(tǒng)程序的設計 - 9 -4.1 主程序設計 - 9 -4.2 定時器 T0 子程序設計 - 10 -5 聯(lián)調(diào)與調(diào)試 .- 10 -合肥師范學院 2015 屆畢業(yè)生本科論文(設計)IV5.1 仿真調(diào)試 - 10 -5.2 硬件調(diào)試 - 12 -結論與展望 .- 13 -致 謝 .- 14 -參考文獻 .- 15 -附 錄 A 系統(tǒng)原理圖 .- 16 -附 錄 B 系統(tǒng)仿真圖與實物圖 .- 17 -附 錄 C 系統(tǒng) PCB 圖 .- 18 -附 錄 D 系統(tǒng)源程序 .- 19 -- 1 -1 引 言1.1 研究背景在生活和生產(chǎn)的各領域中,凡是有自動控制要求的地方都會伴隨著單片機的身影出現(xiàn);從簡單到復雜,從空中、地面到地下,只要是能想象到的地方幾乎都有使用單片的需求?,F(xiàn)在盡管單片機的應用已經(jīng)非常廣泛,但仍有許多可以用單片機控制而尚未實現(xiàn)的項目,因此,單片機的應用大有想象和拓展空間。 簡單的來說單片機就是微型控制器,它是嵌入式系統(tǒng)中的非常重要且發(fā)展快速的組成部分。當單片機接上晶振電路、復位電路和接口電路等且載入軟件后,就可以構成單片機應用系統(tǒng)。將單片機嵌入到形形色色的應用系統(tǒng)中時,它就會成為眾多產(chǎn)品、設備的智能化核心。所以,很多生產(chǎn)企業(yè)將單片機稱為“微電腦”。單片機的廣泛應用有利于產(chǎn)品的微型化、多功能化和智能化,有助于顯著提高勞動生產(chǎn)效率,減輕勞動強度,提高產(chǎn)品質量,改善勞動環(huán)境,減少能源和材料消耗,保證安全等。 但是,單片機應用的意義絕不僅限于它的廣闊的應用范圍以及所帶來的經(jīng)濟效益上,更重要的意義還在于:單片機的應用正在從根本上改變著傳統(tǒng)的控制系統(tǒng)設計思想和設計方法。以前,必須要模擬電路或數(shù)字電路才能實現(xiàn)的大部分功能,現(xiàn)在已能使用單片機通過軟件編程方法實現(xiàn)了。這種以軟件取代硬件并提高系統(tǒng)性能的控制系統(tǒng)“軟化”技術,稱之為微控制技術。微控制技術是一種全新的概念,是對傳統(tǒng)控制技術的一次重大革命。隨著單片機應用的推廣和普及,微控制技術一定將不斷發(fā)展、日益完善和更加充實。近年來隨著計算機在社會各領域的崛起, 單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用的。因此,僅有單片機方面知識是遠遠不夠的,還應根據(jù)具體硬件結構,以及針對具體應用對象的特點等,實現(xiàn)軟、硬件的結合,以作完善。本篇論文討論了簡單的計時器的設計與制作過程 ,對于計時器中的LED數(shù)碼顯示器來說,我為了簡化線路、降低成本,采用以軟件為主的接口方法,即不使用專門的硬件譯碼器,直接由單片機驅動數(shù)碼管。1.2 研究的意義與方法當今社會在很多重要比賽中,都要用到時間的長短來衡量比賽的結果,比如在藍球比合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 2 -賽中,球隊雙方控球的時間都不能超過 24s ,即進攻方必須在 24s 內(nèi)一定要投藍出手,否則違例;另外知識比賽中必須在相應的時間內(nèi)回答完所有提出的問題等等。為了使參加比賽隊員和裁判都能夠準確地掌握和控制好時間,必須在比賽場地邊豎起一個秒表計時器,以便讓比賽隊員和裁判以及觀眾都能夠清楚地看到時間?;诖朔N設想, 我們用 STC 公司生產(chǎn)的簡化單片機(STC89C52) 加上少許的外圍電路就可以很容易做成一個 00 到99S 范圍內(nèi)的秒表計時器。本文的目的在于從硬件和軟件的基礎上具體分析其設計和制作方法。主機包括定時器輸入電路、時鐘電路、電源電路、按鍵控制電路、LED 顯示電路等。此外,主機的信息交換方式采用串行通信方式,設置三個簡易按鍵分別控制時鐘的開始/繼續(xù)、暫停和清零(復位);顯示 LED 采用 7 段共陰極數(shù)碼管,用來滿足較遠距離清晰顯示。2 電路方案論證2.1 單片機芯片的選擇方案和論證:2.1.1 采用 STC89C51 單片機若采用 STC89C51 芯片作為硬件核心,其 ROM 存儲器采用 Flash ROM,內(nèi)部僅具有4KB 的 ROM 存儲空間,可以于 3V 的超低壓下工作 ,并且與 MCS-51 系列單片機完全兼容,但是,由于運用于電路設計中時 STC89C51 單片機不具備 ISP 在線編程技術, 且在對電路進行調(diào)試時,因為程序的錯誤修改或對程序的新增功能需要燒入程序等原因,可能芯片的多次插拔會對芯片造成一定程度的損壞。2.1.2 采用 STC89C52 單片機若采用 STC89C52,片內(nèi) ROM 全部都采用 Flash ROM 技術;并且也可在 3V 的超底壓下工作;同時也與 MCS-51 系列單片機完全該芯片內(nèi)部存儲器為 8KB 的 ROM 存儲空間,同樣具有 STC89C51 的功能,而且具有在線編程可擦寫技術,當在對電路進行調(diào)試時,由于程序的新增功能需要燒入程序或對程序的錯誤修改時,不需要再對芯片進行多次拔插,因此不會對芯片造成較大損壞。綜上論證,所以我選擇采用 STC89C52 作為控制系統(tǒng)核心。2.2 顯示模塊選擇方案和論證:合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 3 -2.2.1 采用 LED 液晶顯示屏若采用 LED 液晶顯示屏,液晶顯示屏具有顯示功能強大且可顯示大量圖形、文字,顯示內(nèi)容多樣,清晰可見,但是價格非常昂貴,需要的接口線較多,因此在此次設計中不會采用 LED 液晶顯示屏。2.2.2 采用 LED 數(shù)碼管顯示若采用 LED 數(shù)碼管靜態(tài)掃描顯示,LED 數(shù)碼管價格相對適中,對于顯示數(shù)字最合適,而且采用靜態(tài)掃描法與單片機連接時,顯示穩(wěn)定且亮度較強。所以我采用了 LED 數(shù)碼管作為顯示器件。2.3 小結綜上各方案所述,對此次作品的方案選定: 我選擇采用 STC89C52 作為主控制系統(tǒng); LED 數(shù)碼管的靜態(tài)掃描作為顯示器件。3 系統(tǒng)硬件電路設計3.1 STC89C52芯片3.1.1 概述 STC89C52 是一款高性能,低功耗的 CMOS 8 位單片機,且單片機內(nèi)部含有 8k Bytes ISP(In-system programmable)的可反復擦寫 1000 多次的 Flash ROM,多數(shù)器件采用 STC公司的高密度、非易失性存儲技術制造,可兼容標準 MCS-51 指令系統(tǒng)及 80C51 引腳的結構,芯片內(nèi)集成了通用的 ISP Flash 存儲單元和 8 位中央處理器。此種功能強大的微型計算機 STC89C52 可以為大多數(shù)的嵌入式控制應用系統(tǒng)提供高性價比的解決方法。另外STC89C52 單片機也為很多的嵌入式控制系統(tǒng)提供了一種靈活性更高且價格低廉的設計方案。 其工作電壓一般在 4.5-5V,很多情況下我們選用+5V 電壓作為 STC89C52 的驅動電壓。3.1.2 STC89C52 主要特性合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 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é)可編程閃爍存儲器 ·壽命:100多次擦/寫循環(huán)·數(shù)據(jù)保留時間:10年左右·全靜態(tài)工作:0Hz-24MHz·具有三級程序存儲器鎖定·128×8位的內(nèi)部隨機存儲器·32位可編程I/O線·含有兩個16位定時器/計數(shù)器·5個中斷源 、兩個中斷優(yōu)先級·具有可編程串行通道·低功耗的閑置和掉電模式·時鐘電路和片內(nèi)振蕩器等3.1.3 STC89C52 管腳說明(1) 時鐘及電源引腳(4個)Vcc: 為電源接入引腳;Vss:為接地引腳;XTAL1:晶振震蕩器接入的其中一個引腳(若采用外部振蕩器時,此引腳接地);XTAL2:晶體振蕩器接入的另一個引腳(若采用外部振蕩器時,此引腳作為外部振蕩器信號的輸入端);(2)控制線引腳(4個)RST/Vpd:復位信號輸入引腳/備用電源輸入引腳;ALE:地址鎖存允許信號輸出引腳/編程脈沖輸入引腳:EA:內(nèi)外存儲器選擇引腳/片外EPROM編程電壓輸入引腳;PSEN:外部程序存儲器選通信號輸出引腳;合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 5 -(3)并行I/O引腳P0.0-P0.7:為一般I/O口引腳或數(shù)據(jù)/低位地址總線復用引腳,需上拉電阻;P1.0-P1.7:為一般I/O口引腳,不需上拉電阻;P2.0-P2.7:為一般I/O口引腳或高位地址總線引腳,不需上拉電阻;P3.0-P3.7:為一般I/O口引腳或第二功能引腳,不需上拉電阻;3.2 LED 數(shù)碼管顯示器概述本設計中采用的是 7SEG–COM –CATHODE 型號數(shù)碼管,它是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管。實物如圖 2 所示:圖 3.2 7SEG–COM –CATHODE3.2.1 數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管等,八段數(shù)碼管比七段數(shù)碼管多了一個發(fā)光二極管單元(多一個小數(shù)點顯示位);數(shù)碼管按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;數(shù)碼管按發(fā)光二極管單元連接方式不同可分為共陰極數(shù)碼管和共陽極數(shù)碼管等。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極連接到一起構成公共陰極(COM)的數(shù)碼管。共陰極數(shù)碼管在應用時必須將公共極(COM)接到地線GND上,當某一字段發(fā)光二極管的合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 6 -陽極為高電平時,相應字段就會被點亮;當某一字段的陽極為低電平時,此時相應字段就不會被點亮。共陽極數(shù)碼管在應用時要將公共極(COM)接到+5V電源上,當某一字段發(fā)光二極管的陰極為低電平時,此時相應的字段就會被點亮。當某一字段的陰極為高電平時,相應字段就不會被點亮。3.2.2 數(shù)碼管的連接方法(1)共陽極的連接方法。把發(fā)光二極管的陽極全部連接在一起形成公共陽極,使用時公共陽極接到+5V電源上,每個發(fā)光二極管的陰極通過合適的電阻且與輸入端相連。 (2)共陰極的連接方法。把發(fā)光二極管的陰極連接在一起構成公共陰極,使用時公共的陰極必須接地。每個發(fā)光二極管的陽極應通過相應的電阻且與輸入端相連。圖 3.3 LED 數(shù)碼管連接方法3.3 總體設計方案本設計采用了 STC89C52 單片機為中心器件,利用其內(nèi)部定時器/計數(shù)器定時計數(shù)的原理,結合硬件電路如晶振電路,電源電路,顯示電路和復位電路等電路,以及一些按鍵電路等來設計計時器,將軟、硬件有機的結合起來,包括計數(shù)子程序,顯示子程序以及中斷子程序等。硬件系統(tǒng)利用 Protues 強大的仿真功能來實現(xiàn),簡單且容易觀察,在仿真中就可以觀察到實際的工作狀態(tài),便于修改。其中軟件系統(tǒng)統(tǒng)一采用 C 語言來編寫程序,利用 STC89C52 單片機來設計秒表計時器,通過 LED 顯示器來顯示秒的十位和個位,在設計過程中用一個存儲單元作為秒的計數(shù)單元,當一秒鐘到來時,就讓秒計數(shù)單元加1,當秒計數(shù)達到 99 時,就自動返回到 0,重新開始秒計數(shù)。在設計秒表要求一秒定時時,合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 7 -采用了定時器和 for 循環(huán)來定時,其中一個軟件一個硬件,用單片機內(nèi)部的定時器 T0,先將時鐘初始化,賦入初值 50ms 定時,循環(huán) 20 次來進行 1 秒的定時。然后由定義的變量來進行加一運算,然后將其值通過 STC89C52 的 P2、P3 口在數(shù)碼管上進行顯示。其中在數(shù)碼管顯示時,我在程序中首先定義了一個關于數(shù)碼管顯示的字形碼的定義,以便在顯示時直接調(diào)用即可。電路的結構圖如下:時鐘電路復位電路單片機S T C 8 9 C 5 2顯示電路按鈕電路圖 3.4 結構圖3.4 部分電路設計3.4.1 晶振電路STC89C52 單片機內(nèi)部的晶振電路是一個高增益的反相放大器,引用 XTAL1 和 XTAL2 分別為反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以設置為片內(nèi)振蕩器。這里,我們選用 STC89C52 單片機 12MHZ 的內(nèi)部振蕩方式。電路如下:電容器 C1、C2 起穩(wěn)定振蕩頻率和快速起振的作用,電容 C1 和 C2 可以在20-100PF 之間取值,這里取 22PF,接線時要使晶體振蕩器 X1 盡可能的接近單片機。C122pFC222pFX1CRYSTAL合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 8 -圖 3.5 晶振電路3.4.2 按鍵部分電路接線在按鍵電路中,我可以在 I/O 口上直接設置按鍵,或者通過 I/O 口設計一個鍵盤,然后通過鍵盤掃描程序判斷是否有按鍵按下等。此系統(tǒng)是一個小系統(tǒng),有足夠的 I/O 口可以使用,為了使程序簡化,我采用按鍵電路并且用部分 P1 口做按鍵開關,P1.0 為開始/繼續(xù)按鍵,P1.3 為暫停按鍵,P1.5 為清零按鍵。此外復位選擇上電復位。開 始暫 停清 零圖 3.6 按鍵電路3.4.3 顯示電路顯示電路我采用的是 7 位數(shù)碼管顯示電路。即用 2 個共陰極 LED 顯示,LED 是七段式顯示器,內(nèi)部有 7 個條形發(fā)光二極管組成,其工作方式是根據(jù)各二極管的亮滅組合成相應的字符。在用數(shù)碼管顯示時,有靜態(tài)掃描和動態(tài)掃描兩種選擇,靜態(tài)顯示程序簡單,顯示穩(wěn)定,但是占用端口比較多;動態(tài)顯示所使用的端口比較少,但可以節(jié)省單片機的I/O 口。此設計由于電路簡單,有足夠的 I/O 口,為了簡化程序我選擇靜態(tài)顯示連接方式。合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 9 -圖 3.7 數(shù)碼管顯示3.4.4 復位電路復位是將單片機進行初始化的操作,除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤是系統(tǒng)處于跑飛狀態(tài)時,為了擺脫困境,也需要按復位按鍵以便重新啟動單片機。復位操作有上電自動復位和按鍵手動復位兩種方式。在本次設計中采用了按鍵電平復位的方式,其復位電路如圖所示:復 位R1220R2220C310uF圖 3.8 復位電路4 系統(tǒng)程序的設計本系統(tǒng)程序主要模塊由主程序、定時中斷服務程序、外部中斷 1 服務程序組成。其中主程序是整個程序的主體,可以對各個中斷程序進行調(diào)用,協(xié)調(diào)各個子程序之間的聯(lián)系。4.1 主程序設計合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 10 -系統(tǒng)(上電)復位后,進入主程序,主程序流程圖如下:開始初始化開始按鍵 ?啟動定時器顯示當前時間暫停按鍵 ?記錄當前時間清零按鍵 ?返回開始按鍵 ?N NNYYYYN圖 4.1 主程序流程圖4.2 定時器 T0 子程序設計定時器 T0 子程序主要功能是溢出中斷,其流程圖如下:合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 11 -開始顯示單元清零T 0 設為 1 6 位計時器模式允許 T 0 中斷進入功能程序按鍵按下 ?調(diào)用顯示子程序圖 4.2 定時器 T0 子程序流程圖5 聯(lián)調(diào)與調(diào)試5.1 仿真調(diào)試系統(tǒng)的調(diào)試開始是把編譯生成的無錯誤且后綴名為.hex 的文件加載到 STC89C52 單片機中,方法是雙擊單片機彈出一個對話框,在 program file 后選擇要添加文件,文件要求必須是 hex 文件。然后可以點擊運行觀察現(xiàn)象,當出現(xiàn)錯誤時,大多都是軟件出了問題,經(jīng)過不斷的進行改進與調(diào)試。對按鍵檢測、加減時間與按鍵之間產(chǎn)生的不一致、倒計時子程序的調(diào)用等軟件的修改后,系統(tǒng)基本實現(xiàn)了所要設計的功能。(1) 經(jīng)過對程序的運行,并用 keil 軟件編譯后,用 proteus 仿真軟件進行仿真,按下“開始”按鈕之前,可以看到數(shù)碼管上數(shù)字顯示為零。如圖所示:合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 12 -開 始暫 停清 零復 位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)按下“開始”按鈕計時圖:開 始暫 停清 零復 位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 計時(3)最大計數(shù)范圍 99 秒圖:開 始暫 停清 零復 位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 最大計時數(shù)合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 13 -5.2 硬件調(diào)試1、檢查電路:無論焊接多好的電子電路,在通電之前,都一定要仔細檢查電路的接線是否有誤,是否有虛焊等情況。在仔細的對照電路原理圖的情況下,按照特定的次序逐步逐級一一對應檢查,尤其需要注意的是,電源連接線是否會接錯,電源和地之間是否有短接等情況,二極管方向是否接反,電解電容的極性是否接錯等,集成電路和晶體管的引腳是否接錯,稍微碰一碰元器件,仔細查看它的焊點是否足夠牢固等。2、通電觀察:在給元器件接通電源之前,必須要調(diào)試好電源所需要電壓數(shù)值,并確定電路板電源接線端是否有短路的現(xiàn)象,若得出無短路現(xiàn)象的結論,就能給電路接通電源了。電源一經(jīng)接通,必須要趕快去測試它的特征,像波形、數(shù)據(jù)等可以稍后再測,首要的是觀察接通后元器件有沒有不正?,F(xiàn)象,如冒煙、異常氣味、放電、元器件發(fā)燙等現(xiàn)象。如果有應要立即關斷電源,只有在故障排除后才方可重新接通電源。然后,再測量每個集成塊的電源引腳電壓是否正常,以確信集成電路是否已正常通電工作。合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 14 -結論與展望畢業(yè)設計是考察學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題、鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察的過程。隨著科學技術發(fā)展的日新日異,單片機已經(jīng)成為當今計算機應用中非?;钴S的領域,在生活中可以說單片機是無處不在。因此,對于二十一世紀的大學來說,掌握單片機的開發(fā)技術與方法是十分重要的。回顧起此次畢業(yè)設計的種種,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在這些日子里,可以說是苦多于甜,但是在設計的過程中,可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次畢業(yè)設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不能滿足以后發(fā)展要求的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說是困難重重,難免會遇到各種各樣的問題,同時在設計的過程中也發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法等。通過這次設計,把以前所學過的知識又重新溫習了一遍。另外,在做畢業(yè)設計的過程中我也進一步認識到全面專業(yè)知識以及邏輯思考方式對研究問題的重要性,同時我也更加具體的掌握了畢業(yè)設計的基本方法。經(jīng)過不斷的的努力與嘗試我最終圓滿完成了這次畢業(yè)設計??偟膩碚f,我學到了不少的東西,在設計過程中遇到了很多的困難,但沒放棄,查閱了許多相關的書籍,自己獨立思考和借鑒了前人的許多優(yōu)秀成果,并與所學的知識緊密的結合了起來。我們相信這過程對今后的學習和工作給有著積極的影響。合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 15 -致 謝這次畢業(yè)設計終于順利完成了,在設計中遇到了很多編程和硬件電路問題,最后在老師的辛勤指導下,終于完成了設計要求。同時,從老師和同學那里我學得到很多實用的知識,在此我對給予我?guī)椭^的所有同學和各位指導老師再次表示衷心的感謝!此外,從這次的畢業(yè)設計中,我真真正正的意識到,在以后的學習中,要理論聯(lián)系實際,把我們所學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高。最后,再次向幫助過我的所有人真誠的道一聲謝謝!合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 16 -參考文獻[1] 李朝清.單片機原理及口技術[M].北京航空航天大學出版社.2005.[2] 何立民.單片機應用系統(tǒng)設計[M].北京:北京航空航天大出版社,1995.[3] 王守中. 51 單片機應用開發(fā)速查手冊[Z].人民郵電出版社.2009.[4] 張毅剛.單片機原理與應用設計[M].北京:電子工業(yè)出版社,2008:029-535. [5] 張毅剛,彭喜元, 彭宇. 單片機原理及應用[M].北京: 高等教育出版社, 2010.[6] 陳忠平.單片機原理及接口[M].北京:清華大學出版社,2007.[7] 張毅剛.基于 Proteus 的單片機課程的基礎實驗與課程設計 [M].北京:人民郵電出版社,2012:032-159.[8] 張毅剛,彭喜元, 彭宇. 單片機原理及應用[M].北京: 高等教育出版社, 2010.[9] 樓然苗, 李光飛. 單片機課程設計指導[M].北京:北京航空航天大學出版社,2007.[10] 石秀民.嵌入式系統(tǒng)原理與應用[M].北京:北京航空航天大學出版社,2007[11] 陳汝全.實用微機與單片機控制技術[M].北京:電子科技大學出版社,1998.[12] 譚浩強.C 程序設計[M](第三版).北京:清華大學出版社,2005.合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 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位位\位位位位位位位位合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 18 -附 錄 B 系統(tǒng)仿真圖與實物圖開 始暫 停清 零復 位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合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 19 -附 錄 C 系統(tǒng) PCB 圖合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 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) //延時程序{uchar i,j;for(i=z;i0;i--) //i=z 即延時約 z 毫秒for(j=2;j0;j--);}void main() //主程序{a=0;i=0;TMOD=01; //設置定時器 0 為工作方式 1TH0=(65536-50000)/256; //裝初值 50ms 一次中斷TL0=(65536-50000)%256; TR0=0;ET0=1; //開定時器 0 中斷EA=1; //開總中斷P2=table[0];P3=table[0];while(1) //循環(huán)檢測是否有按鍵按下{keyscan();}}合肥師范學院 2015 屆畢業(yè)生本科論文(設計)- 21 -void keyscan() //鍵盤掃描程序{delay(10); //去抖動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 秒時間到{i=0; //把 i 清零重新再計 20 次a++;if(a==100) //如果計時到 99 秒,從新從 0 開始a=0;P2=table[a/10];P3=table[a%10];}
收藏
鏈接地址:http://m.kudomayuko.com/p-596346.html