單片機(jī)數(shù)字鐘實(shí)訓(xùn)報(bào)告_第1頁
單片機(jī)數(shù)字鐘實(shí)訓(xùn)報(bào)告_第2頁
單片機(jī)數(shù)字鐘實(shí)訓(xùn)報(bào)告_第3頁
單片機(jī)數(shù)字鐘實(shí)訓(xùn)報(bào)告_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、單片機(jī)救生的宴制想告學(xué)院:電子工程學(xué)院專業(yè):機(jī)電一體化班級(jí):姓名:手機(jī)號(hào):一、任務(wù)及要求用51單片機(jī)設(shè)計(jì)時(shí)、分、秒計(jì)時(shí)器,詳細(xì)要求如下。1、具有時(shí)、分、秒計(jì)時(shí)功能和8位數(shù)碼管顯示功能,顯示格式為:“時(shí)一 分一秒”;2、用Proteus設(shè)計(jì)仿真電路進(jìn)行結(jié)果仿真;3、4人組成設(shè)計(jì)小組完成,小組成員有明確分工,1人負(fù)責(zé)總體方案設(shè)計(jì) 及報(bào)告撰寫,2人負(fù)責(zé)功能模塊函數(shù)設(shè)計(jì),1人負(fù)責(zé)仿真電路設(shè)計(jì)及調(diào)試。4、完成程序設(shè)計(jì)、仿真電路設(shè)計(jì)、結(jié)果仿真。5、本試驗(yàn)要求設(shè)計(jì)一個(gè)數(shù)字計(jì)時(shí)器,可以完成。分00秒23小時(shí)59分59 秒的計(jì)時(shí)功能,并在掌握電路的作用下有開機(jī)清零。6、指標(biāo)要求:,顯示時(shí)、分、秒。采納24小時(shí)制

2、,小時(shí)計(jì)數(shù)器按“23翻00”規(guī)律計(jì)數(shù)。. 為了保證計(jì)時(shí)精確、穩(wěn)定,由單片機(jī)的定時(shí)器來計(jì)時(shí)。7、設(shè)計(jì)要求: 畫出電路原理圖(或仿真電路圖);元器件及參數(shù)選擇; 電路仿真與調(diào)試;連接實(shí)物圖,并調(diào)試;寫出報(bào)告,并做總結(jié);二、設(shè)計(jì)方案1、總體設(shè)計(jì)方案(李文負(fù)責(zé)完成)(說明總體設(shè)計(jì)方案構(gòu)思、程序模塊構(gòu)成、仿真電路構(gòu)成等內(nèi)容,不少于 300 字)。構(gòu)思:實(shí)現(xiàn)時(shí)鐘的設(shè)計(jì),假如采納軟件延時(shí)的方法來實(shí)現(xiàn)時(shí)鐘,太耗cpu 了,因此采納51單片機(jī)的內(nèi)部硬件資源來實(shí)現(xiàn)時(shí)鐘,因此采納定時(shí)器來定時(shí),由于 單片機(jī)的最大定時(shí)的時(shí)間為65.536ms;但是我們要定時(shí)1s,為了便利,我們那么選 用定時(shí)器。工作方式1且定時(shí)50ms

3、,然后在中斷2。次那么有了 Is,有了 Is就好 辦了,分,時(shí)就好辦了,只要在1秒的基礎(chǔ)上加就可以實(shí)現(xiàn)時(shí)鐘了,有了時(shí),分, 秒就要顯示了,由于時(shí),分,秒都是兩位,因此要把個(gè)位與十位分別,然后在分 別在數(shù)碼管上顯示,這樣就實(shí)現(xiàn)時(shí)鐘的設(shè)計(jì)。程序模塊:1、主函數(shù):(調(diào)用初始化函數(shù),調(diào)用顯示函數(shù))2、顯示函數(shù):(延時(shí)函數(shù),數(shù)碼管顯示代碼)3、中斷服務(wù)函數(shù):(時(shí),分,秒的實(shí)現(xiàn))仿真電路構(gòu)成:數(shù)字鐘的結(jié)構(gòu)組成:電1)晶體振蕩器電路2)復(fù)位電路3)數(shù)碼管使用非門驅(qū)動(dòng)及數(shù)碼管詳細(xì):52單片機(jī)的最小系統(tǒng)(52單片機(jī),晶振電路(12MHz晶振,和30pF 的無極性容),復(fù)位電路(l()k電阻,10uf極性電容,開

4、關(guān)),外加八位一體的 數(shù)碼管,數(shù)碼管驅(qū)動(dòng)電路; 2、顯示模塊程序流程圖3、中斷服務(wù)函數(shù)模塊程序流程圖4、主函數(shù)模塊的設(shè)計(jì)5、仿真電路圖三、程序代碼:/*功能:用共陰的八位一體的數(shù)碼管顯示時(shí)間“小時(shí)分鐘一秒”位碼接P2 口;段碼接P0 口;使用定時(shí)器0定時(shí)1s, 刃#include vreg5Lh頭文件#define uchar unsigned char 宏定義#define uint unsigned int /uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0

5、x39,0 x5e,0 x79,0 x71;共陰七段編碼uchar sec,min,hour,count;/ 定義變量void delay (uchar x)延時(shí) 1ms 的函數(shù)(uchar z ,y;for (y=x;y0;y-)for (z=124;z0;z);)void init (void)初始化函數(shù)(TMOD=0X01;定時(shí)器0工作在方式1TH0=0X3C; 裝初值TL0=0XB0;EA=1;開總中斷ET0=l;開定時(shí)器0中斷TR0=l;啟動(dòng)定時(shí)器0sec=0; 秒設(shè)初值min=0; 分設(shè)初值hour=0;時(shí)設(shè)初值count=0; 計(jì)數(shù)設(shè)初值PO=Oxff;/P2=0 xff;/ _

6、void display ()顯示函數(shù)( 、uchar secl,sec2,minl,min2,hourl,hoiir2;定義變量secl= sec/10; 秒的十位sec2= sec% 10;秒的個(gè)位minl= min/10;分 的十位min2= min % 10; 分 的個(gè)位hourl= houi710;時(shí)的十位hour2= hour% 10;時(shí)的個(gè)位P2= 0 x80; 秒個(gè)位的位碼P0= tablesec2; 秒個(gè)位的段碼delay ;P2= 0 x40;秒十位的位碼P0= tablesecl; 秒十位的段碼delay ;P2= 0 x20;/ 的位碼P0= 0 x40;/ 的段碼de

7、lay ;P2= 0 x10;分十位的位碼P0= tableminl;分十位的段碼delay ;P2= 0 x08;/分個(gè)位的位碼P0= tablemin2;分個(gè)位的段碼delay ;P2= 0 x04;/ ” 的位碼P0= 0 x40;“二 的段碼delay ;P2= 0 x02;時(shí)個(gè)位的位碼P0= tablehour2;時(shí)個(gè)位的段碼delay (5);P2= 0 x01; 時(shí)的十位的段碼P0= tablehourl; 時(shí)的十位的段碼delay ;void main()(init();初始化函數(shù)while(l)displayO; 時(shí)間顯示函數(shù) )void time() interrupt 1

8、 中斷服務(wù)函數(shù)(TH0=0X3C;重裝初值TL0=0XB0;if(count=20) /定時(shí)一秒(count=0;計(jì)數(shù)清零if(sec=59)秒計(jì)時(shí)到60秒(sec=0; 秒清零if(min=59) 分計(jì)時(shí)到60秒(min=0; 分清零if(hour=23) 小時(shí)計(jì)數(shù)到24(hour=0;小時(shí)清零)else hour+; 小時(shí)加一 ) else min+; 分加一)else sec+; 秒加一)count+; 計(jì)數(shù)加一)五、設(shè)計(jì)總結(jié)單片機(jī)作為我們主要的專業(yè)課程之一,我覺得單片機(jī)課程設(shè)計(jì)很有必要,而且很 有意義。在做的過程中能夠覺察許多的問題,只有自己親身去做了就會(huì)遇到你在 書上所沒有的,并且你

9、要一個(gè)又一個(gè)的解決,這個(gè)有點(diǎn)難,要找到自己的錯(cuò)誤在 哪里,這還真的難,有時(shí)候自己的錯(cuò)誤自己很難的看出來,我就一個(gè)main寫錯(cuò) 了,我找了半天還沒找問題在哪里,外表看是看不出的,由于我只是a與i對調(diào) 了一下,害的我搞了半天才查出來,這個(gè)無形的,編譯是不會(huì)出錯(cuò),只是一個(gè)警 告,但是下載單片機(jī)里就是不消失結(jié)果,改了之后就ok 了,在寫程序的時(shí)候大 小寫特殊要留意的,還有程序的結(jié)構(gòu)清晰明白,最終還是完成任務(wù)。在學(xué)習(xí)的過程中帶著問題去學(xué)我覺察效率很高,這是我做這次課程設(shè)計(jì)的一大收 獲。此外,要做好一個(gè)課程設(shè)計(jì),就必需做到:在設(shè)計(jì)程序之前,對所用單片機(jī) 的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思 路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì) 好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一 個(gè)程序的完善與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)當(dāng)讓人一看就能明白你的思路,在我 們遇到問題時(shí),我們應(yīng)當(dāng)將每次遇到的問題紀(jì)錄下來,并分析清晰,以免下次

溫馨提示

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

評(píng)論

0/150

提交評(píng)論