51單片機(jī)秒表計(jì)時(shí)器課程設(shè)計(jì)報(bào)告(含C語言程序)_第1頁
51單片機(jī)秒表計(jì)時(shí)器課程設(shè)計(jì)報(bào)告(含C語言程序)_第2頁
51單片機(jī)秒表計(jì)時(shí)器課程設(shè)計(jì)報(bào)告(含C語言程序)_第3頁
51單片機(jī)秒表計(jì)時(shí)器課程設(shè)計(jì)報(bào)告(含C語言程序)_第4頁
51單片機(jī)秒表計(jì)時(shí)器課程設(shè)計(jì)報(bào)告(含C語言程序)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余11頁可下載查看

下載本文檔

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

文檔簡介

1、XXXXXX學(xué)院51單片機(jī)系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)報(bào)告題 目:秒表系統(tǒng)設(shè)計(jì)專業(yè)、班級:學(xué)生姓名:學(xué)號:指導(dǎo)教師:分?jǐn)?shù):摘要本設(shè)計(jì)是一個(gè)秒表計(jì)時(shí)器,采用51單片機(jī)實(shí)現(xiàn)。電路包括以下幾部分:單 片機(jī)最小系統(tǒng)部分,數(shù)碼管顯示部分,掘鍵開關(guān)部分部分。電路選用共陰型4位數(shù) 碼管組成時(shí)鐘顯示電路;時(shí)鐘的增減控制以及清零部分主要由輕觸開關(guān)構(gòu)成的攜鍵 系統(tǒng)組成;信號接收和處理部分主要由單片機(jī)來執(zhí)行。接通電源后,秒表計(jì)時(shí)器處 于初始狀態(tài),4位數(shù)碼管顯示000.0。當(dāng)掘下“開始”開關(guān)時(shí),秒表開始計(jì)時(shí),數(shù) 碼管顯示當(dāng)前狀態(tài)的時(shí)間。當(dāng)再次據(jù)下開關(guān)時(shí),數(shù)碼管停止計(jì)時(shí)。掘下“清零”鍵 后,系統(tǒng)重新回到初始狀態(tài)。關(guān)鍵詞單片機(jī)最小系

2、統(tǒng)秒表計(jì)時(shí)握鍵控制任務(wù)書1、任務(wù)設(shè)計(jì)一個(gè)秒表計(jì)時(shí)器,在51單片機(jī)的控制作用下,采用4個(gè)LED數(shù)碼管顯 示時(shí)間,計(jì)時(shí)范圍設(shè)置為00.0飛0.0秒,即精確到0.1秒,用按鍵控制秒表的“開 始”、“暫?!薄ⅰ皬?fù)位”,按“開始”按鍵,開始計(jì)時(shí);按“暫?!卑存I,系統(tǒng) 暫停計(jì)時(shí);再按“開始”鍵,系統(tǒng)繼續(xù)計(jì)時(shí);數(shù)碼管顯示當(dāng)前計(jì)時(shí)值;按“復(fù)位” 按鍵,系統(tǒng)清零。2、設(shè)計(jì)要求(1)開始時(shí)顯示00.0。每按下S1鍵一次,數(shù)值加1s;(2)每按下S2鍵一次,數(shù)值減1s;(3)每按下S3鍵一次,數(shù)值清零;(4)每按下S4鍵一次,啟動(dòng)定時(shí)器使數(shù)值開始自動(dòng)每秒加1, 再次按下S4鍵,數(shù)值停止自動(dòng)加1,保持顯示原數(shù)。3、發(fā)

3、揮部分(1)開關(guān)按鍵3: “復(fù)位60.0” 按鍵(用來60秒倒計(jì)時(shí))。按鍵按下去 時(shí)數(shù)碼管復(fù)位為“60.0”(用于倒計(jì)時(shí))。(2)開關(guān)按鍵4:倒計(jì)時(shí)“逐漸自減”按鍵。按鍵按下去則是數(shù)碼管開始 “逐漸自減”倒計(jì)時(shí)。(3)開關(guān)按鍵5:倒計(jì)時(shí)初始值“增加”按鍵。(4)開關(guān)按鍵6:倒計(jì)時(shí)初始值“減小”按鍵。4、課程設(shè)計(jì)的難點(diǎn)單片機(jī)電子秒表需要解決三個(gè)主要問題,一是有關(guān)單片機(jī)定時(shí)器(一個(gè)控制順 序計(jì)時(shí),一個(gè)控制倒計(jì)時(shí))的使用;二是如何實(shí)現(xiàn)LED的動(dòng)態(tài)掃描顯示;三是 如何對鍵盤輸入進(jìn)行編程。5、課程設(shè)計(jì)儀器集成電路芯片STC89c52,八段數(shù)碼管,MCS-51系列單片機(jī)微機(jī)仿真課程系統(tǒng) 中的軟件(keil

4、 uvision2)。目 錄摘要2關(guān)鍵詞2任務(wù)書31、設(shè)計(jì)任務(wù)目的52、設(shè)計(jì)方案選取與論證52.1 系統(tǒng)總體設(shè)計(jì)方案52.2 系統(tǒng)整體框圖53、電路設(shè)計(jì)63.1單片機(jī)最小系統(tǒng)設(shè)計(jì)63. 2數(shù)碼管顯示模塊設(shè)計(jì)63. 3握鍵控制系統(tǒng)模塊設(shè)計(jì)63.4 程序設(shè)計(jì)64、制作及調(diào)試過程115、結(jié)果分析和總結(jié)12參考文獻(xiàn)12附錄a秒表計(jì)時(shí)器原理圖 13附錄b元器件清單 14附錄c秒表計(jì)時(shí)器實(shí)物圖 151、設(shè)計(jì)任務(wù)目的1 .根據(jù)單片機(jī)課程所學(xué)內(nèi)容,結(jié)合其他相關(guān)課程知識,設(shè)計(jì)電子秒表,以加 深對單片機(jī)知識的理解,鍛煉實(shí)踐動(dòng)手能力,為以后的畢業(yè)設(shè)計(jì)和工作打下堅(jiān) 實(shí)基礎(chǔ);2 .熟悉匯編語言或C語言的程序設(shè)計(jì)方法,熟

5、悉51系列單片機(jī)的使用;3 .掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用,如定時(shí)器/計(jì)數(shù)器、中斷、I/O 口、申 行口通訊等功能;4 .掌握單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過程、方法及實(shí)現(xiàn)。2、設(shè)計(jì)方案選取與論證2.1 系統(tǒng)總體設(shè)計(jì)方案使用STC89C51單片機(jī)作為核心控制部件,采用12M晶體振蕩器及30PF微小電 容構(gòu)成振蕩電路;用1個(gè)四位一體共陰極數(shù)碼顯示管作為顯示部分,構(gòu)成數(shù)字式秒 表的主體結(jié)構(gòu),配合獨(dú)立式鍵盤和復(fù)位電路完成此秒表的計(jì)時(shí)、清零、停止、增減 初始時(shí)間等各項(xiàng)功能。2.2 系統(tǒng)總體整體框圖4位數(shù)碼管顯示模塊STC89C52單片機(jī)最小系統(tǒng)模塊獨(dú)立掘鍵控制模塊圖2. 2系統(tǒng)設(shè)計(jì)框圖3、電路設(shè)計(jì)3.1

6、單片機(jī)最小系統(tǒng)設(shè)計(jì)圖3.1單片機(jī)最小系統(tǒng)1 .時(shí)鐘電路在XTAL1、XTAL2的引腳上外接定時(shí)元件(一個(gè)石英晶體和兩個(gè)電容),內(nèi) 部振蕩器便能產(chǎn)生自激振蕩。在本設(shè)計(jì)中采用的12M的石英晶振。和晶振并聯(lián)的 兩個(gè)電容的大小對振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當(dāng)采用石英晶振 時(shí),電容可以在2040pF 之間選擇。2 .復(fù)位電路復(fù)位操作通常有兩種基本形式:上電自動(dòng)復(fù)位和開關(guān)復(fù)位。上電瞬間,電容兩 端電壓不能突變,此時(shí)電容的負(fù)極和RESET相連,電壓全部加在了電阻上, RESET的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸 減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端

7、為復(fù)位按鍵,當(dāng)復(fù)位按鍵 沒有被按下的時(shí)候電路實(shí)現(xiàn)上電復(fù)位,在芯片正常工作后,通過按下按鍵使RST管 腳出現(xiàn)高電平達(dá)到手動(dòng)復(fù)位的效果。3 . EA/VPP (31腳) 的功能和接法51單片機(jī)的EA/VPP (31腳) 是內(nèi)部和外部程序存儲器的選擇管腳。當(dāng) EA保持高電平時(shí),單片機(jī)訪問內(nèi)部程序存儲器;對于現(xiàn)今的絕大部分單片機(jī)來 說,其內(nèi)部的程序存儲器(一般為flash)容量都很大,因此基本上不需要外接程 序存儲器,而是直接使用內(nèi)部的存儲器。4 . P0 口外接上拉電阻51單片機(jī)的P0端口為開漏輸出,內(nèi)部無上拉電阻。所以在當(dāng)做普通 I/O輸出數(shù)據(jù)時(shí),由于V2截止,輸出級是漏極開路電路,要使“1”信號

8、(即 高電平)正常輸出,必須外接上拉電阻。3. 2 數(shù)碼管顯示模塊設(shè)計(jì)顯示部分采用動(dòng)態(tài)顯示。數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種 顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃a, b, c, d, e, f, g, dp的同 名端連在一起,另外為每個(gè)數(shù)碼管的共陰極增加位選通控制電路,位選通由各自獨(dú) 立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但 究竟是那個(gè)數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通端電路的控制,所以我們 只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管 就不會先。通過分時(shí)輪流控制各個(gè)數(shù)碼管的位選通端,就使各個(gè)數(shù)碼

9、管輪流受控顯 示,這就是動(dòng)態(tài)驅(qū)動(dòng)。動(dòng)態(tài)顯示是利用人眼視覺暫留特性來實(shí)現(xiàn)顯示的。事實(shí)上, 顯示器上任何時(shí)刻只有一個(gè)數(shù)碼管有顯示。由于各數(shù)碼管輪流顯示的時(shí)間間隔短、 節(jié)奏快,人的眼睛反應(yīng)不過來,因此看到的是連續(xù)顯示的現(xiàn)象。為防止閃爍延時(shí)的 時(shí)間在1ms左右,不能太長,也不能太短。3. 3 握鍵控制系統(tǒng)模塊設(shè)計(jì)由P1 口作為獨(dú)立掘鍵信號的輸入端控制時(shí)鐘的加1s、減1s、復(fù)位60. 0s等操 作。用外部中斷。作為秒表計(jì)時(shí)器的開啟和暫停的操作。且所有據(jù)鍵均為低電平有 效。其中部分據(jù)鍵為單刀雙擲開關(guān)用于控制增計(jì)時(shí)或減計(jì)時(shí)以及限60.0s計(jì)時(shí)和 60. 0s外計(jì)時(shí)。3.4程序設(shè)計(jì)如下:#include<

10、;reg52. h> 包含52單片機(jī)寄存器定義的頭文件unsignedcharTabl =0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f; 段碼表unsignedcharTab2 = Oxbf, 0x86, Oxdb, Oxcf, 0xe6, Oxed, Oxfd, 0x87, Oxff, Oxef); 個(gè) 位段碼表unsigned int x; unsigned char k; sbit intO=P3-2; sbit intl=P3 3; sbit SUB60=?ri; sbit S60=Pr2;sbit K5=P

11、r3;sbit K6=Pl4;1mssbit K7=PP5; sbit K8=Pr6; I I I I I I I I I I I I I I I I I I I I I I I I I I I | j j | j 4 | j j | j 4 | j j | j 4 | j j | j 4 | j j | j 4 | j void delaylms(unsigned int i)(unsigned char j;while(i-)(for(j=0;j<125;j+):1ms 基準(zhǔn)延時(shí)程序 12MHz 晶振)f I I I I I 1 I I I I I I I 1 I I I I I I

12、 I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I I I I I I I I I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I void Display(unsigned int x)P2=0xfe;P2.0引腳輸出低電平,DS6點(diǎn)鳧PO=Tabl x/1000

13、; 顯示百位delaylms(6);P2=0xfd;/P2. 1引腳輸出低電平,DS6點(diǎn)鳧PO=Tabl x%1000/100;顯示十位delaylms(6);P2=0xfb;/P2. 2引腳輸出低電平,DS6點(diǎn)先P0=Tab2x%100/10; 顯示個(gè)位delaylms(6);P2=0xf7;P2. 3引腳輸出低電平,DS7點(diǎn)亮P0=Tablx%10; 顯示 0. 1 位 delaylms(6);P2=0xff; I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 函數(shù)功能

14、:主函數(shù)void main(void)(x=0;TMOD=0x01;EA= 1;ETO=1;EXO=1;ITO=1; | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 | / TMOD=0000 0001B,使用計(jì)數(shù)器TO的工作方式1開起總中斷允許定時(shí)器TO的中斷允許外中斷INTO/INTO為下負(fù)脈沖觸發(fā)方式THO二(65536-50000)/256;計(jì)數(shù)器 T0 高 8 位賦初值TLO= (65536-50000) %256;計(jì)數(shù)器 T0 低 8 位賦初值TFO=0;溢出標(biāo)志位清零while (1) I 1 I I I I I I I 1 I

15、 I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I *K5 Pl.3if (K5=0)delaylms(20);if(K5=0)x=x+10;據(jù)鍵關(guān)斷據(jù)一次觸發(fā)一次while(!K5);) I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I *K6 Pl. 4 按一次/

16、或 1 H關(guān) S2*/ if(K6=0) delaylms (20);if(K6=0)if (x=0)x=10; x=x-10; while(!K6);在00. 0的時(shí)候停止據(jù)鍵關(guān)斷據(jù)一次觸發(fā)一次/ »Tw vbw viw viw vbW viw vaw vaw viw viw viw viw vTW viw vaw vaw viw viw viw viw vTW viw vaw vaw viw viw viw viw vTW viw vaw vaw viw viw viw viw vTW viw vaw vaw viw viw viw viw vTW viw vaw vaw viw

17、 viw viw viw vTW viw vaw vaw viw viw viw viw vTW viw vaw vaw viw viw viw viw vaw*K7 Pl. 5 初始值 賦值為 60.0 秒開關(guān):if(K7=0) delaylms (20);if(K7=0)x=600;while(!K7);)據(jù)鍵關(guān)斷賦初值60. 0秒據(jù)一次觸發(fā)一次 » " ' " ' " » » " ' " » ' " » » " ' &q

18、uot; » ' " » » " ' " » ' " » » " ' " » ' " » » " ' " » ' " » » " ' " » ' " » » " ' " » ' " »

19、; » " ' " » I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I *560 控制 60S 停 止開關(guān) Pl. 2*/if(x=600)if (S60=0)00. 060. 0如果Pl. 2 口是低電平,秒表變化范圍TRO=O; » " " » » " &qu

20、ot; » " " » » " " » " " » » " " » " " » » " " » " " » » " " » " " » » " " » " " » » " " &#

21、187; " " » » " " » " " " I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I *K8 Pl. 6 ;青零 clearO 掘鍵H.關(guān) S3*/if(K8=0)delaylms (20);if(K8=0)延時(shí)消震x=0;TRO=0;數(shù)據(jù)清0數(shù)碼管顯示000.0

22、溢出標(biāo)志位清0(1 11 1 Xm, ” 工 J - 4 y - Jf yrv yjvyjv yrv yjv j 11_ ,r . 、4 z /Display(x); )/*INTO中斷函數(shù) 用于開始或暫停開關(guān)S4* " » " " » » " " » " " » » " " » " " » » " " » " " » » &q

23、uot; " » " " » » " " » " " » » " " » " " » » " " » " " » » | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 | 1 | 4 4 void begin_stop() interrup

24、t 0if(intO=O)delaylms(30); if (int0=0)延時(shí)消震TRO="TRO;if (x=0&&SUB60=0)按鍵據(jù)一次讀秒開始或暫停TRO=0;f I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I *T0 i|“數(shù)器中斷 控制每隔加 0. 1 秒*/void add_one0() interrupt 1 (k+;if(k=2)(k= 0;TFO=0;if(SUB60

25、=l)0. Is( x=x+l; else ( X=X-1;)if (x=0)(TR0=0;if(x=9999)(TR0=0;)TH0=(65536-50000)/256;TL0=(65536-50000)%256;)4、制作及調(diào)試過程當(dāng)Pl. 1 口是高電平時(shí)秒表加0.1s當(dāng)Pl. 1 口是低電平時(shí)秒表減秒表加0. 1s秒表減0. 1s計(jì)數(shù)器T0高8位賦初值計(jì)數(shù)器T0低8位賦初值4. 1電路的制作(1)分析各單元電路圖,并分析其各部分的功能;(2)用仿真軟件仿真電路的功能,并檢查是否有錯(cuò),無誤后進(jìn)行下步工作;(3)查找有關(guān)文獻(xiàn)了解各元件的功能及引腳和有關(guān)的資料;(4)分別焊接單片機(jī)最小系統(tǒng)、

26、數(shù)碼管顯示電路和掘鍵控制電路,與此同時(shí)檢查各 元器件是否可用,并分辨其引腳;(5)對照事先設(shè)計(jì)好的原理圖仔細(xì)檢查在實(shí)物中是否有接錯(cuò)的地方(主要檢查集成 電路的引腳與導(dǎo)線是否出錯(cuò)接錯(cuò)和是否出現(xiàn)了短路),若發(fā)現(xiàn)有,就立即改正。以 防給實(shí)物通電之后,出現(xiàn)意外。然后,用數(shù)字萬用表檢測實(shí)物中是否有不導(dǎo)通的地 方,若有,應(yīng)立即修正。以防通電后不能工作,而懷疑其他地方出錯(cuò)。(6)給實(shí)物通電,并進(jìn)行調(diào)試??措娐饭ぷ魇欠裾?。若有誤,則檢查并思考錯(cuò)誤 原因,然后進(jìn)行修改直至電路工作正常為止。4.2電路的調(diào)試起初我打算用PCB板來做秒表計(jì)時(shí)器,由于一些條件也不允許(如腐蝕液和鉆孔 機(jī)等器件沒有),經(jīng)過再三考慮,我選擇了用萬用板來制作秒表計(jì)時(shí)器。但在制作的 過程中我也遇到了許多問題。問題以及解決辦法如下:(1)問題1:由于在焊電子元件及芯片時(shí)沒有注意到元件的排布以及芯片的引 腳問題,使得電路板上的跳線很密,這給查線帶來了很大的困難,使得最后 電路錯(cuò)線、搭線太多。解決辦法:我把元件以及跳線重新都焊了下來,認(rèn)真反復(fù)的研究原理圖的每 個(gè)芯片的引腳,先用油性筆在電路板上把元件畫好,然后在進(jìn)行焊接。(2)問題3:芯片引腳分布的比較緊密,所以在焊接時(shí)出現(xiàn)焊錫把相鄰引腳連接 在一起的情況。解決辦法

溫馨提示

  • 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

提交評論