單片機(jī)倒計(jì)時(shí)秒表課程設(shè)計(jì)報(bào)告書_第1頁
單片機(jī)倒計(jì)時(shí)秒表課程設(shè)計(jì)報(bào)告書_第2頁
單片機(jī)倒計(jì)時(shí)秒表課程設(shè)計(jì)報(bào)告書_第3頁
單片機(jī)倒計(jì)時(shí)秒表課程設(shè)計(jì)報(bào)告書_第4頁
單片機(jī)倒計(jì)時(shí)秒表課程設(shè)計(jì)報(bào)告書_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . 課 程 設(shè) 計(jì) 說 明 書課程名稱: 單片機(jī)技術(shù) 設(shè)計(jì)題目: 倒計(jì)時(shí)數(shù)字秒表設(shè)計(jì) 院 系:學(xué)生: 三 學(xué) 號: * 專業(yè)班級: * 指導(dǎo)教師: 四 年 月 日23 / 23課 程 設(shè) 計(jì) 任 務(wù) 書設(shè)計(jì)題目倒計(jì)時(shí)計(jì)數(shù)秒表設(shè)計(jì)學(xué)生所在院系電子信息與電氣工程學(xué)院專業(yè)、年級、班設(shè)計(jì)要求:一、設(shè)計(jì)一個(gè)可倒計(jì)時(shí)的數(shù)字秒表。二、技術(shù)參數(shù)與要求 1、具有電源開關(guān)與指示燈,有復(fù)位按鍵; 2、p2.0-p2.3通過74LS47接2位數(shù)碼管,p2.4和p2.5分別控制數(shù)碼管顯示的個(gè)位和十位,顯示0-99秒時(shí)間; 3、p3.2接按鍵1,用于記錄時(shí)間值; 4、P3.3接按鍵2,用于顯示記錄時(shí)間值; 5

2、、上電時(shí),顯示59并倒計(jì)時(shí),按鍵1用于記錄當(dāng)前值和復(fù)位59,按鍵2用于顯示記錄值。學(xué)生應(yīng)完成的工作:1、查閱資料,確定實(shí)施方案;2、學(xué)會識別各種元器件與掌握它們的工作原理;3、熟練畫出設(shè)計(jì)所需的原理圖和編寫出所需的匯編語言程序;4、學(xué)會用Protues仿真與調(diào)試自己的單片機(jī)課程設(shè)計(jì);5、掌握自己動(dòng)手完成板子的焊接與檢錯(cuò)維修的能力;6、學(xué)會編寫基本的課程設(shè)計(jì)報(bào)告。參考文獻(xiàn)閱讀:1廣弟.單片機(jī)基礎(chǔ)M :航空航天大學(xué) 2001年1月2遲榮強(qiáng).單片機(jī)原理與接口技術(shù)M :高等教育 2004年9月3毅剛.單片機(jī)原理與應(yīng)用M :高等教育 2008年5月4閻勝利.Protel DXP2004電路設(shè)計(jì)M :電子

3、工業(yè) 2006年7月工作計(jì)劃:5月9日:查閱資料; 5月10日:硬件設(shè)計(jì); 5月11日:軟件設(shè)計(jì);5月16日:領(lǐng)元器件; 5月175月18日燒程序; 5月19日:焊接電路板;5月205月22日調(diào)試任務(wù)下達(dá)日期:2012 年5月 7 日任務(wù)完成日期:2012 年5月 18 日指導(dǎo)教師(簽名): 學(xué)生(簽名): 倒計(jì)時(shí)秒表摘 要:本次課程設(shè)計(jì)以AT89S52單片機(jī)為核心設(shè)計(jì)一個(gè)倒計(jì)時(shí)數(shù)字秒表,計(jì)數(shù)初值為59并開始每秒自動(dòng)減1,當(dāng)按鍵1按下時(shí)記錄當(dāng)前時(shí)間值,當(dāng)按鍵2按下時(shí)顯示當(dāng)前記錄值,顯示過之后再次按下按鍵1時(shí)秒表復(fù)位為59。本設(shè)計(jì)硬件部分包括電源電路、復(fù)位電路、按鍵電路、振蕩電路、數(shù)碼管顯示電路

4、五部分電路,軟件程序部分有定時(shí)中斷程序、外部中斷程序、顯示子程序和延時(shí)子程序等。軟件Proteus畫出原理圖并進(jìn)行仿真,依照仿真成功的原理圖接線,在萬能版上把個(gè)個(gè)器件焊接好從而實(shí)現(xiàn)預(yù)期的功能。關(guān)鍵詞:倒計(jì)時(shí) AT89S52 74LS47 數(shù)碼管目 錄1.設(shè)計(jì)背景51.1、設(shè)計(jì)課題的提出51.2、設(shè)計(jì)作用與意義52.設(shè)計(jì)方案62.1、可行方案選擇62.2、可行方案比較63.方案實(shí)施7 3.1、硬件電路的實(shí)施7 3.2、軟件程序的實(shí)施114.結(jié)果與結(jié)論13 4.1、Proteus仿真運(yùn)行結(jié)果13 4.2、結(jié)論145.收獲與致146.參考文獻(xiàn)147.附件15 7.1、附件一(整體電路圖)15 7.1

5、、附件二(元件清單圖)16 7.1、附件三(程序)17 7.1、附件四(運(yùn)行實(shí)物圖)221. 設(shè)計(jì)背景1.1設(shè)計(jì)課題的提出計(jì)時(shí)器日常生活中隨處可見,我們手上的電子表,手機(jī)上的時(shí)間顯示等,這些利用數(shù)字電路實(shí)現(xiàn)的裝置,與機(jī)械時(shí)鐘相比具有更高的準(zhǔn)確性與直觀性,且無機(jī)械裝置,具有更長的使用壽命。其中重要的組成部分就是計(jì)數(shù)器模塊,是單片機(jī)中常見的模塊,以計(jì)時(shí)器為基礎(chǔ)還可以設(shè)計(jì)更多對日常生活密切相關(guān)的設(shè)備,諸如定時(shí)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)啟閉路燈、定時(shí)開關(guān)烘箱、甚至各種定時(shí)電器的自動(dòng)啟用等,都是以計(jì)時(shí)器為基礎(chǔ)的。為了更好的學(xué)習(xí)定時(shí)器模塊,掌握基本計(jì)數(shù)器程序的設(shè)計(jì),實(shí)現(xiàn)一個(gè)功能的

6、基本流程,提高動(dòng)手能力,更好的掌握所學(xué)的知識,我們在本次課程設(shè)計(jì)中提出了實(shí)現(xiàn)倒計(jì)時(shí)秒表的課題。1.2設(shè)計(jì)作用與意義通過查閱資料、接口設(shè)計(jì)、程序設(shè)計(jì)、安裝調(diào)試等環(huán)節(jié),完成MCS-51單片機(jī)多種資源應(yīng)用并具有綜合功能的小系統(tǒng)目標(biāo)板的設(shè)計(jì)與編程應(yīng)用。讓我不僅能夠?qū)⒄n堂上學(xué)到的理論知識與實(shí)際應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐贰㈦娮釉骷?、印制電路板等方面的知識進(jìn)一步加深認(rèn)識,同時(shí)在軟件編程、排錯(cuò)調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高,增進(jìn)對單片機(jī)的感性認(rèn)識,加深對單片機(jī)理論方面的理解,掌握單片機(jī)的部功能模塊的應(yīng)用,如定時(shí)器/計(jì)數(shù)器、中斷、片外存貯器、I/O口、串行口通信等。了

7、解和掌握單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過程、方法與實(shí)現(xiàn),強(qiáng)化單片機(jī)應(yīng)用電路的設(shè)計(jì)與分析能力。提高學(xué)生在單片機(jī)應(yīng)用方面的實(shí)踐技能和科學(xué)作風(fēng);培育學(xué)生綜合運(yùn)用理論知識解決問題的能力,實(shí)現(xiàn)理論結(jié)合實(shí)際,學(xué)以至用的原則。用所學(xué)的知識和自身課外的拓展學(xué)習(xí)加深對專業(yè)課的理解和學(xué)習(xí);鍛煉綜合運(yùn)用電路設(shè)計(jì)與相關(guān)電子儀器、單片機(jī)軟硬件結(jié)合的理論,結(jié)合生產(chǎn)實(shí)際分析和解決工作工程實(shí)際問題的能力,加固、加深和擴(kuò)展有關(guān)電子類,匯編語言,相關(guān)電子電路和仿真軟件方面的知識和能力。通過本次課程設(shè)計(jì),應(yīng)加強(qiáng)培養(yǎng)如下能力:(1)加強(qiáng)自身獨(dú)立的動(dòng)手能力和思考解決問題的能力,提高創(chuàng)造能力;(2)學(xué)會使用軟件Proteus畫原理圖和仿真調(diào)

8、試。2.設(shè)計(jì)方案2.1可行方案選擇以AT89S52單片機(jī)為核心元件,利用兩位7 段共陽極數(shù)碼管作為顯示器件。在此設(shè)計(jì)中共接入2個(gè)兩位一體7段共陽LED 數(shù)碼管,來顯示實(shí)時(shí)數(shù)字,其中1個(gè)用于顯示十位,1個(gè)用于顯示個(gè)位,通過查表指令分別動(dòng)態(tài)顯示個(gè)位和十位。2個(gè)LED數(shù)碼管顯示圍可達(dá)到O-99 。上電時(shí),顯示59并開始自動(dòng)每秒自動(dòng)減1,當(dāng)按鍵1按下時(shí)記錄當(dāng)前時(shí)間值,當(dāng)按鍵2按下時(shí)顯示當(dāng)前記錄值,顯示過之后再次按下按鍵1時(shí)秒表復(fù)位為59。方案一利用查詢端口實(shí)現(xiàn)記錄通過不斷的查詢P2.4和P2.5的電平來判斷是否記錄當(dāng)前時(shí)間值,當(dāng)P2.4按下時(shí)記錄當(dāng)前時(shí)間但并不顯示,當(dāng)P2.5按下時(shí)則顯示記錄下的時(shí)間,

9、當(dāng)P2.5再次按下時(shí)則復(fù)位為59,等待下次計(jì)時(shí)。用延時(shí)程序來實(shí)現(xiàn)1秒的延時(shí),通過數(shù)據(jù)區(qū)來記錄記錄值,通過顯示子程序來顯示倒計(jì)時(shí)和記錄值。方案二 利用中斷實(shí)現(xiàn)記錄本方案在方案一的硬件基礎(chǔ)上采用74LS47譯碼器硬件譯碼來方便實(shí)現(xiàn)顯示,同時(shí)利用單片機(jī)的外部中斷0和外部中斷1來實(shí)現(xiàn)記錄和顯示,把記錄處理和顯示處理做成分別做成外部中斷0和外部中斷1的中斷服務(wù)程序,通過中斷服務(wù)程序處理不同的動(dòng)作。利用T0做一個(gè)1秒的中斷,從而實(shí)現(xiàn)倒計(jì)時(shí)。另外通過數(shù)據(jù)區(qū)來記錄記錄值。通過顯示子程序來顯示當(dāng)前倒計(jì)時(shí)和記錄值。2.2方案的選取如果使用方案一需要不停的查詢端口的電平,單片機(jī)還要不停的去執(zhí)行顯示程序,另外還要執(zhí)行

10、延時(shí)程序,單片機(jī)在同一個(gè)時(shí)刻只能做一件事情,所以會對記錄造成較大的誤差,所以方案一誤差較大如果使用方案二,因?yàn)榉桨付抢猛獠恐袛?,所以不必不停查詢端口電平,?dāng)按鍵按下時(shí),即使程序處于顯示程序中也可以立即中斷去執(zhí)行按鍵按下所需要的處理動(dòng)作,由于定時(shí)1秒是采用定時(shí)器來實(shí)現(xiàn),單片機(jī)可以邊執(zhí)行程序邊實(shí)現(xiàn)定時(shí),所以可以實(shí)現(xiàn)較精確的計(jì)時(shí),另外外部中斷均處于高級中斷,可以較準(zhǔn)確的記錄記錄值。綜上比較,本設(shè)計(jì)采用方案二作為此次課程設(shè)計(jì)的首選方案。3. 方案實(shí)施3.1硬件電路的實(shí)施(1)整體設(shè)計(jì)框圖本硬件設(shè)計(jì)總共包括五部分電路:顯示電路、振蕩電路、復(fù)位電路、電源電路、按鍵電路??傮w設(shè)計(jì)框圖如圖3.1所示。AT

11、89S52單片機(jī)電源電路振蕩電路復(fù)位電路顯示電路按鍵電路圖3.1 整體框圖(2)電源電路本設(shè)計(jì)采用整流橋墩2W10進(jìn)行整流,然后用電解電容進(jìn)行濾波,用7805進(jìn)行穩(wěn)壓,最后輸出+5V穩(wěn)壓直流電源。其中C1、C4為1000PF的電解電容,C2、C3為104瓷片電容,R1為1K的電阻。其電路圖如3.2所示。圖3.2 電源電路(3)振蕩電路本模塊用了一個(gè)11.0592HZ的晶振外加兩個(gè)33pf的電容,電路圖用如圖3.3所示。圖3.3 振蕩電路(4)復(fù)位電路復(fù)位電路圖如圖3.4所示,其中C3是帶極性的電解電容,R1、R2是阻值為1K的電阻圖3.4 復(fù)位電路(5)顯示電路本設(shè)計(jì)的顯示電路采用動(dòng)態(tài)顯示,動(dòng)

12、態(tài)顯示,是指無論任何時(shí)刻只有一個(gè)LED數(shù)碼管處于顯示狀態(tài)。若要各個(gè)數(shù)碼管能同時(shí)顯示出與本位相應(yīng)的顯示字符,就必須采用動(dòng)態(tài)的“掃描顯示方式”。即在某一時(shí)刻,只讓某一位的位選線處于選通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài),同時(shí),段碼線上輸出相應(yīng)位要有顯示的字符的段碼,這樣,在同一時(shí)刻,2位數(shù)碼管中只有被選通的那一位顯示出字符。如此循環(huán)下去就可以顯示出要顯示的字符。雖然這些字符是不同時(shí)刻顯示的,但由于LED數(shù)碼管的余輝和人眼的“視覺暫留”作用,只要每位顯示間隔足夠短,則可以造成“多位同時(shí)亮的假象”,達(dá)到同時(shí)顯示的效果。動(dòng)態(tài)顯示的優(yōu)點(diǎn)是硬件電路簡單,顯示器越多,優(yōu)勢越明顯。本次設(shè)計(jì)的顯示電路有三部分組

13、成:譯碼電路、驅(qū)動(dòng)電路、LED數(shù)碼管顯示電路。其中譯碼電路用的是芯片74LS47,74LS47是BCD-7段數(shù)碼管驅(qū)動(dòng)器,它的功能用于將BCD碼轉(zhuǎn)化成數(shù)碼塊中的數(shù)字,通過它解碼, 可以直接把數(shù)字轉(zhuǎn)換為數(shù)碼管的顯示數(shù)字, 從而簡化了程序,節(jié)約了單片機(jī)的I/O開銷。74LS47譯碼器原理:譯碼為編碼的逆過程。它將編碼時(shí)賦予代碼的含義“翻譯”過來。實(shí)現(xiàn)譯碼的邏輯電路成為譯碼器。譯碼器輸出與輸入代碼有唯一的對應(yīng)關(guān)系。74LS47是輸出低電平有效的七段字形譯碼器,它在這里與數(shù)碼管配合使用,其部分真值表如表3.1.1所示。表 3.11A3A2A1A0a*b*c*d*e*f*g*00000000001000

14、110011110010001001000110000110010010011000101010010001101100000011100011111000000000010010001100分析表格3.1.1易知74LS47為4-7譯碼器,并且是等數(shù)譯碼。即當(dāng)輸入為0000即0時(shí),數(shù)碼管顯示也為0,一次類推,當(dāng)輸入為1001即9時(shí),數(shù)碼管顯示也為9。驅(qū)動(dòng)電路很簡單,就是用兩個(gè)9013即NPN型三極管去驅(qū)動(dòng)共陽極數(shù)碼管。顯示電路的第三部分?jǐn)?shù)碼管顯示電路,本次設(shè)計(jì)用的是兩位共陽極數(shù)碼管。顯示電路模塊用如圖3.2所示。圖3.5 顯示電路(6)按鍵電路本實(shí)驗(yàn)要求開關(guān)BUTTON1和BUTTON2按下

15、時(shí)觸發(fā)兩個(gè)對應(yīng)的中斷,所以兩個(gè)按鍵接到外部中斷0和外部中斷1管腳上。其Proteus仿真電路圖如圖3.6所示。圖3.6 按鍵電路3.2軟件程序?qū)嵤┍境绦虿捎枚〞r(shí)器T0產(chǎn)生1秒定時(shí)來實(shí)現(xiàn)秒表的倒計(jì)時(shí),采用外部中斷0來記錄不同的記錄值,通過外部中斷1來顯示已經(jīng)記錄的記錄值。在主程序中初始化各個(gè)數(shù)值并且僅僅循環(huán)執(zhí)行顯示程序,有中斷來時(shí)才轉(zhuǎn)去做相應(yīng)的中斷服務(wù)程序。(1)主程序流程圖開始初始化顯示等待中斷(2)外部中斷0流程圖(3)定時(shí)器TI流程圖開始初始化T1清外部中斷請求標(biāo)志開外部中斷返回(4)T0定時(shí)器1秒中斷定時(shí)器開中斷計(jì)數(shù)到1S?R0與R1中數(shù)值減1Y中斷次數(shù)到50?NY將R2重新設(shè)置為50將

16、標(biāo)志位F0置1調(diào)用顯示子程序N中斷返回開始(5)顯示流程圖DATA1送A10送BDIVYA=0?N高位顯示延時(shí)低位顯示延時(shí)返回4. 結(jié)果與結(jié)論4.1 Proteus仿真運(yùn)行結(jié)果我們設(shè)計(jì)好系統(tǒng)后,首先在proteus上進(jìn)行了仿真,仿真結(jié)果可以正常運(yùn)行,當(dāng)上電時(shí)秒表從59開始倒計(jì)時(shí),每當(dāng)按下BUTTON1時(shí),系統(tǒng)會記錄當(dāng)前時(shí)間值,按下BUTTON2時(shí)系統(tǒng)會顯示原來記錄的時(shí)間值。再次按下BUTTON1時(shí)系統(tǒng)會復(fù)位59等待下次倒計(jì)時(shí),并且如果沒有記錄值,按下BUTTON2并不起作用。硬件結(jié)果經(jīng)過半天的焊接,我們把硬件焊好后上電結(jié)果表明,我們的設(shè)計(jì)要求都達(dá)到了,硬件結(jié)果和proteus仿真結(jié)果完全一樣。

17、各項(xiàng)功能完整可用。仿真圖如附件所示。4.2結(jié)論通過軟件仿真和硬件運(yùn)行,我們的系統(tǒng)完全的達(dá)到了設(shè)計(jì)要求。5. 收獲與致通過本次的課程設(shè)計(jì),我認(rèn)識和了解了基本的單片機(jī)設(shè)計(jì)的開發(fā)過程。期間,我學(xué)會了分析課題的要求,查閱資料用怎樣的元器件來實(shí)現(xiàn),學(xué)會用Protues軟件來繪制原理圖,用匯編來編寫源程序,最終仿真成功。在用實(shí)際器件實(shí)現(xiàn)系統(tǒng)時(shí),還學(xué)會了怎樣合理布局元器件,學(xué)會2位數(shù)碼管各個(gè)管腳的分布和接法,熟識了硬件驅(qū)動(dòng)數(shù)碼管動(dòng)態(tài)顯示的基本原理和程序編寫,提高了將單個(gè)電子器件組合到一起構(gòu)成所需電路系統(tǒng)的能力。在課程設(shè)計(jì)期間也遇到很多問題,在使用74LS47的連線時(shí)忘記給譯碼器加電源,在仿真時(shí),程序編寫有語

18、法錯(cuò)誤,在焊接時(shí)電阻弄錯(cuò),阻值過大結(jié)果數(shù)碼管很暗,引腳焊接出錯(cuò)。焊接完成通電調(diào)試時(shí),按鍵不靈,經(jīng)丁老師指導(dǎo),在程序中添加去抖程序。除此之外,組員之間相互配合,在整個(gè)過程中有過爭論,有過互助,最終圓滿完成任務(wù)。在設(shè)計(jì)過程中,要是遇到問題,一定要有耐心,有錯(cuò)誤就耐心查找,程序或?qū)嵨锵到y(tǒng)出錯(cuò)就慢慢調(diào)試,要有永不服輸?shù)木?。在此要特別感學(xué)校老師們?yōu)槲覀儼才胚@次課程設(shè)計(jì),為我們精心挑選課題,在萬忙之中抽出時(shí)間指導(dǎo)我們,對于我們的問題,老師耐心的解答,一遍不行,再講一遍。還不辭勞苦的給我們買需要的任何元器件。這次課程設(shè)計(jì)收獲很多,為以后畢業(yè)設(shè)計(jì)打下基礎(chǔ),培養(yǎng)我們實(shí)際的動(dòng)手能力,對以后的學(xué)習(xí)、工作中一定會有

19、很大的幫助。再次感所有老師。6. 參考文獻(xiàn)1廣弟.單片機(jī)基礎(chǔ)M :航空航天大學(xué) 2001年1月2遲榮強(qiáng) .單片機(jī)原理與接口技術(shù)M :高等教育 2004年9月3毅剛.單片機(jī)原理與應(yīng)用M :高等教育 2008年5月4閻勝利.Protel DXP2004電路設(shè)計(jì)M :電子工業(yè) 2006年7月7. 附件7.1整體電路圖圖7.1 整體電路圖7.2元器件清單表7.1 元器件清單元器件名稱型號規(guī)格數(shù)量備注單片機(jī)AT89S521晶振11.0592MHz1電解電容1000Uf3瓷片電容1042瓷片電容332橋堆2W10178051發(fā)光二極管1紅電阻1K12按鍵3撥動(dòng)開關(guān)174LS471數(shù)碼管1兩位共陽7.3源程

20、序;*;功能:;外部中斷0用于記錄不同的秒表數(shù)值;外部中斷1用于顯示不同的記錄數(shù)值;外部中斷0用于復(fù)位;如果沒有記錄秒表數(shù)值,則外部中斷1不起作用;可以判斷是否顯示到最后一個(gè)數(shù),顯示的是最后一個(gè)記錄值則保持顯示而不再改變;*;變量分配DATA1 EQU 40H ;DATA1用于儲存顯示的值DATA2 EQU 42H ;DATA2用于儲存記錄的時(shí)間的個(gè)數(shù)TCNT EQU 41H ;TCNT用于判斷定時(shí)是否到1秒MOD1 BIT 00H ;MOD1用于記錄計(jì)數(shù)值是否到0MOD2 BIT 01H ;MOD2用于指示初始化成59標(biāo)志MOD3 BIT 02H ;MOD3用于記錄外部中斷1MOD4 BIT

21、 03H ;MOD4用于記錄是否儲存了記錄值;主程序 ORG 0000H ;開始 LJMP START ; ORG 0003H ; LJMP INT_0 ; ORG 000BH ; LJMP INT_T0 ; ORG 0013H LJMP INT_1 ORG 001BH LJMP INT_T1 ORG 0050H START: MOV SP,#70H ;設(shè)置堆棧 CLR MOD1 ;初始化標(biāo)志位 CLR MOD2 ; CLR MOD3 ; CLR MOD4 ; MOV TCNT,#0 ;定時(shí)器初始化,16位定時(shí)方式 定時(shí)50MS,總定時(shí)1S MOV TMOD,#11H ; MOV TH0,3C

22、H ; MOV TL0,#0B0H ; CLR P2.4 ; CLR P2.5 ; SETB PX1 ;中斷設(shè)置 外部中斷1和0為高級中斷,跳沿觸發(fā) SETB EX1 ;定時(shí)器T0為低級中斷 SETB PX1 ; SETB PT1 ;定時(shí)器1設(shè)置為高級中斷 SETB ET1 ;開定時(shí)器1 MOV TH1,#0FFH ;賦初值 MOV TL1,#0FFH ; SETB IT1 ; SETB PX0 ; SETB IT0 ; SETB ET0 ; SETB EX0 ; SETB EA ; SETB TR0 ; MOV R1,#50H ;初始化R1為50H MOV DATA1,#59D ;初值是十進(jìn)

23、制59 LOOP1: LCALL DISPLAY ;循環(huán)顯示 SJMP LOOP1 ;定時(shí)器T0中斷 INT_T0: MOV TH0,#3CH ; MOV TL0,#0B0H ; INC TCNT ; MOV A,TCNT ; CJNE A,#20,RETURN ; MOV TCNT,#0 ; MOD1,RETURN ;到0秒直接返回不再減1 DEC DATA1 ;減1 MOV A,#0 ;判斷DATA1是否到0 CJNE A,DATA1,RETURN ;不到0直接返回 SETB MOD1 ;到0則置位MOD1標(biāo)志位 RETURN: RETI ;外部中斷0 INT_0: CLR EX0 ;關(guān)外

24、部中斷0 SETB TR1 ;啟動(dòng)定時(shí)器T1 H5: JNB MOD2,H0 ;如果不是初始化59則判斷是否到0 MOV TH0,#3CH ;是初始化59則初始化T0 MOV TL0,#0B0H ; SETB TR0 ; CLR MOD2 ;清除初始化59標(biāo)志 SJMP RETURN4 ; H0: JNB MOD1,H1 ;如果不到0則判斷上次是否是儲存值顯示 H3: MOV DATA1,#59D ;是到0則初始化59 MOV R1,#50H ;數(shù)據(jù)指針初始化為50 SETB MOD2 ;初始化59標(biāo)志 CLR MOD1 ;清除其它標(biāo)志位 CLR MOD3 ; CLR MOD4 ; CLR TR0 ; SJMP RETURN4 ;返回 H1: JNB MOD3,H2 ;上次不是儲存值顯示則儲存當(dāng)前值 SJMP H3 ;上次是儲存值顯示則初始化59 H2: MOV R1,DATA1 ;當(dāng)前值存入記錄值數(shù)據(jù)區(qū) SETB MOD4 ; INC R1 ;指針加1 MOV DATA2,R1 ;儲存記錄數(shù)值個(gè)數(shù)RETURN4: RETI ;返回T1中斷INT_T1: CLR TR1 ;關(guān)閉定時(shí)器 MOV TH1,#0FFH ;重賦值 MOV TL1,#0FFH ; CLR IE0 ;清除中斷請求標(biāo)志位 CLR IE1 ; SETB EX0 ;開中斷0 SET

溫馨提示

  • 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

提交評論