時鐘數字顯示實驗論文_第1頁
時鐘數字顯示實驗論文_第2頁
時鐘數字顯示實驗論文_第3頁
時鐘數字顯示實驗論文_第4頁
時鐘數字顯示實驗論文_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程名稱:電子時鐘仿真設計學校:南昌工程學院院系:信息工程學院專業:10應用電子技術學號:20100119姓名:福靖凌指導老師:莫老師電話:150000000000日期:2012年6月12日星期二昌工程學院課程設計(論文)任務書一、課程設計(論文)題目電子時鐘仿真設計二、課程設計(論文)使用的原始資料(數據)及設計技術要求用51系列單片機作主控制器組成一個電子鐘,具體要求為:要求:1、采用51系列單片機作控制cpu, 6位數碼管顯示時間(時: 分:秒);2、安排三個按鈕開關(s, t , i )用于調時及功能設置;3、首次上電復位時顯示0時0分0秒;4、當按下s鍵時,進入時間調整狀態,首先調整

2、小時,對應的小吋顯示ked閃亮,通過f ,(按鍵調整,采用24小吋 制;5、再次按下s鍵,進入分鐘調整,方法同第4點要求;6、分鐘調整完畢后,按s鍵退出調整狀態,進入正常運行方 式;7、完成實物制作或proteus仿真實現。三、課程設計(論文)工作內容及完成時間6月4日至6月5日:查找資料,方案論證;6月6日至6月8日:硬件電路的設計與仿真調試;6月9日至6月10日:軟件框圖設計、編寫程序;6月11日至6月13 h:撰寫設計報告,軟、硬件聯合仿真調試占實驗;四. 主要參考資料1 、董曉紅,單片機原理及接口技術,西安電子科技大學出版社, 20042 、何立民,mcs-51系列單片機應用系統設計系

3、統配置與接口技術,北京航空航天大學出版社,20013 、張俊謨,單片機中級教程一一原理與應用,北京,北京航空航 天大學出版社,2000. 64 、潘永雄,新編單片機原理與應用西安:西安電子科技大學出版 社.20035 宋家友集成電子線路設計手冊m.福建科技出版社出版,2000.6 張友德等編單片微型機原理、應用與實驗m. ±海:復旦大學 出版社出版,2007.院系: 信息工程學院應用電子技術 專業10級班學生:日期: 自2012年 6 月 4 日至 2012 年 6 月13 口指導教師: 莫釗助理指導教師(并指出所負責的部分):教研室:電子工程教研室 教研室主任: 注:任務書應該附在

4、已完成的課程設計說明書首頁。下面是本次課程的方案設計:單片機自20世紀70年代問世以來,以其極高的性能價格比,受 到人們的重視和關注,51單片機是各單片機中最為典型和最有代表 性的一種。本次設計以at89c51芯片為核心,輔以必要的外圍電路,設計了 一個簡易的電子時鐘,它由5v直流電源供電。在硬件方而,除了 cpu 外,使用四個七段數碼管來進行顯示,數碼管采用的是動態掃描顯示。 通過數碼管能夠比較準確顯示時、分丄ed 閃一滅顯示秒,設計方 面采用匯編語言編程,整個電子鐘系統能完成時間的顯示、復位等功 能。通過這次設計讓我更深入了解單片機基本電路、如何控制和定時 器和中斷編程的基本方法,從而鍛煉

5、了我學習、設計和開發軟、硬件 的能力。關鍵詞:at89c51 ;單片機;數碼管等數碼管數字時鐘電路的設計led數碼管時鐘電路采用24h計時方式,時、分、秒采用六位數碼管顯示。該電路具有顯示時間、調整時間、省電狀態(數碼管不亮, 時鐘不停)三種功能,米用at89c51單片機實現。下圖a是總體控制 系統方案圖:圖a1系統硬件電路的設計單片機控制的數碼管時鐘電路圖b如下:"卜c3! 1:zj-300l1 r1 l3$363?if2*xs32122 .25g as2c27_2£.4l-jft22apecdcfg dpxt*l1xt/c2evq280405g6mf saxr7 e&#

6、187;.1ju士183456oufmlatwccewvl r- l d d dpoxww p0 1/iwp02/7c2p03w3 p0-vac4 p0 3m6p0 5«p0 7/ao7p1o2 pi vt2cxp12 p13p14p15piop17flue&&&488rome p3 vtxp 3亟p34h0p35jt1 p3 0a*«p37«»叮awn 憶阿k> w3/a11 驗鐘2 p2mu3 p2a»am p2 7/a15圖bled采用共陽極數碼管,所采用的品振頻率為12mhzo2. 系統軟件的設計主程序功能

7、主要是初始化、正常顯示時間和判別功能轉移鍵。顯示時間調用顯示時間子程序。當pl2端口按鍵按下時,轉入調時功能程 序。1)主程序流程圖c如下:開始內存單元清零v2)顯示主程序數碼管顯示的數據存放在50h-55h內存單元中,其中50h、51h 單元存放秒數據,52h、53h單元存放分數據,54h、55h單元存放時 數據。時間數據采用bcd碼表示,對應的顯示用段碼存放在rom中。 顯示時,先取出50h-55h某一地址中的數據,然后從段碼表中查出對 應的顯示用段碼并從p1 口輸出,同時p2 口將對應的數碼管選中,就 可以顯示相應的時間值。3)定時器to中斷服務程序時鐘的最小計時單位是秒,60s進位lm

8、in, 60min進位lh。定時 器to用于產生最小單位is,定時時間為50ms,中斷累計20次即為lso計數單元中的十進制bcd數每逢60進位。下圖d是t0中斷流程保護現場秒單元加1秒單元清0,分單元加1nn圖如下:至(j?yv分單元清0,時單元加1時單元清0zdt恢復現場中斷返回)j圖d to中斷服務程序流程圖4)定時器t1中斷服務程序進行時間調整時,正在被調整的時間以閃爍形式表現,定時器 t1用于產生閃爍的時間間隔,每隔03s閃爍一次。5)調時功能程序調整時間程序的方法是:按下功能按鍵,當按下時間小于is時, 進入省電狀態,大于is時進入調分狀態,等待操作,此時計時器停 止走動。當再次按

9、下按鍵時,按鍵時間小于0. 5s,則時間加lmin; 按鍵時間大于0. 5s,則進入小時調整狀態。在小時調整狀態下,按 鍵時間小于0.5s,則時間加lh,按鍵時間大于0.5s,則退出調整狀 態,時鐘繼續走動。6)延時程序系統使用了三個延時程序。因為系統是動態顯示,為了確保系統 有效顯示時間范圍內(約50ms)必須執行顯示程序,所以0. 5s的延 時程序是通過執行顯示程序約81次實現的。3. 硬件電路連接:數碼管 adp : p2. 0_p2 7片選(從秒個位至時十位):p0. 0-p. 05設置按鍵:pl. 2 加按鍵:pl. 3 減按鍵:pl. 64程序代碼:(參考單片機原理及接口技術課本4

10、80頁至186 頁,)org 0030hajmpma1nt ;轉主程序noporg 000bh ;轉定時器to屮斷程序ajmp int01noporg 001bhajmp inti 1 ;轉定時器t1屮斷程序nop主程序一一maint: mov r0,#7fh ; ooh7fh 單元清零clrawz1:mov r0,adjnz ro,wz1mov sp,#3oh ;置堆棧指針mov 5ah,#0ah ;放入“熄滅符”數據mov tmod,#11h ;置50ms定時器初值mov tl0,#()b0hmov th0,#3chmov tl1,#obohmov th i ,#3chsetb ea ;開

11、中斷setb eto ;允許to屮斷setb tro ;啟動 tomov r4,#14h ;用于產生is定時loop: lcall xszcx ;調用顯示子程序jnbp1.2,sjtz0 ;功能鍵按下,進入調時程序sjmp loopsjtzo: lcall xszcx ;通過調用顯示時間程序延時消抖動jnbp12sjtz1sjmploop ;功能鍵沒有按下,就顯示時間sjtzkclr eto ;關閉 to 中斷clr tro ;關閉 tolcall ys05s ;調用延時is的程序jbp1.2,kmtes ;按鍵時間小于is,就進入省電時的狀態mov r2,#06h ;進入調時狀態,置閃爍定時

12、初值setb et1 ;允許t1中斷setb tr1 ;啟動 t1xyz2: jnbp1.2,xyz1 ; p1.2 端口為 0 ,就等待clr01h ;置調分標志位為1ajmp kk :轉kk程序xyz1: lcall xszcx ;調用 xszcxajmp xyz2k k: lcall ajsm1ftz:lcall xszcxjb p1.3,ajsm1mov r0,#57hlcalladd1clrccjne r3,#60h,dd0 ajmp qweddo:lcall xyz5ajmp ajsm1qwe:clr amov r0,adec romov r0,alcallxyz5ajmpajsm

13、1kmtes: setb etosetb trokma:jb p1.2,$lcall xszcxjb pl.2,km akma1: jnbp1.2,$ljmp loopxstz: lcall xszcxjbp1.3.ajsm2mov r0,#59hlcalladd1cjne r3,#24h,dd2ajmp kmb1dd2:lcall xyz5ajmpajsm2kmb1: mov a,#0mov r0,adec romov r0,alcall xyz5ajmpajsm2ajsm1: jnbp1.2,aj;設置jnbp1.6,ftz_j ;減jnbp1.3,ftz;加lcall xszcx ajm

14、pajsm1aj:lcall xszcxjbp1.2,ajsm1dd1:lcall xyz7setb 01hajsm2: jnb p1.2,xyzout jnbp1.6,xstz_j jnb p1.3,xstz lcall xszcx ajmpajsm2xyz3: lcall xszcx jnbp1.6,xyz3 retxyz5: lcall xszcx jnbp1.3,xyz5 retxyz7: lcall xszcx jnbp1.2,xyz7 retftz_j: lcall xszcxjb p1.6,ajsm1mov r0,#57hlcallsubb1cjne r3,#offh,dd3dd

15、3:lcall xyz3ajmpajsm1xyzh_j:lcall xszcxjb p1.2,ajsm1setb 01hxstz_j: lcall xszcxjb p1.6,ajsm2mov r0,#59hlcallsubb2cjne r3,#0ffh,dd4da amov r3,aanl a,#0fhmov r0,amov a,r3inc roswap aanl a,#0fh mov r0,a ret/*減 i*/subb1: mova,romov r6,adec romov a,r0mov r7,ag_w:dec r7cjne r7,#0xff,ngj_w:dec r6mov r7,#9

16、cjne r6,#0xff,ngz_l:mov r6,#5mov r7,#9ljmp ngsubb2: mov a,r0mov r6,adec romov a,r0 mov r7,ag_w2: dec r7cjne r7,#0xff,ngj_w2: dec r6mov r7,#9cjne r6,#0xff,ngz_l2: mov r6,#2mov r7,#3ljmp t_cng:mov a,r7mov r0,ainc romov ar6mov r0,a ret*t1中斷服務程序*dd4:lcall xyz3ajmp ajsm2xyzout:jnb p1.2.xyzout1lcall xszcx

17、 ;鍵釋放等待時, 調用顯示子程序jnb p1.2,xyzout ;防止此時無時 鐘顯示mov 20h,#00hclr tr1clr et1setb trosetb etoljmp loopxyzout1:lcall xszcxajmpxyzout顯示子程序一一xszcx: mov rl,#50h ;顯示數據首址mov r5,#0feh ;掃描控制初值maxy: mov a,r5;掃描控制字送amov p0,a ;輸出掃描控制字mov a,r1;取顯示數據mov dptr,#abc ;取段碼表首地 址movc a,a+dptr ;収對應的代 段碼mov p2,a ; p2 口輸出段碼lcall

18、 ysi ms ;延時 1msinc r1 ;顯示地址增1mova,r5 ;掃描控制字送ajb acc.5,endout; acc.5,為 0 時一次顯 示結束rla ;控制字左移mov r5,a ;控制字送回r5中 ajmpmaxy ;循環顯示下一個數據 endout:mov p2,#0ffh ; 次顯示結束, p2復位movp1,#offh ; pl 復位ret ;子程序返回產加1*/add1: mov a,r0dec roswap aorla,roadda,#01hinto 1: push acc ;保護現場push pswclr etoclr tromov a,#0b7hadd a,t

19、l()mov tl0,amov a,#3chaddc a,th0setb trodjnz r4,int0uadi:mov r4,#14hmov r0,#51h lcalladd1mov a,r3cjne r3,#60h,int0uad2:clr amov r0,adec romov r0,amov r0,#57hlcalladd1cjne r3,#60h,int0uad3:clr amov r0,adec romov r0,amov r0,#59h lcalladd1cjne r3,#24,int0uad4:clr amov r0,adec romov r0,aintou: mov 52h,5

20、6hmov 53h,57hmov 54h,58hmov 55h,59hpop pswpop accsetb etoreti*t1中斷服務程序*inti 1: push acc ;保護現場push pswmov tl1,#oboh ;裝定吋器t1初 值mov th1,#3chdjnz r2jnt1u ; 0.3s 未到就退出 中斷mov r2,#06h ;重裝0.3s定時用 初值cpl 02hjb 02h,mm 1mov 52h,56hmov 53h,57hmov 54h,58hmov 55h,59hint1u: pop pswpop accretimm1: jb0ih,mm2mov 52h,5

21、ahmov 53h,5ahmov 54h,58hmov 55h,59hajmpint1umm2: mov 52h,56hmov 53h,57hmov 54h,5ahmov 55h,5ahajmpint1u/*延時子程序*/ys1ms: mov r6,#14hys1:mov r7,#19hys2:djnz r7,ys2djnz r6,ys 1retys05s: mov r3,#51hyso5s1:lcall xszcxdjnz r3,yso5s1retabc:db 0c0h,0f9h,0a4h,0b0h,99hdb 92h,82h,0f8h,80h,90h,0ffhend二系統的仿真與調試1 硬

22、件系統的仿真與調試硬件組裝前首先要仔細核對硬件系統設計原理的正確性,包括參數選用的正 確性和原理的正確性,這取決于設計者的學識和經驗積累。對沒有把握的電路可 以通過在通用實驗板上直接焊接實際電路來進行實物調試和驗證。在系統通過理 論分析后,便可進行電路設計和加工。一般而言,電路板加工企業的質量是有保 證的,但也不排除個別企業加工的電路板出現工藝性缺陷的情況。因此在調試前, 必須首先進行工藝排錯,這對于第一塊樣板的調試更是必不可少的環節。 調試分為斷電調試和通電調試。(1)第一步:斷電調試為了安全起見,首先必須進行斷電調試,斷電調試的內容至少包含短路檢測 和原理正確性確認。 短路檢測系統電路焊接

23、完成后,進行短路檢測,選用合適的萬用表歐姆擋(例如,20k 扌當或200k扌當),用紅黑表筆接電路板的+5v電源的+、一極,如果存在充放電現 象(即電阻指示從大到小再到大或從小到大),最后電阻穩定在一個適當的位置 (一般為幾千歐姆),則基于可排除系統短路現彖。如果無充放電現彖或電阻值 穩定在很小的位置(例如幾歐姆),則說明系統中可能存在短路故障,不能通電 實驗,必須對系統進行徹底排查,直至解決。 正確性確認這里以顯示亮度調節電路為例進行說明。首先檢查vti (9013)的極性不能 接錯(e、c),否則,因為vti始終不能正向偏置而無法導通,w1 (lm317)的 顯示控制失去作用,使顯示始終打

24、開,導致在送數過程中出現顯示抖動現象,影 響正常顯示。另外,r5和r6的電阻總值必須要在合適的值上(原因是此支路電 流一般要求為5ma左右),太大則lm317不能正常工作而無法調節輸出電壓, 太小則輸出電壓偏高(極限為2.5v),可能會由于過流而影響數碼管的壽命。(2)第二步:通電調試凡是微處理器系統,正常運行的必要條件是系統時鐘穩定正常。在實際工作 中,因為各種原因導致系統時鐘不正常出現系統無法止常運行的情況也有時岀 現,因此系統吋鐘是否起振應是通電檢查的首要一環。檢查方法有: 邏輯筆法。 數字萬用表法。 示波器法。設計中采用的是數字萬用表法,復位不正常也會導致系統不工作。例如,1 腳(復位

25、腳)如果始終為高,則系統始終處于復位狀態;如果始終為低電平(不 能產生復位所需的高電平脈沖),則系統也可能無法正常工作。檢查的重點是相 關電路是否正確。2.軟件調試(1) 在單片機專用wave (偉幅)軟件上編寫程序。(2) 在單片機專用isis軟件上繪制系統原理圖。(3) 程序的首地址應使目標可以直接運行,即從0000h開始。在主程序的 開始部分必須設置一個合適的棧底。程序放置的地址需連續且靠前,不耍在中間 留下大量的空間地址,以使目標機可以使用較少的硬件資源。(4) 然后把自己編好的程序放在isis軟件原木繪制好的系統原理圖中來運 行,看自己編制的程序能不能運行。如果還有錯就把程序改過直到

26、在isis上能 達到自己要的效果。下面是在proteus軟件上實現的仿真圖片仿真圖片丄c230# xic130sf6v10uf <text>c3 <1bx<oku1xtal1xtm2rstpsen ale eapob/ado po 1/am po2/ad2 po3/ad3 pooam p0 5/am pob/ad0 po7/ad7p2m8 p2閃 p2 2/a10 p2 3/a11 p2«at2 p2 5/at3vvvl l r* a a ai>ai>總r6r5r4r3r2r1刖8sss88p6c0efg dp1234-56p43t2 p1 vt2

27、ex p12p13p14p2p18p17at80c82<text>p2 7/ai5p3.(wrxd p31/txd p3.2/ntop3.3/wt1p3 4h0p3 0tmp3q極p3.7/k»v a626r2r3r43“ <text*r33g textr23qk «text»r5oa iw i3* 町 ext*r5圖1:未上電c1110uf <teillrc3:te<?pji1xtal1pottaco po.1/ad1xta12rstpoaciz poacgpo.wad4 p0sac6poj&a06 po.7/awp2o腿

28、f2.va9 p22fa<renp23ta11alep2.wag母p2staap2j&aup2.7mspimzp3iyrxdp1.irt7b<p3.1hxdp12pzjntfdp1jp3iimp1.4f3wtop15 p1j6 p1jf3st1 p3gjr p3.7/wetspbccefq df183436r2r500" ctextq2 up8/ct ctexn30ffih5sss85<texpcte>o>r5圖2:上點顯不 1 w»8>i2nhp8a2dq5upbrzj «text>q4 mp3oju1c2xta42rstpafn ale eapsarxd3s

溫馨提示

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

評論

0/150

提交評論