單片機(jī)課程設(shè)計(jì)報(bào)告--基于單片機(jī)的電子時(shí)鐘_第1頁(yè)
已閱讀1頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課 程 設(shè) 計(jì)</b></p><p>  課程名稱__單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)_ </p><p>  題目名稱_基于單片機(jī)的電子時(shí)鐘 </p><p>  學(xué)生學(xué)院___信息工程學(xué)院_______</p><p>  專業(yè)班級(jí)___ _____</p><p>  學(xué)

2、 號(hào) </p><p>  學(xué)生姓名__ _ ___________</p><p>  指導(dǎo)教師__ _ ___________</p><p>  2010 年 6 月 15 日</p><p>  單片機(jī)課程設(shè)計(jì)任務(wù)書(shū)</p><p>  1、課程設(shè)計(jì)題目: 

3、 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)</p><p><b>  基于單片機(jī)的——</b></p><p><b>  題目自擬</b></p><p><b>  2、總體要求:</b></p><p>  本課程設(shè)計(jì)的題目機(jī)設(shè)計(jì)內(nèi)容自選,學(xué)生可以根據(jù)平時(shí)的觀察、了解單片機(jī)實(shí)際的應(yīng)用系統(tǒng),弄

4、清其結(jié)構(gòu)和功能,結(jié)合單片機(jī)課程及其他相關(guān)課程的知識(shí),充分發(fā)揮自身的想象力和創(chuàng)造力,自行選定設(shè)計(jì)項(xiàng)目,但總體應(yīng)達(dá)到以下要求:</p><p>  用89S51CPU,12M時(shí)鐘,常規(guī)的上電和手動(dòng)復(fù)位電路</p><p>  包括3個(gè)以上的獨(dú)立式按鍵</p><p>  至少2位LED數(shù)碼顯示器及其接口</p><p><b>  一路

5、蜂鳴器輸出</b></p><p>  至少有2路輸入信號(hào),可以是模擬量或數(shù)字量</p><p>  3、課程設(shè)計(jì)具體要求:</p><p>  選定好設(shè)計(jì)項(xiàng)目后,課程設(shè)計(jì)應(yīng)達(dá)到以下要求</p><p>  編寫(xiě)項(xiàng)目功能說(shuō)明書(shū),確定應(yīng)用系統(tǒng)的功能和具體參數(shù)</p><p><b>  設(shè)計(jì)電路原理

6、圖</b></p><p><b>  制作硬件</b></p><p><b>  設(shè)計(jì)和調(diào)試程序</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  單片機(jī)課程設(shè)計(jì)報(bào)告</b></p><

7、;p><b>  一、設(shè)計(jì)項(xiàng)目簡(jiǎn)介</b></p><p>  隨著現(xiàn)代生活的推進(jìn),電子時(shí)間在人們的生活中已經(jīng)普及,此電子時(shí)鐘是一款基于單片機(jī)AT98C51的計(jì)時(shí)工具,它的工作原理是利用程序使定時(shí)器每50ms產(chǎn)生一次時(shí)間中斷,以20次時(shí)間中斷定義一秒,再利用程序達(dá)到每六十秒,秒鐘清零,分鐘進(jìn)一,每60分鐘,分鐘清零,時(shí)鐘進(jìn)一,每24小時(shí),時(shí)鐘清零,并使用八段LED 顯示管來(lái)實(shí)現(xiàn)時(shí)、分

8、、秒的顯示。</p><p><b>  二、電路原理圖</b></p><p><b>  三、系統(tǒng)功能描述</b></p><p>  這是一款基于單片機(jī)AT89C51的電子時(shí)鐘,是通過(guò)定時(shí)中斷來(lái)實(shí)現(xiàn)計(jì)時(shí)的。該電子時(shí)鐘共有五個(gè)按鈕,分別為復(fù)位電路按鈕,時(shí)、分、秒控制按鈕以及聲音控制按鈕。復(fù)位電路按鈕用于對(duì)系統(tǒng)進(jìn)行復(fù)位操

9、作;時(shí)、分、秒控制按鈕用于對(duì)時(shí)鐘、分鐘及秒鐘進(jìn)行調(diào)整操作,每按一次,則相應(yīng)的時(shí)間鐘數(shù)加1;聲音控制按鈕是用于控制時(shí)間控制按鈕聲音及整點(diǎn)報(bào)時(shí)聲音的開(kāi)關(guān)。此電子時(shí)鐘操作簡(jiǎn)易,能夠方便快捷地對(duì)時(shí)、分秒、以及聲音進(jìn)行控制,并能準(zhǔn)確地顯示時(shí)間,是一款簡(jiǎn)單實(shí)用的電子時(shí)鐘。</p><p><b>  四、程序框圖</b></p><p><b>  五、程序清單<

10、/b></p><p>  HOUR EQU30H</p><p>  MINUTE EQU31H</p><p>  SECONDEQU32H</p><p>  T_SEC EQU33H</p><p>  SD_CON BIT P1.6</p&

11、gt;<p>  H_CON BIT P1.4 ;數(shù)字鐘小時(shí)控制位</p><p>  M_CON BIT P1.2 ;數(shù)字鐘分鐘控制位</p><p>  S_CON BIT P1.0 ;數(shù)字鐘秒控制位</p><p><b>  ORG

12、00H</b></p><p><b>  SJMPMAIN</b></p><p><b>  ORG0BH</b></p><p>  LJMPINT_T0</p><p>  MAIN: MOVDPTR,#TABLE</p><p> 

13、 MOVHOUR,#0</p><p>  MOVMINUTE,#0</p><p>  MOVSECOND,#0</p><p>  CLR P2.6 </p><p>  LCALL SHOW;檢視LED</p><p>  MOVT_SEC,#0

14、</p><p>  MOVTMOD,#01H</p><p>  MOVTH0,#3CH;定時(shí)50毫秒</p><p>  MOVTL0,#80H</p><p>  MOVIE,#82H</p><p>  SETB TR0</p><p>  MOV

15、 R4,#0;初始化</p><p>  MAIN_C: LCALL DISPLAY</p><p>  LCALL KEY</p><p>  LCALL KEY_S</p><p>  SJMP MAIN_C</p><p>  ;*****************

16、***********************************</p><p><b>  ;聲音開(kāi)關(guān)</b></p><p>  KEY_S: JNB SD_CON,SOUND_C</p><p><b>  RET</b></p><p>  SOUND_C:MOV

17、 A,R4</p><p>  CPL A</p><p>  MOV R4,A</p><p>  SOUND_C1:JB SD_CON,KEY_S</p><p>  LCALL DISPLAY</p><p>  SJMP SOUND_C1</p><p&

18、gt;  ;****************************************************</p><p>  ;判斷是否有控制鍵按下,是哪一個(gè)鍵按下</p><p>  KEY: JNBS_CON,KEY_SEC</p><p>  JNBM_CON,KEY_MIN</p><p>  JNBH

19、_CON,KEY_HOU</p><p><b>  RET</b></p><p>  KEY_SEC:LCALLDELAY_S;去抖動(dòng)</p><p>  JBS_CON,KEY</p><p>  INCSECOND;秒值加1</p><p>  LCALL S

20、OUND</p><p>  MOVA,SECOND</p><p>  CJNEA,#60,W_SEC;判斷是否加到60秒</p><p>  MOVSECOND,#0</p><p>  LJMPKEY_MINU</p><p>  KEY_MIN:LCALLDELAY_S</p>&l

21、t;p>  JBM_CON,KEY</p><p>  KEY_MINU:INCMINUTE;分鐘值加1</p><p>  LCALL SOUND</p><p>  MOVA,MINUTE</p><p>  CJNEA,#60,W_MIN;判斷是否加到60分</p><p>  MOV

22、MINUTE,#0</p><p>  LJMPKEY_HOUR</p><p>  KEY_HOU:LCALLDELAY_S</p><p>  JBH_CON,KEY</p><p>  KEY_HOUR:INCHOUR;小時(shí)值加1 </p><p>  LCALL S

23、OUND</p><p>  MOVA,HOUR</p><p>  CJNEA,#24,W_HOU;判斷是否加到24小時(shí)</p><p>  MOVHOUR,#0</p><p>  MOVMINUTE,#0</p><p>  MOVSECOND,#0</p><p><b

24、>  LJMPKEY</b></p><p>  ;****************************************************</p><p><b>  ;等待按鍵抬起</b></p><p>  W_SEC:JBS_CON,KEY</p><p>  LCAL

25、LDISPLAY</p><p>  SJMPW_SEC</p><p>  W_MIN:JBM_CON,KEY</p><p>  LCALLDISPLAY</p><p>  SJMPW_MIN</p><p>  W_HOU:JBH_CON,KEY</p><p>

26、  LCALLDISPLAY</p><p>  SJMPW_HOU</p><p>  ;****************************************************</p><p>  ;檢視八段LED顯示</p><p>  SHOW: CLR P3.7</p><p

27、>  MOV P0,#7FH</p><p>  MOV R5,#125</p><p>  DELAY_7:LCALL DELAY_S</p><p>  DJNZ R5,DELAY_7</p><p>  SETB P3.7</p><p>  CLR P3.6

28、</p><p>  MOV R5,#100</p><p>  DELAY_6:LCALL DELAY_S</p><p>  DJNZ R5,DELAY_6</p><p>  SETB P3.6</p><p>  CLR P3.5</p><p>

29、  MOV R5,#100</p><p>  DELAY_5:LCALL DELAY_S</p><p>  DJNZ R5,DELAY_5</p><p>  SETB P3.5</p><p>  CLR P3.4</p><p>  MOV R5,#100<

30、/p><p>  DELAY_4:LCALL DELAY_S</p><p>  DJNZ R5,DELAY_4</p><p>  SETB P3.4</p><p>  CLR P3.3</p><p>  MOV R5,#100</p><p>  DE

31、LAY_3:LCALL DELAY_S</p><p>  DJNZ R5,DELAY_3</p><p>  SETB P3.3</p><p>  CLR P3.2</p><p>  MOV R5,#100</p><p>  DELAY_2:LCALL DELAY_

32、S</p><p>  DJNZ R5,DELAY_2</p><p>  SETB P3.2</p><p>  CLR P3.1</p><p>  MOV R5,#100</p><p>  DELAY_1:LCALL DELAY_S</p><p>

33、;  DJNZ R5,DELAY_1</p><p>  SETB P3.1</p><p>  CLR P3.0</p><p>  MOV R5,#100</p><p>  DELAY_0:LCALL DELAY_S</p><p>  DJNZ R5,DELAY_

34、0</p><p>  SETB P3.0</p><p>  ;***********************************************</p><p>  ;定時(shí)器中斷服務(wù)程序,對(duì)秒,分鐘和小時(shí)的計(jì)數(shù)</p><p>  INT_T0:MOVTH0,#3CH</p><p>  

35、MOVTL0,#80H</p><p>  INC T_SEC</p><p>  MOVA,T_SEC</p><p>  CJNE A,#20,T0_RET;計(jì)時(shí)1秒</p><p>  INC SECOND</p><p>  MOVT_SEC,#0</p>

36、<p>  MOVA,SECOND</p><p>  CJNE A,#60,T0_RET</p><p>  INC MINUTE</p><p>  MOVSECOND,#0</p><p>  MOVA,MINUTE</p><p>  CJNE A,#60,T

37、0_RET</p><p>  INC HOUR</p><p>  LCALL SOUND</p><p>  MOVMINUTE,#0</p><p>  MOVA,HOUR</p><p>  CJNE A,#24,T0_RET</p><p>  MOV

38、HOUR,#0</p><p>  MOVMINUTE,#0</p><p>  MOVSECOND,#0</p><p>  MOVT_SEC,#0</p><p>  T0_RET:RETI</p><p>  ;******************************************

39、</p><p><b>  ;顯示控制子程序</b></p><p>  DISPLAY:MOVA,SECOND;顯示秒</p><p>  MOVB,#10</p><p>  DIV AB</p><p>  CLR P3.6</p><p&g

40、t;  MOVC A,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALL DELAY_S</p><p>  SETB P3.6</p><p><b>  MOVA,B</b></p><p>  CL

41、R P3.7</p><p>  MOVC A,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALL DELAY_S</p><p>  SETB P3.7</p><p>  CLR P3.5</p>

42、;<p>  MOVP0,#40H;顯示分隔符</p><p>  LCALL DELAY_S</p><p>  SETB P3.5</p><p>  MOVA,MINUTE;顯示分鐘</p><p>  MOVB,#10</p><p>  DIV AB&l

43、t;/p><p>  CLR P3.3</p><p>  MOVC A,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALL DELAY_S</p><p>  SETB P3.3</p><p&g

44、t;<b>  MOVA,B</b></p><p>  CLR P3.4</p><p>  MOVC A,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALL DELAY_S</p><p>  

45、SETB P3.4</p><p>  CLR P3.2</p><p>  MOVP0,#40H;顯示分隔符</p><p>  LCALL DELAY_S</p><p>  SETB P3.2</p><p>  MOVA,HOUR;顯示小時(shí)</p>

46、<p>  MOVB,#10</p><p>  DIV AB</p><p>  CLR P3.0</p><p>  MOVC A,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALL DELAY

47、_S</p><p>  SETB P3.0</p><p><b>  MOVA,B</b></p><p>  CLR P3.1</p><p>  MOVC A,@A+DPTR</p><p><b>  MOVP0,A</b></

48、p><p>  LCALL DELAY_S</p><p>  SETB P3.1</p><p><b>  RET</b></p><p>  ;******************************************</p><p>  ;延時(shí),用于去抖動(dòng)及檢查L(zhǎng)ED顯

49、示</p><p>  DELAY_S:MOVR6,#10</p><p>  DEL_S1: MOVR7,#250</p><p>  DJNZ R7,$</p><p>  DJNZ R6,DEL_S1</p><p><b>  RET</b></p&g

50、t;<p>  ;******************************************</p><p><b>  ;聲音</b></p><p>  SOUND: CJNE R4,#0,SOUND_OFF</p><p>  SETB P2.6</p><p>  MOV

51、R6,#50</p><p>  DEL_L1: MOVR7,#250</p><p><b>  DJNZR7,$</b></p><p>  DJNZR6,DEL_L1</p><p>  CLR P2.6</p><p>  SOUND_OFF:RET</p>

52、;<p>  TABLE: DB 3FH,06H,5BH,4FH,66H</p><p>  DB6DH,7DH,07H,7FH,6FH</p><p><b>  END</b></p><p><b>  六、收獲及體會(huì)</b></p><p>  單片機(jī)是我所學(xué)專業(yè)的主

53、要課程之一,因此我認(rèn)為單片機(jī)課程設(shè)計(jì)是十分必要而且十分重要的。盡管剛剛拿到課程設(shè)計(jì)題目時(shí)有點(diǎn)迷惘,不知道如何著手,但通過(guò)上網(wǎng)和圖書(shū)館查閱相關(guān)資料,自己認(rèn)真鉆研以及虛心詢問(wèn)同學(xué),終于解決了一個(gè)又一個(gè)的困難和障礙,成功完成了任務(wù)。</p><p>  通過(guò)本次的單片機(jī)課程設(shè)計(jì),不僅大大地豐富了我的理論知識(shí),而且在實(shí)踐過(guò)程中更令我學(xué)會(huì)了堅(jiān)持、耐心和努力。此次單片機(jī)課程設(shè)計(jì)需要運(yùn)用到許多之前所學(xué)過(guò)的知識(shí),令我認(rèn)識(shí)到自己以

54、前學(xué)習(xí)的一些不足之處,例如對(duì)以前所學(xué)知識(shí)的理解不夠深刻,掌握得不夠牢固,運(yùn)用不夠靈活。這讓我懂得了認(rèn)真學(xué)習(xí)的重要性,以及要孜孜不倦地鉆研所學(xué)過(guò)的知識(shí),做得融會(huì)貫通,不能一覽而過(guò),不求甚解。在邊學(xué)習(xí)邊動(dòng)手的過(guò)程中,我對(duì)電子時(shí)鐘的構(gòu)造以及原理有了進(jìn)一步的了解,同時(shí)也加深和鞏固了我對(duì)單片機(jī)匯編語(yǔ)言的認(rèn)識(shí)。除此之外,由于是第一次做單片機(jī),因此在此次課程設(shè)計(jì)的過(guò)程中,無(wú)論是電路繪制還是匯編語(yǔ)言編寫(xiě)都難免遇到了不少困難和障礙,例如匯編語(yǔ)言編寫(xiě)出錯(cuò)、

55、電路元件無(wú)從入手等。在面對(duì)困難和障礙時(shí),我慶幸自己沒(méi)有退縮和逃避,而是通過(guò)各種方法,迎難而上,以堅(jiān)持、耐心和努力勇敢無(wú)畏地面對(duì)困難,克服困難,解決困難。讓我發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題以及動(dòng)手實(shí)踐的能力都有了很大的提高,并了解到理論知識(shí)與實(shí)踐相結(jié)合的重要意義。</p><p>  從這次的課程設(shè)計(jì)中,我們真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論