單片機(jī)秒表課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩8頁(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>  《接口及控制技術(shù)》課程設(shè)計(jì)報(bào)告</p><p>  課程設(shè)計(jì)題目: 秒表 </p><p>  姓 名: </p><p>  專業(yè)班級(jí): </p><p>  指導(dǎo)教師:

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

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

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

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

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

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

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

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

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

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

12、 ; 顯示子程序,定時(shí)子程序</p><p> ??;所用特殊寄存器:寄存器A,寄存器C</p><p> ??;所用中斷:外部中斷INT0,定時(shí)器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 ;開(kāi)啟定時(shí)中斷</p><p>  setb ex1</p><p>  setb ea ;定時(shí)器初始化

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

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

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

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

溫馨提示

  • 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)論