基于單片機(jī)的秒表_第1頁
基于單片機(jī)的秒表_第2頁
基于單片機(jī)的秒表_第3頁
基于單片機(jī)的秒表_第4頁
基于單片機(jī)的秒表_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章單片機(jī)的應(yīng)用領(lǐng)域. 11.1在智能儀器儀表上的應(yīng)用 . 11.2在工業(yè)控制中的應(yīng)用 . 11.3在家用電器中的應(yīng)用 . 11.4在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用 . 21.5單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用 . 21.6在各種大型電器中的模塊化應(yīng)用 . 21.7單片機(jī)在汽車設(shè)備領(lǐng)域中的應(yīng)用 . 2第二章系統(tǒng)設(shè)計(jì)任務(wù)和要求以及方案硬件設(shè)計(jì) . 42.1設(shè)計(jì)任務(wù) . 42.2設(shè)計(jì)要求 . 42.3系統(tǒng)總體方案 . 42.4硬件電路設(shè)計(jì) . 52.5硬件主電路圖設(shè)計(jì) . 7第三章軟件設(shè)計(jì). 83.1軟件設(shè)計(jì)概述 . 83.2 主程序流程圖 . 83.3程序中各函數(shù)設(shè)計(jì) . 93.4 C語言主程序設(shè)計(jì)

2、 . 11第四章 課程設(shè)計(jì)體會 . 15參考文獻(xiàn) . 161第一章單片機(jī)的應(yīng)用領(lǐng)域目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤 跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè) 自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都 離不開單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單 片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能

3、化管理及過程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:1.1在智能儀器儀表上的應(yīng)用單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、頻率、濕度、溫 度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片 機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加 強(qiáng)大。例如精密的測量設(shè)備(示波器,各種分析儀)。1.2在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管-FP- LL. 心片理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級控制

4、系統(tǒng)等。1.3在家用電器中的應(yīng)用可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、 單片機(jī)綜合課程設(shè)計(jì):秒表課程設(shè)計(jì)2電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子稱量設(shè)備,五花八門,無所不 在。1.4在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì) 算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列 車無線通信、 再到日常工作中隨處可見的移動(dòng)電話,集群移動(dòng)通信, 無線電對講機(jī)等。1.5單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在醫(yī)

5、用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀, 監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。1.6在各種大型電器中的模塊化應(yīng)用某些專用單片機(jī)設(shè)計(jì)用于實(shí)現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而 不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂集成單片機(jī),看似簡單的功能,微縮在純電 子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類似于計(jì)算機(jī)的原理。如:音樂信 號以數(shù)字的形式存于存儲器中(類似于ROM ),由微控制器讀出,轉(zhuǎn)化為模擬音樂電信號(類似于聲卡)。在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡化了電路,降低了損壞、 錯(cuò)誤率,也方便于更換。1.7單片機(jī)在汽車設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在汽車電子中的

6、應(yīng)用非常廣泛,例如汽車中的發(fā)動(dòng)機(jī)控制器,基于CAN總線的汽車發(fā)動(dòng)機(jī)智能電子控制器,GPS導(dǎo)航系統(tǒng),abs防抱死系統(tǒng),制動(dòng)系統(tǒng)等等。此外,單片機(jī)在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分 廣泛的用途。以89C51為例講解單片機(jī)的引腳及相關(guān)功能;單片機(jī)引腳圖40個(gè)引腳按引腳功能大致可分為4個(gè)種類:電源、時(shí)鐘、控制和I/O引腳。1.電源: VCC -芯片電源,接 +5V ;VSS -接地端;3注:用萬用表測試單片機(jī)引腳電壓一般為0v或者5v ,這是標(biāo)準(zhǔn)的 TTL電平。但有時(shí)候在單片機(jī)程序正在工作時(shí)候測試結(jié)果并不是這個(gè)值而是介于0v-5v之間,其實(shí)這是萬用表的響應(yīng)速度沒這么快而已,在某一個(gè)

7、瞬間單片機(jī)引腳電壓仍保持在0v或者5v。2.時(shí)鐘:XTAL1、XTAL2 -晶體振蕩電路反相輸入端和輸出端。3.控制線:控制線共有 4根,ALE/PROG:地址鎖存允許 /片內(nèi)EPROM編程脈沖ALE功能:用來鎖存P0 口送出的低 8位地址PROG功能:片內(nèi)有 EPROM 的芯片,在 EPROM 編程期間,此引腳輸入編 程脈沖。PSEN:夕卜ROM讀選通信號。RST/VPD:復(fù)位/備用電源。RST ( Reset )功能:復(fù)位信號輸入端。VPD功能:在 Vcc掉電情況下,接備用電源。 EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM 編程電源。EA功能:內(nèi)外 ROM選擇端。Vpp功能:片內(nèi)有 EP

8、ROM 的芯片,在 EPROM 編程期間,施加編程電源Vpp。4.I/O 線80C51 共有 4個(gè)8位并行I/O端口: P0、P1、P2、P3 口,共 32個(gè)引腳。P3 口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)5.P3 口第二功能P30 RXD 串行輸入口P31 TXD串行輸出口P32 INT0外部中斷0 (低電平有效)P33 INT1外部中斷1 (低電平有效)P34 T0定時(shí)計(jì)數(shù)器 0P35 T1定時(shí)計(jì)數(shù)器 1P36 WR外部數(shù)據(jù)存儲器寫選通(低電平有效)P37 RD外部數(shù)據(jù)存儲器讀選通(低電平有效)單片機(jī)綜合課程設(shè)計(jì):秒表課程設(shè)計(jì)圖1系統(tǒng)電路原理4第二章系統(tǒng)設(shè)計(jì)任務(wù)和

9、要求以及方案硬件設(shè)計(jì)2.1設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)單片機(jī)控制的秒表系統(tǒng)。利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的 原理,結(jié)合顯示電路、LED數(shù)碼管以及按鍵來設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地 結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行加計(jì)時(shí),數(shù)碼管能夠正確地顯示時(shí)間。2.2設(shè)計(jì)要求1.開機(jī)時(shí)數(shù)碼管顯示00。2.兩位LED顯示,顯示時(shí)間為0099秒。3.每一秒鐘,計(jì)數(shù)器自動(dòng)加 1。4.按鍵控制計(jì)數(shù),分別控制開始計(jì)數(shù)、停止計(jì)數(shù)和歸零,功能分配如下所示: 按鍵K1:控制秒表的啟動(dòng),停止按鍵K2:控制數(shù)碼管顯示清零2.3系統(tǒng)總體方案本系統(tǒng)采用C51系列單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù) 的原理,結(jié)合硬件電路如電源

10、電路,晶振電路,復(fù)位電路,顯示電路,以及一些 按鍵電路等來設(shè)計(jì)計(jì)時(shí)器,將軟、硬件有機(jī)地結(jié)合起來。其中軟件系統(tǒng)采用 C語 言編寫程序,包括顯示程序,加1計(jì)數(shù)程序,延時(shí)程序,按鍵消抖程序等,并在 WAV中調(diào)試運(yùn)行,硬件系統(tǒng)利用PROTEUS大的功能來實(shí)現(xiàn),簡單切易于觀察, 在仿真中就可以觀察到實(shí)際的工作狀態(tài)。18圖2晶體振蕩電路5C233 p TEXT-2.4硬件電路設(shè)計(jì)本系統(tǒng)中,硬件電路主要有電源電路,晶振電路,復(fù)位電路,顯示電路,以 及一些按鍵電路等(1)單片機(jī)簡介本系統(tǒng)設(shè)計(jì)采用C51系列單片機(jī)。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能 CMOS位微處理器。該器

11、件采用ATME高密度非易失存儲器制造技術(shù)制造,與工 業(yè)標(biāo)準(zhǔn)的MCS-51旨令集和輸出管腳相兼容(由于在微機(jī)原理中學(xué)過C-51的具體 知識,這里不再詳細(xì)說明)。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯 片中,ATME的 AT89C51是一種高效的微控制器。(2)電源電路電源電路是系統(tǒng)最基本的部分,任何電路都離不開電源部分,由于三端集 成穩(wěn)壓器件所組成的穩(wěn)壓電源線路簡單,性能穩(wěn)定,工作可靠,調(diào)整方便,已逐 漸取代分立元件,在生產(chǎn)中被廣泛采用,由于是小系統(tǒng),我們采用7809電源提供+5V穩(wěn)壓電壓。(3)晶體振蕩電路MCS-51單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反相放大器,引線XTAL1和XTAL

12、2分別為反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入和來自反向振蕩 器的輸出,該反向放大器可以配置為片內(nèi)振蕩器。這里,我們選用51單片機(jī)12MHZ勺內(nèi)部振蕩方式,電路如下:電容器 C1, C2起穩(wěn)定振蕩頻率,快速起振的作用, C1和C2可在20-100PF之間取,這里取 30P,接線時(shí)要使晶體振蕩器X1盡可能接近單片機(jī)。C133 pTEXTX1CRYSTALTL - LXFAL2單片機(jī)綜合課程設(shè)計(jì):秒表課程設(shè)計(jì)6(4)復(fù)位電路采用上電+按鍵復(fù)位電路,上電后,由于電容充電,使 RST持續(xù)一段高電平 時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使用使RST持續(xù)一段時(shí)間的高 電平,從而實(shí)現(xiàn)上電加開關(guān)

13、復(fù)位的操作。這不僅能使單片機(jī)復(fù)位,而且還能使 單片機(jī)的外圍芯片也同時(shí)復(fù)位。當(dāng)程序出現(xiàn)錯(cuò)誤時(shí),可以隨時(shí)使電路復(fù)位。電路圖如下:(5)顯示電路顯示電路既可以選用液晶顯示器, 也可以選用數(shù)碼管顯示。我們采用的是數(shù) 碼管顯示電路。用2個(gè)共陽極LED顯示,LED是七段式顯示器,內(nèi)部有7個(gè)條形 發(fā)光二極管和1個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。在用數(shù)碼管顯示時(shí),我們有靜態(tài)和動(dòng)態(tài)兩種選擇,靜態(tài)顯示程序簡單,顯示 穩(wěn)定,但是占用端口比較多;動(dòng)態(tài)顯示所使用的端口比較少,可以節(jié)省單片機(jī)的 I/O 口。在設(shè)計(jì)中,我們采用LED動(dòng)態(tài)顯示,用P0 口驅(qū)動(dòng)顯示。由于P0 口的輸出級 是開漏電路,用它驅(qū)動(dòng)時(shí)需

14、要外接上拉電阻才能輸出高電平。電路圖如下所示:(6)鍵盤電路圖3復(fù)位電路圖4顯示電路7在按鍵電路中,我們可以在I/O 口上直接接按鍵,或者通過I/O 口設(shè)計(jì)一個(gè)鍵盤,然后通過鍵盤掃描程序判斷是否有鍵按下等。鍵盤掃描電路節(jié)省I/O 口,但編程有些復(fù)雜,在這里,由于我們所用的按鍵較少,且系統(tǒng)是一個(gè)小系統(tǒng),有 足夠的I/O 口可以使用,為了使程序簡化,我們采用按鍵電路,用部分P1 口做開關(guān),P1.1為開始停止,P1.0為清零,用外中斷INT1開始,另外用軟件法消除 抖動(dòng)。電路圖如下所示:圖5鍵盤電路2.5硬件主電路圖設(shè)計(jì)用pretues畫出其硬件主電路圖如下:單片機(jī)綜合課程設(shè)計(jì):秒表課程設(shè)計(jì)8第三章

15、軟件設(shè)計(jì)3.1軟件設(shè)計(jì)概述在軟件設(shè)計(jì)中,一般采用模塊化的程序設(shè)計(jì)方法,它具有明顯的優(yōu)點(diǎn)。把一 個(gè)多功能的復(fù)雜的程序劃分為若干個(gè)簡單的、功能單一的程序模塊,有利于程序 的設(shè)計(jì)和調(diào)試,有利于程序的優(yōu)化和分工, 提高了程序的閱讀性和可靠性,使程 序的結(jié)構(gòu)層次一目了然。應(yīng)用系統(tǒng)的程序由包含多個(gè)模塊的主程序和各種子程序組成。 各程序模塊都 要完成一個(gè)明確的任務(wù),實(shí)現(xiàn)某個(gè)具體的功能,女口:加計(jì)數(shù)延時(shí),計(jì)數(shù)和顯示等, 在具體需要時(shí)調(diào)用相應(yīng)的模塊即可。功能描述:用2位LED數(shù)碼顯示秒表,顯示時(shí)間為0099秒,每秒自動(dòng)加1; 一個(gè)開始暫停鍵,一個(gè)清零鍵。3.2主程序流程圖這里采用順序結(jié)構(gòu),通過對按鍵的掃描,判斷

16、要實(shí)現(xiàn)什么功能。如下所示:93.3程序中各函數(shù)設(shè)計(jì)(1) 初始化函數(shù)設(shè)計(jì)void init()TMOD=0 x10;TH1=0 xd8;TL1=0 xf0;/ TR1=1;EA=1;ET1=1;(2) 顯示函數(shù)設(shè)計(jì)/定時(shí)器1工作方式1/延時(shí)初始化設(shè)置/開總開關(guān)/開定時(shí)器單片機(jī)綜合課程設(shè)計(jì):秒表課程設(shè)計(jì)10void writeled(uchar num ,uchar addr)/關(guān)顯示P2=0 xff;/送數(shù)據(jù)P0=dulatab nu m;/開顯示P2=welatabaddr;delay(4);void display(uchar sec)uchar sech,secl;sech=sec/10

17、;secl=sec%10;writeled(sech,0);writeled(secl,1);(3) 按鍵函數(shù)設(shè)計(jì)void keysca n()if(start=0)delay(2);if(start=0)TR1=TR1;while(start=0)display(sec);11if(stop=0&TR1=0)delay(2);if(stop=0)sec=0;while(stop=0) display(sec);(4)延時(shí)函數(shù)設(shè)計(jì)void delay(uchar time) / 延時(shí)uchar i,j;for(i=0;itime;i+)for(j=0;j110;j+);3.4 C語言主程序設(shè)計(jì)

18、主程序如下:#in clude #defi ne uchar un sig ned charsbit start=P1A1;sbit stop=P1A0;單片機(jī)綜合課程設(shè)計(jì):秒表課程設(shè)計(jì)12uchar code dulatab=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x40; / 數(shù)字編碼 0-9uchar code welatab=0 xfe,0 xfd; 位控制字uchar msec,sec;void delay(uchar time) 延時(shí)uchar i,j;for(i=0;itime;i+)for(j=

19、0;j110;j+);void writeled(uchar num ,uchar addr)/關(guān)顯示P2=0 xff;/送數(shù)據(jù)P0=dulatab nu m;/開顯示P2=welatabaddr;delay(4);void display(uchar sec)uchar sech,secl;sech=sec/10;secl=sec%10;writeled(sech,0);writeled(secl,1);13void ini t()TMOD=0 x10;TH1=0 xd8;TL1=0 xf0;/ TR1=1;EA=1;ET1=1;void keysca n()if(start=0)dela

20、y( 2);延時(shí)防抖if(start=0)TR1=TR1;while(start=0)display(sec);if(stop=0&TR1=0)dela y( 2);延時(shí)防抖if(stop=0)sec=0;while(stop=0)單片機(jī)綜合課程設(shè)計(jì):秒表課程設(shè)計(jì)14display(sec);void main()in it();while(1)display(sec);keysca n();void timer1() in terrupt 3TH1=0 xd8;TL1=0 xf0;msec+;if(msec=100)msec=0;sec+;if(sec=100)sec=0;15第四章 課程設(shè)

21、計(jì)體會經(jīng)過三個(gè)星期的課程設(shè)計(jì),我從最初的一竅不通到現(xiàn)在的深刻理解,我花費(fèi)了 很多的時(shí)間和精力,比如重新c語言的書籍和理解一些單片機(jī)里以前不太懂的知識, 我覺得這些天讓我過的很充實(shí),下面是我的一些心得體會:1、將學(xué)習(xí)的理論知識通過實(shí)驗(yàn)融會貫通,讓我對它的理解更加深刻。對程序的 編譯過程了解透徹。2、本次課程設(shè)計(jì)以自己設(shè)計(jì)為主,因此培養(yǎng)了學(xué)習(xí)的積極性,讓我能夠獨(dú)立去 分析問題、發(fā)現(xiàn)問題、解決問題,更增強(qiáng)我與老師同學(xué)交流溝通和合作完成任務(wù)的 能力。3、由于這次課程設(shè)計(jì)不僅設(shè)計(jì)編程方面的知識,還涉及了其它學(xué)科的知識,例如PROTEU和WAV等的基本知識。程序是用 C語言來編寫的,這次課程設(shè)計(jì)讓我在 編程能力方面得到了提高。4、由于水平有限,實(shí)驗(yàn)程序運(yùn)行有一定的限制,望見諒。總之,通過這次課程設(shè)計(jì),不僅加深了我對單片機(jī)理論方面的理解,將理論更好 的運(yùn)用的實(shí)踐方面,而且鍛煉了我們各方面的能力,培養(yǎng)了堅(jiān)強(qiáng)的毅力和做事的耐 心和細(xì)心,認(rèn)識合作的重要性,雖然程序可能有一定的浪費(fèi)資源,

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論