




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、揚 州 市 職 業(yè) 大 學畢 業(yè) 設 計(論 文)設計(論文)題目:基于單片機控制的數(shù)字鐘 系 別: 電子工程系 1專 業(yè): 應用電子 班 級: 08電子(2) 1姓 名: 1學 號: 指導教師: 完成時間: 11年4月30日 目 錄摘要2第1章 緒論31.1課題簡介3 1.2系統(tǒng)功能要求3第2章 方案設計4 第3章 硬件設計63.1 最小系統(tǒng)設計7 3.2 時間調(diào)整電路設計103.3 顯示電路設計113.4整點報時電路設計123.5電路相關參數(shù)的計算12第4章 軟件設計144.1主程序設計144.2顯示子程序設計154.3定時器中斷服務子程序設計15第5章 檢測與調(diào)試17 5.1硬件調(diào)試17
2、 5.2軟件調(diào)試17總結 19附錄21參考文獻32基于單片機控制的數(shù)字鐘 摘要:近年來隨著計算機在社會領域的滲透和大規(guī)模集成電路的發(fā)展,單片機的應用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關的系統(tǒng),越來越廣泛地應用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。本次畢業(yè)設計中做的數(shù)字鐘是以單片機(at89c51)為核心,結合相關的元器件(led數(shù)碼顯示器、時鐘芯片等功能模塊),再配以相應的軟件。其硬
3、件電路設計主要包括中央處理單元電路、時鐘電路、信號處理電路等幾部分組成。數(shù)字鐘是采用數(shù)字電路實現(xiàn)時、分、秒數(shù)字顯示的計時裝置,廣泛應用于個人家庭,車站,碼頭等公共場所,成為人們?nèi)粘I钪胁豢扇鄙俚谋匦杵?。在本次的畢業(yè)設計中,實現(xiàn)以單片機為核心,由led數(shù)碼管顯示時、分、秒的數(shù)字鐘,并具有按鍵修改時鐘參數(shù)和鬧鈴的功能。關鍵字:單片機;數(shù)字鐘;at89c51;按鍵修改;鬧鈴第1章 緒 論1.1 課題簡介該產(chǎn)品介紹一個采用at89c51單片機芯片制作的“數(shù)碼顯示電子鐘”,該led數(shù)碼管時鐘電路采用24小時計時方式,時、分、秒用六位數(shù)碼管顯示。該電路采用at89c51單片機,結合相關的元器件,具有電路
4、簡單、制作容易、設置方便、使用靈活等優(yōu)點。1.2 系統(tǒng)功能要求1.本電路采用的內(nèi)部振蕩器方式,晶體振蕩器頻率為6mhz,具有較高的頻率穩(wěn)定性,且延時采用數(shù)字計數(shù)的方式進行,因而對時間的控制、精度較高,可有效地控制時間不準、不可靠的問題出現(xiàn)。2.初始加電時,顯示初始狀態(tài),本電路的6位數(shù)碼顯示管將自動顯示出程序默認的時間,只要不進行新的時間設置,數(shù)碼管將從初始狀態(tài)起計時。本程序的初始狀態(tài)設為00:00:00。3.本電路允許用戶隨時通過調(diào)時按鍵自行輸入設置新的時間參數(shù),其范圍可在1s-24h之間任意調(diào)試,使用戶可以根據(jù)自身的需要來進行不同的時間設置。4.當調(diào)時進行完畢后,數(shù)碼管顯示將根據(jù)程序的要求自
5、動加1s,秒位累計到60s,向分位進1,分位累計到60分,向時位進1,當時位累計到23,且秒位為59秒,分位為59分時,時位、分位、秒位自動歸零,即24小時(一天)結束,進入下一工作日計時。5.本電路的外接電源可用5v直流電池電源,亦可將交流電壓轉(zhuǎn)變?yōu)橹绷麟?,簡單方便。使用中應謹慎,避免硬件設施被燒壞。6.在進行時間參數(shù)設置和整個顯示過程中,系統(tǒng)采用6位數(shù)碼管做“時位、分位、秒位”計時顯示(省電模式下除外),直觀、準確。第2章 方案設計隨著社會科技文化的發(fā)展,電子、電腦技術的不斷提高,許多電路都有了不同的設計方案及連接方法。相同的產(chǎn)品用不同的系統(tǒng)也能用不同的原理去制成。數(shù)字鐘作為一個普通的生活
6、用品,有多種不同的制作方案。雖然數(shù)字鐘比較簡單,但作為我初次實驗設計方案,對于我們初學者來說還是很有幫助的。在制作數(shù)字鐘電路時,我選擇了二種使用設計方案。第一種主要是用jk觸發(fā)器制作的。第二種是用上述所說的單片機(at89c51)制作的。方案一:用數(shù)字電路設計。數(shù)字電路設計的可分模塊組建,一個模塊一個功能看起來易于理解,也由于這個原因使得在設計數(shù)字鐘時所用到的元器件較多。如下圖所示:24進制時計數(shù)器60進制分計數(shù)器60進制秒計數(shù)器jkjk1khz脈沖源10分頻器10分頻器q1 10分頻器 圖2-1 用數(shù)字電路設計的數(shù)字鐘第一種方案的設計思路:首先,應有一種秒脈沖產(chǎn)生器,由石英體振蕩器產(chǎn)生的基準
7、信號,經(jīng)過整形和分頻獲得。秒脈沖經(jīng)過秒計數(shù)器(60進制)可以累計秒脈沖數(shù),而秒計數(shù)器輸出的分脈沖計數(shù)器(60進制)累計分鐘數(shù)。同樣,分計數(shù)器輸出的脈沖經(jīng)計數(shù)器(24進制)可累計時分數(shù)。這些時分秒計數(shù)通過數(shù)碼管顯示。方案二:用單片機設計。單片機設計分為硬件設計和軟件設計,清晰明了。一個元件有幾個功能。硬件上有不足處可在軟件上解決,軟件上不能完成的功能又可在硬件解決。使用方便,軟硬件的可變化性很大,方法也很多。同時它也具有如下的優(yōu)點:(1)可靠性高 (2)性能價格比高 (3)操作簡便 (4)電路簡單兩種電路方案相比較之下,前者的方案雖然價格不是很貴,也比較實用、精確。但其電子元件相對多了很多(例如
8、僅是觸發(fā)器就有13個之多)。使得電路的焊接就顯得非常困難。在短期的實踐中就會顯得比較倉促。更重要的一點就是當今社會的發(fā)展趨勢是更趨向于高度的集成化。所以我選擇了后者,即單片機控制數(shù)碼管顯示電路。這個方案不僅電路簡單,也更符合發(fā)展的趨勢,將高度的集成化融入實踐中,更具實際意義。第3章 硬件設計硬件框圖cpu8051復位電路按鍵閃爍和加1蜂鳴器時間顯示圖3-1 硬件框圖 圖3-2 電路原理圖cpu是單片機內(nèi)部的核心部件,它決定了單片機的主要功能特性。它由運算部件和控制部件兩大部分組成。其中包括振蕩電路和時鐘電路,主要完成單片機的運算和控制控制功能;3.1 最小系統(tǒng)設計最小系統(tǒng)主要由6mhz晶振、2
9、個30pf和1個10uf的電容,1個200, 1個10k電阻和開關組成。它的功能是使單片機能方便的與各種擴展芯片連接。只要將單片機接上時鐘電路和復位電路即可。同時ea接高電平ale、psen信號系統(tǒng)不用,系統(tǒng)就可以工作。3.1.1 at89c51性能介紹由于at89系列單片機所有的cpu核心均為8051技術,下面來介紹at89系列單片機的性能和結構如圖(四)所示。 圖3-3 at89c51引腳at89c51單片機的封裝形式有雙列直插封裝(pdip)方式對其引腳的主要功能簡要說明如下:1)主電源引腳(1)vcc:電源端。(2)gnd:接地端。2)外接晶體引腳xtal1和xtal2(1)xtal1
10、:接外部晶體一個引腳。(2)xtal2:接外部晶體管的另一個引腳。3)控制信號引腳(1)ale/prog:地址鎖存允許/編程信號端。當訪問片外存儲器時,該引腳信號為地址鎖存信號ale。ale的輸出用于鎖存地址的低8位字節(jié)。即使不訪問片外存儲器,ale端仍以不變的頻率(此頻率為振蕩器頻率的確良1/6)周期性地出現(xiàn)正脈沖信號。因此,ale也可用作對外輸出時鐘,或用于定時等目的。(2)/psen:外部程序存儲器讀選通信號。當單片機訪問外部程序存儲器時(取指令或常數(shù)),每個機器周期psen兩次有效(即輸出2個脈沖)。當訪問外部數(shù)據(jù)存儲器時,將不出現(xiàn)psen信號。(3)ea/vpp:外部程序存儲器訪問允
11、許/編程電壓輸入端。要使cpu只訪問外部程序存儲器(地址范圍為0000hffffh),則ea端必須保持低電平(接地)。 當ea端保持高電平(接vcc端)時,cpu則執(zhí)行內(nèi)部程序存儲器中的程序。(4)rst:復位信號輸入端。當振蕩器運行時,若在該引腳上出現(xiàn)兩個機器周期的高電平信號,將使單片機復位。4)輸入/輸出引腳(i/o口線) (1)p0端口(p0.0p0.7):p0口是一個8位漏極開路型雙向i/o端口。 (2)p1端口(p1.0p1.7):p1口是一個帶有內(nèi)部上拉電阻的8位雙向i/o端口。 (3)p2端口(p2.0p2.7):p2口
12、是一個帶有內(nèi)部上拉電阻的8位雙向i/o端口。p2口的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個lsttl負載。 (4)p3端口(p3.0p3.7):p3口是一個帶內(nèi)部上拉電阻的8位雙向i/o端口。p3口的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個lsttl負載。在at89c51中,p3端口可作一般的通用i/o使用,也可用于一些復用功能。復用功能如下表p3各端口的復用功能表p3口復用功能p3.0口rxd串行輸入口p3.1p3.2p3.3p3.4p3.5p3.6p3.7txdint0int1t0t1wrrd串行輸出口外部中斷0輸入端外部中斷1輸入端定時/計數(shù)器0的外部輸入端
13、定時/計數(shù)器1的部輸入端外部數(shù)據(jù)存儲器寫選通外部數(shù)據(jù)存儲器讀選通3.1.2 復位電路:與at89c51的reset 腳相連,復位電路如圖:圖3-4 復位電路at89c51單片機復位是使cpu和系統(tǒng)中其他功能部件都處在一個確定的初始狀態(tài),無論在單片機剛開始接上電源時,還是斷電后或者發(fā)生故障后都要考慮。單片機的復位條件是rst引腳加上持續(xù)兩個機器周期(即24個振蕩周期)的高電平,單片機常見的復位電路如圖(五)所示。單片機的rst引腳為主機提供一個外部復位信號輸入端口。復位以后,單片機內(nèi)各部件恢復到初始狀態(tài),單片機從rom的0000h開始執(zhí)行程序。單片機的復位方式有上電復位和手動復位兩種,上電復位要
14、求接通電源后,單片機自動實現(xiàn)復位操作。上電瞬間reset引腳獲得高電平,隨著電容的充電,rerst引腳的高電平將逐漸下降。rerst引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復位操作。上電與按鍵均有效的復位電路不僅在上電時可以自動復位,而且在單片機運行期間,利用按鍵也可以完成復位操作。所以本設計選用第二種上電復位與按鍵均有效的復位電路,即手動復位電路。在圖3-4中,r1=10k,r2=200,c3=10uf。rst按鍵可以選擇專門的復位按鍵,也可以選擇輕觸開關。3.1.3 時鐘電路:由6mhz的晶振和兩個30pf的電容接at89c51的x1x2構成,保證系統(tǒng)正常工作。圖
15、3-5 時鐘電路時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關系。單片機本身就如一個復雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應在唯一的時鐘信號控制下嚴格地作。at89c51內(nèi)部有一個用于構成振蕩器的高增益反相放大器,引腳xtal1和xtal2分別是此放大器的輸出端和輸入端。這個放大器與片外石英晶體和陶瓷諧振器一起構成了一個自激振蕩器,如圖3-5所示。一般情況下電容c1和c2取30pf左右,晶體的振蕩頻率范圍是1.212mhz。晶體振蕩頻率越高,則系統(tǒng)的時鐘頻率越高,單片機運行速度也越快。一般情況下,單片機使用的振蕩頻率為6mhz或者說12m
16、hz。在任何情況下,振蕩器時鐘驅(qū)動內(nèi)部時鐘發(fā)生器向主機提供時鐘信號。時鐘發(fā)生器是個2分頻觸發(fā)器,它向芯片提供一個兩相的時鐘信號。單片機工作的時間基準是由時鐘電路提供的。在單片機的xtal1和xtal2兩個引腳間,接一只晶振及兩只電容就構成了單片機的時鐘電路,在圖3-5中,xtal1和xtal2腳接到6mhz的晶體振蕩器上,與兩個30pf的電容并聯(lián),并接低電平。電容對振蕩頻率有微調(diào)作用。3.2 時間調(diào)整電路設計按鍵電路是由開關s1,s2,上拉電阻r1=r2=10k,接在p3.2,p3.3口上,兩個按鍵分別是加一和閃爍功能。當對時間進行調(diào)整時,當led數(shù)碼管對應的顯示時、分、秒的位閃爍時,可按鍵s
17、2,對時間進行調(diào)整。圖3-6 時間調(diào)整電路3.3 顯示電路設計數(shù)碼顯示運用了led數(shù)碼管。led數(shù)碼顯示器就是由發(fā)光二極管組合而成的1種新型顯示器件,在單片機系統(tǒng)中應用非常普遍。在設計中我運用了共陽極法,當陰極端輸入低電平時,斷發(fā)光二極管就導通點亮,輸入高電平不點亮,并運用了動態(tài)顯示,逐個循環(huán)點亮數(shù)碼管。led數(shù)碼管顯示電路:段碼輸出是由8個510歐姆的限流電阻,6個led共陽極的數(shù)碼管,通過p0口輸出的。位碼控制是由6個4.7k的電阻,6個pnp(8550)極,通過p2口的p2.0,p2.1,p2.2,p2.3,p2.4,p2.5來控制的。圖3-7 顯示電路led采用共陽極連接方式,公共端接
18、+5v電源,8個口分別和at89c51的p0口對應的8個引腳相連。3.4 整點報時電路設計電路圖如下圖3-8 整點報時電路本次設計中使用到一個蜂鳴器,當數(shù)碼管顯示到整點的時候蜂鳴器會進行整點報時,會發(fā)出“滴”的響聲。3.5 相關電路參數(shù)的計算3.5.1 led數(shù)碼管與p0口之間的電阻選擇:由于led數(shù)碼管是由七段發(fā)光二極管組成。發(fā)光二極管發(fā)光時的壓降為1.8v,發(fā)光電流位312ma, 5v-1.8v=3.2v,可取電阻為510,則電流就為3.2v510,得到約為6.3ma,則電阻上的阻值應取位510。3.5.2 pnp三極管與p2口之間的電阻選擇:假設led數(shù)碼顯示器八
19、段全亮,則集電極電流ics為80ma.基極與發(fā)射極之間的電壓為0.7伏,則基極電流 ib=u/r即為(5-0.7)/r,又因為集電極電流為共射電流放大系數(shù)與基極電流之積,即 ic=ib,當(5-0.7)/r>80ma/b時,pnp工作在飽和區(qū),即r<(5-0.7)*b/80.因此,在此電路中,我們?nèi)‰娮枳柚禐?.7k,使pnp工作在飽和區(qū)。具體計算如下u1=0.7v;ics=80ma; ib=u/r=(5-0.7)/r;ic=ib; ibic/(5-0.7)/r80ma/r(5-0.7)*/80=100;選取三極管8550的放大倍數(shù)為100r=4.7k;實際取4
20、.7k3.5.3 開關與p3口之間的電阻選擇:由于開關端的電阻接+5v電源,導線本身的電流是非常微小的,可選擇了10k的電阻來完成硬件電路的連接。第4章 軟件設計顯示緩沖單元在70h75h,70h71h顯示秒,72h73h顯示分,74h75h顯示時時間計數(shù)單元在70h71h(秒),76h77h(分),78h79h(時),74h單元放熄滅符(#0ah)計數(shù)單元采用bcd碼計數(shù),定時器t0設置為50ms溢出中斷,為秒計數(shù)用,定時器t1為調(diào)整時閃爍用p3.7為調(diào)整按鈕,p2口為字符輸出口,采用共陽顯示管。4.1 主程序設計從本設計的主程序流程圖中可以看出,當按下復位開關set時,顯示單元開始清零,將
21、t0、t1設為16位計數(shù)器模式。此時允許t0中斷,然后調(diào)用子程序,如果此時p3.7口為零,即輸入為低電平,表示此時復位鍵set已經(jīng)按下,即可進入調(diào)時程序進行時間設置。如若p3.7口不為零,為1,即高電平,則程序返回到顯示子程序,繼續(xù)執(zhí)行,進行時間加1s,如此循環(huán)。圖4-1 主程序框圖4.2 顯示子程序設計數(shù)碼管的顯示的數(shù)據(jù)存放在內(nèi)存單元70h75h中,其中70h71h存放秒數(shù)據(jù),72h73h存放分數(shù)據(jù),74h75h存放時數(shù)據(jù)。每一單元內(nèi)均為十進制bcd碼。由于采用軟件動態(tài)掃描實現(xiàn)數(shù)據(jù)顯示功能,顯示用十進制bcd碼數(shù)據(jù)的對應碼段存放在rom表中。顯示時,先取出70h75h某一地址中的數(shù)據(jù),然后查
22、它的對應的顯示用碼段從p1口輸出。p3口將對應的數(shù)碼管選種供電,這樣就能顯示地址單元的數(shù)據(jù)值。4.3 定時器中斷服務子程序設計這是本次時鐘設計的關鍵,也是重中之重。定時器t0的作用是用來進行時間計時。定時溢出中斷周期設為50ms ,中斷累計達20次,即1s鐘時對秒計時單元的數(shù)據(jù)進行加1操作。在執(zhí)行t0中斷服務程序時采用了bcd碼計數(shù),滿60進位。具體分析見下圖:圖4-2 中斷服務子程序框圖源程序見附錄一。第5章 檢測與調(diào)試系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試。硬件調(diào)試的任務是排除系統(tǒng)的硬件系統(tǒng)的硬件電路故障包括設計性錯誤和工藝故障。軟件調(diào)試是利用開發(fā)工具進行在線防真調(diào)試,除發(fā)現(xiàn)和解決程序錯誤外,也可
23、以發(fā)現(xiàn)硬件故障校時電路。本次設計中需要的調(diào)試如下:5.1 硬件的調(diào)試5.1.1 排除邏輯故障 這類故障往往由于設計和加工制板過程中工藝性錯誤所造成的,主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認真對照原理圖,看兩者是否一致。應特別注意電源系統(tǒng)檢查,以防止電源短路和極性錯誤,并重點檢查系統(tǒng)總線(地址總線、數(shù)據(jù)總線和控制總線)是否存在相互之間短路或與其它信號線路短路。必要時利用數(shù)字萬用表的短路測試功能,可以縮短排錯時間。5.1.2 排除元器件失效 造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞。可以采取檢查元器件與設計要求的型號、
24、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。5.1.3 排除電源故障 在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查vcc與gnd之間電位,若在5v48v之間屬正常。若有高壓,聯(lián)機仿真器調(diào)試時,將會損壞仿真器等,有時會使應用系統(tǒng)中的集成塊發(fā)熱損壞。5.2 軟件調(diào)試軟件調(diào)試的主要任務是排查錯誤,軟件錯誤大致分為兩類:5.2.1 邏輯錯誤 邏輯錯誤主要是語法錯誤,這些錯誤有顯性和隱性的。顯性比較容易發(fā)現(xiàn)通過仿真開發(fā)系統(tǒng)一般都能發(fā)現(xiàn)并加以改正。隱性錯誤不容易發(fā)現(xiàn),必須排查。5.2.2 功能錯誤 功能錯誤主要是指在
25、沒有語法錯誤的基礎上,由于設計思想或計算錯誤的原因?qū)е虏荒軐崿F(xiàn)軟件功能的一類錯誤,仿真開發(fā)系統(tǒng)一般不能直接發(fā)現(xiàn)這類錯誤,必須借助于開發(fā)系統(tǒng)的寄存器數(shù)據(jù)和ram數(shù)據(jù)的查看/設置及斷點運行等功能。通過入口和出口的比較等方法才能定位。1 指令疏漏 若設計中采用兩位led數(shù)碼顯示,高低位顯示要有時間的延時,要調(diào)用lcall ys程序。 2 指令錯誤本設計中顯示程序有指令movc a,a+dptr,往往容易寫成mov a,a+dptr 總之,單片機系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,許多硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來調(diào)試以進一步排除故障??梢娪?/p>
26、件的調(diào)試是基礎,如果硬件調(diào)試不通過,軟件設計則是無從做起。總 結伴隨著畢業(yè)設計的完成,三年的大學生活即將結束,回首三年來通過自己踏實的學習,今天終于以合格的成績完成了三年的學業(yè)。首先在此,我真誠感謝學校的領導以及老師對我三年來的教導。感謝我的畢業(yè)設計指導老師許志鴻在畢業(yè)設計這段時間里對我的指導和關心。千言萬語化作一句話“老師,您們辛苦了!”。感謝您們這三年來對我的辛苦的教導。我這次選的畢業(yè)設計課題是“基于單片機控制的數(shù)字鐘”。在此之前的實訓中也接觸過數(shù)字鐘方面的設計,不過那時用的是數(shù)電方面的知識,這次老師要求我們單片機來做。經(jīng)過幾周的奮戰(zhàn)我的畢業(yè)設計終于完成了。在沒有做畢業(yè)設計以前覺得畢業(yè)設計
27、只是對這幾年來所學知識的單純總結,但是通過這次做畢業(yè)設計發(fā)現(xiàn)自己的看法有點太片面,自己原來的知識也比較欠缺,自己要學的大學還有很多。首先在對電路圖進行仿真時就遇到了難題,在使用proteus這個軟件畫圖時,發(fā)現(xiàn)所需要的好多元器件找不到,還有總線的畫法也不太清楚,這是由于對軟件的使用不熟練,以后要多畫圖,常畫圖,才能熟練掌握它的使用方法。畢業(yè)設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設計使我明白了自己原來知識還比較欠缺。自己要學習的東西還太多,以前老是覺得自己什么東西都會,什么東西都懂,有點眼高手低。通過這次畢業(yè)設計,我才明白學習是一個長期積累的過程,在以后的
28、工作、生活中都應該不斷的學習,努力提高自己知識和綜合素質(zhì)。前期得準備課題設計方案,做策劃,還要收集資料等等,這些都是不能馬虎的,要慎重。有了自己的設計方案之后就擬定電路草圖,電路草圖擬定好以后,就通過萬用表等儀器,不斷的制定元件的參數(shù),選取元件。有時候元件的選取還要考慮它的經(jīng)濟性和實用性。因為元件的使用都是有條件的,所以自己要到圖書館或網(wǎng)上查找資料。有時候元件選好后,還要考慮是不是可以用比較便宜的元件代替才能達到一定的經(jīng)濟實惠的目的。總的來說,這次的畢業(yè)設計做得很成功。對我的啟發(fā)也很大。從選擇到定稿、從查找資料到電路圖設計、再從理論到實踐,整個過程中包含了很多知識,我學到了不少以前沒接觸的東西
29、,同時也鞏固了以前所學的知識。課程設計給了我一個教訓,要有縝密的思維,扎實的專業(yè)基礎加以靈活利用。本次設計讓我領會到,理論與實踐相結合。光有設想與理論是不行的,還要把它們轉(zhuǎn)化成實踐。這次的畢業(yè)設計讓我把單片機的理論知識用在實踐中,實現(xiàn)了理論和實踐相結合,從中更懂得理論的是實踐的基礎,實踐有能檢驗理論的正確性,對我以后參加工作或者繼續(xù)學習。通過本次設計,我對單片機有了更深入的了解,對于程序的編寫也有了很大的提高。而在這個過程中難免會出現(xiàn)不少問題,所以在整個過程中都要按部就班,細心的對待每個環(huán)節(jié)每個步驟。在獲取知識的同時我也發(fā)現(xiàn)了自身的缺點與不足,以后要更用心的去對待每件事,用心去理解吸收。剛開始
30、做畢業(yè)設計時真的好茫然,不知道該如何入手,真是萬事開頭難。不過,在老師的指導和同學的幫助之下,最后終于完稱了,有種如釋重負的感覺。此外,還得出一個結論:知識必須通過應用才能實現(xiàn)其價值!有些東西以為學會了,但真正到用的時候才發(fā)現(xiàn)是兩回事,所以我認為只有到真正會用的時候才是真的學會了。 在設計過程中,我通過查閱大量有關資料,與同學交流經(jīng)驗和自學,并向老師請教等方式,使自己學到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在這次畢業(yè)設計中,也使我們的同學關系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽同學們不同的看法,有利于我們更好的理解知識,所以在這里,我要感謝那些幫助過我的同學
31、,謝謝你們。在整個設計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學習工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設計做的也不太好,還有好多方面的東西可以改進,比如整點報時的聲音可以設計成一段自己喜歡的音樂,可以修改初始時間和設定報時時間等,但是限于現(xiàn)有的條件和我自身的知識能力,都沒有實施成功,淡我會繼續(xù)努力,如果將來有條件,我會再深入去了解,研究??傊谶@次設計過程中所學到的東西是我此次畢業(yè)設計的最大收獲和財富,使我終身受益。附錄一:源程序; 中斷入口程序 ; org 0000h
32、 ;程序執(zhí)行開始地址 ljmp start ;跳到標號start執(zhí)行 org 0003h ;外中斷0中斷程序入口 reti ;外中斷0中斷返回 org 000bh ;定時器t0中斷程序入口 ljmp intt0 ;跳至intto執(zhí)行 org 0013h ;外中斷1中斷程序入口 reti ;外中斷1中斷返回 org 001bh ;定時器t1中斷程序入口 ljmp intt1 ;跳至intt1執(zhí)行 org 0023h ;串行中斷程序入口地址 reti ;串行中斷程序返回;主 程 序;start: mov r0,#70h ;清70h-7ah共11個內(nèi)存單元 mov r7,#0bh ;cleardis
33、p: mov r0,#00h ; inc r0 ; djnz r7,cleardisp ; mov 20h,#00h ;清20h(標志用) mov 7ah,#0ah ;放入"熄滅符"數(shù)據(jù) mov tmod,#11h ;設t0、t1為16位定時器 mov tl0,#0b0h ;50ms定時初值(t0計時用) mov th0,#3ch ;50ms定時初值 mov tl1,#0b0h ;50ms定時初值(t1閃爍定時用) mov th1,#3ch ;50ms定時初值 setb ea ;總中斷開放 setb et0 ;允許t0中斷 setb tr0 ;開啟t0定時器 mov r4,
34、#14h ;1秒定時用初值(50ms×20) start1: lcall display ;調(diào)用顯示子程序 jnb p3.7,setmm1 ;p3.7口為0時轉(zhuǎn)時間調(diào)整程序 sjmp start1 ;p3.7口為1時跳回start1setmm1: ljmp setmm ;轉(zhuǎn)到時間調(diào)整程序setmm; 1秒計時程序 ;t0中斷服務程序 intt0: push acc ;累加器入棧保護 push psw ;狀態(tài)字入棧保護 clr et0 ;關t0中斷允許 clr tr0 ;關閉定時器t0 mov a,#0b7h ;中斷響應時間同步修正 add a,tl0 ;低8位初值修正 mov tl0
35、,a ;重裝初值(低8位修正值) mov a,#3ch ;高8位初值修正 addc a,th0 ; mov th0,a ;重裝初值(高8位修正值) setb tr0 ;開啟定時器t0 djnz r4, outt0 ;20次中斷未到中斷退出addss: mov r4,#14h ;20次中斷到(1秒)重賦初值 mov r0,#71h ;指向秒計時單元(71h-72h) acall add1 ;調(diào)用加1程序(加1秒操作) mov a,r3 ;秒數(shù)據(jù)放入a(r3為2位十進制數(shù)組合) clr c ;清進位標志 cjne a,#60h,addmm ;addmm: jc outt0 ;小于60秒時中斷退出
36、acall clr0 ;大于或等于60秒時對秒計時單元清0 mov r0,#77h ;指向分計時單元(76h-77h) acall add1 ;分計時單元加1分鐘 mov a,r3 ;分數(shù)據(jù)放入a clr c ;清進位標志 cjne a,#60h,addhh ; addhh: jc outt0 ;小于60分時中斷退出 acall clr0 ;大于或等于60分時分計時單元清0 mov r0,#79h ;指向小時計時單元(78h-79h) acall add1 ;小時計時單元加1小時 mov a,r3 ;時數(shù)據(jù)放入a clr c ;清進位標志 cjne a,#24h,hour ; hour: jc
37、 outt0 ;小于24小時中斷退出 acall clr0 ;大于或等于24小時小時計時單元清零outt0: mov 72h,76h ;中斷退出時將分、時計時單元數(shù)據(jù)移 mov 73h,77h ;入對應顯示單元 mov 74h,78h ; mov 75h,79h ; pop psw ;恢復狀態(tài)字(出棧) pop acc ;恢復累加器 setb et0 ;開放t0中斷 reti ;中斷返回; 閃動調(diào)時 程 序 ;t1中斷服務程序,用作時間調(diào)整時調(diào)整單元閃爍指示intt1: push acc ;中斷現(xiàn)場保護 push psw ; mov tl1, #0b0h ;裝定時器t1定時初值 mov th1
38、, #3ch ; djnz r2,intt1out ;0.3秒未到退出中斷(50ms中斷6次) mov r2,#06h ;重裝0.3秒定時用初值 cpl 02h ;0.3秒定時到對閃爍標志取反 jb 02h,flash1 ;02h位為1時顯示單元"熄滅" mov 72h,76h ;02h位為0時正常顯示 mov 73h,77h ; mov 74h,78h ; mov 75h,79h ;intt1out: pop psw ;恢復現(xiàn)場 pop acc ; reti ;中斷退出flash1: jb 01h,flash2 ;01h位為1時,轉(zhuǎn)小時熄滅控制 mov 72h,7ah ;
39、01h位為0時,"熄滅符"數(shù)據(jù)放入分 mov 73h,7ah ;顯示單元(72h-73h),將不顯示分數(shù)據(jù) mov 74h,78h ; mov 75h,79h ; ajmp intt1out ;轉(zhuǎn)中斷退出flash2: mov 72h,76h ;01h位為1時,"熄滅符"數(shù)據(jù)放入小時 mov 73h,77h ;顯示單元(74h-75h),小時數(shù)據(jù)將不顯示 mov 74h,7ah ; mov 75h,7ah ; ajmp intt1out ;轉(zhuǎn)中斷退出; 加1子 程 序 ; add1: mov a,r0 ;取當前計時單元數(shù)據(jù)到a dec r0 ;指向前一地
40、址 swap a ;a中數(shù)據(jù)高四位與低四位交換 orl a,r0 ;前一地址中數(shù)據(jù)放入a中低四位 add a,#01h ;a加1操作 da a ;十進制調(diào)整 mov r3,a ;移入r3寄存器 anl a,#0fh ;高四位變0 mov r0,a ;放回前一地址單元 mov a,r3 ;取回r3中暫存數(shù)據(jù) inc r0 ;指向當前地址單元 swap a ;a中數(shù)據(jù)高四位與低四位交換 anl a,#0fh ;高四位變0 mov r0,a ;數(shù)據(jù)放入當削地址單元中 ret ;子程序返回 ; 清零程序 ;對計時單元復零用 clr0: clr a ;清累加器 mov r0,a ;清當前地址單元 dec r0 ;指向前一地址 mov r0,a ;前一地址單元清0 ret ;子程序返回; 時鐘調(diào)整程序 ;當調(diào)時按鍵按下時進入此程序 setmm: clr et0 ;關定時器t0中斷 clr tr0 ;關閉定時器t0 lcall dl1s ;調(diào)用1秒延時程序 jb p3.7,closedis ;鍵按下時間小于1秒,關閉顯示(省電) mov r2,#06h ;進入調(diào)時狀態(tài),賦閃爍定時初值 etb et1 ;允許t1中斷 setb tr1 ;開啟定時器t1 set2: jnb p3.7,set1 ;p3.7口為0(鍵未釋放),等待 setb 00h ;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年高中化學課時提升作業(yè)十一弱電解質(zhì)的電離含解析新人教版選修4
- 2024-2025學年高中語文散文部分第四單元云霓埃菲爾鐵塔沉思習題含解析新人教版選修中國現(xiàn)代詩歌散文欣賞
- 年產(chǎn)80萬套咖啡壺生產(chǎn)線可行性研究報告建議書
- 2025年油氣管道項目投資可行性研究分析報告
- 2025年花盆座項目投資可行性研究分析報告
- 2025年中國復方膽通片行業(yè)市場深度分析及發(fā)展前景預測報告
- 2024環(huán)境監(jiān)測行業(yè)分析報告
- 2025年古典壁燈項目投資可行性研究分析報告
- 2025年噴燈汽燈項目可行性研究報告
- 中國雙耳湯煲項目投資可行性研究報告
- 圍手術期護理管理制度
- T-CAME 59-2023 醫(yī)院消毒供應中心建設與運行管理標準
- 住院患者導管滑脫風險評估表
- 2024屆高考政治一輪復習經(jīng)濟學名詞解釋
- 幼兒園大班音樂教案《我們多快樂》
- GB/T 22919.9-2024水產(chǎn)配合飼料第9部分:大口黑鱸配合飼料
- 《草船借箭》課本劇劇本-4篇
- 體育與兒童心理健康教育教材教學課件
- 婚姻家庭法(第三版)教案全套 項目1-9 婚姻家庭法概述-特殊婚姻家庭關系
- 可持續(xù)采購與供應鏈管理
- 心肺復蘇及AED教學
評論
0/150
提交評論