多功能電子秒表_第1頁(yè)
多功能電子秒表_第2頁(yè)
多功能電子秒表_第3頁(yè)
多功能電子秒表_第4頁(yè)
多功能電子秒表_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2016屆課程論文單片機(jī)原理及應(yīng)用課程設(shè)計(jì)多功能電子秒表學(xué)生姓名 郭君君 學(xué) 號(hào) 5011212411 所屬學(xué)院 信息工程學(xué)院 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 16-4班 指導(dǎo)教師 孟洪兵 前 言中國(guó)使用單片機(jī)的歷史只有短短的30年,在初始的短短五年時(shí)間里發(fā)展極 為迅速??v觀(guān)我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù) 處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開(kāi)單片機(jī)。以前沒(méi)有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來(lái)的產(chǎn)品不僅體積大,而且成本高,并且由于

2、長(zhǎng)期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀冎恍枰趩纹瑱C(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心部分只是由人為的寫(xiě)入程序來(lái)完成。這樣產(chǎn)品的體積變小了,成本也降低了,長(zhǎng)期使用也不會(huì)擔(dān)心精度達(dá)不到了。所以,它的魔力不僅是在現(xiàn)在,在將來(lái)將會(huì)有更多的人來(lái)受它、使用它。據(jù)統(tǒng)計(jì),我國(guó)的單片機(jī)年容量已達(dá)3億片,且每年以大約20%的速度增長(zhǎng),但相對(duì)于世界市場(chǎng)我國(guó)的占有率還不到1%。特別是沿海地區(qū)的玩具廠(chǎng)等生產(chǎn)產(chǎn)品多數(shù)用到單片機(jī),并不斷地輻射向內(nèi)地。所以,學(xué)習(xí)單片機(jī)在我國(guó)是有著廣闊前景的。目 錄摘 要1一 課程設(shè)計(jì)目的及意義1二 課程設(shè)計(jì)題目描述和要求2

3、三 課程設(shè)計(jì)報(bào)告內(nèi)容23.1設(shè)計(jì)思路23.2系統(tǒng)總體方案及硬件設(shè)計(jì)33.2.1系統(tǒng)總體方案33.2.2程序流程圖4四 子程序模塊設(shè)計(jì)5五 keil軟件仿真圖6六 實(shí)物圖6總結(jié)7參考文獻(xiàn)8附錄11塔里木大學(xué)信息工程學(xué)院課程設(shè)計(jì)摘 要在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面的知識(shí)是不夠的,還要根據(jù)具體的硬件結(jié)構(gòu),以及針對(duì)具體的應(yīng)用對(duì)象的軟件結(jié)合,加以完善。秒表的出現(xiàn),解決了傳統(tǒng)的由于人為因素造成的誤差和不公平性。 本設(shè)計(jì)的多功能秒表系統(tǒng)采用AT89C51單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、電源電路、LED數(shù)碼管以及按

4、鍵電路來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)數(shù),并且結(jié)合相應(yīng)的顯示驅(qū)動(dòng)程序,使數(shù)碼管能夠正確地顯示時(shí)間,暫停和中斷。我們?cè)O(shè)計(jì)的秒表可以同時(shí)記錄八個(gè)相對(duì)獨(dú)立的時(shí)間,通過(guò)上翻下翻來(lái)查看這八個(gè)不同的計(jì)時(shí)值,可謂功能強(qiáng)大。其中軟件系統(tǒng)采用c語(yǔ)言編寫(xiě)程序,包括顯示程序,計(jì)數(shù)程序,中斷,延時(shí)程序,按鍵消抖程序等,硬件系統(tǒng)利用keil強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單且易于觀(guān)察,在仿真中就可以觀(guān)察到實(shí)際的工作狀態(tài)。 關(guān)鍵字:?jiǎn)纹瑱C(jī);多功能秒表一 課程設(shè)計(jì)目的及意義1.1設(shè)計(jì)目的 設(shè)計(jì)一個(gè)單片機(jī)控制的秒表系統(tǒng)。利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及按鍵來(lái)設(shè)計(jì)秒

5、表。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)具有開(kāi)始/暫停,記錄,上翻下翻,清零等功能。 1.2設(shè)計(jì)要求 (1) 共四位LED顯示,顯示時(shí)間為00:0099.99 (2) 共五個(gè)按鍵,分別是開(kāi)始/暫停,記錄,上翻,下翻,清零鍵; (3) 能同時(shí)記錄多個(gè)相對(duì)獨(dú)立的時(shí)間并分別顯示; (4) 翻頁(yè)按鈕查看多個(gè)不同的計(jì)時(shí)值; 1.3設(shè)計(jì)意義 (1) 通過(guò)本次課程設(shè)計(jì)可以使我們進(jìn)一步熟悉和掌握單片機(jī)內(nèi)部結(jié)構(gòu)和工作原理,了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本步驟和方法。 (2) 通過(guò)利用AT89C51單片機(jī),理解單片機(jī)在自動(dòng)化儀表中的作用以及掌握單片機(jī)的編程方法。 (3) 通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)單的實(shí)際應(yīng)

6、用輸入及顯示模擬系統(tǒng),掌握單片機(jī)仿真軟件PROTEUS的使用方法。 (4) 該實(shí)驗(yàn)通過(guò)單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)原理,設(shè)計(jì)簡(jiǎn)單的計(jì)時(shí)器系統(tǒng),擁有正確的計(jì)時(shí)、暫停、清零、功能,并能同時(shí)記錄多個(gè)相對(duì)獨(dú)立的時(shí)間利用翻頁(yè)按鈕查看多個(gè)不同的計(jì)時(shí)值,該種秒表在現(xiàn)實(shí)生活中應(yīng)用廣泛,具有現(xiàn)實(shí)意義。 二 課程設(shè)計(jì)題目描述和要求 題目描述:基于單片機(jī)的多功能秒表設(shè)計(jì)。要求:開(kāi)始時(shí),顯示“00.00”,第一次按下按鈕后開(kāi)始從00.00-99.99s計(jì)時(shí),顯示精度為0.01s;對(duì)應(yīng)有5個(gè)功能按鍵第1個(gè)按鍵開(kāi)始/暫停按鈕,第2個(gè)按鍵記錄按鈕,第3個(gè)按鍵及時(shí)上翻按鈕,第4個(gè)按鈕下翻按鈕,第5個(gè)按鈕清零按鈕,可同時(shí)記

7、錄下八組數(shù)據(jù)。 三 課程設(shè)計(jì)報(bào)告內(nèi)容了解AT89C51芯片的的工作原理和工作方式 ,使用該芯片對(duì)LED數(shù)碼管進(jìn)行顯示控制,實(shí)現(xiàn)用單片機(jī)的端口控制數(shù)碼管,顯示秒,并能用按鈕實(shí)現(xiàn)秒表起動(dòng)、停止、記錄、清零功能,精確到0.01秒。要求選用定時(shí)器的工作方式,畫(huà)出使用單片機(jī)控制LED數(shù)碼管顯示的電路圖,并在實(shí)驗(yàn)箱實(shí)現(xiàn)其硬件電路,并編程完成軟件部分,最后調(diào)試秒表起動(dòng)、停止、記錄、清零功能。 3.1設(shè)計(jì)思路該實(shí)驗(yàn)要求進(jìn)行計(jì)時(shí)并在數(shù)碼管上顯示時(shí)間,用AT89C51單片機(jī)來(lái)實(shí)現(xiàn),按設(shè)計(jì)要求本實(shí)驗(yàn)要采用六個(gè)按鍵,其中復(fù)位按鍵在電路中,不需要再用程序控制,在仿真時(shí)用不到,其他五個(gè)按鍵可以用I/O端口來(lái)控制,寫(xiě)上其對(duì)

8、應(yīng)的程序,延時(shí)一秒鐘可以用中斷來(lái)控制,計(jì)算好中斷次數(shù).要加上防止按鍵抖動(dòng)程序,選擇好數(shù)碼管的顯示方式,想減少I(mǎi)/O口的使用就用動(dòng)態(tài),想編程簡(jiǎn)單就是用靜態(tài)。 3.2系統(tǒng)總體方案及硬件設(shè)計(jì) 3.2.1系統(tǒng)總體方案本系統(tǒng)采用AT89C51單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)計(jì)數(shù)的原理,結(jié)合硬件電路如電源電路,晶振電路,復(fù)位電路和顯示電路,以及一些按鍵電路等來(lái)設(shè)計(jì)計(jì)數(shù)器,將軟硬件有機(jī)結(jié)合起來(lái),其中軟件系統(tǒng)采用匯編語(yǔ)言編寫(xiě)程序,包括顯示程序,計(jì)數(shù)程序,中斷,硬件系統(tǒng)利用keil強(qiáng)大的功能來(lái)實(shí) 現(xiàn),簡(jiǎn)單易于觀(guān)察,在仿真中就可以觀(guān)察到實(shí)際的工作狀態(tài)。 (1)單片機(jī)的選擇 AT89C51是一種帶4K字節(jié)

9、FLASH存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的

10、方案。 主要特性: 與MCS-51 兼容;4K字節(jié)可編程FLASH存儲(chǔ)器;壽命:1000寫(xiě)/擦循環(huán);數(shù)據(jù)保留時(shí)間:10年;全靜態(tài)工作:0Hz-24MHz;三級(jí)程序存儲(chǔ)器鎖定;128×8位內(nèi)部RAM;32可編程I/O線(xiàn);兩個(gè)16位定時(shí)器/計(jì)數(shù)器;5個(gè)中斷源;可編程串行通道;低功耗的閑置和掉電模式;片內(nèi)振蕩器和時(shí)鐘電路 (2)管腳說(shuō)明 P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0

11、輸出原碼,此時(shí)P0外部必須接上拉電阻。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TT

12、L門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。3.2.2程序流程圖 四 子程序模塊設(shè)計(jì) 1)、顯示精度為0.01秒程序 本設(shè)計(jì)采用定時(shí)器/計(jì)數(shù)器T0的方式一,為16位位定時(shí)器/計(jì)數(shù)器,系統(tǒng)時(shí)鐘頻率采用12MHZ,采用T0中斷方式1:16位定時(shí)器/計(jì)數(shù)器,TMOD=0X01, 計(jì)算初值: 機(jī)器周期=1us=1×10-6 設(shè)需要裝入T0的初始值為X,則有(216-X)×10-6=5×10-3; X=15536; TH0=(65536-50000)/256; TL0=(6

13、5536-50000)%256; 由此公可知每次中斷時(shí)間是50ms,則只需要中斷20次顯示位數(shù)計(jì)算: P2=0xfe;P0=tabsec/10;break;/顯示秒十位 P2=0xfd;P0=tab1sec%10;break; /顯示秒個(gè)位 P2=0xfb;P0=tabms/10;break;/顯示十位 P2=0xf7;P0=tab1ms%10;break; /顯示個(gè)位2)、消除按鍵抖動(dòng)程序 keynum=P1; if(keynum!=0xff) delay(10); temp=P1; if(keynum=temp) 3)、軟件復(fù)位程序 軟件復(fù)位不能清除中斷標(biāo)志位,實(shí)際效果與清零效果一樣,軟件

14、復(fù)位后,直接從程序開(kāi)始運(yùn)行,如果在軟件復(fù)位 程序前加上關(guān)閉中斷,就與硬件復(fù)位效果一樣了,還有軟件復(fù)位內(nèi)存中的臨時(shí)數(shù)據(jù)是不會(huì)清空的。 static unsigned char num; TH1=0xF8;/重入初值 TL1=0xf0;五 keil軟件仿真圖六 實(shí)物圖總結(jié)單片機(jī)是我所學(xué)專(zhuān)業(yè)的主要課程之一,因此我認(rèn)為單片機(jī)課程設(shè)計(jì)是十分必要而且十 分重要的。盡管剛剛拿到課程設(shè)計(jì)題目時(shí)有點(diǎn)迷惘,不知道如何著手,但通過(guò)上網(wǎng)和圖書(shū)館查閱相關(guān)資料,自己認(rèn)真鉆研以及虛心詢(xún)問(wèn)同學(xué),終于解決了一個(gè)又一個(gè)的困難和障礙,成功完成了任務(wù)。 通過(guò)本次的單片機(jī)課程設(shè)計(jì),不僅大大地豐富了我的理論知識(shí),而且在實(shí)踐過(guò)程中更令我學(xué)

15、會(huì)了堅(jiān)持、耐心和努力。此次單片機(jī)課程設(shè)計(jì)需要運(yùn)用到許多之前所學(xué)過(guò)的知識(shí),令我認(rèn)識(shí)到自己以前學(xué)習(xí)的一些不足之處,例如對(duì)以前所學(xué)知識(shí)的理解不夠深刻,掌握得不夠牢固,運(yùn)用不夠靈活。這讓我懂得了認(rèn)真學(xué)習(xí)的重要性,以及要孜孜不倦地鉆研所學(xué)過(guò)的知識(shí),做得融會(huì)貫通,不能一覽而過(guò),不求甚解。在邊學(xué)習(xí)邊動(dòng)手的過(guò)程中,我對(duì)電子時(shí)鐘的構(gòu)造以及原理有了進(jìn)一步的了解,同時(shí)也加深和鞏固了我對(duì)單片機(jī)匯編語(yǔ)言的認(rèn)識(shí)。除此之外,由于是第一次做單片機(jī),因此在此次課程設(shè)計(jì)的過(guò)程中,無(wú)論是電路繪制還是匯編語(yǔ)言編寫(xiě)都難免遇到了不少困難和障礙,例如匯編語(yǔ)言編寫(xiě)出錯(cuò)、電路元件無(wú)從入手等。在面對(duì)困難和障礙時(shí),我慶幸自己沒(méi)有退縮和逃避,而是通

16、過(guò)各種方法,迎難而上,以堅(jiān)持、耐心和努力勇敢無(wú)畏地面對(duì)困難,克服困難,解決困難。讓我發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題以及動(dòng)手實(shí)踐的能力都有了很大的提高,并了解到理論知識(shí)與實(shí)踐相結(jié)合的重要意義。 從這次的課程設(shè)計(jì)中,我們真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的練習(xí)的過(guò)程中才能提高。本次課程設(shè)計(jì)盡管時(shí)間不長(zhǎng),但從中所獲,將令我受益終生。參考文獻(xiàn)1 程國(guó)鋼. 51單片機(jī)應(yīng)用開(kāi)發(fā)案例手冊(cè)。電子工業(yè)出版社.2011.11 2 張毅剛. 單片機(jī)原理與應(yīng)用設(shè)計(jì)。電子工業(yè)出版社. 2009.12 3 郭天祥編著.51單片機(jī)C語(yǔ)言教程

17、-入門(mén)、提高、開(kāi)發(fā)、拓展全 攻略.電子工業(yè)出版社.2010.05 4 丁峻嶺主編.C語(yǔ)言程序設(shè)計(jì).中國(guó)鐵道出版社.2009.12 5 公茂法.單片機(jī)接口實(shí)例集.北京:西安電子科技大學(xué)出版社,2004 附錄#include <reg51.h>code unsigned char tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共陰數(shù)碼管 0-9 code unsigned char tab1=0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF; /共陰數(shù)碼管0-9帶小數(shù)點(diǎn)

18、sbit key1 = P10; /開(kāi)始、暫停 sbit key2 = P11; /記數(shù) sbit key3 = P12; /上翻 sbit key4 = P13; /下翻 sbit key5 = P14; /清零 static unsigned char ms,sec; static unsigned char Sec8,Ms8; static int i ,j; void delay(unsigned int cnt) /延時(shí)程序 while(-cnt); void main() unsigned char key3_flag=0,key4_flag=0; TMOD |=0x01;/定時(shí)器

19、0 10ms in 12M crystal 用于計(jì)frtgtfrg時(shí) TH0=0xd8; TL0=0xf0; ET0=1; TR0=0; TMOD |=0x10; /定時(shí)器1用于動(dòng)態(tài)掃描 TH1=0xF8; TL1=0xf0; ET1=1; TR1=1; EA =1; sec=0; /初始化 ms=0;P1=0xff;i=0; j=0; start: while(1) /開(kāi)始、暫停 if(!key1) /判斷是否按下 delay(10); /去抖 if(!key1) while(!key1) /等待按鍵釋放 ; TR0=!TR0; /記錄 if(!key2) /判斷是否按下 delay(10)

20、; /去抖 if(!key2) while(!key2) /等待按鍵釋放 ; if(i=8) /8組數(shù)據(jù)記錄完畢 TR0=0; goto start; Seci= sec; /將數(shù)據(jù)存入數(shù)組 Msi= ms; i+; /上翻 if(!key3) delay(10); if(!key3) while(!key3) ; TR0=0; key3_flag=1; /按鍵3標(biāo)志 if(j=i) goto start; else if(key4_flag) j+=2;key4_flag=0; sec=Secj;ms=Msj; /顯示數(shù)組里的內(nèi)容 j+; /下翻 if(!key4) delay(10); if(!key4) while(!key4) ; TR0=0; key4_flag=1; /按鍵4標(biāo)志 if(j<0) goto start; else if(k

溫馨提示

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

評(píng)論

0/150

提交評(píng)論