2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機(jī)原理課程設(shè)計</b></p><p>  課題名稱:用數(shù)碼管顯示實時日歷時鐘的設(shè)計 </p><p>  專業(yè)班級:電子信息科學(xué)與技術(shù)(2)班 </p><p>  學(xué)生學(xué)號: </p><p>  學(xué)生

2、姓名: </p><p>  設(shè)計時間:2013年6月15日</p><p>  基于DS1302的數(shù)碼管顯示數(shù)字鐘設(shè)計</p><p>  本次設(shè)計的硬件電路由主控部分(單片機(jī)MCS-51)、計時部分(實時時鐘芯片DS1302)、調(diào)試部分3個部分組成。</p><p>  一、 主控部分(單片機(jī)MCS-51)</p>

3、<p>  MCS-51單片機(jī)作為主控芯片,控制整個電路的運(yùn)行。其外圍電路主要有兩部分:復(fù)位電路和晶體振蕩器。</p><p>  圖1、 主控部分電路圖</p><p>  二 、計時部分(實時時鐘芯片DS1302)</p><p>  時鐘芯片DS1302與外圍電路的連接:與MCS-51單片機(jī)的接口是由3條線來完成的,MCS-51單片機(jī)的P1.0與

4、時鐘芯片的數(shù)據(jù)傳輸端I/O相連,P1.1用來作為DS1302輸入時鐘SCLK控制端,P1.2控制DS1302的復(fù)位輸入端RST。只有在SCLK為低電平時,才能將RST置為高電平。</p><p>  圖 2、計時部分電路圖</p><p>  圖 3、原理部分電路 </p><p><b>  三、調(diào)試部分</b><

5、/p><p><b>  四、源程序</b></p><p>  IO EQU P1.0 ;實時時鐘數(shù)據(jù)線引腳</p><p>  SCLK EQU P1.1 ;實時時鐘時鐘線引腳</p><p>  RST EQU P1.2 ;實時時鐘復(fù)位線引腳 </p>

6、<p>  SECOND EQU 40H</p><p>  MINUTE EQU 41H</p><p>  HOUR EQU 42H</p><p>  DAY EQU 43H </p><p>  MONTH EQU 44H</p>&

7、lt;p>  WEEK EQU 45H</p><p>  YEAR EQU 46H </p><p>  ORG 0000H</p><p>  JMP MAIN</p><p>  ORG 0003H</p><p>  jmp INT_0</p>

8、<p>  ORG 0020H</p><p>  MAIN:CLR IT0</p><p><b>  SETB EX0</b></p><p><b>  SETB EA</b></p><p>  LCALL GET ;從DS1302讀取時間</p>

9、<p><b>  DISPALY:</b></p><p>  MOV a,40H ;顯示秒</p><p>  ANL a,#0FH ;低位保留</p><p><b>  lcall www</b></p><p>  lcall delay</p

10、><p>  mov a,40h</p><p>  anl a,#0f0h</p><p>  swap a ;高位低位互換</p><p><b>  lCALL aaa</b></p><p>  lcall delay</p><p> 

11、 MOV a,41H ;顯示分</p><p>  ANL a,#0FH ;低位保留</p><p>  lcall wwwf</p><p>  lcall delay</p><p>  mov a,41h</p><p>  anl a,#0f0h</p><

12、p>  swap a ;高位低位互換</p><p>  lCALL aaaf</p><p>  lcall delay</p><p>  MOV a,42H ;顯示時</p><p>  ANL a,#0FH ;低位保留</p><p>  lcall www

13、s</p><p>  lcall delay</p><p>  mov a,42h</p><p>  anl a,#0f0h</p><p>  swap a ;高位低位互換</p><p>  lCALL aaas</p><p>  lcall delay&

14、lt;/p><p>  ljmp main</p><p><b>  sjmp $</b></p><p><b>  INT_0: </b></p><p>  MOV a,43H ;顯示日</p><p>  ANL a,#0FH ;低位保留

15、</p><p>  lcall wwwr</p><p>  mov a,43h</p><p>  anl a,#0f0h</p><p>  swap a ;高位低位互換</p><p>  lCALL aaar</p><p>  lcall delay<

16、;/p><p>  MOV a,44H ;顯示月</p><p>  ANL a,#0FH ;低位保留</p><p>  lcall wwwy</p><p>  lcall delay</p><p>  mov a,44h</p><p>  anl a,#0

17、f0h ;高位低位互換</p><p>  swap a </p><p>  lCALL aaay</p><p>  lcall delay</p><p>  MOV a,46H ;顯示年</p><p>  ANL a,#0FH ;低位保留</p>

18、<p>  lcall wwwn</p><p>  lcall delay</p><p>  mov a,46h</p><p>  anl a,#0f0h</p><p>  swap a ;高位低位互換</p><p>  lCALL aaan</p>&

19、lt;p>  lcall delay</p><p><b>  RETI</b></p><p> ??;把寄存器中的內(nèi)容傳給74ls164的子程序</p><p>  www: ;給秒的低四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p>

20、<p><b>  lcall L0</b></p><p><b>  eee:</b></p><p>  jb acc.7,rrr</p><p>  clr p0.0</p><p><b>  jmp ttt</b></p>

21、<p><b>  rrr:</b></p><p>  setb p0.0</p><p><b>  ttt: </b></p><p>  clr p2.0</p><p>  setb p2.0</p><p><b>  rl a&

22、lt;/b></p><p>  djnz 49h,eee</p><p><b>  ret</b></p><p>  aaa: ;給秒的高四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p><p><b>  

23、lcall L0</b></p><p><b>  sss:</b></p><p>  jb acc.7,ddd</p><p>  clr p0.1</p><p><b>  jmp fff</b></p><p><b>  dd

24、d:</b></p><p>  setb p0.1</p><p>  fff: clr p2.1</p><p>  setb p2.1</p><p><b>  rl a</b></p><p>  djnz 49h,sss</p><p&

25、gt;<b>  ret</b></p><p>  wwwf: ;給分的低四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p><p><b>  lcall L0</b></p><p><b>  eeef:</b&

26、gt;</p><p>  jb acc.7,rrrf</p><p>  clr p0.2</p><p>  jmp tttf</p><p><b>  rrrf:</b></p><p>  setb p0.2</p><p><b>  

27、tttf: </b></p><p>  clr p2.2</p><p>  setb p2.2</p><p><b>  rl a</b></p><p>  djnz 49h,eeef</p><p><b>  ret</b></p&

28、gt;<p>  aaaf: ;給分的高四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p><p><b>  lcall L0</b></p><p><b>  sssf:</b></p><p>  jb ac

29、c.7,dddf</p><p>  clr p0.3</p><p>  jmp ffff</p><p><b>  dddf:</b></p><p>  setb p0.3</p><p><b>  ffff: </b></p><

30、;p>  clr p2.3</p><p>  setb p2.3</p><p><b>  rl a</b></p><p>  djnz 49h,sssf</p><p><b>  ret</b></p><p>  wwws:

31、 ;給時的低四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p><p><b>  lcall L0</b></p><p><b>  eees:</b></p><p>  jb acc.7,rrrs</p><p>  clr

32、 p0.4</p><p>  jmp ttts</p><p><b>  rrrs:</b></p><p>  setb p0.4</p><p><b>  ttts: </b></p><p>  clr p2.4</p><p

33、>  setb p2.4</p><p><b>  rl a</b></p><p>  djnz 49h,eees</p><p><b>  ret</b></p><p>  aaas: ;給時的高四位數(shù)碼管賦值</p>&

34、lt;p>  mov 49h,#8h</p><p><b>  lcall L0</b></p><p><b>  ssss:</b></p><p>  jb acc.7,ddds</p><p>  clr p0.5</p><p>  jmp

35、 fffs</p><p><b>  ddds:</b></p><p>  setb p0.5</p><p><b>  fffs: </b></p><p>  clr p2.5</p><p>  setb p2.5</p><p&

36、gt;<b>  rl a </b></p><p>  djnz 49h,ssss</p><p><b>  ret</b></p><p>  wwwr: ;給日的低四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p

37、><p><b>  lcall L0</b></p><p><b>  eeer:</b></p><p>  jb acc.7,rrrr</p><p>  clr p0.0</p><p>  jmp tttr</p><p><

38、;b>  rrrr:</b></p><p>  setb p0.0</p><p><b>  tttr: </b></p><p>  clr p2.0</p><p>  setb p2.0</p><p><b>  rl a</b&g

39、t;</p><p>  djnz 49h,eeer</p><p><b>  ret</b></p><p>  aaar: ;給日的高四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p><p><b>  lcall

40、L0</b></p><p><b>  sssr:</b></p><p>  jb acc.7,dddr</p><p>  clr p0.1</p><p>  jmp fffr</p><p><b>  dddr:</b></p>

41、;<p>  setb p0.1</p><p><b>  fffr: </b></p><p>  clr p2.1</p><p>  setb p2.1</p><p><b>  rl a</b></p><p>  djnz 49

42、h,sssr</p><p><b>  ret</b></p><p>  wwwy: ;給月的低四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p><p><b>  lcall L0</b></p><p>&

43、lt;b>  eeey:</b></p><p>  jb acc.7,rrry</p><p><b>  clr p0.2</b></p><p><b>  jmp ttty</b></p><p><b>  rrry:</b></p>

44、<p><b>  setb p0.2</b></p><p><b>  ttty: </b></p><p><b>  clr p2.2</b></p><p><b>  setb p2.2</b></p><p><b>

45、;  rl a</b></p><p>  djnz 49h,eeey</p><p><b>  ret</b></p><p>  aaay: ;給月的高四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p><p><

46、b>  lcall L0</b></p><p><b>  sssy:</b></p><p>  jb acc.7,dddy</p><p><b>  clr p0.3</b></p><p><b>  jmp fffy</b></p>

47、<p><b>  dddy:</b></p><p><b>  setb p0.3</b></p><p><b>  fffy: </b></p><p><b>  clr p2.3</b></p><p><b>  s

48、etb p2.3</b></p><p><b>  rl a</b></p><p>  djnz 49h,sssy</p><p><b>  ret</b></p><p>  wwwn: ;給年的低四位數(shù)碼管賦值</p>

49、<p>  mov 49h,#8h</p><p><b>  lcall L0</b></p><p><b>  eeen:</b></p><p>  jb acc.7,rrrn</p><p><b>  clr p0.4</b></p><

50、;p><b>  jmp tttn</b></p><p><b>  rrrn:</b></p><p><b>  setb p0.4</b></p><p><b>  tttn: </b></p><p><b>  clr

51、p2.4</b></p><p><b>  setb p2.4</b></p><p><b>  rl a</b></p><p>  djnz 49h,eeen</p><p><b>  ret</b></p><p>  aaan:

52、 ;給年的高四位數(shù)碼管賦值</p><p>  mov 49h,#8h</p><p><b>  lcall L0</b></p><p><b>  sssn:</b></p><p>  jb acc.7,dddn</p><p&

53、gt;<b>  clr p0.5</b></p><p><b>  jmp fffn</b></p><p><b>  dddn:</b></p><p><b>  setb p0.5</b></p><p><b>  fffn:

54、 </b></p><p><b>  clr p2.5</b></p><p><b>  setb p2.5</b></p><p><b>  rl a</b></p><p>  djnz 49h,sssn</p><p><b

55、>  ret</b></p><p>  delay: ;延時60ms</p><p>  mov 47h,#60</p><p>  lop11:mov 48h,#0ffh</p><p>  lop22:nop</p><p><b>  nop&

56、lt;/b></p><p>  djnz 48h,lop22</p><p>  djnz 47h,lop11</p><p><b>  ret</b></p><p>  ;判斷時鐘每位是幾(1,2,3,4,5,6,7,8,,9,)</p><p>  L0:cjne a,#0h,L

57、1</p><p>  mov a,#0c0h</p><p><b>  ret</b></p><p>  L1:cjne a,#1h,L2</p><p>  mov a,#0f9h</p><p><b>  ret</b></p><p>

58、  L2:cjne a,#2h,L3</p><p>  mov a,#0a4h</p><p><b>  ret</b></p><p>  L3:cjne a,#3h,L4</p><p>  mov a,#0b0h</p><p><b>  ret</b><

59、;/p><p>  L4:cjne a,#4h,L5</p><p>  mov a,#99h</p><p><b>  ret</b></p><p>  L5:cjne a,#5h,L6</p><p>  mov a,#92h</p><p><b>  

60、ret</b></p><p>  L6:cjne a,#6h,L7</p><p>  mov a,#82h</p><p><b>  ret</b></p><p>  L7:cjne a,#7h,L8</p><p>  mov a,#0f8h</p><

61、;p><b>  ret</b></p><p>  L8:cjne a,#8h,L9</p><p>  mov a,#80h</p><p><b>  ret</b></p><p>  L9: mov a,#90h</p><p><b>  RET

62、</b></p><p>  從DS1302讀取時間</p><p><b>  GET:</b></p><p>  MOV R0,#40H </p><p>  MOV R1,#81H ;DS1302中讀時間的首地址</p><p>  MOV

63、 R7,#7</p><p><b>  GETLOOP:</b></p><p>  CLR RST</p><p><b>  nop</b></p><p>  CLR SCLK</p><p><b>  nop</b>&l

64、t;/p><p>  SETB RST</p><p><b>  nop</b></p><p>  MOV B,R1 </p><p>  LCALL WRITE ;寫命令字</p><p>  LCALL READ ;讀時間<

65、/p><p>  MOV @R0,A </p><p>  ;將從DS1302中讀取的時間從內(nèi)存中保存</p><p>  INC R0 ;修改地址指針</p><p>  INC R1</p><p>  INC R1</p>&

66、lt;p>  SETB SCLK</p><p><b>  nop</b></p><p>  CLR RST</p><p><b>  nop</b></p><p>  DJNZ R7,GETLOOP</p><p><b>  R

67、ET</b></p><p>  WRITE: </p><p>  MOV 30H,#8 ;寫入命令子程序DS1302</p><p><b>  LOP1:</b></p><p><b>  MOV A,B</b></p

68、><p><b>  RRC A</b></p><p><b>  MOV B,A</b></p><p>  MOV P1.0,C</p><p>  SETB P1.1</p><p>  CLR P1.1</p><p>  DJ

69、NZ 30H,LOP1</p><p>  RET </p><p>  READ: ;讀出數(shù)據(jù)子程序DS1302</p><p>  MOV 30H,#8 </p><p>  LOP2:

70、 </p><p>  MOV C,P1.0</p><p><b>  RRC A</b>&

71、lt;/p><p>  SETB P1.1</p><p>  CLR P1.1</p><p>  DJNZ 30H,LOP2</p><p>  RET </p><p><b>  END</b></p><p><b>

72、  五、心得體會</b></p><p>  通過本次設(shè)計,使我們對單片機(jī)的了解有了更加深一步,我發(fā)現(xiàn)只有動手做才會孰能技巧,還有對材料的整理和理解。這次設(shè)計運(yùn)用到的知識很多方面,尤其是單片機(jī),像AT89C51,引腳多,硬件內(nèi)部線路接通,所以用起來很方便,還有ds1302芯片與單片機(jī)之間的連接,以及如入使用ds1302芯片。當(dāng)然也要對這些元器件作相應(yīng)調(diào)查。主要就是電路原理圖,還有對引腳的作用熟悉。對于

73、軟件方面則是靈活運(yùn)用單片機(jī)有關(guān)的程序語言,還有很多擴(kuò)展功能,由于知識匱乏,但是理論知識還是比較詳細(xì)的。我們最大的成功之處是在這整個過程,動腦尋求解決一個一個問題的辦法,對程序是不斷思索,務(wù)必寫出很簡單的程序來,使得電子時鐘能做成功!</p><p><b>  參考文獻(xiàn)</b></p><p>  《單片機(jī)原理及其接口技術(shù)》(第二版) 清華大學(xué)出版社</p&g

溫馨提示

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

評論

0/150

提交評論