基于51單片機(jī)的時(shí)鐘調(diào)整系統(tǒng)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩16頁(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>  題 目:基于51單片機(jī)的時(shí)鐘調(diào)整系統(tǒng)</p><p><b>  前言</b></p><p>  時(shí)鐘是人類生活中必不可少的工具,從掛式的、手機(jī)上的、電腦上的以及手表等。學(xué)完單片機(jī)后,我們基本了解到了單片機(jī)時(shí)鐘的工作原理以及實(shí)現(xiàn)方式。借此研究性教學(xué)的機(jī)會(huì),我們打算用單片機(jī)的知識(shí)完成對(duì)單片機(jī)電子時(shí)鐘的設(shè)計(jì)以及制作。該設(shè)計(jì)不僅可以鍛煉我們的動(dòng)

2、手能力,而且可以加深我們對(duì)單片機(jī)的認(rèn)識(shí)和激發(fā)我們對(duì)機(jī)電控制的探索。</p><p>  基于單片機(jī)的數(shù)字時(shí)鐘采用獨(dú)立式按鍵來(lái)進(jìn)行時(shí)間調(diào)整, MAX7219、AT89C51是其主要芯片,并利用數(shù)碼管LED動(dòng)態(tài)顯示“時(shí)”,“分”,“秒”的現(xiàn)代計(jì)時(shí)裝置。與傳統(tǒng)機(jī)械表相比,它具有走時(shí)精確,顯示直觀等特點(diǎn)。它的計(jì)時(shí)周期為24小時(shí),顯滿刻度為“23時(shí)59分59秒”。它不僅僅可以顯示時(shí)間,還可以顯示星期??偠灾撓到y(tǒng)同時(shí)具有

3、硬件設(shè)計(jì)簡(jiǎn)單,工作穩(wěn)定性高,價(jià)格低廉等優(yōu)點(diǎn)。</p><p>  關(guān)鍵詞:時(shí)鐘 、LED顯示、MAX7219、AT89C51、點(diǎn)陣LED顯示器</p><p><b>  任務(wù)</b></p><p>  設(shè)計(jì)一個(gè)單片機(jī)時(shí)鐘顯示調(diào)整系統(tǒng),其中擴(kuò)展連接6個(gè)8段LED數(shù)碼管顯示器,利用MAX7219顯示驅(qū)動(dòng)器驅(qū)動(dòng)LED用于時(shí)鐘顯示和調(diào)整,利用8*8

4、點(diǎn)陣LED顯示器顯示星期。連接3個(gè)獨(dú)立式按鍵分別控制系統(tǒng)的顯示模式切換和時(shí)間值增減調(diào)整。</p><p><b>  方案</b></p><p>  硬件選擇:MAX7219驅(qū)動(dòng)器、AT89C51單片機(jī)、6位LED顯示器、8*8點(diǎn)陣LED、74LS14、74LS245、電阻、CAP電容、PCELECT4U763V電容、晶振、按鍵、電源</p><

5、p><b>  功能要求</b></p><p>  六位數(shù)碼管顯示時(shí)、分、秒,以24小時(shí)運(yùn)算</p><p><b>  點(diǎn)陣LED顯示星期</b></p><p>  可實(shí)現(xiàn)對(duì)秒、分、時(shí)、星期的加減調(diào)整</p><p><b>  程序設(shè)計(jì)</b></p>

6、<p><b>  1、主程序</b></p><p>  設(shè)計(jì)中計(jì)時(shí)采用定時(shí)器T0中斷完成。主程序循環(huán)調(diào)用顯示子程序和查鍵,當(dāng)端口有開關(guān)按下時(shí),轉(zhuǎn)入相應(yīng)的功能程序。流程圖如圖1所示。</p><p><b>  圖1 主程序流程</b></p><p><b>  顯示子程序</b>&

7、lt;/p><p>  顯示由MAX7219驅(qū)動(dòng)的六位顯示器和點(diǎn)陣LED顯示器共同完成,首先對(duì)其進(jìn)行初始化,然后用單片機(jī)控制顯示器顯示。</p><p>  MAX7219驅(qū)動(dòng)器顯示流程圖</p><p><b>  圖2 顯示子程序</b></p><p>  定時(shí)器T0中斷服務(wù)程序</p><p&g

8、t;  定時(shí)溢出中斷周期設(shè)為50MS,中斷進(jìn)入后先進(jìn)行定時(shí)中斷初值校正,當(dāng)中斷累加到20次時(shí),對(duì)秒計(jì)數(shù)單元進(jìn)行加1操作。時(shí)鐘最大計(jì)時(shí)值為23時(shí)59分59秒。在計(jì)數(shù)單元中,采用十進(jìn)制BCD碼計(jì)數(shù),滿十進(jìn)位。流程圖如圖3所示</p><p>  在程序中采用12MHZ晶振頻率,精度為1MS,定時(shí)初值為50MS,用循環(huán)程序進(jìn)行20次循環(huán)可到1S。當(dāng)1S到時(shí)調(diào)用加1程序并判斷秒、分是否為60,當(dāng)秒為60時(shí),秒清零,分加1

9、;當(dāng)分為60時(shí),分清零。當(dāng)時(shí)滿24時(shí),星期加1,時(shí)清零,星期由1至7循環(huán)。終端結(jié)束時(shí),計(jì)時(shí)單元數(shù)據(jù)移入對(duì)應(yīng)顯示單元。</p><p><b>  三、按鍵設(shè)置</b></p><p>  本時(shí)鐘設(shè)置P1.0,P1.1,P1.2接3個(gè)按鈕開關(guān),用于調(diào)時(shí)。其中P1.0用于選擇調(diào)時(shí)模式(對(duì)星期,小時(shí),分鐘,秒的選擇),P1.1完成對(duì)所選的項(xiàng)目進(jìn)行增一的操作,P1.2完成對(duì)所

10、選項(xiàng)目進(jìn)行減一的操作。</p><p><b>  四、程序</b></p><p>  KEY1BITP1.0</p><p>  KEY2BITP1.1</p><p>  KEY3BITP1.2</p><p>  CLKBITP1.3</p><p&g

11、t;  LOADBITP1.4</p><p>  DINBITP1.5</p><p>  SECONDDATA30H</p><p>  MINUTEDATA31H</p><p>  HOURDATA32H</p><p>  DAY DATA 33H</p>&

12、lt;p>  ORG0000H</p><p><b>  AJMPMAIN</b></p><p>  ORG000BH</p><p>  AJMPTIMER0</p><p>  MAIN:MOVSP,#60H</p><p>  MOVTMOD,#01H<

13、/p><p>  MOVTH0,#0B1H</p><p>  MOVTL0,#0E0H</p><p><b>  SETBET0</b></p><p><b>  SETBEA</b></p><p>  MOVR2,#50</p><p

14、><b>  SETBTR0</b></p><p>  MOVSECOND,#00H</p><p>  MOVMINUTE,#00H</p><p>  MOVHOUR,#00H</p><p>  MOV DAY,#00H</p><p>  MO

15、VA,HOUR</p><p>  ANLA,#0F0H</p><p><b>  SWAPA</b></p><p>  MOV79H,A</p><p>  MOVA,HOUR</p><p>  ANLA,#0FH</p><p>  MOV

16、7AH,A</p><p>  MOVA,MINUTE</p><p>  ANLA,#0F0H</p><p><b>  SWAPA</b></p><p>  MOV7BH,A</p><p>  MOVA, MINUTE</p><p>  AN

17、LA,#0FH</p><p>  MOV7CH,A</p><p>  MOVA,SECOND</p><p>  ANLA,#0F0H</p><p><b>  SWAPA</b></p><p>  MOV7DH,A</p><p>  MOV

18、A,SECOND</p><p>  ANLA,#0FH</p><p>  MOV7EH,A</p><p>  MOVR3,#00H</p><p>  ACALLINT7219</p><p>  LOOP:ACALLKEY</p><p>  ACALLDISPL

19、AY</p><p><b>  AJMPLOOP</b></p><p>  INT7219:MOV50H,#0FH</p><p>  MOV51H,#00H</p><p>  MOVR0,#50H</p><p>  ACALLSEND7219</p><

20、;p>  MOV50H,#0CH</p><p>  MOV51H,#01H</p><p>  MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  MOV50H,#0BH</p><p>  MOV51H,#05H</p><p&g

21、t;  MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  MOV50H,#0AH</p><p>  MOV51H,#09H</p><p>  MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  

22、MOV50H,#09H</p><p>  MOV51H,#0FFH</p><p>  MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  ACALL D1</p><p><b>  RET</b></p><p>

23、;  DISPLAY:MOV50H,#01H</p><p>  MOV51H,79H</p><p>  MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  MOV50H,#02H</p><p>  MOV51H,7AH</p><p> 

24、 MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  MOV50H,#03H</p><p>  MOV51H,7BH</p><p>  MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  MOV50H,

25、#04H</p><p>  MOV51H,7CH</p><p>  MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  MOV50H,#05H</p><p>  MOV51H,7DH</p><p>  MOVR0,#50H</p&g

26、t;<p>  ACALLSEND7219</p><p>  MOV50H,#06H</p><p>  MOV51H,7EH</p><p>  MOVR0,#50H</p><p>  ACALLSEND7219</p><p>  ACALL D1</p><p&

27、gt;<b>  RET</b></p><p>  SEND7219:CLRLOAD</p><p>  MOVR4,#02H</p><p><b>  CLRC</b></p><p>  LOP1:MOVR1,#08H</p><p><b> 

28、 MOVA,@R0</b></p><p>  LOP2:RLCA</p><p><b>  MOVDIN,C</b></p><p><b>  SETBCLK</b></p><p><b>  CLRCLK</b></p>&

29、lt;p>  DJNZR1,LOP2</p><p><b>  INCR0</b></p><p>  DJNZR4,LOP1</p><p>  SETBLOAD</p><p><b>  RET</b></p><p><b>  D1:&

30、lt;/b></p><p>  MOV R6,#0FEH</p><p>  MOV R1,#08H</p><p>  MOV A,33H</p><p><b>  RL A</b></p><p><b>  RL A</b><

31、/p><p><b>  RL A</b></p><p>  MOV R4,A</p><p>  LP: MOV P3,#0FFH</p><p><b>  MOV A,R4</b></p><p><b>  INC R4</b>&

32、lt;/p><p>  MOV DPTR,#DTAB</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV A,R6</p><p>  MOV P3,A</p><p><b>

33、;  RL A</b></p><p><b>  MOV R6,A</b></p><p>  ACALL DEL</p><p>  DJNZ R1,LP</p><p><b>  RET</b></p><p>  DEL: MOV R7,

34、#02H</p><p>  DL0:MOV R0,#0FFH</p><p>  DL6:DJNZ R0,DL6</p><p>  DJNZ R7,DL0</p><p><b>  RET</b></p><p>  KEY:JNBKEY1,KK1</p><p&

35、gt;  JBKEY1,$</p><p><b>  INCR3</b></p><p>  CJNER3,#05H,JMPKK3</p><p>  MOVR3,#00H</p><p>  JMPKK3:AJMPKK3</p><p>  KK1:JNBKEY2,K

36、K2</p><p>  JBKEY2,$</p><p><b>  MOVA,R3</b></p><p><b>  RLA</b></p><p>  MOVDPTR,#KJMP1</p><p>  JMP@A+DPTR</p><

37、;p>  KJMP1:AJMPDISCLK</p><p><b>  AJMPSINC</b></p><p><b>  AJMPMINC</b></p><p><b>  AJMPHINC</b></p><p>  AJMP DINC</p

38、><p>  SINC:MOVA,SECOND</p><p>  ADDA,#01H</p><p><b>  DAA</b></p><p>  MOVSECOND,A</p><p>  CJNEA,#60H,DISS1</p><p>  MOV3

39、0H,#01H</p><p>  DISS1:AJMPDISS</p><p>  MINC:MOVA,MINUTE</p><p>  ADDA,#01H</p><p><b>  DAA</b></p><p>  MOVMINUTE,A</p><p

40、>  CJNEA,#60H,DISM1</p><p>  MOVMINUTE,#00H</p><p>  DISM1:AJMPDISM</p><p>  HINC:MOVA,HOUR</p><p>  ADDA,#01H</p><p><b>  DAA</b>

41、;</p><p>  MOVHOUR,A</p><p>  CJNEA,#24H,DISH1</p><p>  MOVHOUR,#00H</p><p>  DISH1:AJMPDISH</p><p>  DINC: MOV A,DAY</p><p>  ADD A,#

42、01H</p><p>  MOV DAY,A</p><p>  CJNE A,#07H,DISD1</p><p>  MOV DAY,#00H</p><p>  DISD1: AJMP DISD</p><p>  KK2:JNBKEY3,KK3</p><p>  J

43、BKEY3,$</p><p><b>  MOVA,R3</b></p><p><b>  RLA</b></p><p>  MOVDPTR,#KJMP2</p><p>  JMP@A+DPTR</p><p>  KJMP2:AJMPDISCLK

44、</p><p><b>  AJMPSDEC</b></p><p><b>  AJMPMDEC</b></p><p><b>  AJMPHDEC</b></p><p>  AJMP DDEC</p><p>  SDEC:MOV

45、A,#9AH</p><p><b>  CLRC</b></p><p>  SUBBA,#01H</p><p>  ADDA,SECOND</p><p><b>  DAA</b></p><p>  MOVSECOND,A</p>&

46、lt;p>  CJNEA,#00H,DISS2</p><p>  MOVSECOND,#59H</p><p>  DISS2:AJMPDISS</p><p>  MDEC:MOVA,#9AH</p><p><b>  CLRC</b></p><p>  SUBB

47、A,#01H</p><p>  ADDA,MINUTE</p><p><b>  DAA</b></p><p>  MOVMINUTE,A</p><p>  CJNEA,#00H,DISM2</p><p>  MOVMINUTE,#59H</p><p

48、>  DISM2:AJMPDISM</p><p>  HDEC:MOVA,#9AH</p><p><b>  CLRC</b></p><p>  SUBBA,#01H</p><p>  ADDA,HOUR</p><p><b>  DAA</b

49、></p><p>  MOVHOUR,A</p><p>  CJNEA,#99H,DISH2</p><p>  MOVHOUR,#23H</p><p>  DISH2:AJMPDISH</p><p>  DDEC: MOV A,#9AH</p><p><

50、;b>  CLR C</b></p><p>  SUBB A,#01H</p><p>  ADD A,DAY</p><p><b>  DA A</b></p><p>  CJNE A,#99H,DISD2</p><p>  MOV A,#06H</

51、p><p>  DISD2:MOV DAY,A</p><p>  AJMP DISD</p><p>  KK3:MOVA,R3</p><p><b>  RLA</b></p><p>  MOVDPTR,#KJMP3</p><p>  JMP@A+

52、DPTR</p><p>  KJMP3:AJMPDISCLK</p><p><b>  AJMPDISS</b></p><p><b>  AJMPDISM</b></p><p><b>  AJMPDISH</b></p><p> 

53、 AJMP DISD</p><p>  DISCLK:MOVR0,#79H</p><p>  MOVR1,#HOUR</p><p>  MOVR4,#03H</p><p>  CFLOOP:MOVA,@R1</p><p><b>  SWAPA</b></p&g

54、t;<p>  ANLA,#0FH</p><p><b>  MOV@R0,A</b></p><p><b>  INCR0</b></p><p><b>  MOVA,@R1</b></p><p>  ANLA,#0FH</p>

55、;<p><b>  MOV@R0,A</b></p><p><b>  INCR0</b></p><p><b>  DECR1</b></p><p>  DJNZR4,CFLOOP</p><p><b>  SETBTR0&l

56、t;/b></p><p><b>  RET</b></p><p>  DISS:CLRTR0</p><p>  MOVA,SECOND</p><p><b>  SWAPA</b></p><p>  ANLA,#0FH</p>&

57、lt;p><b>  MOV7DH,A</b></p><p>  MOVA,SECOND</p><p>  ANLA,#0FH</p><p><b>  MOV7EH,A</b></p><p>  MOV79H,#0FH</p><p>  MOV

58、7AH,#0FH</p><p>  MOV7BH,#0FH</p><p>  MOV7CH,#0FH</p><p><b>  AJMPKK5</b></p><p>  DISM:CLRTR0</p><p>  MOVA,MINUTE</p><p>

59、;<b>  SWAPA</b></p><p>  ANLA,#0FH</p><p><b>  MOV7BH,A</b></p><p>  MOVA,MINUTE</p><p>  ANL A,#0FH</p><p><b>  MOV

60、7CH,A</b></p><p>  MOV79H,#0FH</p><p>  MOV7AH,#0FH</p><p>  MOV7DH,#0FH</p><p>  MOV7EH,#0FH</p><p><b>  AJMPKK5</b></p>&l

61、t;p>  DISH:CLRTR0</p><p>  MOVA,HOUR</p><p><b>  SWAPA</b></p><p>  ANLA,#0FH</p><p><b>  MOV79H,A</b></p><p>  MOVA,HO

62、UR</p><p>  ANLA,#0FH</p><p><b>  MOV7AH,A</b></p><p>  MOV7BH,#0FH</p><p>  MOV7CH,#0FH</p><p>  MOV7DH,#0FH</p><p>  MOV7

63、EH,#0FH</p><p><b>  AJMP KK5</b></p><p>  DISD: CLR TR0</p><p>  MOV 79H,#0FH</p><p>  MOV 7AH,#0FH</p><p>  MOV7BH,#0FH</p>&

64、lt;p>  MOV7CH,#0FH</p><p>  MOV7DH,#0FH</p><p>  MOV7EH,#0FH</p><p><b>  KK5:RET</b></p><p>  TIMER0:PUSHACC</p><p><b>  PUSHP

65、SW</b></p><p>  MOVTH0,#0B1H</p><p>  MOVTL0,#0E0H</p><p>  DJNZR2,NEXT</p><p>  MOVR2,#50</p><p>  MOVA,SECOND</p><p>  ADDA,#01

66、H</p><p><b>  DAA</b></p><p>  MOVSECOND,A</p><p>  CJNEA,#60H,NEXT</p><p>  S1:MOVSECOND,#00H</p><p>  MOVA,MINUTE</p><p&g

67、t;  ADDA,#01</p><p><b>  DAA</b></p><p>  MOVMINUTE,A</p><p>  CJNEA,#60H,NEXT</p><p>  S2:MOVMINUTE,#00H</p><p>  MOVA,HOUR</p&g

68、t;<p>  ADDA,#01H</p><p><b>  DAA</b></p><p>  MOVHOUR,A</p><p>  CJNEA,#24H,NEXT</p><p>  S3:MOVHOUR,#00H</p><p>  MOV A,DA

69、Y</p><p>  ADD A,#01H</p><p><b>  DA A</b></p><p>  MOV DAY,A</p><p>  CJNE A,#07H,NEXT</p><p>  MOV DAY,#00H</p><p&

70、gt;  NEXT:POPPSW</p><p><b>  POPACC</b></p><p><b>  RETI</b></p><p>  DTAB:DB 00H,08H,08H,08H,08H,08H,08H,00H</p><p>  DB 00H,04H,24H,24H,2

71、4H,24H,04H,00H</p><p>  DB 00H,02H,52H,52H,52H,52H,02H,00H</p><p>  DB 00H,0FFH,91H,0F1H,81H,0F1H,91H,0FFH</p><p>  DB 91H,91H,91H,0FFH,91H,91H,9FH,01H</p><p>  DB 20H,

72、22H,24H,0A8H,60H,28H,24H,22H</p><p>  DB 00H,00H,0FFH,91H,91H,0FFH,00H,00H</p><p><b>  END</b></p><p>  五、運(yùn)用Proteus進(jìn)行仿真</p><p>  1、正常狀態(tài)下的時(shí)鐘顯示</p><

73、;p>  按一次KEY1對(duì)時(shí)進(jìn)行調(diào)整</p><p>  3、按兩次KEY1對(duì)分進(jìn)行調(diào)整 </p><p>  4、按三次KEY1對(duì)秒進(jìn)行調(diào)整</p><p>  5、按四次KEY1進(jìn)入關(guān)機(jī)</p><p>  6、按五次KEY1返回正常顯示模式</p><p><b>  操作模式</b>

74、</p><p><b>  設(shè)計(jì)說(shuō)明及建議:</b></p><p>  本設(shè)計(jì)特點(diǎn)在于同時(shí)采用由MAX7219驅(qū)動(dòng)六位LED顯示器和點(diǎn)陣LED顯示器,利用前者的設(shè)計(jì)程序簡(jiǎn)便性和后者的顯示的多樣性以達(dá)到理想效果。</p><p><b>  參考文獻(xiàn):</b></p><p>  【1】趙嘉蔚,張

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論