基于AT89C51單片機(jī)的數(shù)字電子時(shí)鐘設(shè)計(jì).docx
《基于AT89C51單片機(jī)的數(shù)字電子時(shí)鐘設(shè)計(jì).docx》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于AT89C51單片機(jī)的數(shù)字電子時(shí)鐘設(shè)計(jì).docx(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 單片機(jī)課程設(shè)計(jì)題目:數(shù)字電子時(shí)鐘設(shè)計(jì)指導(dǎo)老師: 制作人員: 學(xué)號(hào) 班級(jí):自動(dòng)化 日期: 總評(píng)成績(jī):課程任務(wù)設(shè)計(jì)書設(shè)計(jì)題目:數(shù)字電子時(shí)鐘的設(shè)計(jì)設(shè)計(jì)任務(wù):1.設(shè)計(jì)一款時(shí),分,秒可調(diào)數(shù)字電子時(shí)鐘可整點(diǎn)報(bào)時(shí);2.設(shè)計(jì)三個(gè)按鍵K1,K2和K3,用于調(diào)節(jié)時(shí)鐘的時(shí)間;3.用8個(gè)、七段LED數(shù)碼管作為顯示設(shè)備,開機(jī)顯示00-00-00;摘要本設(shè)計(jì)采用AT89C51單片機(jī)為核心器件。具有電子鐘顯示,時(shí)間調(diào)整,整點(diǎn)報(bào)時(shí)等功能。此數(shù)字鐘是一個(gè)將“時(shí)”、“分”、“秒”顯示于人的視覺(jué)器官的計(jì)時(shí)裝置。根據(jù)60秒為一分、60分為1小時(shí)的計(jì)數(shù)周期,構(gòu)成秒、分、時(shí)的計(jì)數(shù),實(shí)現(xiàn)計(jì)時(shí)的功能。而且能顯示清晰、直觀的數(shù)字符號(hào)。針對(duì)數(shù)
2、字鐘會(huì)產(chǎn)生誤差的現(xiàn)象,就設(shè)計(jì)有校準(zhǔn)時(shí)間的功能。 AT89C51單片機(jī)控制的數(shù)字鐘的硬件結(jié)構(gòu)與軟件設(shè)計(jì),給出了匯編語(yǔ)言源程序。此數(shù)字鐘是一個(gè)將“時(shí)”、“分”、“秒”顯示于人的視覺(jué)器官的計(jì)時(shí)裝置。它的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為24時(shí)00分00秒,另外應(yīng)有校時(shí)功能。電路由時(shí)鐘脈沖發(fā)生器、時(shí)鐘計(jì)數(shù)器、譯碼驅(qū)動(dòng)電路和數(shù)字顯示電路以及時(shí)間調(diào)整電路組成。用晶體振蕩器產(chǎn)生時(shí)間標(biāo)準(zhǔn)信號(hào),這里采用石英晶體振蕩器。根據(jù)60秒為1分、60分為1小時(shí)、24小時(shí)為1天的計(jì)數(shù)周期,分別組成兩個(gè)60進(jìn)制(秒、分)、一個(gè)24進(jìn)制(時(shí))的計(jì)數(shù)器。顯示器件選用LED八段數(shù)碼管。在譯碼顯示電路輸出的驅(qū)動(dòng)下,顯示出清晰、直觀的數(shù)
3、字符號(hào)。針對(duì)數(shù)字鐘會(huì)產(chǎn)生走時(shí)誤差的現(xiàn)象,在電路中就設(shè)計(jì)有有校準(zhǔn)時(shí)間功能的電路。關(guān)鍵字:Proteus,KeiluVision,AT89C51,電子鐘,整點(diǎn)報(bào)時(shí)目錄摘 要3第1章概述.51.1 設(shè)計(jì)背景.51.2系統(tǒng)方案論證與設(shè)計(jì).5第2章系統(tǒng)硬件設(shè)計(jì).72.1 系統(tǒng)總電路的設(shè)計(jì)72.1.1系統(tǒng)的總框圖2.1.2芯片的選擇72.2最小系統(tǒng)設(shè)計(jì)92.2.1時(shí)鐘電路的選擇與設(shè)計(jì)102.2.2復(fù)位電路的選擇與設(shè)計(jì)102.3 發(fā)聲電路的選擇與設(shè)計(jì)102.4 按鍵電路的選擇與設(shè)計(jì)112.5顯示電路的選擇與設(shè)計(jì)11第3章 系統(tǒng)軟件設(shè)計(jì)12 3.1 系統(tǒng)流程圖12 3.2 子程序的介紹133.2.1顯示子程序
4、133.2.2按鍵掃描程序14第4章 軟件仿真164.1 Protues軟件的介紹164.2keil軟件的介紹164.3仿真電路圖174.4仿真結(jié)果與分析17小結(jié)19參考文獻(xiàn)20附錄A 電路圖21附錄B程序21第1章概述1.1 設(shè)計(jì)背景單片機(jī)是20世紀(jì)70年代中期發(fā)展起來(lái)的一種大規(guī)模集成電路器件。它在一塊硅芯片內(nèi)集成了各種計(jì)算機(jī)功能部件,構(gòu)成一種單片式的微型計(jì)算機(jī)。20世紀(jì)80年代以來(lái),隨著國(guó)際上單片機(jī)迅速發(fā)展,其應(yīng)用不斷深入,新技術(shù)層出不窮。也因?yàn)槠潴w積小,功能強(qiáng),成本地,尤其是隨著CMOS工藝的發(fā)展,耗電也大大低于其它相似的電子產(chǎn)品,被廣泛應(yīng)用于智能產(chǎn)品和工業(yè)控制之中。其中最著名的生產(chǎn)商就
5、是INTEL公司,其開發(fā)的51系列單片機(jī)是目前市場(chǎng)上最典型和最有代表性的一種,也是國(guó)內(nèi)市場(chǎng)用的最多的單片機(jī)。在其之后,世界上許多著名的半導(dǎo)體廠商相繼生產(chǎn)和這個(gè)系列兼容的單片機(jī),這就使得其產(chǎn)品型號(hào)不斷地增加,品種不斷豐富,功能不斷增強(qiáng)。在國(guó)內(nèi)外單片機(jī)應(yīng)用中占有非常重要的地位。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-5
6、1指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案1.2 系統(tǒng)方案論證與設(shè)計(jì)方案一:由若干個(gè)74LS160、電阻、開關(guān)、電容、LED數(shù)碼管、與非門和74153組成。這個(gè)方案較復(fù)雜,組成部件較多,連線復(fù)雜,不夠簡(jiǎn)潔;但是思路清晰。方案二:由主芯片AT89C51、電阻、電容、8個(gè)8段LED數(shù)碼管、開關(guān)組成。這個(gè)方案較為簡(jiǎn)化,應(yīng)用部件少,連線簡(jiǎn)單。為了節(jié)約時(shí)間成本,所以在本設(shè)計(jì)中采用方案二來(lái)設(shè)計(jì)數(shù)字時(shí)鐘電路。第2章系統(tǒng)硬件設(shè)計(jì)2.1 系統(tǒng)總電路的設(shè)計(jì)2.1.1
7、系統(tǒng)的組成與總框圖數(shù)字鐘實(shí)際上是一個(gè)對(duì)標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路,由于計(jì)數(shù)的起始時(shí)間不可能與標(biāo)準(zhǔn)時(shí)間一致,故需要在電路上加一個(gè)校時(shí)電路,同時(shí)標(biāo)準(zhǔn)的1MHZ時(shí)間信號(hào)必須做到準(zhǔn)確穩(wěn)定,通常使用石英晶體振蕩器電路構(gòu)成數(shù)字鐘。時(shí)鐘電路由主芯片AT89C51和時(shí)鐘電路,復(fù)位電路,按鍵電路,LED顯示,聲響電路組成。數(shù)字鐘系統(tǒng)的總框圖如圖2.1所示:AT89C51時(shí)鐘電路LED顯示復(fù)位電路按鍵電路發(fā)聲電路圖2.1 系統(tǒng)的總框圖2.1.2 芯片的選擇通過(guò)對(duì)多種單片機(jī)性能的分析,最終認(rèn)為AT89C51是最理想的電子時(shí)鐘開發(fā)芯片。所以本設(shè)計(jì)采用AT89C51芯片,AT89C51是一種帶4K字節(jié)閃爍可編
8、程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,且具有4K字節(jié)可編程閃爍存儲(chǔ)器和1000寫/擦循環(huán),數(shù)據(jù)保留時(shí)間為10年等特點(diǎn),是最好的選擇。圖2.2 AT89C51AT89C51:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏極開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,
9、當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存
10、儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。2.2 最小系統(tǒng)設(shè)計(jì)2.2.1 時(shí)鐘電路的選擇與設(shè)計(jì)時(shí)鐘電路是產(chǎn)生CPU校準(zhǔn)時(shí)序,是單片機(jī)的控制核心。AT89C51的時(shí)鐘信號(hào)可通過(guò)內(nèi)部振蕩方式和外部振蕩方式兩種方式得到。本次設(shè)計(jì)使用的是片內(nèi)振蕩方式,通過(guò)外接12MHz的晶振來(lái)實(shí)現(xiàn)時(shí)鐘電路的時(shí)序控制。在使用片內(nèi)振蕩器時(shí),XTAL1和XTAL2分別為反向放大器的輸入端和輸出端。外接晶體以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋
11、回路中。當(dāng)使用外部時(shí)鐘驅(qū)動(dòng)時(shí),XTAL2引腳應(yīng)懸空,而由XTAL1引腳上的信號(hào)驅(qū)動(dòng),或者XTAL1引腳應(yīng)懸空,而由XTAL2引腳上的信號(hào)驅(qū)動(dòng)。外部振蕩器再通過(guò)一個(gè)2分頻的觸發(fā)器來(lái)形成內(nèi)部時(shí)鐘所需要的信號(hào)。具體的電路接法如圖2.3:圖2.3 時(shí)鐘電路2.2.2 復(fù)位電路的選擇與設(shè)計(jì)根據(jù)應(yīng)用的要求,復(fù)位操作通常由上電復(fù)位和開關(guān)復(fù)位2種基本形式。本系統(tǒng)使用的復(fù)位電路是在基本復(fù)位電路的基礎(chǔ)上所改進(jìn)的一種混合方法,使其兩種形式巧妙地糅合在一起,即做到了上電復(fù)位,又可以在發(fā)生預(yù)料之外的問(wèn)題時(shí),隨時(shí)進(jìn)行開關(guān)復(fù)位單片機(jī)。具體的電路連接接法如圖2.4:圖2.4 復(fù)位電路單片機(jī)復(fù)位后的狀態(tài):?jiǎn)纹瑱C(jī)的復(fù)位操作使單片
12、機(jī)進(jìn)入初始化過(guò)程,其中包括使程序計(jì)數(shù)器PC0000H,P0P3FFH,SP07H,其他寄存器處于零。這表明程序從0000H地址單元開始執(zhí)行。單片機(jī)復(fù)位后不改變片內(nèi)RAM區(qū)中的內(nèi)容。2.3 發(fā)聲電路的選擇與設(shè)計(jì)報(bào)時(shí)器一端p1.0,一端接地,當(dāng)分顯示到達(dá)60,報(bào)時(shí)器報(bào)時(shí)。圖2.5 發(fā)聲電路2.4 按鍵電路的選擇與設(shè)計(jì)P2.6/A14,P2.7/A15,P3.0/RXD,P3.5/T1,P3.6/WR,P3.7/RD并聯(lián)接開關(guān)再接地。按ST按鍵計(jì)時(shí)開始;PA為復(fù)位按鍵,開始復(fù)位;CL為清零按鍵,全部清零,S為秒按鍵,按下秒加1;M為分按鍵,按下分加1;H為小時(shí)按鍵,按下小時(shí)加1圖2.6 按鍵電路2.
13、5 顯示電路的選擇與設(shè)計(jì)系統(tǒng)默認(rèn)的電源是5V,AT89C51也是5V,可以直接接入。第3章 系統(tǒng)軟件設(shè)計(jì)3.1 系統(tǒng)流程圖開始初始化秒加1NY+秒=60?分加1NY分=60?小時(shí)加1N小時(shí)=24?圖3.1 系統(tǒng)流程圖3.2 子程序的介紹3.2.1顯示子程序T0INT: MOV TH0,#03CH;定時(shí)中斷子程序。重裝定時(shí)常數(shù) MOV TL0,#0B0H ;TL0=0B0H MOV R4,#20 ;R4=20 DJNZ R4,T0INTR ;50msX20=1S,未滿20次,跳出中斷子程序 INC 26H ;1S,秒存儲(chǔ)單元內(nèi)數(shù)+1 INC R0 ;響鈴時(shí)間 MOV A,26H;A=26H CJ
14、NE A,#60,T0INTR ;未滿60S,跳出中斷。 MOV 26H,#0 ;滿60S,秒單元清零 INC 27H ;分+1 MOV A,27H;A=27H CJNE A,#60,T0INTR;比較立即數(shù)和A,不相等則轉(zhuǎn)移 MOV 27H,#0;27H=0 INC 28H;28H=28H+1 MOV A,28H;A=28H CJNE A,#24,T0INTR;比較立即數(shù)和A,不相等則轉(zhuǎn)移 MOV 28H,#0;28H=03.2.2 按鍵掃描程序kS: ACALL DISP;調(diào)用子程序DISP ACALL ALARM ;調(diào)用子程序ALARM JB SEC,KM ;秒調(diào)整按鍵 ACALL DI
15、SP;調(diào)用子程序DISP JNB SEC,$-2 ;直接尋址位為“0”,則轉(zhuǎn)移 AJMP SINC;絕對(duì)轉(zhuǎn)移kM: JB MIN,KH ;分調(diào)整按鍵 ACALL DISP;調(diào)用子程序DISP JNB MIN,$-2 ;直接尋址位為“0”,則轉(zhuǎn)移 AJMP MINC;絕對(duì)轉(zhuǎn)移KH: JB HOUR,K1 ;時(shí)調(diào)整按鍵 ACALL DISP;調(diào)用子程序DISP JNB HOUR,$-2 ;直接尋址位為“0”,則轉(zhuǎn)移 AJMP HINC ;絕對(duì)轉(zhuǎn)移第四章 軟件仿真4.1 Protues軟件的介紹Proteus軟件是英國(guó)Lab Center Electronics公司出版的EDA工具軟件它不僅具有其它
16、EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比較好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。一臺(tái)計(jì)算機(jī)、一套電子仿真軟件,在加上一本虛擬實(shí)驗(yàn)教程,就可相當(dāng)于一個(gè)設(shè)備先進(jìn)的實(shí)驗(yàn)室。以虛代實(shí)、以軟代硬,就建立一個(gè)完善的虛擬實(shí)驗(yàn)室。在計(jì)算機(jī)上學(xué)習(xí)電工基礎(chǔ),模擬電路、數(shù)字電路、單片機(jī)應(yīng)用系統(tǒng)等課程,并進(jìn)行電路設(shè)計(jì)、仿真、調(diào)試等?;静僮鞑襟E: 1打開PROTEUS 操作界面。2選擇“P”,從元件庫(kù)中提取需要的元器件(選中雙擊),選擇完點(diǎn)OK。 3在編輯區(qū)畫電路圖,修改元件參數(shù)。4進(jìn)行電路仿真
17、。 5保存文件。4.2 keil軟件的介紹Keil C51是美國(guó)Keil Software公司出品的51系列兼單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括c編譯器、宏匯編、鏈接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境(Vision)將這些部分組合在一起。如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。本次設(shè)計(jì)采用的 keil uvision4。它是2009年2月發(fā)布的,K
18、eil Vision4引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺(tái)監(jiān)視器,并提供了視覺(jué)上的表面對(duì)窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來(lái)開發(fā)應(yīng)用程序。4.3 仿真電路圖該電路圖是由AT89C51和時(shí)鐘電路,復(fù)位電路,按鍵電路,LED顯示,聲響電路組成。圖4.1仿真電路圖4.4 仿真結(jié)果與分析圖4.2開始電路圖當(dāng)摁下H鍵時(shí)顯示結(jié)果01-00-00,如下圖所示:圖4.3 時(shí)鐘顯示01-00-00并且摁下分鐘鍵,分鐘也會(huì)相應(yīng)加一,秒鐘也是如此。ST為開始按鍵,摁下后始終開始運(yùn)行,P鍵為復(fù)位鍵,CL鍵為清除鍵,摁下后時(shí)鐘顯示為
19、00-00-00。小 結(jié)本設(shè)計(jì)與論文用了近兩個(gè)星期的時(shí)間,系統(tǒng)設(shè)計(jì)以單片機(jī)AT89系列為核心的控制模塊,充分利用了所學(xué)知識(shí),單片機(jī)最小系統(tǒng),LED數(shù)碼管顯示模塊電路,以及信號(hào)的控制,從而實(shí)現(xiàn)了時(shí)分秒顯示和時(shí)間顯示調(diào)整,以及整點(diǎn)報(bào)時(shí)。然而在因?yàn)閷?duì)程序總在很多忙點(diǎn),因此產(chǎn)生了很多淺顯的錯(cuò)誤,導(dǎo)致仿真結(jié)果不能正確顯示,甚至直接失敗。后來(lái)通過(guò)老師和同學(xué)的指導(dǎo)以及查閱資料,解決了大部分問(wèn)題,最終完成設(shè)計(jì)。由于時(shí)間有限,還存在一些不足之處,在功能上的擴(kuò)展還沒(méi)實(shí)現(xiàn)。在做設(shè)計(jì)的過(guò)程中遇到了這樣或那樣的問(wèn)題,但通過(guò)老師和同學(xué)的幫助總的來(lái)說(shuō)還算順利。通過(guò)查詢有關(guān)方面的書籍和網(wǎng)頁(yè),增強(qiáng)了自已分析處理電路設(shè)計(jì)過(guò)程中的
20、問(wèn)題的能力。在畢業(yè)設(shè)計(jì)的這段時(shí)間我復(fù)習(xí)了很多知識(shí),對(duì)以前的數(shù)字電路又有了一定的新認(rèn)識(shí),在以后的學(xué)習(xí)生活過(guò)程中,我會(huì)更加的努力學(xué)習(xí)專業(yè)技能以及積極向上的生活態(tài)度。在此我要感謝我的小組組長(zhǎng),組長(zhǎng)給了我相對(duì)自由的空間,鍛煉了我獨(dú)立思考的能力樹立了對(duì)自己工作能力的信心,當(dāng)我需要幫助時(shí)組長(zhǎng)會(huì)耐心的幫我講解,使我的設(shè)計(jì)能夠順利完成。再次感謝在此次設(shè)計(jì)中給我很多幫助的指導(dǎo)老師和同學(xué)。參考文獻(xiàn)1胡輝,單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與訓(xùn)練,中國(guó)水利水電出版社,2004.9 155-1632曹巧媛,單片機(jī)原理及應(yīng)用,北京:電子工業(yè)出版社,1997.7 364-370 3趙秀珍,單永磊,單片微型計(jì)算機(jī)原理及其應(yīng)用,北京:中國(guó)水
21、利水電出版社,2001.8 546-5524張毅剛,修林成,胡振江,MCS-51單片機(jī)應(yīng)用設(shè)計(jì),哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990.8 256-235 5張洪潤(rùn),蘭清華,單片機(jī)應(yīng)用技術(shù)教程,北京:清華大學(xué)出版社,1997.11 375-386附錄A 電路圖附錄B 程序STRT EQU P2.6 ;引腳定義STP EQU P2.7 CLRR EQU P3.0SEC EQU P3.5MIN EQU P3.6 HOUR EQU P3.7 ORG 00H AJMP MAIN ORG 0BH AJMP T0INT ORG 1BH AJMP T1INT ORG 30H MAIN: MOV SP,#60
22、H MOV R4,#20 MOV TMOD,#11H MOV TH0,#03CH; 12M晶振時(shí)定時(shí)初值取#3CB0H MOV TL0,#0B0H MOV TH1,#0FEH MOV TL1,#0CH SETB EA SETB ET0 SETB ET1kS: ACALL DISP ACALL ALARM JB SEC,KM ;秒調(diào)整按鍵 ACALL DISP JNB SEC,$-2 AJMP SINCkM: JB MIN,KH ;分調(diào)整按鍵 ACALL DISP JNB MIN,$-2 AJMP MINCKH: JB HOUR,K1 ;時(shí)調(diào)整按鍵 ACALL DISP JNB HOUR,$-2
23、 AJMP HINC SINC: JB 7FH,SINC_A INC 26H ;秒調(diào)整 MOV A,26H CJNE A,#60,SINC0 MOV 26H,#0 AJMP SINC0SINC_A: INC 36H ;鬧秒調(diào)整 MOV A,36H CJNE A,#60,SINC0 MOV 36H,#0SINC0: AJMP KSMINC: JB 7FH,MINC_A INC 27H ;分調(diào)整 MOV A,27H CJNE A,#60,MINC0 MOV 27H,#0MINC_A:INC 37H ;鬧分調(diào)整 MOV A,37H CJNE A,#60,MINC0 MOV 37H,#0MINC0:A
24、JMP KMHINC: JB 7FH,HINC_A INC 28H ;時(shí)調(diào)整 MOV A,28H CJNE A,#24,HINC0 MOV 28H,#0HINC_A:INC 38H ;鬧時(shí)調(diào)整 MOV A,38H CJNE A,#24,HINC0 MOV 38H,#0HINC0: AJMP KH k1: ACALL DISP ;開始鍵 JB STRT,K2 ACALL DISP JNB STRT,$-2 AJMP STARTk2: JB STP,K3 ;暫停鍵 ACALL DISP JNB STP,STOP AJMP CL_ALK3: JB CLRR,KS0 ACALL DISP JNB CL
25、RR,CLEAR ;清零鍵 KS0: AJMP KSSTART: CPL TR0 ;開始/暫停 SETB 7DH ;7DH為開始鍵按下標(biāo)志,此作為允許鬧鈴標(biāo)志 AJMP K1STOP: CLR TR0 AJMP K2CL_AL: CPL 7FH ;7FH作時(shí)鐘和鬧鈴標(biāo)志位 AJMP K2CLEAR: CLR TR0 ;清零 MOV A,#0 MOV 26H,A MOV 27H,A MOV 28H,A MOV 36H,A MOV 37H,A MOV 38H,A CLR 7DH AJMP KSDISP: JB 7FH,DISP_A MOV 29H,26H ;秒送秒顯示緩存 MOV 2AH,27H
26、MOV 2BH,28H AJMP DISP1DISP_A:MOV 29H,36H MOV 2AH,37H MOV 2BH,38HDISP1: MOV A,29H MOV B,#10 DIV AB MOV 20H,B ;余數(shù)(秒個(gè)位數(shù)) MOV 21H,A ;商(秒十位數(shù)) MOV A,2AH MOV B,#10 DIV AB MOV 22H,B ;余數(shù)(分個(gè)位數(shù)) MOV 23H,A ;商(分十位數(shù)) MOV A,2BH MOV B,#10 DIV AB MOV 24H,B ;余數(shù)(時(shí)個(gè)位數(shù)) MOV 25H,A ;商(時(shí)十位數(shù)) MOV A,20H ;秒個(gè)位 ACALL SEG7 MOV P
27、0,A CLR P2.0 ACALL DLY SETB P2.0 MOV A,21H ;秒十位 ACALL SEG7 MOV P0,A CLR P2.1 ACALL DLY SETB P2.1 MOV A,22H ;分個(gè)位 ACALL SEG7 MOV P0,A CLR P2.2 ACALL DLY SETB P2.2 MOV A,23H ;分十位 ACALL SEG7 MOV P0,A CLR P2.3 ACALL DLY SETB P2.3 MOV A,24H ;時(shí)個(gè)位 ACALL SEG7 MOV P0,A CLR P2.4 ACALL DLY SETB P2.4 MOV A,25H ;
28、時(shí)十位 ACALL SEG7 MOV P0,A CLR P2.5 ACALL DLY SETB P2.5 CLR P1.1 ;顯示分隔符 MOV A,#40H MOV P0,A ACALL DLY SETB P1.1 CLR P1.2 ;顯示分隔符 MOV A,#40H MOV P0,A ACALL DLY SETB P1.2 RETALARM: JNB 7DH,RT ;開始鍵未按下跳出 MOV A,28H ;開機(jī)時(shí),時(shí)分秒都為0,跳出 JZ AL0M AJMP ALARM1AL0M: MOV A,27H JZ AL0S AJMP ALARM1AL0S: MOV A,26H JZ RT ALA
29、RM1:MOV A,28H ;比較小時(shí) CJNE A,38H,AL ;不等返回,相等,轉(zhuǎn)分鐘比較 MOV A,27H ;比較分鐘 CJNE A,37H,AL MOV A,26H ;比較秒 CJNE A,36H,AL AJMP ALARM2 ;轉(zhuǎn)鬧鈴AL: MOV A,28H ;整點(diǎn)提醒 JZ RT ;小時(shí)不是00,判分是不是00 MOV A,27H JNZ RT ;分不是00,跳出 MOV A,26H JNZ RT AJMP ALARM3 ;秒不為00,跳出。為00,整點(diǎn)提醒ALARM2: SETB TR1 ;鬧鈴3 S MOV R0,#0 AJMP RTALARM3: SETB TR1;整點(diǎn)
30、提醒1S MOV R0,#2RT:RETT0INT: MOV TH0,#03CH;定時(shí)中斷子程序。重裝定時(shí)常數(shù) MOV TL0,#0B0H MOV R4,#20 DJNZ R4,T0INTR ;50msX20=1S,未滿20次,跳出中斷子程序 INC 26H ;1S,秒存儲(chǔ)單元內(nèi)數(shù)+1 INC R0 ;響鈴時(shí)間 MOV A,26H CJNE A,#60,T0INTR ;未滿60S,跳出中斷。 MOV 26H,#0 ;滿60S,秒單元清零 INC 27H ;分+1 MOV A,27H CJNE A,#60,T0INTR MOV 27H,#0 INC 28H MOV A,28H CJNE A,#2
31、4,T0INTR MOV 28H,#0T0INTR: RETIT1INT:MOV TH1,#0FEH MOV TL1,#0CH CPL P1.0 CJNE R0,#3,T1RTI ;鬧鈴時(shí)間設(shè)為5秒 CLR TR1 ;關(guān)鬧鈴T1RTI:RETIDLY:MOV R7,#20 MOV R6,#25 DJNZ R6,$ DJNZ R7,$-4 RETSEG7: INC A MOVC A,A+PC RETDB 03FH ;0 共陰DB 006H ;1DB 05BH ;2DB 04FH ;3DB 066H ;4DB 06DH ;5DB 07DH ;6DB 007H ;7DB 07FH ;8DB 06FH ;9END
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案