基于單片機(jī)的多功能秒表設(shè)計(jì).doc
《基于單片機(jī)的多功能秒表設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的多功能秒表設(shè)計(jì).doc(22頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
光電信息綜合設(shè)計(jì)報(bào)告 多功能秒表設(shè)計(jì) 院(系)名稱 信息工程學(xué)院 專 業(yè) 名 稱 光電信息科學(xué)與工程 姓 名 學(xué) 號(hào) 0 指 導(dǎo) 教 師 2018年 5 月 20日 摘 要 近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷的走向深入。本文闡述了基于單片機(jī)的多功能電子秒表設(shè)計(jì)。本設(shè)計(jì)主要特點(diǎn)是具有倒計(jì)時(shí)功能,還可以按圈計(jì)時(shí),而且誤差在0.01s,是各種體育競(jìng)賽的必備設(shè)備之一,另外硬件部分設(shè)置了查看按鍵,還具備有定時(shí)提醒功能,讓你時(shí)時(shí)刻刻都掌握時(shí)間。 本設(shè)計(jì)的數(shù)字電子秒表系統(tǒng)采用STC89C52單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、數(shù)碼管以及外部中斷電路來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠?qū)崿F(xiàn)4位LED顯示,顯示時(shí)間99s內(nèi),能正確地進(jìn)行計(jì)時(shí),同時(shí)能記錄10組時(shí)間,并在暫停是對(duì)時(shí)間進(jìn)行查詢。其中軟件系統(tǒng)采用C語(yǔ)言編寫程序,包括顯示程序,定時(shí)中斷服務(wù)延時(shí)程序等,并在KEIL中調(diào)試運(yùn)行,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單切易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。 關(guān)鍵字:?jiǎn)纹瑱C(jī);數(shù)字電子秒表;提醒 目 錄 1 總體設(shè)計(jì)方案 1 2 硬件設(shè)計(jì) 3 2.1 單片機(jī)的選擇 3 2.2 顯示電路的選擇與設(shè)計(jì) 5 2.3 按鍵電路的選擇與設(shè)計(jì) 6 2.4 時(shí)鐘電路的選擇與設(shè)計(jì) 6 2.5 系統(tǒng)總電路的設(shè)計(jì) 7 3 軟件設(shè)計(jì) 9 3.1 程序設(shè)計(jì)思想 9 3.2 主程序設(shè)計(jì) 9 3.3 中斷程序設(shè)計(jì) 10 3.4程序模塊設(shè)計(jì): 11 主程序 11 (2)停止子程序 14 (3)復(fù)位子程序 14 (4)按鍵消抖程序 15 4 多功能秒表的安裝與調(diào)試 16 4.1 軟件的仿真與調(diào)試 16 4.2 硬件的安裝與調(diào)試 16 4.3 實(shí)物調(diào)試 17 結(jié) 論 19 1 總體設(shè)計(jì)方案 多功能秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛使用。本設(shè)計(jì)用單片機(jī)組成數(shù)字電子秒表,力求結(jié)構(gòu)簡(jiǎn)單、精度高為目標(biāo)。 設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,時(shí)鐘功能,倒計(jì)時(shí),計(jì)時(shí)與顯示電路和回零、啟動(dòng)和停表電路等。主控制器采用單片機(jī)STC89C52,顯示電路采用共陽(yáng)極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間。 本設(shè)計(jì)利用STC89C52單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2口作位掃描輸出,P1^0,P1^1,P1^2,P1^3,P1^4口接5個(gè)按鈕開關(guān),分別實(shí)現(xiàn)開始、記錄、清除,方向和調(diào)整。電路原理圖設(shè)計(jì)最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照?qǐng)D1-1進(jìn)行設(shè)計(jì)。 STC89C52 單片機(jī)控制系統(tǒng) 四位數(shù)碼管 燈光提示系統(tǒng) 控制開關(guān) 圖1-1 智能秒表顯示硬件電路基本原理圖 根據(jù)要求知道秒表設(shè)計(jì)主要實(shí)現(xiàn)的功能是倒計(jì)時(shí)、計(jì)時(shí)和時(shí)鐘顯示。因此設(shè)置了五個(gè)按鍵和四位數(shù)碼管顯示時(shí)間,五個(gè)按鍵中,按鍵1是開始按鈕:可控制系統(tǒng)的開關(guān);按鍵2為記錄按鍵:在秒表模式運(yùn)行時(shí),可保存數(shù)據(jù),在其他狀態(tài)時(shí)還有復(fù)用功能;按鍵3為清除鍵:在系統(tǒng)計(jì)時(shí)時(shí)可以復(fù)位時(shí)間,在查看數(shù)據(jù)、調(diào)整時(shí)間時(shí),還有其他功能;按鍵4為方向鍵,調(diào)節(jié)時(shí)間計(jì)時(shí)時(shí)的正反向;按鍵5為調(diào)整按鍵:調(diào)整和設(shè)置時(shí)間。利用這五個(gè)建來(lái)實(shí)現(xiàn)秒表的全部功能,而四個(gè)位數(shù)碼管則能顯示最多99秒內(nèi)的計(jì)時(shí)。 計(jì)時(shí)采用定時(shí)器T0中斷完成,定時(shí)溢出中斷周期為10ms,當(dāng)一處中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)毫秒計(jì)數(shù)單元進(jìn)行加一,達(dá)到2次就對(duì)十毫秒位進(jìn)行加一,就是進(jìn)位0.01,然后按時(shí)鐘的取值范圍進(jìn)行進(jìn)位。 再看按鍵的處理。這六個(gè)鍵可以采用中斷的方法,也可以采用掃描的方法來(lái)識(shí)別。 設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,顯示電路和回零、啟動(dòng)、查看、停表電路等。主控制器采用單片機(jī)STC89C52,顯示電路采用共陽(yáng)極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間,五個(gè)按鍵均采用觸點(diǎn)式按鍵。 2 硬件設(shè)計(jì) 2.1 單片機(jī)的選擇 本課題在選取單片機(jī)時(shí),充分借鑒了許多成形產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn),并根據(jù)自己的實(shí)際情況,選擇了STC公司的STC89C52。 STC公司的89系列單片機(jī)以其卓越的性能、完善的兼容性、快捷便利的電擦寫操作,低廉的價(jià)格、超強(qiáng)的加密功能,完全替代87C51/62和8751/52,低電壓、低電源、低功耗,有DIP、PLCC、QFP封裝,有民用型、工業(yè)級(jí)、汽車級(jí)、軍品級(jí)等多種溫度等級(jí),是當(dāng)今世界上性能最好、價(jià)格最低、最受歡迎的八位單片機(jī)。 STC89C52R為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。 單片機(jī)的外部結(jié)構(gòu) STC89C52單片機(jī)采用40引腳的雙列直插封裝方式。圖2-1為引腳排列圖, 40條引腳說(shuō)明如下: 主電源引腳Vss和Vcc ① Vss接地 ② Vcc正常操作時(shí)為+5伏電源 外接晶振引腳XTAL1和XTAL2 ① XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),此引腳接地。 ② XTAL2內(nèi)部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當(dāng)采用外部振蕩器時(shí),此引腳接外部振蕩源。 圖2-1 單片機(jī)引腳圖 控制或與其它電源復(fù)用引腳RST/VPD,ALE/,和/Vpp ① RST/VPD 當(dāng)振蕩器運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平(由低到高跳變),將使單片機(jī)復(fù)位在Vcc掉電期間,此引腳可接上備用電源,由VPD向內(nèi)部提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。 ② ALE/正常操作時(shí)為ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部鎖存器,ALE 引腳以不變的頻率(振蕩器頻率的1/6)周期性地發(fā)出正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。但要注意,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖,ALE 端可以驅(qū)動(dòng)(吸收或輸出電流)八個(gè)LSTTL電路。對(duì)于EPROM型單片機(jī),在EPROM編程期間,此引腳接收編程脈沖(功能) ③ 外部程序存儲(chǔ)器讀選通信號(hào)輸出端,在從外部程序存儲(chǔ)取指令(或數(shù)據(jù))期間,在每個(gè)機(jī)器周期內(nèi)兩次有效。同樣可以驅(qū)動(dòng)八LSTTL輸入。 ④ /Vpp、/Vpp為內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端。當(dāng)/Vpp為高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,當(dāng)/Vpp為低電平時(shí),則訪問(wèn)外部程序存儲(chǔ)器。對(duì)于EPROM型單片機(jī),在EPROM編程期間,此引腳上加21伏EPROM編程電源(Vpp)。 輸入/輸出引腳P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。 ① P0口(P0.0 - P0.7)是一個(gè)8位漏極開路型雙向I/O口,在訪問(wèn)外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載。 ② P1口(P1.0 - P1.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。 ③ P2口(P2.0 - P2.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口,在訪問(wèn)外部存儲(chǔ)器時(shí),它輸出高8位地址。P2口可以驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。 ④ P3口(P3.0 - P3.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。 STC89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。CPU是單片機(jī)的核心部件。它由運(yùn)算器和控制器等部件組成。 本設(shè)計(jì)采用STC的STC89C52微處理器,主要基于以下幾個(gè)因素: ① STC89C52為51內(nèi)核,仿真調(diào)試的軟硬件資源豐富。 ② 性價(jià)比高,貨源充足。 ③ 功耗低,功能強(qiáng),靈活性高。 ④ DIP40封裝,體積小,便于產(chǎn)品小型化。 ⑤ 為EEPROM程序存儲(chǔ)介質(zhì),1000次以上擦寫周期,便于編程調(diào)試。 工作電壓范圍寬:2.7V-6V,便于交直流供電。 2.2 顯示電路的選擇與設(shè)計(jì) 對(duì)于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。對(duì)于一般的段式液晶屏,需要專門的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性差,不適合遠(yuǎn)距離觀看;對(duì)于具有驅(qū)動(dòng)電路和單片機(jī)接口的液晶顯示模塊(字符或點(diǎn)陣),一般多采用并行接口,對(duì)單片機(jī)的接口要求較高,占用資源多;另外,STC89C52單片機(jī)本身無(wú)專門的液晶驅(qū)動(dòng)接口。而數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、響應(yīng)速度快、防潮防濕性能好、溫度特性極性、價(jià)格便宜、易于購(gòu)買等優(yōu)點(diǎn),而且有遠(yuǎn)距離視覺(jué)效果,很適合夜間或是遠(yuǎn)距離操作。因此,本設(shè)計(jì)的顯示電路采用7段數(shù)碼管作為顯示介質(zhì)。 數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。由于本設(shè)計(jì)需要采用四位數(shù)碼管顯示時(shí)間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜。所以采用動(dòng)態(tài)顯示。 圖2-2 顯示電路基本原理圖 動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個(gè)8位的I/O口控制;各位的公共陽(yáng)極位選線由另外的I/O口線控制。動(dòng)態(tài)方式顯示時(shí),各數(shù)碼管分時(shí)輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時(shí)刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時(shí)刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼,依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時(shí)刻分別顯示,但由于人眼存在視覺(jué)暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時(shí)顯示的感覺(jué)。 2.3 按鍵電路的選擇與設(shè)計(jì) 本設(shè)計(jì)中有五個(gè)按鍵,分別實(shí)現(xiàn)開始、記錄、清除,方向和調(diào)整功能。這五個(gè)鍵可以采用中斷的方法,也可以采用查詢的方法來(lái)識(shí)別。系統(tǒng)采用的是掃描的查詢方法來(lái)識(shí)別按鍵的五個(gè)按鍵均采用低電平有效,具體電路連接圖如圖2-3所示。 當(dāng)按鍵沒(méi)有按下時(shí),單片機(jī)的I/O口直接連接電源,因此需要接上拉電阻來(lái)進(jìn)行限流,本設(shè)計(jì)中選取阻值為2kΩ 的電阻作為上拉電阻,根據(jù)計(jì)算可知此時(shí)的灌電流為2.5mA看STC89C52的資料得知次電流在安全范圍內(nèi),符合安全設(shè)計(jì)要求。 圖2-3 按鍵電路 2.4 時(shí)鐘電路的選擇與設(shè)計(jì) 單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)內(nèi)各種微操作的時(shí)間基準(zhǔn),89S52片內(nèi)設(shè)有一個(gè)由反向放大器所構(gòu)成的振蕩電路,XTAL1和 XTAL2分別為振蕩電路的輸入和輸出端,89S52單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式與外部振蕩方式。外部方式的時(shí)鐘很少用,若要用時(shí),只要將XTAL1接地,XTAL2接外部振蕩器就行。對(duì)外部振蕩信號(hào)無(wú)特殊要求,只要保證脈沖寬度,一般采用頻率低于12MHz的方波信號(hào)。 時(shí)鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個(gè)兩相時(shí)鐘信號(hào)P1和P2供單片機(jī)使用。P1在每一個(gè)狀態(tài)S的前半部分有效,P2在每個(gè)狀態(tài)的后半部分有效。本設(shè)計(jì)采用的內(nèi)部振蕩方式,內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。本設(shè)計(jì)系統(tǒng)的時(shí)鐘電路如圖1-5所示。只要按照?qǐng)D2-4所示電路進(jìn)行設(shè)計(jì)連接就能使系統(tǒng)可靠起振并能穩(wěn)定運(yùn)行。圖中,電容器C1、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為5~33pF。但在時(shí)鐘電路的實(shí)際應(yīng)用中一定要注意正確選擇其大小,并保證電路的對(duì)稱性,盡可能匹配,選用正牌的瓷片或云母電容,如果可能的話,溫度系數(shù)盡可能低。本設(shè)計(jì)中采用大小為30pF的電容和12MHz的晶振。 圖2-4 內(nèi)部振蕩電路 2.5 系統(tǒng)總電路的設(shè)計(jì) 系統(tǒng)總電路由以上設(shè)計(jì)的顯示電路,時(shí)鐘電路,按鍵電路和復(fù)位電路組成,只要將單片機(jī)與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖如圖2-5所示。 STC89C52單片機(jī)為主電路的核心部分,各個(gè)電路均和單片機(jī)相連接,由單片機(jī)統(tǒng)籌和協(xié)調(diào)各個(gè)電路的運(yùn)行工作。 STC89C52單片機(jī)提供了XTAL1和XTAL2兩個(gè)專用引腳接晶振電路,因此只要將晶振電路接到兩個(gè)專用引腳即可為單片機(jī)提供時(shí)鐘脈沖,但在焊接晶振電路時(shí)要盡量使晶振電路靠近單片機(jī),這樣可以為單片機(jī)提供穩(wěn)定的始終脈沖。 圖2-5 系統(tǒng)總電路圖 復(fù)位電路同晶振電路,單片機(jī)設(shè)有一個(gè)專用的硬件復(fù)位接口,并設(shè)置為高電平有效。 按鍵電路與單片機(jī)的端口連接可以由用戶自己設(shè)定,本設(shè)計(jì)中按鍵均設(shè)為低電平有效。 顯示電路由四位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有8位段控制端和4位位控制端,八位段控制接P0口,P0.0~P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,STC89C52的P0口沒(méi)有集成上拉電阻,高電平的驅(qū)動(dòng)能力很弱,所以需要接上拉電阻來(lái)提高P0的高電平驅(qū)動(dòng)能力,對(duì)應(yīng)的數(shù)碼管導(dǎo)通顯示。 通過(guò)以上設(shè)計(jì)已經(jīng)將各部分電路與單片機(jī)有機(jī)的結(jié)合到一起,硬件部分的設(shè)計(jì)以大功告成,剩下的部分就是對(duì)單片機(jī)的編程,使單片機(jī)按程序運(yùn)行,實(shí)現(xiàn)數(shù)字電子秒表的全部功能。 3 軟件設(shè)計(jì) 3.1 程序設(shè)計(jì)思想 本設(shè)計(jì)采用了C語(yǔ)言編寫,匯編語(yǔ)言由于采用了助記符號(hào)來(lái)編寫程序,比用機(jī)器語(yǔ)言的二進(jìn)制代碼編程要方便些,在一定程度上簡(jiǎn)化了編程過(guò)程。匯編語(yǔ)言的特點(diǎn)是用符號(hào)代替了機(jī)器指令代碼,而且助記符與指令代碼一一對(duì)應(yīng),基本保留了機(jī)器語(yǔ)言的靈活性。使用匯編語(yǔ)言能面向機(jī)器并較好地發(fā)揮機(jī)器的特性,得到質(zhì)量較高的程序。 C語(yǔ)言具有下列特點(diǎn): 1. C是中級(jí)語(yǔ)言 它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。 2. C是結(jié)構(gòu)式語(yǔ)言 結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?便于使用、維護(hù)以及調(diào)試。C 語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。 3. C語(yǔ)言功能齊全 C語(yǔ)言具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外C語(yǔ)言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的。 4. C語(yǔ)言適用范圍大 C語(yǔ)言還有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng),如DOS、UNIX,也適用于多種機(jī)型。 3.2 主程序設(shè)計(jì) 本系統(tǒng)程序主要模塊由主程序、子程序、定時(shí)中斷服務(wù)程序。其中主程序是整個(gè)程序的主體??梢詫?duì)各個(gè)中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個(gè)子程序之間的聯(lián)系。 系統(tǒng)(上電)復(fù)位后,進(jìn)入主程序,主程序流程圖如圖3-1所示。 開始 倒計(jì)時(shí) 正計(jì)時(shí) 倒計(jì)時(shí)模式 鬧鐘模式 秒表模式 時(shí)間到 計(jì)時(shí)等于0 計(jì)時(shí)大于99s 報(bào)警提示 報(bào)警提示 報(bào)警提示 返回 返回 返回 圖3-1 主程序流程圖 3.3 中斷程序設(shè)計(jì) 現(xiàn)在方案中采用了定時(shí)中斷T0。CPU在響應(yīng)中斷時(shí),先處理高級(jí)中斷,在處理低級(jí)中斷,若有多個(gè)同級(jí)中斷時(shí),則按自然優(yōu)先順序處理。例如當(dāng)CPU正在處理一個(gè)中斷申請(qǐng)時(shí),有出現(xiàn)了另一個(gè)優(yōu)先級(jí)比它高的中斷請(qǐng)求,這是,CPU就暫停終止對(duì)當(dāng)前優(yōu)先級(jí)較低的中斷源的服務(wù),轉(zhuǎn)去響應(yīng)優(yōu)先級(jí)比它高的中斷請(qǐng)求,并為其服務(wù)。待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來(lái)較低級(jí)的中斷服務(wù)程序。而當(dāng)CPU為級(jí)別高的終端服務(wù)程序服務(wù)時(shí),如果級(jí)別低的中斷發(fā)出中斷請(qǐng)求,此時(shí)CPU是不會(huì)響應(yīng)的,所以為了避免開始和暫停兩個(gè)按鍵中的一個(gè)出現(xiàn)沒(méi)有響應(yīng)的情況,在進(jìn)行程序編輯時(shí)要注意對(duì)中斷的使用,避免出現(xiàn)中斷的嵌套。,合理分配中斷對(duì)本設(shè)計(jì)的實(shí)現(xiàn)是至關(guān)重要的。 另外由于數(shù)字式電子秒表的最小精度位10ms。定時(shí)器T0的定時(shí)周期也為10ms,為了使電子秒表暫停鍵按下后CPU能馬上進(jìn)行數(shù)據(jù)調(diào)整 3.4程序模塊設(shè)計(jì): #include- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 多功能 秒表 設(shè)計(jì)
鏈接地址:http://www.820124.com/p-6654032.html