版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、福建電力職業(yè)技術(shù)學院畢業(yè)設計報告題 目 基于單片機的電子秒表設計 自動化工程 系 電氣自動化 專業(yè) 2008 級 2 班學 號 姓 名 指導教師 完成日期 2010 年 12 月摘 要電子秒表在生活中的應用,它可廣泛應用于對運動物體的速度、加速度的測量實驗,還可用來驗證牛頓第二定律、機械能守恒等物理實驗,同時也適用于對時間測量精度要求較高的場合.測定短時間間隔的儀表。有機械秒表和電子秒表兩類。機械秒表與機械手表相仿,但具有制動裝置,可精確至百分之一秒;電子秒表用微型電池作能源,電子元件測量顯示,可精確至千分之一秒。廣泛應用于科學研究、體育運動及國防等方面在當今非常注重工作效率的社會環(huán)境中,定時
2、器能給我們的工作、生活以及娛樂帶來很大的方便,充分利用定時器,能有效的加強我們的工作效率。數(shù)字電子秒表是利用數(shù)字電子技術(shù)把模擬信號轉(zhuǎn)換成數(shù)字信號來完成的,具有直觀、準確性高的特點。本設計的數(shù)字電子秒表系統(tǒng)采用AT89C51單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設計計時器。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)LED顯示,顯示時間為059秒,計時精度為0.1秒,能正確地進行計時。其中軟件系統(tǒng)采用C語言編寫程序,包括顯示程序,定時中斷服務,外部中斷服務程序,延時程序等,并在WAVE中調(diào)試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實
3、現(xiàn),簡單且易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。 關(guān)鍵詞 AT89C51單片機;電子秒表;C語言目 錄第一章 緒論11.1 秒表及其發(fā)展現(xiàn)狀11.2 設計目的及意義11.3 設計內(nèi)容11.4 課題設計要求1第二章 硬件設計22.1 總體方案的設計22.2 單片機的選擇32.2.1 AT89C51單片機性能介紹42.2.2 單片機最小系統(tǒng)62.3 顯示電路的選擇與設計82.4 按鍵電路的選擇與設計92.5 時鐘電路的選擇與設計92.6 系統(tǒng)總電路的設計9第三章 軟件設計93.1 程序設計思想93.2 程序框93.3 源程序及說明9第四章 系統(tǒng)的仿真與調(diào)試94.1 硬件的調(diào)試94.1.1
4、排除元器件失效94.1.2 排除電源故障94.1.3 聯(lián)機仿真調(diào)試94.2 軟件的仿真與調(diào)試94.2.1 Proteus簡介94.2.2 軟件的仿真94.2.3 軟件的調(diào)試9結(jié) 論9致 謝9參考文獻9附錄 源程序及說明9第一章 緒論1.1 秒表及其發(fā)展現(xiàn)狀時間是日常生活、工業(yè)、醫(yī)學、環(huán)境保護、化工、石油等領(lǐng)域最常遇到的一個物理量。測量時間的基本方法是使用秒表直接測量。其中秒表的精度是人們最關(guān)心的,這就要求它的計時最小單位足夠小,顯示模塊的靈敏度足夠高。目前人們所能測量的最小計時單位是毫秒級。1.2 設計目的及意義本設計要使時間的測量準確,就必須使系統(tǒng)有更小的計時單位和更靈敏的按鍵。本設計還加入
5、了報警電路,每次清零都會報警。設計采用的元件功能較強,省去了很多復雜的電路降低了設計成本。1.3 設計內(nèi)容本課題是基于單片機的數(shù)字秒表系統(tǒng)設計,其利用單片機作為系統(tǒng)的主要控制器,通過單片機自身的定時計數(shù)器溢出標志產(chǎn)生最小計時單元,經(jīng)過變量的累加和判斷后,通過LED數(shù)碼管顯示。本人的主要是運用AT89C51單片機作為主控制單元及數(shù)據(jù)處理單元。1.4 課題設計要求課題需要以MCS-51系列單片機為核心,結(jié)合外圍電路,制作一款時間參數(shù)測量系統(tǒng)。具體要求如下:(1)提出基于單片機的時間測量系統(tǒng)實現(xiàn)方案。(2)制作完整的硬件電路圖并編寫完整的源程序,實現(xiàn)時間參數(shù)的測量。(3)誤差要求小于1%。第二章 硬
6、件設計2.1 總體方案的設計數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點,在計時中廣泛使用。本設計用單片機組成數(shù)字電子秒表,力求結(jié)構(gòu)簡單、精度高為目標。本設計利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合集成電路芯片8051、LED數(shù)碼管以及實驗箱上的按鍵來設計計時器。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進行計時,數(shù)碼管能夠正確地顯示時間。方框圖如下圖:開關(guān)MCS-51AT89C51LED顯示圖2.1 數(shù)字秒表設計導向圖本設計用AT89C51設計一個3位LED數(shù)碼顯示“秒表”,顯示時間為00.059.9秒。增加一個“復位00.0”按鍵(即清零)key1,一個“暫停/開始”按鍵ke
7、y2,一個“復位60.0”按鍵(用來60秒倒計時)key3,一個“倒計時”按鍵key4。方框圖如下圖:按下4鍵初始化判斷按鍵顯示 按下2鍵按下1/3鍵若無按鍵倒計復位開始/暫停開始倒計時顯示復位時間開始/暫停計時調(diào)整時限到/有其他輸入圖2.2 按鍵示意圖本設計中,數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存單元79H7BH中。其中79H存放分秒位數(shù)據(jù),7AH存放秒位數(shù)據(jù),7BH存放十秒位數(shù)據(jù),79H和7AH單元內(nèi)均為十進制BCD碼,7BH單元內(nèi)為六進制BCD碼。由于采用軟件動態(tài)掃描實現(xiàn)數(shù)據(jù)顯示功能,顯示用十/六進制BCD碼數(shù)據(jù)的對應段碼存放在ROM表中。顯示時,先取出79H-7BH某一地址中的數(shù)據(jù),然后查得對應
8、的顯示用段碼,并從P0口輸出,P2口將對應的數(shù)碼管選中供電,就能顯示該地址單元的數(shù)據(jù)值。計時采用定時器T0中斷完成,定時溢出中斷周期為100ms,當一處中斷后向CPU發(fā)出溢出中斷請求,每發(fā)出一次中斷請求就對0.1秒計數(shù)單元進行加一,達到10次就對秒位進行加一,依次類推,直到59.9秒重新復位。 設計中包括硬件電路的設計和系統(tǒng)程序的設計。其硬件電路主要有主控制器,顯示電路和啟動、暫停、復位、倒計時電路等。主控制器采用單片機AT89C51,顯示電路采用共陰極LED數(shù)碼管顯示計時時間,四個按鍵均采用觸點式按鍵。2.2 單片機的選擇本課題在選取單片機時,充分借鑒了許多成形產(chǎn)品使用單片機的經(jīng)驗,并根據(jù)自
9、己的實際情況,選擇了ATMEL公司的AT89C51。2.2.1 AT89C51單片機性能介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。1主要特性:與MCS-51 兼容 4K字
10、節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源 可編程低功耗的閑置和掉電模式串行通道片內(nèi)振蕩器和時鐘電路2 管腳說明:3 VCC:供電電壓。4 GND:接地。5 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。6 P1口:
11、P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。7 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用
12、內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。8 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。9 P3口也可作為AT89C51的一些特殊功能口,如下表所示:10 口管腳 備選功能3.0 RXD(串行輸入口)3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0
13、外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH
14、地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放
15、大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.2.2 單片機最小系統(tǒng)所謂最小系統(tǒng)就是指由單片機和一些基本的外圍電路所組成的一個可以工作的單片機系統(tǒng)。一個典型的單片機最小系統(tǒng)一般由時鐘電路、復位電路、片外RAM、片外ROM、按鍵、數(shù)碼管、LED顯示器、外部擴展接口等部分組成。以下為AT89C51的最小系統(tǒng)電路圖,包括晶振電路和復位電路:圖 2.3 單片機最小系統(tǒng)1.晶振電路AT89C51片內(nèi)有一個由高增益反相放大器構(gòu)成的振蕩電路。XTAL1和XTAL2分別為振蕩電路的輸入輸出端。其振蕩電路有兩種組成方式:片內(nèi)振蕩器和片外振蕩器。本設計采用是片內(nèi)振蕩器。片內(nèi)振蕩器如圖1
16、.4(a)所示。在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個微調(diào)電容構(gòu)成振蕩電路,通常C1和C2一般取30pF,晶振的頻率取值在1.2MHz12MHz之間。圖 2.4晶振電路2.復位電路為了初始化單片機內(nèi)部的某些特殊功能寄存器,必須采用復位的方式,復位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機的復位是靠外電路來實現(xiàn)的,在正常運行情況下,只要RST引腳上出現(xiàn)兩個機器周期時間以上的高電平,即可引起系統(tǒng)復位,但如果RST引腳上持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。復位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)
17、置為不定值,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復位的影響,在系統(tǒng)上電時RAM的內(nèi)容是不定的。復位操作有兩種情況,即上電復位和手動(開關(guān))復位。電路如圖2.5所示:圖 2.5復位電路2.3 顯示電路的選擇與設計對于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。對于一般的段式液晶屏,需要專門的驅(qū)動電路,而且液晶顯示作為一種被動顯示,可視性差,不適合遠距離觀看;對于具有驅(qū)動電路和單片機接口的液晶顯示模塊(字符或點陣),一般多采用并行接口,對單片機的接口要求較高,占用資源多;另外,AT89C51單片機本身無專門的液晶驅(qū)動接口。而數(shù)碼管作為一種主動顯示器件,具有亮度高、響應速度快、防潮防濕性能好、
18、溫度特性極性、價格便宜、易于購買等優(yōu)點,而且有遠距離視覺效果,很適合夜間或是遠距離操作。因此,本設計的顯示電路采用7段數(shù)碼管作為顯示介質(zhì)。圖2.6 LED數(shù)碼管數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。由于本設計需要采用三位數(shù)碼管顯示時間,如果靜態(tài)顯示則占用的口線多,硬件電路復雜。所以采用動態(tài)顯示。動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應并聯(lián)在一起,由一個8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動態(tài)方式顯示時,各數(shù)碼管分時輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時刻只選通一位數(shù)碼管,并送出相應的段碼
19、,在另一時刻選通另一位數(shù)碼管,并送出相應的段碼,依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應,只要每位顯示間隔足夠短就可以給人同時顯示的感覺。數(shù)碼顯示管分為共陽數(shù)碼管和共陰數(shù)碼管兩種。共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,如圖1.7(b)。通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電
20、阻。共陰極數(shù)碼管的8個發(fā)光二極管的陰極(二極管負端)連接在一起,如圖1.7(c),通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端,當某段驅(qū)動電路的輸出端為高電平時,則該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。 圖2.7 (a)數(shù)碼管引腳圖 (b)共陽極內(nèi)部結(jié)構(gòu)圖 (c)共陰極內(nèi)部結(jié)構(gòu)圖本設計采用共陰極數(shù)碼顯示管做顯示電路,由于采用的是共陰的數(shù)碼顯示管,所以只要數(shù)碼管的a、b、c、d、e、f、g、h引腳為高電平,那么其對應的二極管就會發(fā)光,使數(shù)碼顯示管
21、顯示09的編碼見表1.1。表2.1共陰極數(shù)碼顯示管字型代碼字型共陰極代碼字型共陰極代碼03FH56DH106H67DH25BH707H34FH87FH466H96FH動態(tài)顯示電路由顯示塊、字形碼驅(qū)動模塊、字位驅(qū)動模塊三部分組成。本系統(tǒng)的3位LED動態(tài)顯示器接口電路。圖中,3個數(shù)碼管的8段段選線分別與外接上拉電阻的單片機P0口對應相連,而3個數(shù)碼管的位控制端則和NPN型三極管的集電極相連接。單片機的P2.0P2.4口則分別對應數(shù)碼顯示管的最低位到最高位,P2.0P2.4口分別和五個NPN型三極管的基極相連,做三極管導通的控制端,而NPN型三極管選用9013型三極管。根據(jù)9013的資料顯示:其耐壓
22、值為40V,最大功率為0.65W,最大電流為0.5A,電氣性能完全滿足本設計的要求。另外數(shù)碼管顯示是采用動態(tài)顯示,所以對三極管的開關(guān)頻率有一定的要求。根據(jù)電子秒表的設計計算可知動態(tài)顯示的頻率最高為3KHz,而9013的導通頻率為150MHz,完全能滿足本設計的要求,所以最終選取9013三極管為位控制開關(guān)。由于數(shù)碼管是有P0口來驅(qū)動,它內(nèi)部沒有上拉電阻,作為輸出口時驅(qū)動能力比較弱,不能點亮數(shù)碼顯示管,因此P0口必須接上拉電阻來提高驅(qū)動能力。另外一位共陰數(shù)碼管的驅(qū)動電流一般為20mA左右,如果電流太大容易造成數(shù)碼管損壞,所以也需要根據(jù)電源的電壓值來確定上拉電阻的大小。如果電阻過小,勢必會形成灌電流
23、過大,造成單片機IO的損壞,如果電阻過大,那么對拉電流沒有太大的影響。電源供電電壓為5V,當上拉電阻選用220電阻時灌電流為22mA。不會損壞單片機的I/O口,同時也可以為數(shù)碼顯示管起到限制電流的保護作用。 2.4 按鍵電路的選擇與設計在按鍵電路中,我們可以在I/O口上直接接按鍵,或者通過I/O口設計一個鍵盤,然后通過鍵盤掃描程序判斷是否有鍵按下等。鍵盤掃描電路節(jié)省I/O口,但編程有些復雜,在這里,由于我們所用的按鍵較少,且系統(tǒng)是一個小系統(tǒng),有足夠的I/O口可以使用,為了使程序簡化,我們采用按鍵電路,K1:復位“00.0”,K2:開始/暫停,K3:復位“60.0”,K4:倒計時;將四個按鍵與P
24、3.4、P3.5、P3.6和P3.7相接。通過掃描按鍵,讀取按鍵實現(xiàn)四個功能的控制。電路圖如下所示:圖2.8 鍵盤電路圖當按鍵沒有按下時,單片機的I/O口直接連接電源,因此需要接上拉電阻來進行限流,本設計中選取阻值為2k 的電阻作為上拉電阻,根據(jù)計算可知此時的灌電流為2.5mA,查看AT89C51的資料得知次電流在安全范圍內(nèi),符合安全設計要求。按鍵電路中由于采用了外部中斷,所以需要用到P3口的第二功能。P3口引腳的第二功能如表2.2:表2.2 P3口引腳第二功能表 P3口引腳特殊功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0請求輸入端)P3.3INT1
25、(外部中斷1請求輸入端)P3.4 T0(定時器/計數(shù)器0計數(shù)脈沖輸入端)P3.5 T1(定時器/計數(shù)器1計數(shù)脈沖輸入端)P3.6WR(片外數(shù)據(jù)存儲器寫選通信號輸出端)P3.7 RD(片內(nèi)數(shù)據(jù)存儲器讀選通信號輸出端)2.5 時鐘電路的選擇與設計時鐘電路一般由晶體震蕩器、晶震控制芯片和電容組成。如圖2.9所示:圖2.9 時鐘電路現(xiàn)在流行的串行時鐘電路很多,如DS1302、DS1307、PCF8485等。這些電路的接口簡單、價格低廉、使用方便,被廣泛地采用。實時時鐘電路DS1302是DALLAS公司的一種具有涓細電流充電能力的電路,主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并
26、且可以關(guān)閉充電功能。采用普通32.768kHz晶振。 本設計采用DS1302。DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。 DS1302與CPU的連接需要三條線,即SCLK(
27、7)、I/O(6)、RST(5)。 如圖1.9所示。2.6 系統(tǒng)總電路的設計系統(tǒng)總電路由以上設計的顯示電路,按鍵電路,時鐘電路和復位電路組成,只要將單片機與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖如圖2.10所示。AT89C51單片機為主電路的核心部分,各個電路均和單片機相連接,由單片機統(tǒng)籌和協(xié)調(diào)各個電路的運行工作。AT89C51單片機提供了XTAL1和XTAL2兩個專用引腳接晶振電路,因此只要將晶振電路接到兩個專用引腳即可為單片機提供時鐘脈沖,但在焊接晶振電路時要盡量使晶振電路靠近單片機,這樣可以為單片機提供穩(wěn)定的始終脈沖。圖2.10 系統(tǒng)總電路復位電路同晶振電路,單片機設有
28、一個專用的硬件復位接口,并設置為高電平有效。按鍵電路與單片機的端口連接可以由用戶自己設定,本設計中軟件復位鍵接單片機的P3.4和P3.6,均設為低電平有效。開始/暫停鍵接到單片機的P3.5,同樣設置為位低電平有效。顯示電路由三位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制端和三位位控制端,八位段控制接P0口,P0.0P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,AT89C51的P0口沒有集成上拉電阻,高電平的驅(qū)動能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動能力。三位位控制則由低位到高位分別接到P2.0P2.4口,NPN三極管9013做為位控制端的開關(guān),當P2.0P2
29、.4端口任意一個端口為高電平時,與其相對應的三極管就導通,對應的數(shù)碼管導通顯示。通過以上設計已經(jīng)將各部分電路與單片機有機的結(jié)合到一起,硬件部分的設計以大功告成,剩下的部分就是對單片機的編程,使單片機按程序運行,實現(xiàn)數(shù)字電子秒表的全部功能。第三章 軟件設計3.1 程序設計思想此次選用C語言來編程,首先要有初始化程序,通過初始化程序,將對主程序所用到的變量、常量以及各個參數(shù)和所調(diào)用的子函數(shù)定義。其次還有顯示程序、按鍵掃描及處理程序、時鐘程序和倒計時程序,系統(tǒng)軟件流程圖圖如圖3.1所示:開始系統(tǒng)初始化While (1)數(shù)碼管顯示選擇按鍵的掃描及處理圖3.1 系統(tǒng)軟件流程圖3.2 程序框程序初始化開各
30、中斷關(guān)定時器0,1調(diào)用顯示子程序程序開始P1.0=?1P1.0=?0開定時器0,1R1=R1+114H=R113H=R2R1=?#0ahhhhh?#AHR2=?#0ahR1=#00HR2=R2+1R2=#00H圖3.2 主程序流程圖 圖3.3 加1子程序流程圖 INT0入口地址開定時器0中斷返回圖3.4 INT0中斷子程序 R7=#02H 置數(shù)碼管個數(shù)R0=14H 置首地址R6=#08H 置數(shù)碼管個數(shù)A=R0 A=A+dptr中斷返回定時器T0入口地址調(diào)用數(shù)碼顯示子程序調(diào)用加一子程序置初值R3=#20H重置循環(huán)次數(shù)A循環(huán)左移 P3.3清零P3.0=CP3.1置位R6-1=?0R7-1=?0R0
31、=R0-1返回R3-1=?0圖3.5數(shù)碼顯示流程圖 圖3.6 定時器T0子程序3.3 源程序及說明本節(jié)見附錄A。第四章 系統(tǒng)的仿真與調(diào)試4.1 硬件的調(diào)試4.1.1 排除元器件失效造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞??梢圆扇z查元器件與設計要求的型號、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。4.1.2 排除電源故障在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V4.8V之間屬正常。若有高壓,聯(lián)機仿真器調(diào)試時,將會損壞仿真器等,有時會
32、使應用系統(tǒng)中的集成塊發(fā)熱損壞。4.1.3 聯(lián)機仿真調(diào)試聯(lián)機仿真必須借助仿真開發(fā)裝置、示波器、萬用表等工具。這些工具是單片機開發(fā)的最基本工具。信號線是聯(lián)絡8031和外部器件的紐帶,如果信號線連結(jié)錯誤或時序不對,那么都會造成對外圍電路讀寫錯誤。51系列單片機的信號線大體分為讀、寫信號線、片選信號線、時鐘信號線、外部程序存貯器讀選通信號(PSEN)、地址鎖存信號(ALE)、復位信號等幾大類。這些信號大多屬于脈沖信號,對于脈沖信號借助示波器(這里指通用示波器)用常規(guī)方法很難觀測到,必須采取一定措施才能觀測到。應該利用軟件編程的方法來實現(xiàn)。例如對片選信號,運行下面的小程序就可以檢測出譯碼片選信號是否正常
33、。4.2 軟件的仿真與調(diào)試4.2.1 Proteus簡介Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、
34、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。本設計在proteus ISIS中仿真通過,proteus軟件作為一個從設計到完成的完整電子設計與仿真平臺,由于其能實現(xiàn)電路仿真與處理器仿真的有機結(jié)合,為電子學的教學與實驗提供了革命性的手段,現(xiàn)在已經(jīng)被越來越多大學采用為電路、單片機與嵌入式系統(tǒng)實驗室平臺及創(chuàng)新平臺。因為p
35、roteus軟件功能強大,調(diào)試軟硬件非常方便,所以采用proteus進行仿真。4.2.2 軟件的仿真軟件測試步驟如下:(1)打開Proteus軟件。(2)選擇file菜單下的 open design.選項,找到所需的元器件,按照電路圖連接后并保存。(3)將用KEIL編譯過的HEX格式程序,下載到單片機中:右擊51單片機再左擊,再彈出的對話框中,選擇program file文本框或單擊文件圖標,瀏覽找到所編譯的程序。單擊確定。(4) 單擊左下角運行按鈕,進行軟件仿真、調(diào)試,直到出現(xiàn)正確的結(jié)果。4.2.3 軟件的調(diào)試本設計的軟件編譯是在Keil uVision3上進行的,此軟件可以生成HEX文件用
36、于下載到單片機上工作。生成HEX文件后可以在PROTUES上進行仿真調(diào)試。由于在用Proteus作仿真的時候,軟件并不能完全符合實物的物理特性,所以在本設計的仿真方面,尤其是動態(tài)掃描方面,效果并不很成功,主要是動態(tài)掃描時,數(shù)碼管出現(xiàn)不能完全點亮,導致只有一部分段選顯示。經(jīng)過調(diào)查了解到,這是由于在Proteus仿真時,軟件中,數(shù)碼管只有點亮和不亮兩種狀態(tài),而實際做動態(tài)掃描時,數(shù)碼管是處于亮與不亮之間,通過二極管的余暉及人眼的視覺延遲來實現(xiàn)的,所以在軟件仿真時并不能完美的展示時鐘時間。不過,通過放慢掃描顯示的頻率,可以看到略顯閃爍的結(jié)果,證明軟硬件的仿真成功。結(jié) 論經(jīng)過一個多月的努力,我的畢業(yè)設計
37、在規(guī)定的時間內(nèi)順利地完成。設計制作出了基于單片機的秒表。本系統(tǒng)的特點是硬件控制電路簡單,以單片機AT89C51為核心,利用LED數(shù)碼管進行顯示。采用單片機控制可提高系統(tǒng)的可靠性和穩(wěn)定性,縮小系統(tǒng)的體積,調(diào)試和維護方便。由于采用了定時器中斷的方法進行計時,所以計時誤差小。雖然設計基本實現(xiàn)了題目要求,但系統(tǒng)本身還存在一些缺陷,如計時的最小單位不夠小,會造成一定的誤差;功能太單一,使得硬件資源有點浪費。經(jīng)過這次畢業(yè)設計,使我覺得不論從理論知識還是從實際操縱中都學到了不少知識,我想歸納起來,主要有以下四個方面: 1、經(jīng)過這次畢業(yè)設計,它讓我接觸更多平時沒有接觸過的科學儀器設備、元器件以及獲得相關(guān)的儀器
38、調(diào)試經(jīng)驗,同時我也發(fā)現(xiàn)自己在這方面很多不足之處。體會到理論知識對實踐有很大的指導作用,她讓我知道,只有在正確的理論指引下,才能設計出合乎實際需要的硬件電路。 2、學會了高效率的查閱資料、運用工具書、利用網(wǎng)絡查找資料。我發(fā)現(xiàn),在我們所使用的書籍上有一些知識在實際應用中其實并不是十分理想,各種參數(shù)都需要自己去調(diào)整。偶而還會遇到錯誤的資料現(xiàn)象,這就要求我們應更加注重實踐環(huán)節(jié)。 3、在畢業(yè)設計中,我們應當注意重點與細節(jié)的關(guān)系。 4、失敗不可怕,只要不趴下,昂首向前走,希望總會有??梢哉f畢業(yè)設計是對大學三年所學知識的一次運用和檢閱,同時對自學能力提出很高的要求,所以平時的學習脫離思考,就是嚴重的錯誤,我
39、們學習不應該有偏科現(xiàn)象,各方面的知識都應該有接觸,這樣做才能為畢業(yè)設計打下基石。致 謝首先感謝張繼偉老師的悉心指導和教誨,張老師淵博的學識、嚴謹?shù)闹螌W態(tài)度以及為人師表的言行舉止,都給我留下了深刻的印象。這也是為什么我會選擇張老師作為我本科畢業(yè)論文導師的原因所在。在接下來將近三個月的畢業(yè)設計過程中,張老師在論文的選題、框架的調(diào)整、內(nèi)容的刪增、乃至具體格式的規(guī)范等方面,都投入了大量的精力,提出了大量很有價值的建議意見,給了我很大的啟發(fā)和幫助,讓我領(lǐng)會到了一個真正學者所應該具有的風采以及為人處事的道理,深受感動。同時,自動化工程系的其他老師在我的學習和成長過程中也都付出了大量的精力,在此一并衷心感謝
40、。并祝愿各位老師身體健康、工作順利、萬事如意!最后,我要感謝的是我最親愛的家人。在我二十多年的成長過程中,你們無時不刻無私地關(guān)懷和付出,是我獨在異鄉(xiāng)求學的最大精神支柱,也是我可以依偎的最溫馨港灣。你們是我永遠的牽掛和眷念!參考文獻1 王守中. 51單片機開發(fā)入門與典型實例M. 北京:人民郵電出版社,2007: P195-204,P395-416.2 鄒友朋. 80C51單片機實用技術(shù)M. 北京:北京航空航天大學出版社,2008: P161-167.3 張毅剛. MCS-51單片機應用設計M. 哈爾濱:哈爾濱工業(yè)大學出版社,1997年,第二版: P69-71.4 徐君毅等. 單片微型計算機原理及
41、應用M. 上海:上??茖W技術(shù)出版社,1988年,第一版: P44-57.5 何立民. MCS-51單片機應用系統(tǒng)設計M. 北京:北京航空航天大學出版社,1991年,第一版: P30-46.6 李華. MCS-51 系列單片機使用接口技術(shù)M. 北京:北京航空航天大學出版社,1993年,第一版: P80-89.7 王毅. 單片機器件應用手冊M. 北京:人民郵電出版社,1995年,第一版: P55-58.8 李廣弟. 單片機基礎M. 北京:北京航空航天大學出版社,2001年,第一版: P38-42.9 孫育才. MCS-51系列單片微型計算機及其應用M. 東南大學出版社.2009.12: P15-1
42、7.10 郭天祥. 51單片機C語言教程-入門、提高、開發(fā)、拓展全攻略M. 電子工業(yè)出版社.2010.05: P21-23.11 丁峻嶺. C語言程序設計M. 中國鐵道出版社.2009.12: P26-30.附錄 源程序及說明#include /51系列單片機頭文件#define uchar unsigned char /宏定義#define uint unsigned intsbit dula=P26; /申明U1鎖存器的鎖存端sbit wela=P27; /申明U2鎖存器的鎖存端sbit key1=P34; /申明四個按鍵的鎖存端sbit key2=P35;sbit key3=P36;sb
43、it key4=P37;uchar code table= /含有09的數(shù)字數(shù)組0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void delayms(uint); /聲明延時函數(shù)void display(uchar,uchar,uchar); /聲明顯示函數(shù)void keyscan(); /聲明按鍵函數(shù)uchar num1,num2,bai,shi,ge; /變量聲明uint num;void main() /主函數(shù)入口TMOD=0x11; /設置TO,T1定時器TH0=(65536-45872)/256; /裝初值11.05992M晶振
44、定時50ms數(shù)為45872TL0=(65536-45872)%256;TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1; /開總中斷ET0=1; /開啟定時器T0中斷ET1=1; /開啟定時器T1中斷while(1) /程序停在這里等待中斷的發(fā)生,這個大循環(huán)也是實現(xiàn)數(shù)據(jù)顯示的主體keyscan();/三個數(shù)碼管要選送的數(shù)據(jù)bai=num/100; /百位 shi=(num-100*bai)/10; /十位ge=num-100*bai-shi*10; /個位 /直接把第二只數(shù)碼管的小數(shù)點燒出來dula=1; /打開段選P0=0x80; /送段選數(shù)據(jù)dula=0; /關(guān)閉斷選P0=0xff; /送位選數(shù)據(jù)前關(guān)閉所有顯示,防止打開位選鎖存時原來段選數(shù)據(jù)通過位鎖存端造成混亂wela=1; /打開位選P0=0xfd; /送位選數(shù)據(jù)wela=0; /關(guān)閉位選delayms(5); /延時dis
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級上冊課件英語
- 教案-金屬及其化合物,預習
- win7操作系統(tǒng)課件
- 建筑色彩教案
- 玉溪師范學院《素描人像》2022-2023學年第一學期期末試卷
- 我愛刷牙課件小班
- 別丟掉林徽因課件
- 2024年電力保護設備項目綜合評估報告
- 2024年硬幣清分機項目評估分析報告
- 2023年新型聚合物驅(qū)油劑項目綜合評估報告
- DLT 5285-2018 輸變電工程架空導線(800mm以下)及地線液壓壓接工藝規(guī)程
- JT-T-776.4-2010公路工程玄武巖纖維及其制品第4部分:玄武巖纖維復合筋
- 《公路工程施工班組規(guī)范化安全管理指引》(T-GDPAWS 20-2023)
- 政策工具視角下中小學思政課教師政策文本分析
- 《西游記》完整版本
- 事業(yè)單位管理崗位職員等級晉升制度面臨問題及實施對策探析
- MOOC 中國文化概論-華南師范大學 中國大學慕課答案
- 密封條范文模板(A4打印版)
- 診所消防應急專項預案
- 公需課答案-法治建設與國家治理現(xiàn)代化
- Unit+5+Education+語法知識點 高中英語北師大版(2019)選擇性必修第二冊
評論
0/150
提交評論