單片機(jī)秒表課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  《接口及控制技術(shù)》課程設(shè)計(jì)報告</p><p>  課程設(shè)計(jì)題目: 秒表 </p><p>  姓 名: </p><p>  專業(yè)班級: </p><p>  指導(dǎo)教師:

2、 </p><p>  成 績: </p><p>  時 間: 2010-12-10 </p><p><b>  一、設(shè)計(jì)要求</b></p><p>  用AT89C51設(shè)計(jì)一個2位的LED數(shù)碼顯示作為“秒表”:顯示時間

3、為00—99秒,每秒自動加1,另設(shè)計(jì)一個“開始”鍵和一個“復(fù)位”鍵。</p><p><b>  二、實(shí)驗(yàn)原理</b></p><p>  題目難點(diǎn)在于通過對鍵盤的掃描對時鐘的走時/停止進(jìn)行控制,項(xiàng)目采用定時器T0作為計(jì)時器,每10ms發(fā)生一次中斷,每100次中斷加1s。在此期間,如“開始”按鍵按下,程序方將TR0置為1,從而開啟中斷,時鐘開始走時;如“復(fù)位”按鍵按下

4、,程序?qū)R0置為0,同時將存儲時間的變量清零,從而中斷停止,并實(shí)現(xiàn)復(fù)位。</p><p>  本題目采用專用數(shù)碼管顯示控制芯片MAX7219。MAX7219是美國MAXIM公司生產(chǎn)的串行輸入/輸出共陰極顯示驅(qū)動器,該芯片最多可驅(qū)動8位7段數(shù)字LED顯示器或個LED和條形圖顯示器。其引腳圖及引腳功能參見有關(guān)參考資料。</p><p><b>  三、實(shí)驗(yàn)?zāi)康?lt;/b>&

5、lt;/p><p>  1、 通過本次課程設(shè)計(jì)加深對單片機(jī)課程的全面認(rèn)識復(fù)習(xí)和掌握,對單片機(jī)課程的應(yīng)用進(jìn)一步的了解。</p><p>  2、 掌握定時器、外部中斷的設(shè)置和編程原理。</p><p>  3、 通過此次課程設(shè)計(jì)能夠?qū)纹瑱C(jī)軟硬件結(jié)合起來,對程序進(jìn)行編輯,校驗(yàn)。</p><p><b>  四、意義</b>&l

6、t;/p><p>  該實(shí)驗(yàn)通過單片機(jī)的定時器/計(jì)數(shù)器定時和計(jì)數(shù)原理,設(shè)計(jì)簡單的計(jì)時器系統(tǒng),擁有正確的計(jì)時、暫停、清零功能,并同時可以用數(shù)碼管顯示,在現(xiàn)實(shí)生活中應(yīng)用廣泛,具有現(xiàn)實(shí)意義。</p><p><b>  五、實(shí)驗(yàn)內(nèi)容</b></p><p>  用AT89C51設(shè)計(jì)一個2位LED數(shù)碼顯示“秒表”,顯示時間為00~99秒,每秒自動加一。另設(shè)

7、計(jì)一個“開始”K1按鍵和一個“復(fù)位”K2按鍵。按鍵K1同時具有“暫停”功能。</p><p>  按鍵說明:按“開始”K1按鍵,開始計(jì)數(shù),數(shù)碼管顯示從00開始每秒自動加一;再次按K1按鍵,系統(tǒng)暫停計(jì)數(shù),數(shù)碼管顯示當(dāng)時的計(jì)數(shù);按“復(fù)位”按鍵,系統(tǒng)清零,數(shù)碼管顯示00。</p><p><b>  六、電路原理仿真圖</b></p><p>  將

8、硬件連線按上圖所示連接,該實(shí)驗(yàn)要求進(jìn)行計(jì)時并在數(shù)碼管上顯示時間,則可利用DVCC系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)中的芯片AT89C51中的P1.0管腳做為外部中斷0的入口地址,并實(shí)現(xiàn)“開始”按鍵的功能;將P3.3做為外部中斷1的入口地址,并實(shí)現(xiàn)“清零”按鍵的功能.;定時器T0作為每秒加1的定時器。其中“開始”K1按鍵按下一次(由上向下?lián)埽r開始計(jì)時,當(dāng)再次按下K1按鍵時,計(jì)時器計(jì)數(shù)暫停;“清零”K2按鍵按下一次時數(shù)碼管清零,此時若再撥“開始”

9、按鍵則又可重新開始計(jì)時。</p><p><b>  七、程序框</b></p><p>  1、 主程序流程圖 2、 加一子程序流程圖</p><p>  3、 INT0中斷子程序 </p><p>  4、數(shù)碼顯

10、示流程圖 5、 定時器T0子程序</p><p><b>  八、實(shí)驗(yàn)程序</b></p><p> ?。?*****************************************************************</p><p>  ; 設(shè)計(jì)選題:秒表系統(tǒng)設(shè)計(jì)

11、</p><p>  ; 描述: 8位LED數(shù)碼顯示"秒表",顯示時間為00~99秒,每秒自動加1,</p><p>  ; 一個"開始、暫停"鍵,一個"復(fù)位"鍵。</p><p>  ; 調(diào)用子程序:暫停鍵子程序,計(jì)時鍵子程序,清0鍵子程序,</p><p> 

12、 ; 顯示子程序,定時子程序</p><p> ?。凰锰厥饧拇嫫鳎杭拇嫫鰽,寄存器C</p><p> ??;所用中斷:外部中斷INT0,定時器T0</p><p> ??;***************************************************************************</p>

13、<p><b>  程序仿真模擬</b></p><p><b>  程序:</b></p><p>  dspbuf equ 30h</p><p>  msec equ 40h</p><p>  sec equ 41h</p>

14、<p>  min equ 42h</p><p>  weibit 7fh</p><p>  org 0000h</p><p>  ajmp main</p><p>  org 0003h</p><p>  clr ex0</p>

15、<p><b>  reti</b></p><p>  org 000bh</p><p>  mov th0,#high(65536-5000)</p><p>  mov tl0,#low(65536-5000)</p><p>  ajmp toint</p>

16、<p>  org 0013h</p><p>  ljmpdoint1</p><p>  org 001bh</p><p>  clr et1</p><p><b>  reti</b></p><p>  org 0023h</p&g

17、t;<p>  clr es</p><p><b>  reti</b></p><p><b>  main:</b></p><p>  acall toinit;處置 </p><p><b>  clr wei</b></p>

18、<p>  tiao1: mov sec,#0</p><p>  mov msec,#0</p><p>  setb et0 ;開啟定時中斷</p><p>  setb ex1</p><p>  setb ea ;定時器初始化

19、結(jié)束,下面循環(huán)顯示即可</p><p><b>  mainloop:</b></p><p>  jbc 7fh,tiao1</p><p>  acall readkey</p><p>  acall chaizi</p><p>  acall display</

20、p><p>  acall anykey</p><p>  ajmp mainloop</p><p><b>  chaizi:</b></p><p>  mov r0, #dspbuf</p><p>  mov a, msec</p><p>

21、  acall hextobcd</p><p>  mov r0, #dspbuf+2</p><p>  mov a, sec</p><p>  acall hextobcd1</p><p><b>  ret</b></p><p><b>  hex

22、tobcd:</b></p><p><b>  mov b,#10</b></p><p><b>  div ab</b></p><p><b>  mov @r0,b</b></p><p><b>  inc r0</b></p

23、><p><b>  mov @r0,a</b></p><p><b>  ret</b></p><p>  hextobcd1:</p><p><b>  mov b,#10</b></p><p><b>  div ab</b&g

24、t;</p><p><b>  mov43h,a</b></p><p><b>  mov a,b</b></p><p>  adda,#10 </p><p><b>  mov @r0,a</b></p><p><b>  mo

25、va,43h</b></p><p><b>  inc r0</b></p><p><b>  mov @r0,a</b></p><p><b>  ret</b></p><p><b>  display:</b></p>

26、;<p>  mov r0,#dspbuf</p><p>  mov r2,#11111110b</p><p><b>  dspnext:</b></p><p>  mov dptr,#zim0</p><p>  mov a,@r0 </p><p>  movc a,@a

27、+dptr</p><p><b>  mov p2,r2</b></p><p><b>  ;CPL A</b></p><p><b>  mov p0,a</b></p><p>  acall delay</p><p><b>  

28、mov a,r2</b></p><p><b>  rl a</b></p><p><b>  mov r2,a</b></p><p><b>  inc r0</b></p><p>  jb acc.4,dspnext</p><p&g

29、t;<b>  ret</b></p><p><b>  delay:</b></p><p><b>  mov r7,#1</b></p><p>  l1: mov r6,#1</p><p>  l0: mov r5,#250</p><

30、;p><b>  djnz r5,$</b></p><p>  djnz r6,l0</p><p>  djnz r7,l1</p><p><b>  ret</b></p><p>  toinit: </p><p>  mov tmod,#000000

31、01b</p><p>  mov th0,#high(65536-5000)</p><p>  mov tl0,#low(65536-5000)</p><p><b>  ret</b></p><p><b>  toint: </b></p><p><b

32、>  inc msec </b></p><p>  mov a,msec</p><p>  cjne a,#80,tointexit;未加滿80退出</p><p>  mov msec,#00h</p><p><b>  inc sec</b></p><p><b

33、>  mov a,sec</b></p><p>  cjne a,#100,tointexit;秒沒到100退出</p><p>  mov sec,#00h</p><p>  tointexit:</p><p><b>  reti</b></p><p><b&g

34、t;  anykey: </b></p><p>  mov p1,#0ffh</p><p><b>  mov a,p1</b></p><p><b>  cpl a</b></p><p><b>  ret </b></p><p>

35、;<b>  readkey:</b></p><p>  acall anykey</p><p>  jz readkeyexit</p><p>  acall display</p><p>  acall anykey</p><p>  jz readkeyexit</p>

36、<p>  jnb p1.0,gn1</p><p>  readkeyexit:ret </p><p>  gn1: cpl tr0 </p><p><b>  exit1:</b></p><p>  w2: acall chaizi<

37、;/p><p>  acall display </p><p>  jnb p1.0,w2</p><p><b>  ret</b></p><p>  gn2: clr tr0</p><p>  gn3: setb tr0</p><p><b>  

38、exit2:</b></p><p>  w3: acall chaizi</p><p>  acall display</p><p>  jnb p0.2,w3</p><p><b>  ret</b></p><p>  doint1:setb wei</p>

39、<p><b>  reti</b></p><p>  zim0:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,0bfh,86h,0dbh,0cfh,0e6h,0edh,0fdh,87h,0ffh,0efh</p><p><b>  end</b></p><p>

40、  九、課程設(shè)計(jì)心得體會</p><p>  認(rèn)真審題,看懂題目的要求!選擇適當(dāng)?shù)恼n題,不益太簡單或者太難。做到既能把課題完成又能鍛煉自己的能力!</p><p>  根據(jù)課題要求,復(fù)習(xí)相關(guān)的知識,查詢相關(guān)的資料。</p><p>  根據(jù)實(shí)驗(yàn)條件,找到適合的方案,找到需要的元器件及工具,準(zhǔn)備實(shí)驗(yàn)。</p><p>  根據(jù)課程設(shè)計(jì)的要求和自

41、己所要增加的功能寫好程序流程圖,在程序流程圖的基礎(chǔ)上,根據(jù)芯片的功能寫出相應(yīng)的程序。然后再進(jìn)行程序調(diào)試和相應(yīng)的修改,以達(dá)到能夠?qū)崿F(xiàn)所要求的功能的目的。</p><p>  還要根據(jù)實(shí)驗(yàn)的實(shí)際情況,添加些額外程序來使系統(tǒng)更加的穩(wěn)定,如開關(guān)的消震蕩(采用延遲)。</p><p>  程序要盡量做到由各個子程序組成,在有些程序后面最好加注釋,這樣在程序出錯的檢查過程中可以更容易查找的到,也更簡潔

42、,更明白易懂。</p><p>  該實(shí)驗(yàn)的程序可以參考DVCC系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書中的串并轉(zhuǎn)換實(shí)驗(yàn),也可自己根據(jù)自己熟悉的方法來編程。</p><p>  在設(shè)計(jì)控制開關(guān)時,注意2個中斷的打開和關(guān)閉的先后順序,否則就會出錯。</p><p>  這次的單片機(jī)課程設(shè)計(jì)重點(diǎn)是理論與實(shí)際的相結(jié)合。不再只讀書了。</p><p> 

43、 該設(shè)計(jì)從頭到尾都要自己參與,熟悉了對整個設(shè)計(jì)的過程,更系統(tǒng)的鍛煉了自己。</p><p><b>  十、參考文獻(xiàn)</b></p><p>  1、DVCC系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書</p><p>  2、蘇家健等編的《單片機(jī)原理及應(yīng)用技術(shù)》 高等教育出版社 2004年11月</p><p>  3、張義

溫馨提示

  • 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

提交評論