基于單片機的秒表課程設(shè)計_第1頁
基于單片機的秒表課程設(shè)計_第2頁
基于單片機的秒表課程設(shè)計_第3頁
基于單片機的秒表課程設(shè)計_第4頁
基于單片機的秒表課程設(shè)計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要本設(shè)計的數(shù)字電子秒表系統(tǒng)采用AT89S52單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設(shè)計計時器。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)LED顯示,顯示時間為099秒,計時精度為1秒,能正確地進行計時。其中軟件系統(tǒng)采用C語言編寫程序,包括顯示程序,定時中斷服務(wù),外部中斷服務(wù)程序,延時程序等,并在WAVE中調(diào)試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單且易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。 關(guān)鍵詞: 電子秒表;AT89S52單片機;C語言目錄摘要I1 系統(tǒng)原理介紹11.1設(shè)計任務(wù)及功能要求說明11.2數(shù)字式秒表

2、的方案介紹及工作原理說明12數(shù)字式秒表硬件系統(tǒng)的設(shè)計32.1數(shù)字式秒表硬件系統(tǒng)各模塊功能簡要介紹32.1.1 AT89S52簡介32.1.2時鐘電路32.1.3鍵盤電路42.1.4復(fù)位電路42.2 數(shù)字式秒表的硬件系統(tǒng)設(shè)計圖53 數(shù)字式秒表軟件系統(tǒng)的設(shè)計63.1 數(shù)字式秒表使用單片機資源情況63.2 主程序流程圖63.3中斷服務(wù)程序流程圖73.4顯示程序流程圖83.5軟件系統(tǒng)程序清單8按照流程圖應(yīng)用軟件keil匯編語言編程實現(xiàn)秒表功能。程序見附錄3。84 系統(tǒng)調(diào)試與仿真94.1 數(shù)字式秒表的設(shè)計結(jié)論及使用說明94.2 調(diào)試軟件介紹94.3 程序仿真與結(jié)果94.4 誤差分析及解決方法10總結(jié)11

3、參考文獻12致 謝13附錄1:系統(tǒng)原理圖14附錄2:程序清單151 系統(tǒng)原理介紹1.1設(shè)計任務(wù)及功能要求說明 由單片機接收小鍵盤控制遞增計時,由LED 顯示模塊計時時間,顯示格式為 XX(分):XX(秒).XX,精確到0.01s的整數(shù)倍。繪制系統(tǒng)硬件接線圖,并進行系統(tǒng)仿真和實驗。畫出程序流程圖并編寫程序?qū)崿F(xiàn)系統(tǒng)功能。 使用單片機AT89S52作為主要控制芯片,以四位一體共陽極數(shù)碼顯示管通過三極管驅(qū)動作為顯示部分,設(shè)計一個具有特定功能的數(shù)字式秒表。該數(shù)字式秒表上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”,進入準(zhǔn)備工作狀態(tài)。該數(shù)字式秒表通過按鍵控制可實現(xiàn)開始計時、暫停計時、連續(xù)計時、清零和停止功能

4、。1.2數(shù)字式秒表的方案介紹及工作原理說明 使用AT89S52單片機作為核心控制部件,采用12M晶體振蕩器及微小電容構(gòu)成振蕩電路;采用S8550作為數(shù)碼管的驅(qū)動部分;用兩個四位一體共陽極或共陰極數(shù)碼顯示管作為顯示部分,構(gòu)成數(shù)字式秒表的主體結(jié)構(gòu),配合獨立式鍵盤和復(fù)位電路完成此秒表的復(fù)位、計時、連續(xù)、清零、停止各項功能。對于時鐘,它有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時

5、間精度要求不高的場合;二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法。 LED數(shù)碼顯示器有如下兩種連接方法:共陽極接法:把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接+5V,每個發(fā)光二極管的陰極通過電阻與輸入端相連。共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極接地。每個發(fā)光二極管的陽極通過電阻與輸入端相連。 鍵盤部分方案:鍵盤控制采用獨立式按鍵,每個按鍵的一端均接地,另一端直接和P1口相連,在按鍵和P1口之間通過10K電阻與+5V電源相連。鍵盤通過檢測輸入線的電平狀態(tài)就可以很容易地判斷哪個鍵被按下了,這種方法操作速度高而且軟件結(jié)構(gòu)很簡單

6、,比較適合按鍵較少或操作速度較高的場合,這種獨立式接口的應(yīng)用很普遍。 顯示部分方案:顯示部分采用動態(tài)顯示。數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)

7、碼管輪流受控顯示,這就是動態(tài)驅(qū)動。動態(tài)顯示是利用人眼視覺暫留特性來實現(xiàn)顯示的。事實上,顯示器上任何時刻只有一個數(shù)碼管有顯示。由于各數(shù)碼管輪流顯示的時間間隔短、節(jié)奏快,人的眼睛反應(yīng)不過來,因此看到的是連續(xù)顯示的現(xiàn)象。為防止閃爍延時的時間在1ms左右,不能太長,也不能太短。本設(shè)計可采用P0口直接驅(qū)動八段數(shù)碼管顯示。此方案成本低,而且單片機的I/O口占用較少,可以節(jié)約單片機接口資源,而且功耗更低。 此電路采用單片機的P0口作為數(shù)碼顯示管的段控,采用P2口作為數(shù)碼管的位控。8個獨立式鍵盤分別接在單片機的P1口上,以及其他部分構(gòu)成數(shù)字式秒表的硬件電路。通過編寫程序使用單片機的定時計數(shù)器,以及軟件延時,中

8、斷資源來實現(xiàn)秒計時和相關(guān)控制。此數(shù)字式秒表的硬件整體結(jié)構(gòu)如圖1-1所示。AT89S52電源振蕩電路復(fù)位電路獨立式鍵盤驅(qū)動電路數(shù)碼管顯示限流圖 1-1數(shù)字式秒表的硬件結(jié)構(gòu)圖2數(shù)字式秒表硬件系統(tǒng)的設(shè)計2.1數(shù)字式秒表硬件系統(tǒng)各模塊功能簡要介紹2.1.1 AT89S52簡介(1) 與MCS-51產(chǎn)品相兼容;(2) 具有8KB可改寫的Flash 內(nèi)部程序存儲器,可寫/擦1000次;(5) 256字節(jié)內(nèi)部RAM;(6) 32根可編程I/O口;(7)3個16位定時器/計數(shù)器。 (8) 8個中斷源;(9)可編程中串行口;(10) 低功耗空閑和掉電方式。它的價格便宜,功能強大,能耗低。很大程度上減少總電路的復(fù)

9、雜性,提高了所設(shè)計系統(tǒng)的穩(wěn)定性。其芯片引腳圖如圖2-1所示。圖2-1 單片機AT89S52引腳圖時鐘電路 時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,單片機本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時序進行工作。在AT89S52芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳TXAL2,在芯片的外部通過這兩個引角跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。 此電路采用12MHz的石英晶體。時鐘電路如圖2-2:圖2-2 時鐘電路鍵盤電路 本設(shè)計使用獨立式鍵盤接在單片機的P1口上但通過軟件賦予

10、其中三個按鍵功能,其中S2是計時開始按鍵,第二功能為停止,S3為計時暫停按鍵,第二功能為繼續(xù)計時按鍵,S4是清零按鍵。注意使用時只有在暫停狀態(tài)下才能繼續(xù)計時,只有在停止?fàn)顟B(tài)下才能清零,在停止時不能繼續(xù)計時,在暫停時不能清零。鍵盤電路如圖2-3:圖2-3獨立式鍵盤電路圖復(fù)位電路 復(fù)位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤是系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復(fù)位鍵以重新啟動。 RST引腳是單片機復(fù)位信號的輸入端,復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即2個機器

11、周期)以上,若使用頻率為6MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的。在本設(shè)計中采用了按鍵電平復(fù)位方式,其復(fù)位電路如圖2-4所示:圖2-4 復(fù)位電路2.2 數(shù)字式秒表的硬件系統(tǒng)設(shè)計圖此處電路原理圖的繪制是使用protues軟件完成,protues是基于Win95/Win NT/Win98/Win2000的純32位電路設(shè)計制版系統(tǒng)。protues提供了一個集成的設(shè)計環(huán)境,包括了原理圖設(shè)計和PCB布線工具,集成的設(shè)計文檔管理,支

12、持通過網(wǎng)絡(luò)進行工作組協(xié)同設(shè)計功能。根據(jù)硬件接線要求設(shè)計繪制電路原理圖具體電路圖見附錄1。3 數(shù)字式秒表軟件系統(tǒng)的設(shè)計3.1 數(shù)字式秒表使用單片機資源情況 本次電子鐘設(shè)計除了了使用單片機工作所必須的硬件資源(如連接晶振的引腳XTAL1和XTAL2,復(fù)位引腳RESET)外,對單片機的硬件資源還做了具體的安排。(1).P0口:P0.0-P0.7作為數(shù)碼管顯示器的段控。(2).P1口:P1.0-P1.3作為獨立式鍵盤的輸入端。(3).P2口:P2.0-P2.7分別控制數(shù)碼管LED0-LED7的位控碼驅(qū)動。(4).定時/計數(shù)器:使用定時器0工作方式2實現(xiàn)數(shù)字式計數(shù)器的運行。(5).專用寄存器:定時器控制

13、寄存器TCON,通過設(shè)置該寄存器TR0位的狀態(tài)來控制定時/計數(shù)器0的啟動/停止;中斷允許寄存器IE,通過設(shè)置該寄存器EA/ET0位的狀態(tài)來設(shè)置定時/計數(shù)器0中斷允許/禁止;定時/計數(shù)器工作方式寄存器TMOD,設(shè)置定時/計數(shù)器0的工作方式。3.2 主程序流程圖 MAIN定義堆棧顯示緩沖單元清零定時器0工作方式1裝載計數(shù)初值定時開始開中斷設(shè)置循環(huán)次數(shù)調(diào)用顯示子程序等待定時中斷請求鍵盤掃描圖3-1 主程序流程圖3.3中斷服務(wù)程序流程圖PDJW現(xiàn)場保護計數(shù)器重加載循環(huán)次數(shù)減1是否滿8次毫秒值加1是否滿60毫秒緩沖清零秒值加1是否60S秒顯緩沖清零分顯示加1是否滿60分顯示清零現(xiàn)場恢復(fù)返回YNNNNYY

14、Y 圖3-2 中斷服務(wù)程序流程圖3.4顯示程序流程圖DISP現(xiàn)場保護寄存器初始化顯示代碼查表送段控代碼送位控代碼延時送段控代碼位控代碼左移左移8次?恢復(fù)現(xiàn)場返回NY圖3-3顯示程序流程圖3.5軟件系統(tǒng)程序清單 按照流程圖應(yīng)用軟件keil匯編語言編程實現(xiàn)秒表功能。程序見附錄2。4 系統(tǒng)調(diào)試與仿真4.1 數(shù)字式秒表的設(shè)計結(jié)論及使用說明 通過設(shè)計和調(diào)試,數(shù)字式秒表能順利完成各項功能。上電或復(fù)位后顯示“P.”提示符,此時按1鍵便可開始計時。在計數(shù)狀態(tài)下,按下2鍵即可實現(xiàn)暫停,再次按下2鍵即可實現(xiàn)繼續(xù)計數(shù),在計數(shù)狀態(tài)下按下1鍵,實現(xiàn)計數(shù)停止,在停止?fàn)顟B(tài)下按下3鍵,便可實現(xiàn)計數(shù)清零。計數(shù)狀態(tài)下按下清零鍵,

15、無效。4.2 調(diào)試軟件介紹 本電子鐘的設(shè)計用的pretues仿真軟件設(shè)計電路并仿真。Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、

16、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。具有強大的原理圖繪制功能。總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。因為pretues仿真軟件中所有的情況都是在理想想的條件下,但是與實際電路的工作還是有很大的差別,所以我們必需考慮到實際情況應(yīng)接入驅(qū)動限流等電路它才能被實際所應(yīng)用。4.3 程

17、序仿真與結(jié)果我們是在Keil軟件里編寫程序并編譯通過才能被硬件電路所應(yīng)用。Keil的功能比較強大但還是有一定的缺點。他編譯過程中他只能檢查出所編寫的語法錯誤,所以我們一步一步的去在硬件電路里仿真去達到我們所設(shè)計要求的功能。電子鐘準(zhǔn)備狀態(tài)與電子鐘自動運行狀態(tài)的仿真如圖3-4所示。圖3-4 數(shù)碼管顯示4.4 誤差分析及解決方法我們可以發(fā)現(xiàn)數(shù)字式秒表計數(shù)一段時間的我們的標(biāo)準(zhǔn)時間相比較出現(xiàn)了誤差,所設(shè)計的數(shù)字式秒表比我們的標(biāo)準(zhǔn)時間要慢,而且相比較的時間越長他的時差越大。經(jīng)過分其主要原因與硬件和軟件都有關(guān)。軟件原因:我們從外部中斷請求有效到轉(zhuǎn)向中斷區(qū)入口地址所需的機器周期數(shù)來計算中斷時間,51系列單片機

18、最短響應(yīng)時間為3個機器周期。在一般情況下中斷響應(yīng)時間通常無需考慮,但在精確定時的應(yīng)用場合需知道中斷響應(yīng)時間,以保證定時的精確控制。硬件原因:單片機的時鐘信號是由外部的振蕩電路所提供,在芯片的外部通過接XATL1與XATL2這兩個引角跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。因為電子原件不可以就有我們所設(shè)計的那么理想(電容的容量,振晶的輸出頻率)所以會造成我們的時間準(zhǔn)確。 針對這樣的問題我們就能只能從上述兩個方面入手去解決。軟件方面我們可以通過計算設(shè)計子程序去減少響應(yīng)的時差。硬件部分我們可以采用一些穩(wěn)定,精確度比較高的電子元件去完善,但是在最后調(diào)試出的還是有誤差但我盡

19、可能的減少差誤差接近理想??偨Y(jié) 通過對數(shù)字式秒表的設(shè)計與制作,我們把理論與實際相結(jié)合。加深了對理論知識的理解,也增強了我們的動手能力。 在電路設(shè)計過程中,我們學(xué)會了自己收集信息和處理信息的能力,為以后的學(xué)習(xí)和制作奠定了一定的基礎(chǔ),數(shù)字式秒表看似簡單,但當(dāng)我們自己著手設(shè)計與制作的時候我們才發(fā)現(xiàn)是困難重重的。 在元器件采購過程中發(fā)現(xiàn)的問題更大,在電路計算式我們根本沒有考慮到元器件的型號和性能參數(shù),然而在實物購買時我們就不得不開始考慮其型號和性能參數(shù),這也是理論與實際的差別。還有,一些阻值的電阻與某些大小的電容根本就沒有這種型號的買,這樣我們不得不考慮改變設(shè)計電路中的參數(shù),或者采用電路的等效方式來解

20、決這樣的問題。 從剛剛接觸單片機開始,此設(shè)計是我迄今為止,編寫的最大的一個程序,在調(diào)試過程中,我學(xué)會了怎樣去根據(jù)實驗現(xiàn)象解決問題,分析問題的所在點。它不僅加強了我們解決問題的能力,同時也鍛煉了我們的邏輯思維能力。 此次課程設(shè)計,學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨立思考解決問題,出現(xiàn)差錯的隨機應(yīng)變,使我們在實際動手能力方面得到了較大的提高。參考文獻1李朝青.單片機原理及接口技術(shù)M.北京:北京航空航天大學(xué)出版社,1988.2李勛等.單片機實用教程M.北京:北京航空航天大學(xué)出版社,20003王幸之等.單片機應(yīng)用系統(tǒng)抗干擾技術(shù)M. 北京:北京航空航天大學(xué)出版社,19994何為民.低功耗單片微型計算機系

21、統(tǒng)設(shè)計M. 北京:北京航空航天大學(xué)出版社,19945李杏春等.8090單片機原理及實用接口技術(shù)M. 北京:北京航空航天大學(xué)出版社,1996致 謝 剛開始接到課程設(shè)計任務(wù),認(rèn)為挺簡單的,然而真正開始動手制作時才知道并不是那么簡單,從初期的資料收集以及原理圖的繪制都受到了老師以及同學(xué)的幫助,在遇到困難時請教老師和同學(xué)都能得到耐心的解答,幫助我們少走彎路。感謝我的老師,以及我的同學(xué),在整個硬件電路的設(shè)計與制作過程中,他們都給了我很大的支持,是我從此次課程設(shè)計過程中獲益匪淺,本人對設(shè)計過程中給予了通力合作,以及精神的支持,的老師和同學(xué)深表感謝。如果沒有他們我想我的設(shè)計不會這樣順利的完成。由于本人水平有

22、限,在技術(shù)指標(biāo)和論文寫作中可能存在一些缺陷,懇請各位老師和同學(xué)們批評指教。附錄1:系統(tǒng)原理圖 附錄2:程序清單;*;項目名稱:秒表;設(shè)計者:蔣慧;設(shè)計日期:2011年01月;*;LED數(shù)碼管顯示器設(shè)定;P0.7-P0.0段控線,接LED的顯示段dp,g,f,e,d,c,b,a ;P2.7-P2.0位控線從左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0);顯示緩沖區(qū)設(shè)定從左至右依次為78H,79H,7AH,7BH,7CH,7DH,7EH,7FH ;*;獨立式鍵盤設(shè)定與功能;8個按鍵S1至S8分別依次接在P1.0至P1.7口線;K0的功能為復(fù)位 ;K1的功能

23、為啟動/停止(標(biāo)識符為22H.0當(dāng)它為1時啟動,為0時停止);K2的功能為暫停/繼續(xù)(標(biāo)識符為22H.1當(dāng)它為1時暫停,為0時繼續(xù));K3的功能為清零;*;常數(shù)表格; ;DISBH(系統(tǒng)提示符P.字型代碼序號表);TAB(共陽數(shù)碼管字型代碼表) ;*; ;子程序;TIME_1MS(定時1ms子程序);KEY(鍵掃描子程序);KEYCHULI(P1口數(shù)據(jù)處理子程序);DISP(數(shù)碼管顯示子程序);DL(2毫秒延時子程序);ADD01(入口地址為R0);*;存儲器內(nèi)容的安排;堆棧棧底7FHH; ;20H作為按鍵標(biāo)志(20H.020H.7分別對應(yīng)的是按鍵K1K8);專用寄存組1,用在顯示子程序中;*

24、;系統(tǒng)起始程序區(qū) ORG 0000H START: LJMP MAIN ORG 000BH LJMP PDJW;*;系統(tǒng)監(jiān)控程序區(qū) ORG 0030HMAIN: MOV PSW, #00H MOV SP, #7FH ;確立堆棧區(qū) MOV R0, #20H ;RAM區(qū)首地址 MOV R7, #96 ;RAM區(qū)單元個數(shù) MOVTMOD,#01H SETB EA SETBET0ML: MOV R0, #00H INC R0 DJNZ R7, MLTSF: MOV DPTR, #DISBH ;系統(tǒng)初始化后提示符“P.”字符代碼表首地址 MOV R5, #08H MOV R0, #78HDISPTSF:

25、CLR A MOVC A, A+DPTR MOV R0, A INC R0 INC DPTR DJNZ R5, DISPTSFKEY0:LCALLDISP LCALL KEYJB 20H.0, K1JB 20H.1, K2JB 20H.2, K3LJMP KEY0KEY00: LCALL KEY LCALL DISPJB 20H.2, K3LJMP KEY00 K1: JB 22H.1, KEY0;如果此時為暫停狀態(tài),本次按鍵K1無效CPL 22H.0 JB 22H.0, K01 ;高電平則計時 CLR TR0 ;低電平則停止 LCALL DISPLJMP KEY00K01: MOV 7AH,

26、 #12H ;從零開始計時 MOV 7DH, #12H MOV 7FH, #10H MOV 78H, #00H MOV 79H, #00H MOV 7BH, #00H MOV 7CH, #00H MOV 7EH, #00H MOV 7FH, #00H LCALL DISP MOV TH0,#0D8H MOV TL0,#0F0H SETB TR0;啟動定時器 LJMP KEY0K2: JB 22H.0, K21 ;判斷秒表是否啟動,如不是啟動狀態(tài)則此次按鍵無效 LJMP KEY0K21: CPL22H.1 JB 22H.1, K22 SETB TR0 ;繼續(xù)計時LJMP KEY0K22: CLR

27、 TR0 ;暫停秒表 LCALL DISPLJMP KEY0 K3:JB22H.0, KEY0 ;只有當(dāng)停止是,清零鍵才有效MOV R0, #79H ;秒表清零 LCALL CLR00MOV R0, #7CH LCALL CLR00MOV R0, #7FH LCALL CLR00 LJMP KEY0PDJW: PUSH PSW PUSH ACCMOV TMOD, #01H ;定時器以工作方式1工作SETB RS1 ;設(shè)定組號為2組CLR RS0MOVTH0,#0D8HMOVTL0,#0F0HMOV R0, #79HLCALL ADD01CJNE R2, #99, RETT ;判斷1秒到?jīng)]MOV

28、 R0, #7CH LCALL ADD01CJNE R2, #60, RETT ;判斷60毫秒到?jīng)]LCALL CLR00MOV R0, #7FHLCALL ADD01CJNE R2, #60H, RETT ;判斷60分到?jīng)]LCALL CLR00RETT: POP ACC POP PSWRETI;*;常數(shù)表格區(qū);系統(tǒng)初始化后提示符“P.”字符代碼表;DISBH: DB 10H,10H,10H,10H,10H,10H,10H,11H ;提示符“P.”字符序號;顯示字符段選碼表(共陽極代碼)TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;0-8 DB 90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH ;9,A,B,C,D,E,F,滅,p.,-;*;子程序區(qū);ADD01: MOVA, R0 DEC R0SWAP AORL A, R0ADD A, #01HDA AMOV R2, AANL A, #0FHMOV R0, A MOV A, R2ANL A, #0F0HSWAP AINC R0MOV R0, ARETCLR00: MOV R0, #00H DEC R0MOV

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論