數(shù)字鐘課程設(shè)計(jì)報(bào)告new_第1頁
數(shù)字鐘課程設(shè)計(jì)報(bào)告new_第2頁
數(shù)字鐘課程設(shè)計(jì)報(bào)告new_第3頁
數(shù)字鐘課程設(shè)計(jì)報(bào)告new_第4頁
數(shù)字鐘課程設(shè)計(jì)報(bào)告new_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、- 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)題 目 可校準(zhǔn)時(shí)數(shù)字鐘設(shè)計(jì) 指導(dǎo)教師 楊光軍 學(xué)生姓名 李香標(biāo) 學(xué) 號(hào) 201001702085 專 業(yè) 自動(dòng)化 教學(xué)單位 德州學(xué)院機(jī)電工程系 (蓋章) 2012年 12月 11日目錄摘要2一作品簡介2二方案論證與對比3 2.1 單片機(jī)的型號(hào)選擇3 2.2 數(shù)碼管顯示工作原理3三系統(tǒng)硬件電路的設(shè)計(jì)43.1鍵盤電路設(shè)計(jì).43.2主控模塊AT89C51.5四系統(tǒng)軟件設(shè)計(jì).5 4.1系統(tǒng)流程圖.5 4.2程序.7五. 系統(tǒng)測試及結(jié)果13六總結(jié)14七參考文獻(xiàn).15 摘要 設(shè)計(jì)背景:1957年,Ventura發(fā)明了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘開始迅速

2、發(fā)展起來?,F(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生一定的時(shí)間中斷,用于一秒的定義,通過計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小時(shí)進(jìn)一,滿二十四小時(shí)小時(shí)清零。從而達(dá)到計(jì)時(shí)的功能,是人民日常生活不可缺少的工具。數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí)、分、秒顯示時(shí)間的功能,可以進(jìn)行時(shí)和分的校對,還可以充當(dāng)計(jì)時(shí)器,而且片選的靈活性好。在這里我們將已學(xué)過的比較零散的單片機(jī)知識(shí)有機(jī)的、系統(tǒng)的聯(lián)系起來用于實(shí)際,來培養(yǎng)我們的綜合分析和設(shè)計(jì)電路,編寫程序、調(diào)試電路的能力。 設(shè)計(jì)目的:應(yīng)用單片機(jī)控制技術(shù),設(shè)計(jì)出以AT

3、89C51單片機(jī)為核心的電子時(shí)鐘,電子時(shí)鐘能夠顯示時(shí)、分、秒顯示時(shí)間的功能,可以進(jìn)行時(shí)和分的校對,還可以充當(dāng)計(jì)時(shí)器,而且其片選的靈活性強(qiáng)。一 作品簡介 該電子時(shí)鐘由89C51,BUTTON,六段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十四小時(shí)為一天。而電路中唯一的一個(gè)控制鍵卻擁有多種不同的功能,按下又松開,可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,達(dá)到省電的目的;直接按下不松開,則可以通過按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一并通過一個(gè)控制鍵用來實(shí)現(xiàn)

4、時(shí)間的調(diào)節(jié)和是否進(jìn)入省電模式的轉(zhuǎn)換。應(yīng)用Proteus的ISIS軟件實(shí)現(xiàn)了單片機(jī)電子時(shí)鐘系統(tǒng)的設(shè)計(jì)與仿真,該方法仿真效果真實(shí)、準(zhǔn)確,節(jié)省了硬件資源。二 方案論證與對比2.1 單片機(jī)的型號(hào)選擇 通過對多種單片機(jī)性能的分析,最終認(rèn)為89C51是最理想的電子時(shí)鐘開發(fā)芯片。89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的89C51是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程閃爍存

5、儲(chǔ)器和1000寫/擦循環(huán),數(shù)據(jù)保留時(shí)間為10年等特點(diǎn),是最好的選擇。2.2 數(shù)碼管顯示工作原理數(shù)碼管是一種把多個(gè)LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個(gè)LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個(gè)LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負(fù)極,又稱為負(fù)極。通常的數(shù)碼管又分為8段,即8個(gè)LED顯示段,這是為工程應(yīng)用方便如設(shè)計(jì)的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數(shù)點(diǎn)位段。而多位數(shù)碼管,除某一位的公共端會(huì)連接在一起,不同位的數(shù)碼管的相同端也會(huì)連接在一起。即,所有的A段

6、都會(huì)連在一起,其它的段也是如此,這是實(shí)際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。動(dòng)態(tài)顯示的原理是,各個(gè)數(shù)碼管的相同段連接在一起,共同占用8 位段引管線;每位數(shù)碼管的陽極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個(gè)數(shù)碼管公共端加有效信號(hào),在此同時(shí)給出該數(shù)碼管加有效的數(shù)據(jù)信號(hào),當(dāng)全段掃描速度大于視覺暫留速度時(shí),顯示就會(huì)清晰顯示出來。三 系統(tǒng)硬件電路的設(shè)計(jì) 總體硬件原理圖如圖1所示: 圖1 系統(tǒng)電路原理圖 AT89C51因?yàn)槠浜粋€(gè)可擦除的ROM,以及其存儲(chǔ)數(shù)據(jù)的時(shí)間長度可達(dá)10年之久所以選其作為該設(shè)計(jì)的核心控制部件。3

7、.1鍵盤電路設(shè)計(jì)該設(shè)計(jì)只用了一個(gè)鍵盤,但實(shí)現(xiàn)的功能卻是比較完善,減少了硬件資源的損耗,該鍵盤可以實(shí)現(xiàn)小時(shí)和分鐘的調(diào)節(jié)以及控制是否進(jìn)入省電模式。當(dāng)按鍵按下又松開,可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,達(dá)到省電的目的;直接按下不松開,則可以通過按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。達(dá)到時(shí)間調(diào)節(jié)的目的。選擇的多功能按鍵如圖2所示。 圖2 多功能控制鍵3.2主控模塊AT89C51 89C51是一個(gè)8位單片機(jī),片內(nèi)ROM全部采用FLASH ROM技術(shù),晶振時(shí)鐘為12MHz。89C51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,有4個(gè)八位的并行雙向I

8、/O端口,分別記作P0、P1、P2、P3。第31引腳需要接高電位使單片機(jī)選用內(nèi)部程序存儲(chǔ)器;第40腳為電源端VCC,接+5V電源,第20引腳為接地端VSS,通常在VCC和VSS引腳之間接0.1F高頻濾波電容。 四 系統(tǒng)軟件設(shè)計(jì)4.1系統(tǒng)流程圖在主程序的開始定義了一組固定單元用來存儲(chǔ)計(jì)數(shù)的分、秒、時(shí)的存儲(chǔ)單元。在主程序中,對不同的按鍵進(jìn)行掃描,實(shí)現(xiàn)秒表,時(shí)間調(diào)整。 系統(tǒng)總體流程圖如圖3所示:開始T0中斷入口通過查表方式顯示數(shù)據(jù)數(shù)碼位選加1位選值=8NY位選數(shù)值=0秒計(jì)數(shù)加1秒計(jì)數(shù)=500NY秒計(jì)數(shù)=0SECOND加1中斷返回圖3 總體流程圖系統(tǒng)子程序流程圖如圖4所示:YYNNN口SECOND=6

9、0SECOND=0,并MINUTE加1MINUTE=60MINUTE=0,并HOUR加1顯示數(shù)據(jù)處理中斷返回HOUR=24Y圖4 子程序流程圖4.2程序:ORG 0000H LJMP MAIN ORG 0003H LJMP INT0INT0 ORG 0013H LJMP INT1INT1 ORG 000BH LJMP IT0P ORG 0040H/*主程序*/MAIN:MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV 30H,#14H MOV 40H,#00H MOV 41H,#00H MOV 42H,#00H MOV SP,#60H MOV TCON,#0

10、5H MOV TMOD,#01H MOV IE,#87H MOV IP,#01H MOV TH0,#3CH MOV TL0,#0B0HLOOP: LCALL DISPLAYSECOND LCALL DISPLAYMINUTELCALL DISPLAYHOURSECOND0:JNB P2.0,SECONDMINUTE0:JNB P2.1,MINUTEHOUR0: JNB P2.2,HOURCLEAR0: JNB P2.3,CLEARLAST: LJMP LOOP/*秒調(diào)整程序*/SECOND: LCALL DELAY100MS JNB P2.0,HAVESLJMP RETURNSHAVES: M

11、OV A,#01H ADD A,42H DA A MOV 42H,A CJNE A,#60H,RETURNS MOV 42H,#00HRETURNS:LCALL DISPLAYSECOND LJMP MINUTE0/*分調(diào)整程序*/ MINUTE: LCALL DELAY100MS JNB P2.1,HAVEMLJMP RETURNMHAVEM:MOV A,#01H ADD A,41H DA A MOV 41H,A CJNE A,#60H,RETURNM MOV 41H,#00HRETURNM:LCALL DISPLAYMINUTE LJMP HOUR0/*時(shí)調(diào)整程序*/HOUR: LCALL

12、 DELAY100MS JNB P2.2,HAVEHLJMP RETURNHHAVEH:MOV A,#01H ADD A,40H DA A MOV 40H,A CJNE A,#24H,RETURNH MOV 40H,#00HRETURNH:LCALL DISPLAYHOUR LJMP CLEAR0/*清零程序*/CLEAR: LCALL DELAY100MS JNB P2.3,HAVECLJMP RETURNCHAVEC:CLR TR0 MOV 40H,#00H MOV 41H,#00HMOV 42H,#00HRETURNC:LJMP LAST/*秒數(shù)碼管顯示程序*/DISPLAYSECOND

13、: SECONDGE: SETB P1.0 MOV A,42H ANL A,#0FH LCALL SEG LCALL DELAY1MS CLR P1.0 SECONDSHI:SETB P1.1 MOV A,42H SWAP A ANL A,#0FH LCALL SEG LCALL DELAY1MS CLR P1.1 RET/*分?jǐn)?shù)碼管顯示程序*/DISPLAYMINUTE:MINUTEGE: SETB P1.2 MOV A,41H ANL A,#0FH LCALL SEG LCALL DELAY1MS CLR P1.2MINUTESHI:SETB P1.3 MOV A,41H SWAP A A

14、NL A,#0FH LCALL SEG LCALL DELAY1MS CLR P1.3 RET/*時(shí)數(shù)碼管顯示程序*/DISPLAYHOUR:HOURGE: SETB P1.4 MOV A,40H ANL A,#0FH LCALL SEG LCALL DELAY1MS CLR P1.4 HOURSHI: SETB P1.5 MOV A,40H SWAP A ANL A,#0FH LCALL SEG LCALL DELAY1MS CLR P1.5 RET /*啟動(dòng)int0中斷服務(wù)程序*/INT0INT0:CLR EA LCALL DELAY10MS JNB INT0,HAVEKEY1 SETB

15、EA RETIHAVEKEY1:PUSH PSW PUSH Acc SETB EA SETB TR0 CLR EA POP Acc POP PSW SETB EA RETI/*暫停int1中斷服務(wù)程序*/INT1INT1:CLR EA LCALL DELAY10MS JNB INT1,HAVEKEY2 SETB EA RETIHAVEKEY2:PUSH PSW PUSH Acc SETB EA CLR TR0 CLR EA POP Acc POP PSW SETB EA RETI/*定時(shí)器0中斷服務(wù)程序*/IT0P:PUSH PSW PUSH Acc CLR TR0 MOV TH0,#3CH

16、MOV TL0,#0B0H DJNZ 30H,RETURN MOV 30H,#14H MOV A,#01H ADD A,42H DA A MOV 42H,A CJNE A,#60H,RETURN MOV 42H,#00H MOV A,#01H ADD A,41H DA A MOV 41H,A CJNE A,#60H,RETURN MOV 41H,#00H MOV A,#01H ADD A,40H DA A MOV 40H,A CJNE A,#24H,RETURN MOV 40H,#00HRETURN: SETB TR0 POP Acc POP PSW RETI/*查表子程序程序*/SEG:MO

17、V DPTR,#TAB MOVC A,A+DPTRCPL AMOV P0,ARETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH/*1mS延時(shí)子程序*/DELAY1MS:MOV R7,#04H D1: MOV R6,#7DH DJNZ R6,$ DJNZ R7,D1 RET /*10mS延時(shí)子程序*/DELAY10MS:MOV R7,#28H D2: MOV R6,#7DH DJNZ R6,$ DJNZ R7,D2 RET/*100mS延時(shí)子程序*/DELAY100MS:MOV R7,#02H DEL1:MOV R6,#0C8H DEL2:MOV

18、 R5,#7DH DEL3:DJNZ R5,DEL3 DJNZ R6,DEL2 DJNZ R7,DEL1 RET END 五. 系統(tǒng)測試及結(jié)果 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整程序、延時(shí)程序四大模塊。在程序設(shè)計(jì)過程中,加強(qiáng)了部分軟件抗干擾措施,下面對部分模塊作介紹。系統(tǒng)開始仿真的仿真圖如圖5系統(tǒng)仿真圖所示。 圖5系統(tǒng)仿真圖 六總結(jié)一個(gè)星期的單片機(jī)課程設(shè)計(jì)很快就結(jié)束了,在這一周當(dāng)中,雖然開始有點(diǎn)困難,但是經(jīng)過我們們分工合作,合理地進(jìn)行設(shè)計(jì)安排,再加上老師的耐心指導(dǎo),我們們終于順利地完成了本次單片機(jī)課程設(shè)計(jì),同時(shí)也學(xué)到了很多東西。在本次課程設(shè)計(jì)中,我們通過動(dòng)手實(shí)踐操作,

19、進(jìn)一步學(xué)習(xí)和掌握了單片機(jī)原理的有關(guān)知識(shí),特別是程序的編程方面,加深了對單片機(jī)原理及應(yīng)用技術(shù)的認(rèn)識(shí),進(jìn)一步鞏固了對單片機(jī)知識(shí)的理解,掌握簡單單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)、制作、調(diào)試的方法。在設(shè)計(jì)時(shí)根據(jù)課題要求,復(fù)習(xí)相關(guān)的知識(shí),查詢相關(guān)的資料。根據(jù)實(shí)驗(yàn)條件,找到適合的方案,找到需要的元器件及工具,進(jìn)行實(shí)驗(yàn)。這次的單片機(jī)課程設(shè)計(jì)重點(diǎn)是通過實(shí)踐操作和理論相結(jié)合,提高動(dòng)手實(shí)踐能力,提高科學(xué)的思維能力,更在一周的時(shí)間了解了更多的有關(guān)單片機(jī)的知識(shí),使知識(shí)更加豐富,使自己更加充實(shí)。與此同時(shí),我們也對團(tuán)隊(duì)分工合作有了進(jìn)一步的認(rèn)識(shí),只有通過合理的分工合作,我們們才能夠在短短一周的時(shí)間內(nèi)完成設(shè)計(jì)任務(wù),相信這對以后在社會(huì)上工

20、作和學(xué)習(xí)會(huì)有很多幫助,讓我們能更好的進(jìn)入工作狀態(tài)。最重要的是,這次課程設(shè)計(jì)也增加了我們對問題的研究和探討,在我們以后的學(xué)習(xí)中會(huì)有更多的幫助。單片機(jī)作為我們們的主要專業(yè)課之一,雖然在大三開學(xué)初我們對這門課并沒有什么興趣,覺得那些程序枯燥乏味,但在這次課程設(shè)計(jì)后我們發(fā)現(xiàn)自己在一點(diǎn)一滴的努力中對單片機(jī)的興趣也在逐漸增加。作為一名通信專業(yè)的大三學(xué)生,我們覺得做單片機(jī)課程設(shè)計(jì)是十分有意義的,而且是十分必要的。雖然過去從未獨(dú)立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我們發(fā)現(xiàn)效率很高,這是我們做這次課程設(shè)計(jì)的又一收獲。然后,要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論