毛片在线视频观看,一级日韩免费大片,在线网站黄色,澳门在线高清一级毛片

薈聚奇文、博采眾長、見賢思齊
當(dāng)前位置:公文素材庫 > 公文素材 > 范文素材 > 簡易秒表

簡易秒表

網(wǎng)站:公文素材庫 | 時間:2019-05-29 07:17:28 | 移動端:簡易秒表

簡易秒表

學(xué)號:課程名稱:單片機(jī)與嵌入式系統(tǒng)基礎(chǔ)與實(shí)訓(xùn)姓名:班級:上機(jī)內(nèi)容:簡易秒表上機(jī)實(shí)驗性質(zhì):□綜合性實(shí)驗√設(shè)計性實(shí)驗□驗證實(shí)驗實(shí)驗時間:201*年5月21日實(shí)驗地點(diǎn):實(shí)驗設(shè)備:計算機(jī)實(shí)驗報告:(包括:目的、方法、原理、結(jié)果或?qū)嶒炐〗Y(jié)等)。一、實(shí)驗?zāi)康模?、掌握單片機(jī)外部中斷的原理及用法;2、掌握單片機(jī)定時器中斷的原理及用法。二、實(shí)驗內(nèi)容:K5鍵做啟動停止秒表(外部中斷0),K6鍵做秒表歸零(外部中斷1),4位數(shù)碼管動態(tài)掃描顯示(定時器中斷0),最大計數(shù)值9999秒。要求先進(jìn)行仿真,而后下載到實(shí)驗箱中觀察實(shí)際效果。三、實(shí)驗設(shè)備及器件1、ME850單片機(jī)實(shí)驗箱(包含芯片及連接線等)2、PC機(jī)四、實(shí)驗步驟1、根據(jù)實(shí)驗要求,設(shè)計出實(shí)驗流程圖如圖1所示:2、用KeiluVision4根據(jù)實(shí)驗要求寫出相應(yīng)程序,程序代碼如下所示:#definecount_M2250#defineTH_M2(256-count_M2)#defineTL_M2(256-count_M2)intcount_T1=0;//計算T1中斷次數(shù)/*聲明七段數(shù)碼管*/unsignedcharcodeTAB[]={0xc0,0xf9,0xa4,0xb0,0x99,//0~40x92,0x82,0xf8,0x80,0x90};chardisp[4]={0xc0,0xc0,0xc0,0xc0};//聲明數(shù)碼管顯示四位,即0000unsignedcharcodeBIT[]={0xFE,0xfD,0xFB,0xF7//0~4};intseconds=0;//秒數(shù)intscan=0;//掃描信號charqw,bw,sw,gw;voidmain(){IE=0x8f;//10001111,啟用INT0/1、TF0/1中斷TCON=0x05;//下降沿觸發(fā)TMOD=0X21;//00100001,T1采用mode2、T0采用mode1TH0=TH_M1;TL0=TL_M1;//設(shè)置T0計數(shù)值高8位、低8位TR0=0;//不啟動T0TH1=TH_M2;TL1=TL_M2;//設(shè)置T1自動加載值、計數(shù)值TR1=1;//啟動T1P3=0xff;//設(shè)置K5/K6輸入while(1);}(接下)開始聲明變量設(shè)置中斷、定時器,啟動掃描定時器,開啟Timer0定時nonoTR1=1TR0=1yesyes啟動T0定時器啟動T1定時器T0中斷子程序T_IST1中斷子程序T_4ms重設(shè)定時值no32次no次20yes重新計數(shù)yes重新計數(shù),秒數(shù)加1no超過千位數(shù)?no60秒?yesyes從個位數(shù)開始秒數(shù)歸0輸出數(shù)字信號填入顯示區(qū)輸出掃描信號INT0中斷子程序int_swINT1中斷子程序int_RST秒數(shù)歸0切換sw0圖(接上)voidT0_1s(void)interrupt1{TH0=TH_M1;TL0=TL_M1;if(++count_T0==20){count_T0=0;seconds++;if(seconds==9999){seconds=0;}}qw=seconds/1000;bw=(seconds-qw*1000)/100;sw=(seconds-qw*1000-bw*100)/10;gw=seconds-qw*1000-bw*100-sw*10;disp[3]=TAB[qw];disp[2]=TAB[bw];disp[1]=TAB[sw];disp[0]=TAB[gw];}voidT1_4ms(void)interrupt3{if(++count_T1==16){count_T1=0;if(++scan==5)scan=1;SEG=0xff;SCANP=BIT[scan-1];SEG=disp[scan-1];}}voidint0_sw(void)interrupt0//int0中斷子程序開始{TR0=~TR0;//切換T0為開始/暫停}voidint1_RST(void)interrupt2//int0中斷子程序開始{seconds=0;//秒數(shù)歸零disp[0]=disp[1]=disp[2]=disp[3]=0xc0;//顯示}4、把編譯好的HEX文件下載到實(shí)驗箱的單片機(jī)內(nèi),觀察效果。顯然,看到實(shí)驗結(jié)果:數(shù)碼管上的數(shù)字從1開始計數(shù),直到計數(shù)到9999時返回為0。當(dāng)按下K5鍵時開始計時,按下K6鍵時值歸為0。五、實(shí)驗小結(jié):通過這次實(shí)驗讓我了解和掌握了單片機(jī)外部中斷的原理及用法以及定時器中斷的原理及用法。在這次試驗中,我深刻感受到了使用中斷來寫程序,能給程序帶來巨大的好處。不僅能使程序簡結(jié),而且使程序的條理十分清楚。節(jié)省CPU的空間,加快程序的執(zhí)行速度。任課教師評語:教師簽字:年月日注:每學(xué)期至少有一次設(shè)計性實(shí)驗。每學(xué)期結(jié)束請任課教師按時按量統(tǒng)一交到實(shí)驗中心處。實(shí)驗報告A4紙雙面打印。

擴(kuò)展閱讀:簡易秒表的設(shè)計

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

簡易秒表的設(shè)計

1設(shè)計意義及要求

1.1簡易秒表的設(shè)計意義

簡易秒表的設(shè)計是在我們學(xué)習(xí)了單片機(jī)技術(shù)之后的一次檢測。在已學(xué)內(nèi)容的基礎(chǔ)上熟

練掌握,對未曾學(xué)習(xí)過的內(nèi)容加以了解,從多個角度更加深刻理解和掌握單片機(jī)的理論與運(yùn)用。通過本次設(shè)計,能夠提高大家對自己電工電子設(shè)計的興趣與了解,以更好的理解本專業(yè),從而在今后的學(xué)習(xí)中打下一個很好的基礎(chǔ)。

1.2簡易秒表的設(shè)計要求

1)利用單片機(jī)作為主控制器實(shí)現(xiàn)電子秒表,用4位LED數(shù)碼管顯示時間。2)設(shè)置外部按鍵SB,當(dāng)按鍵SB第一次按下時啟動秒表開始計時;當(dāng)?shù)诙伟聪掳存IS1時秒表停止計時,當(dāng)?shù)谌伟聪掳存IS1時秒表回零;即用一個按鍵S1來控制秒表的啟動、停止和回零功能。

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

2簡易秒表硬件電路設(shè)計

采用ATMEL公司生產(chǎn)的AT89C51單片機(jī)控制器,用4位共陰LED數(shù)碼管顯示時間,為了節(jié)省單片機(jī)的I/O資源,LED數(shù)碼管采用動態(tài)顯示方式,由P2口的低4位輸出位選信號,P1口輸出LED數(shù)碼管的顯示段碼。用非門來提高P2口的驅(qū)動能力,使LED管達(dá)到合適的亮度。完成設(shè)計的仿真電路如圖2-1所示。

圖2-1基于單片機(jī)控制的秒表仿真電路圖

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

3程序設(shè)計

采用主程序調(diào)用子程序的設(shè)計方法,主程序首先對定時器和有關(guān)寄存器及存儲單元進(jìn)行初始化,調(diào)用按鍵掃描子程序和顯示子程序,判斷計時時間是否到9分59秒。主程序設(shè)計流程圖如圖3-1所示。

計時時間到了9分59秒嗎?計數(shù)單元清零

圖3-1主程序設(shè)計流程圖

開始初始化定時器將計數(shù)單元3FH-42H清零,將存放按鍵次數(shù)的寄存器R7清零,將存放位選值的寄存器R2清零,關(guān)閉定時器。調(diào)用按鍵掃描子程序調(diào)用顯示子程序N3.1定時初值的計算

按12MHz的時鐘頻率計算,其機(jī)器周期為1s,選用定時/計數(shù)器工作方式1,定時時間50ms。

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

計算初值如下:

計數(shù)值N=定時/計數(shù)器最大值M定時/計數(shù)器初值X則初值X=MN

機(jī)器周期為TM=12×1/osc=12×1/12×106=1s采用定時器工作方式1,所以初值為X=21650ms/1us=15536=3CB0H所以TH0=3CH,TL0=B0H

3.2初始化

通過初始化設(shè)定定時器0工作方式為方式1,開放定時器0的中斷及總中斷,分別給存放毫秒、秒、分的計數(shù)單元3FH,40H,41H,42H清零。關(guān)閉定時/計數(shù)器T0。給存儲按鍵次數(shù)的寄存器R1清零。

3.3判斷有無鍵按下,并進(jìn)行按鍵處理

因為只有一個與P3.0相連的接獨(dú)立式按鍵,所以用JBP3.0,KEYEND指令來讀按鍵的狀態(tài)。當(dāng)P3.0=0時則有鍵按下,然后進(jìn)行10ms的延時消抖,延時消抖后將存放按鍵次數(shù)的寄存器R7加1,接著判斷R1中的值是多少?如果是1(表示第一次按鍵)則用SETBTR0指令啟動定時器T0;如果是2則用CLRTR0指令關(guān)閉定時器T0;如果是3則將存放時間的3FH,40H,41H,42H單元及存放按鍵次數(shù)的R1清零。程序設(shè)計流程圖如圖3-2所示。

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

開始將累加器A的內(nèi)容壓入堆棧N有鍵按下嗎?Y按鍵延時消抖按鍵按下次數(shù)處理啟動定時器秒表開始計數(shù)關(guān)閉定時器秒表停止計數(shù)秒表復(fù)位顯示0將堆棧內(nèi)容彈出至累加器A子程序返回圖3-2按鍵確認(rèn)程序設(shè)計流程圖

3.4顯示子程序設(shè)計

顯示子程序的主要作用是根據(jù)存放在3FH,40H,41H,42H單元的計數(shù)值查表找到跟計數(shù)值對應(yīng)的段碼,然后送到對應(yīng)的LED數(shù)碼管進(jìn)行顯示。程序設(shè)計流程圖如圖3-3所示。

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

根據(jù)計數(shù)單元的值,通過查表指令,找到跟計數(shù)值相對應(yīng)的顯示段碼開始將R0賦初值3FH,R2賦初值08H,R3賦初值4累加器A清零,通過MOVA,@R0指令讀取計數(shù)單元的值將查表得顯示段碼送顯示器,并從R2讀取位選碼,并送P2口顯示延時R0加1,準(zhǔn)備讀取下一計數(shù)單元,修改R2的值,準(zhǔn)備顯示下個數(shù)碼管4個數(shù)碼管掃描顯示完嗎?子程序返回

圖3-3顯示子程序流程圖

YN3.5中斷子程序設(shè)計

本任務(wù)中定時器T0定時50ms,每到50ms,T0產(chǎn)生一次中斷,進(jìn)入中斷服務(wù)程序。在中斷服務(wù)程序中,首先將累加器A中內(nèi)容壓入堆棧,保護(hù)好現(xiàn)場,接著給T0重裝初值。然后50ms計數(shù)單元加1,再判斷計數(shù)單元是否加到2(即0.1s),若沒有則中斷返回;若加到了,則首先50ms計數(shù)單元清零,接著將毫秒的計數(shù)單元加1。

再判斷毫秒計數(shù)單元是否到10(即1s),若沒有則中斷返回;若到了10,則將毫秒計數(shù)單元清零。然后將秒的個位計數(shù)單元加1,秒的個位計數(shù)單元加1后判斷是否加到10,若不是則中斷返回;若是則將秒的個位計數(shù)單元清零,然后秒的10位計數(shù)單元加1,再判斷

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

秒的10位計數(shù)單元是否到6,若不是則中斷返回;若是則將秒的十位清零,分計數(shù)單元加1。程序設(shè)計流程圖如圖3-4所示。

中斷返回

圖3-4中斷服務(wù)程序設(shè)計流程圖

7

開始將A中內(nèi)容壓入堆棧,單元43H中的內(nèi)容加1N中斷了2次嗎?中斷次數(shù)單元清零,毫秒計數(shù)單元值加1N毫秒計數(shù)單元值等于10?毫秒計數(shù)單元清零,秒的個位計數(shù)單元值加1N秒的個位等于10嗎?秒計數(shù)單元清零,秒的十位計數(shù)單元值加1N秒的十位等于6嗎?秒十位計數(shù)單元清零,分的計數(shù)單元值加武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

4小結(jié)

本次能力拓展訓(xùn)練完成的簡易秒表是以單片機(jī)(AT89C51)為核心,結(jié)合相關(guān)的元器件,再配以相應(yīng)的軟件,達(dá)到實(shí)現(xiàn)秒表的功能。通過這次能力拓展訓(xùn)練,我對單片機(jī)有了更深入的理解,對單片機(jī)的硬件設(shè)計、軟件設(shè)計以及硬件電路的工作原理也都有了新一層的理解。這是我第一次編寫單片機(jī)程序,通過把課本上的理論與生活中的實(shí)際問題結(jié)合起來,使我學(xué)到了很多東西。把程序拆分成幾部分一一進(jìn)行編寫、調(diào)試,在編程中出現(xiàn)問題時,嚴(yán)格謹(jǐn)慎,仔細(xì)分析、調(diào)試,一定會從中發(fā)現(xiàn)錯誤,克服困難,同時也使我意識到了自己對于單片機(jī)方面的知識知道的太少了,對于書本上的很多知識還不能夠靈活運(yùn)用,還有很多需要學(xué)習(xí)的地方。

這次能力拓展訓(xùn)練使我感受到了理論與實(shí)際相結(jié)合的目的及其重要意義,不但使我對單片機(jī)有了更深刻的理解,還提高了我動手查閱資料的能力還鍛煉了自己獨(dú)立思考問題的能力。在完成本次訓(xùn)練的過程中,我查閱了很多參考書及運(yùn)用自己所掌握的知識完成此次設(shè)計。在進(jìn)行操作的過程中遇到了許多的問題,通過自己的耐心研究以及與同學(xué)的討論終于得以圓滿的解決種種問題,因此也更加牢固的掌握了這些知識,在今后的學(xué)習(xí)和實(shí)踐中也將能夠運(yùn)用這些知識和技能。在這里我也感謝所有給予我?guī)椭睦蠋熀屯瑢W(xué),希望以后有更多的機(jī)會來鍛煉自己,為以后的學(xué)習(xí)、生活打下良好的基礎(chǔ)。同時在這次設(shè)計中也暴露出自己的不足,基礎(chǔ)知識不夠扎實(shí),我會在以后的日子里加以改正來提高自己的綜合能力。

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

參考文獻(xiàn)

[1]康華光.電子技術(shù)基礎(chǔ)-數(shù)字部分(第五版).高等教育出版,201*.1[2]伍時宇.數(shù)字電子技術(shù)基礎(chǔ).清華大學(xué)出版社,201*[3]周惠朝.常用電子元件及典型應(yīng)用.電子工業(yè)出版社,201*

[4]劉修文主編.實(shí)用電子電路設(shè)計制作300例.中國電力出版社,201*[5]馬斌.單片機(jī)原理及應(yīng)用.人民郵電出版社,201*

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

附錄1程序

AJMPTIMERORG0030H

MAIN:MOVDPTR,#TABLEMOVSP,#50H

MOVTMOD,#01H;定時器T0的工作方式為方式1MOVIE,#82HCLRTR0

CALLCLEARLOOP:CALLSCANKEYCALLDISPMOVA,42HCJNEA,#09,E3MOVA,41HCJNEA,#05,E3MOVA,40HCJNEA,#09,E3MOVA,3FHCJNEA,#09,E3CLRTR0

CALLCLEARE3:AJMPLOOP

CLEAR:MOVA,#00HMOVR1,#3FHE2:MOV@R1,AINCR1

CJNER1,#43H,E2MOVR7,#00HRET

;對計分、秒、毫秒計數(shù)單元清零;調(diào)用按鍵掃描子程序;調(diào)用顯示子程序

;判斷定時時間是否到9分59秒;時間到了9分59秒關(guān)閉定時器并自動回零;對分、秒、毫秒計數(shù)單元清010

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

SCANKEY:PUSHA

JBP3.0,KEYEND;判斷按鍵SB是否按下?CALLDELAY_10MS;延時消抖INCR7;按鍵次數(shù)寄存器加1MOVA,R7

CJNEA,#01,STOP;是第1次按下嗎?SETBTR0AJMPKEYEND

STOP:CJNEA,#02,RESETCLRTR0AJMPKEYEND

RESET:CJNEA,#03,KEYENDCALLCLEARKEYEND:POPARET顯示子程序:

DISP:CLRAMOVR0,#3FHMOVR2,#08HMOVR3,#04

E1:MOVA,@R0MOVCA,@A+DPTRMOVP2,#00HMOVP1,AMOVA,R2MOVP2,A

MOVR6,#255DJNZR6,$INCR0

;啟動秒表計時;是第2次按下嗎;;秒表停止計時;是第3次按下嗎?;秒表復(fù)位;讀取分、秒、毫秒計數(shù)單元的值;查表找跟計數(shù)值相對應(yīng)的顯示段碼;消隱;顯示時間11

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

RRAMOVR2,ADJNZR3,E1RET中斷子程序:

TIMER:PUSHA

MOVTH0,#3CHMOVTL0,#0B0H

INC43HMOVA,43H

CJNEA,#02,END_TIMEMOV43H,#00HINC3FHMOVA,3FH

CJNEA,#10,END_TIMEMOV3FH,#00HINC40HMOVA,40H

CJNEA,#10,END_TIMEMOV40H,#00HINC41HMOVA,41H

CJNEA,#06,END_TIMEMOV41H,#00HINC42HEND_TIME:POPARETI

DELAY_10MS:MOVR5,#50D1:MOVR4,#100

;送定時50ms的初值;中斷次數(shù)單元加1;是否中斷了2次?;中斷次數(shù)單元清零

;中斷了2次,0.1S(毫秒)計數(shù)單元加1;到了1秒嗎?;到了1秒,毫秒計數(shù)單元清零;秒的個位計數(shù)單元加1;到了10秒嗎?

;到了10秒,秒個位計數(shù)單元清零;秒的十位計數(shù)單元加1;到了60秒嗎?

;到了60秒,秒的十位計數(shù)單元清零;分計數(shù)單元加1武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

DJNZR4,$DJNZR5,D1RET

TABLE:DB3FH,06H,05BH,4FH,66H,6DH,7DHDB07H,7FH,6FHEND

武漢理工大學(xué)《能力拓展訓(xùn)練》說明書

附錄2所需元件清單元件名稱74LS1410K電阻AT89C517SEG-MPX4-CC按鍵導(dǎo)線

14

元件數(shù)量41111若干

友情提示:本文中關(guān)于《簡易秒表》給出的范例僅供您參考拓展思維使用,簡易秒表:該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。


簡易秒表》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請保留原作者信息,謝謝!
鏈接地址:http://www.seogis.com/gongwen/673043.html
相關(guān)文章