基于89C51單片機數字鐘設計說明_第1頁
基于89C51單片機數字鐘設計說明_第2頁
基于89C51單片機數字鐘設計說明_第3頁
基于89C51單片機數字鐘設計說明_第4頁
基于89C51單片機數字鐘設計說明_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

基于89C51單片機數字鐘設計說明.doc 免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、. . . . 大學電子信息學院電子系統(tǒng)綜合設計課程論文基于89C51單片機的數字鐘設計專 業(yè):年 級:作 者:指導教師:2012 年 6 月 5 日10 / 22目 錄1 作品的背景與意義12 功能指標設計13 作品方案設計13.1總體方案的選擇13.1.1 單片機的型號選擇 13.1.2 數碼管選擇與顯示原理 23.1.3 整體功能實現23.2主控模塊89C5123.3顯示方案比較24 硬件設計34.1設計思路3 4.1.1 電源電路部分3 4.1.2 顯示部分3 4.1.3 鍵盤部分34.2 設計容44.3 設計要求44.4 設備與工作環(huán)境44.5 硬件結構與原理圖4 4.5.1 功能4

2、 4.5.2 系統(tǒng)板上硬件連線.55 軟件設計65.1主程序流程圖65.2顯示模塊流程圖76 系統(tǒng)測試76.1測試環(huán)境86.2測試步驟86.3測試結論8 6.2.1 測試數字鐘的基本功能8 6.2.2 測試數字鐘的鬧鐘功能8 6.2.3 測試數字鐘的萬年歷功能87 實驗總結8參考文獻9附錄1 系統(tǒng)電路圖10附錄2 系統(tǒng)軟件代碼10附錄3 系統(tǒng)器件清單101 作品的背景與意義數字鐘開始迅速發(fā)展起來?,F代的電子時鐘是基于單片機的一種計時工具,采用延時程序產生一定的時間中斷,用于一秒的定義,通過計數方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四小時小時清零。從而達到計時的功能,是人民日常生活不

3、可缺少的工具。數字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。在這里我們將已學過的比較零散的數字電路的知識有機的、系統(tǒng)的聯系起來用于實際,來培養(yǎng)我們的綜合分析和設計電路,寫程序、調試電路的能力。應用單片機控制技術,設計出以89c51單片機為核心的電子時鐘,電子時鐘能夠顯示時、分、秒顯示時間的功能,還可以進行時和分的校對,而且其片選的靈活性強。2 功能指標設計 應用單片機控制技術,設計出以89C51單片機為核心的電子時鐘,電子時鐘能夠顯示時、分、秒顯示時間的功能,

4、并通過控制鍵來實現時間的調整以與進入鬧鈴模式、萬年歷模式的轉換。3 作品方案設計3.1總體方案的選擇3.1.1單片機的型號選擇通過對多種單片機性能的分析,最終認為89C51是最理想的電子時鐘開發(fā)芯片。89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的89C51是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程閃爍存儲器和1000寫/擦循環(huán),數據保留時間為10年等特點,是最好的選擇

5、。3.1.2數碼管選擇與顯示原理 數碼管是一種把多個LED顯示段集成在一起的顯示設備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負極,又稱為負極。通常的數碼管又分為8段,即8個LED顯示段,這是為工程應用方便如設計的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數點位段。而多位數碼管,除某一位的公共端會連接在一起,不同位的數碼管的一樣端也會連接在一起。即,所有的A段都會連在一起,其它的段也是如此,這是實際最常用的用法。數碼管

6、顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示就是數碼管的8段輸入與其公共端電平一直有效。動態(tài)顯示的原理是,各個數碼管的一樣段連接在一起,共同占用8 位段引管線;每位數碼管的陽極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個數碼管公共端加有效信號,在此同時給出該數碼管加有效的數據信號,當全段掃描速度大于視覺暫留速度時,顯示就會清晰顯示出來。3.1.3 整體功能實現在6塊LED數碼管上能實現數字時鐘的時、分、秒顯示,按控制鍵實現時鐘顯示與調整功能。按不同的控制鍵可進入5個鬧鐘設置模式并進行開啟與關閉。同時,按不同的控制鍵可進入萬年歷設置模式。3.2主控模塊89C5189C51是一個8位單

7、片機,片ROM全部采用FLASH ROM技術,晶振時鐘為12MHz。89C51是標準的40引腳雙列直插式集成電路芯片,有4個八位的并行雙向I/O端口,分別記作P0、P1、P2、P3。第31引腳需要接高電位使單片機選用部程序存儲器;第40腳為電源端VCC,接+5V電源,第20引腳為接地端VSS,通常在VCC和VSS引腳之間接0.1F高頻濾波電容。3.3顯示方案比較電子時鐘是基于單片機的一種計時工具,采用延時程序產生一定的時間中斷,用于一秒的定義,通過計數方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四小時小時清零,從而達到計時的功能。數字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED

8、顯示器代替指針顯示進而顯示時間,減小了計時誤差,故選用此種顯示方案。4 硬件設計4.1 設計思路 電子時鐘主要由顯示模塊、校時模塊和時鐘運算模塊三大部分組成。其中校時模塊和時鐘運算模塊要對時、分、秒的數值進行操作,并且秒計算到60時,要自己清零并向分進1;分計算到60時,要自己清零并向時進1;時計算到24時,要清零。這樣,才能循環(huán)記時。4.1.1 電源電路部分在各種電子設備中,直流穩(wěn)壓電源是必不可少的組成部分,它是電子設備唯一能量來源,它的設計思路是根據我們以前學過的模電電子技術,要想得到我們所要的+6V輸出電壓,就需將交流220V的電壓經過變壓器、整流電路、濾波電路和穩(wěn)壓電路四個部分。4.1

9、.2顯示部分顯示部分是整個電子時鐘最為重要的部分,它分為時間的顯示和溫度的顯示兩部分,共需要8位LED顯示器。采用動態(tài)顯示方式,所謂動態(tài)顯示方式是時間(或溫度)數字在LED上一個一個逐個顯示,它是通過位選端控制在哪個LED上顯示數字,由于這些LED數字顯示之間的時間非常的短,使的人眼看來它們是一起顯示時間數字的,并且動態(tài)顯示方式所用的接口少,節(jié)省了CPU的管腳。由于端口的問題以與動態(tài)顯示方式的優(yōu)越性,在此設計的連接方式上采用共陰級接法。顯示器LED有段選和位選兩個端口,首先說段選端,它由LED八個端口構成,通過對這八個端口輸入的不同的二進制數據使得它的時間顯示也不同,從而可以得到我們所要的時間

10、顯示。4.1.3 鍵盤部分它是整個系統(tǒng)中最簡單的部分,根據功能要求,本系統(tǒng)共需四個按鍵:功能移位鍵、功能加鍵、功能減鍵、定鬧鍵。并采用獨立式按鍵。4.2 設計容用89C51單片機CPU與接口電路設計并實現顯示時間的實時時鐘。4.3 設計要求(1)在KEIL C51上編寫軟件完成設計。(2) 程序的首地址應使目標機可以直接運行,即從0000H開始。在主程序的開始部分必須設置一個合適的棧底。程序放置的地址須連續(xù)且靠前,不要在中間留下大量的空間地址,以使目標機可以使用較少的硬件資源。(3)6位LED數碼管從左到右分別顯示時. 分. 秒(各占用2位),采用24小時標準計時制。開始計時時為000000,

11、到235959后變成000000。(4) 在XD12鍵盤上選定3個鍵分別作為小時、分、秒的調校鍵。每按一次鍵,對應的顯示值便加1。分、秒加到59后變?yōu)?0;小時加到23后再按鍵即變?yōu)?0。再調校時均不向上一單位進位(例如分加到59后變?yōu)?0;但小時不發(fā)生改變)。(5)軟件設計必須使用89C51片定時器,采用定時中斷結構,不得使用軟件延時法。(6)上機調試程序。(7)寫出設計報告。4.4 設備與工作環(huán)境(1) 硬件:計算機一臺、ZY15MCU12BD型綜合單片機實驗箱一臺、通訊電纜一根。(2) 軟件:Windows操作系統(tǒng)、Keil C51軟件。 4.5 硬件結構與原理電路圖4.5.1 功能 1

12、) 開機時,顯示12:00:00的時間開始計時;2) P0.0/AD0控制“秒”的調整,每按一次加1秒;3) P0.1/AD1控制“分”的調整,每按一次加1分;4) P0.2/AD2控制“時”的調整,每按一次加1個小時;4.5.2 系統(tǒng)板上硬件連線 (1)把“單片機系統(tǒng)”區(qū)域中的P1.0P1.7端口用8芯排線連接到“動態(tài)數碼顯示”區(qū)域中的AH端口上; (2)把“單片機系統(tǒng):區(qū)域中的P3.0P3.7端口用8芯排線連接到“動態(tài)數碼顯示”區(qū)域中的S1S8端口上; (3)把“單片機系統(tǒng)”區(qū)域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分別用導線連接到“獨立式鍵盤”區(qū)域中的SP3、SP2

13、、SP1端口上; 5 軟件設計 在主程序的開始定義了一組固定單元用來存儲計數的分、秒、時的存儲單元。在主程序中,對不同的按鍵進行掃描,實現秒表,時間調整。5.1主程序流程圖 如圖1所示。開始T0中斷入口通過查表方式顯示數據數碼位選加1位選值=8NY位選數值=0秒計數加1秒計數=500NY秒計數=0SECOND加1中斷返回 圖1 總體流程圖5.2顯示模塊流程圖 如圖2所示。YYNNN子程序入口SECOND=60SECOND=0,并MINUTE加1MINUTE=60MINUTE=0,并HOUR加1顯示數據處理中斷返回HOUR=24Y圖2 子程序流程圖6 系統(tǒng)測試6.1測試環(huán)境(1) 硬件:計算機一

14、臺、單片機實驗板一塊、通訊電纜一根。(2) 軟件:Windows操作系統(tǒng)、Keil C51軟件。6.2測試步驟6.2.1 測試數字鐘的基本功能K1鍵,設置現在時間功能,按一下K1,進入時間設置,此時按K2為小時設置,按一次數值加1,K3為分鐘設置,設置完成后按K4進入正常走時。6.2.2 測試數字鐘的鬧鐘功能 K2鍵設置鬧鈴1,此時按K2為小時設置,按一次數值加1,K3為分鐘設置,(若不開啟此鬧鈴則直接按K1,以后五個同樣)設置完成后按K4進入設置鬧鈴2;同前一樣設置,按K4進入鬧鈴3,同前一樣設置,再按K4進入鬧鈴4,同前一樣設置,再按K4進入鬧鈴5,同前一樣設置,最后按K4結束設置;正常走

15、時過程中,按K4鍵關閉所有鬧鈴;鬧鈴過程中按K4鍵關閉鬧鈴。6.2.3 測試數字鐘的萬年歷功能 K3鍵進入萬年歷設置,矩陣鍵盤的S1進行年份加1,S2鍵年份減1,S3鍵月份加1,S4鍵月份減1。6.3測試結論經過多次測試,本設計能夠很準確的走時,并能夠通過硬件對時鐘進行時間調整,并具有鬧鈴和萬年歷功能。7 實驗總結 通過這次的設計使我們認識到自己對單片機方面的知識知道的太少了,對于書本上的很多知識還不能靈活運用,有很多我們需要掌握的知識在等著我們去學習,我們會在以后的學習生活中彌補我所缺少的知識。本次的設計使我們從中學到了一些很重要的東西,那就是如何從理論到實踐的轉化,怎樣將我們所學到的知識運

16、用到我以后的工作中去。在大學的課堂的學習只是在給我們灌輸專業(yè)知識,而我們應把所學的用到我們現實的生活中去,此次的電子時鐘設計給我們奠定了一個實踐基礎,我們會在以后的學習、生活中磨練自己,使自己適應于以后的競爭,并且在查找資料的過程中學到了許多,同時在協(xié)作過程中增進同學間的友誼,這次電子綜合實驗讓我們收獲頗豐。參考文獻:1 朝青單片機原理與接口技術(第三版) M 航空航天大學 2005-102 欣等電子設計從零開始M 清華大學2005-103 夏路易,石宗義電路原理圖與電路設計教程Protel 99SEM 希望電子20024 閻石數字電子技術基礎 M 高等教育2006-55 邱關源電路M 高等教

17、育2003-26 單片機開發(fā) 人民郵電7 單片機課程設計 實例指導 光才 樓然笛 航空航天大學 2004附錄1 系統(tǒng)電路圖附錄2 系統(tǒng)軟件代碼LED1EQU40HLED2EQU41HLED3EQU42HLED4EQU43HLED5EQU44HLED6EQU45HLED7EQU46HLED8EQU47HHOUREQU48HMINEQU49HSECEQU4AHC1_MINEQU4BHC1_HOUREQU4CHC2_MINEQU4DHC2_HOUREQU4EHC3_MINEQU4FHC3_HOUREQU50HC4_MINEQU51HC4_HOUREQU52HC5_MINEQU53HC5_HOUREQ

18、U54HDATEEQU63HMONTHEQU64HYEAREQU65HCENTREQU66HT1_TIMEEQU67HD_CTREQU68HWEEKEQU69HD_LED1EQU70HD_LED2EQU71HD_LED3EQU72HD_LED4EQU73HD_LED5EQU74HD_LED6EQU75HD_LED7EQU76HD_LED8EQU77HT0_COUNTEREQUR7/設置定時1秒定時器需溢出的次數ORG0000HAJMPMAINORG000BHJMPT0_INTERRUPTORG001BHJMPT1_INTERRUPTORG0030HMAIN:MOVR0,#48HINITIAL:

19、MOVR0,#00HINCR0CJNER0,#68H,INITIALMOVCENTR,#15HMOVYEAR,#0CHMOVMONTH,#03HMOVDATE,#03HMOVHOUR,#06HMOVMIN,#00HMOVC_STATUS,#00HCLRT_SET_SWICLRD_SHOW_SWIMOVTMOD,#11HSETBEASETBET1SETBET0SETBTR1SETBTR0CLRR_B_FCHECK:ACALLM_K_CHECKACALLRING_DEAL/SETBD_SHOW_SWI/ACALLWF_SHOW/ACALLSHOW_WEEK /JMPCHECK/萬年歷分隔符顯示WF

20、_SHOW:PUSHACCD_SHOW_SWI,FETAL_SHOWJNBT_SET_SWI,WF_RETMOVA,L_R_BUTTONCJNEA,#08H,DSSDSS:JCWF_RETFETAL_SHOW:/CLRTR1MOVDPTR,#LED_SELMOVA,#0EBHMOVXDPTR,AMOVDPTR,#LED_SEGMOVA,#80HMOVXDPTR,ALCALLDELAY_100USMOVA,#00HMOVXDPTR,A/SETBTR1/*MOVLED3,#10HMOVLED5,#10HMOVD_TUBE_CTR,#0EBHMOVD_STA_POSI,#LED1LCALLD_TUB

21、E_SHOW*/WF_RET:POPACCRET/通過LED燈顯示星期SHOW_WEEK:MOVHEX,YEARLCALLHEXTOBCDMOVNH,BCDMOVHEX,MONTHLCALLHEXTOBCDMOVYF,BCD/LCALLSUB_WNLMOVA,BJNZSTAMOVA,#07HSTA:MOVP1,#0FFHMOVR1,AMOVA,#0FEHDEAL1:ANLP1,ARLADJNZR1,DEAL1 RET/鬧鐘 R_B_FBIT7CH/蜂鳴器開關標志位R_MINDATA55H/記錄當前鬧鐘熄滅時間RING_DEAL:PUSHACCR_B_F,B_DEALMOVA,#01HMOVR1

22、,#C1_MINR_STA:PUSHACCANLA,C_STATUSJZR_CLOSEMOVA,R1CJNEA,MIN,R_CLOSEMOVR_MIN,AINCR1MOVA,R1CJNEA,HOUR,H_NCLRP1.0SETBR_B_FINCR_MINMOVA,R_MININCR1CJNEA,#3CH,NEXT_RINGMOVR_MIN,#00HJMPNEXT_RINGR_CLOSE:INCR1H_N:INCR1NEXT_RING:POPACCRLACJNEA,#20H,R_STAJNBR_B_F,R_RETB_DEAL:P3.2,R_WAITSETBP1.0JMPR_RETR_WAIT:M

23、OVA,R_MINCJNEA,MIN,R_RETSETBP1.0CLRR_B_FCLRP1.7R_RET:POPACCRET/數碼管顯示函數:D_TUBE_CTRDATA56H/設置數碼管哪幾位顯示D_STA_POSIDATA57H/數碼管最低位顯示數字所在地址LED_SEGEQU0FAFFHLED_SELEQU0FBFFHD_TUBE_SHOW:/顯示從D_STA_POSI開始的8個地址單元里所存數據,每一位是否顯示由D_TUBE_CTR所存數據控制/保存變量:PUSHDPHPUSHDPLPUSHACCMOVA,R0PUSHACCMOVA,R2PUSHACC/MOVA,#0FEHMOVR0,

24、D_STA_POSIMOVR2,#00HLOOP1:PUSHACCORLA,D_TUBE_CTRMOVDPTR,#LED_SELMOVXDPTR,AMOVA,R0MOVDPTR,#2000HMOVCA,A+DPTRMOVDPTR,#LED_SEGMOVXDPTR,AACALLDELAY_100USMOVA,#00HMOVXDPTR,APOPACCRLAINCR0INCR2CJNER2,#08H,LOOP1/恢復變量:POPACCMOVR2,APOPACCMOVR0,APOPACCPOPDPLPOPDPHRET/按鍵檢測函數:有鍵按下,將鍵值存入M_KEY_VALUE;沒有鍵按下,存入#0FFH

25、M_K_VALUEDATA58H/存放鍵值C_CHOOSEDATA59H/選擇某個鬧鐘進行設置,存#00H表示未選中任何鬧鐘K_STOREDATA5AHL_R_BUTTONDATA5BH/記錄左/右移動按鈕按下次數C_STATUSDATA5CH/用其中前5位分別記錄5個鬧鐘開/關的狀態(tài)K_SCANDATA0F8FFH/矩正鍵盤行控制,列讀取/位變量:T_SET_SWIBIT7FH/存放時間設置開關的狀態(tài)D_SHOW_SWIBIT7EH/存放萬年歷顯示開關的狀態(tài)/M_K_CHECK:MOVDPTR,#K_SCANMOVA,#0FEHMOVR3,#00HSTA_CHECK:PUSHACCMOVXD

26、PTR,AMOVXA,DPTRANLA,#0FHCJNEA,#0FH,K_DOWNAJMPNEXT_COLK_DOWN:LCALLDELAY_20MSMOVK_STORE,AMOVXA,DPTRANLA,#0FHCJNEA,K_STORE,NEXT_COL/抖動,掃描下一行LCALLK_D_DEALK_J:CJNEA,#0AH,SITU1/判斷時間設置開關CPLT_SET_SWIMOVC_CHOOSE,#00HCLRD_SHOW_SWIMOVL_R_BUTTON,#00HJMPWAITSITU1:CJNEA,#0BH,SITU2/判斷鬧鐘選擇開關LCALLS1_DEALJMPWAITSITU2

27、:CJNEA,#0DH,SITU3/判斷萬年歷顯示開關SETBD_SHOW_SWICLRT_SET_SWIMOVC_CHOOSE,#00HJMPWAITSITU3:CJNEA,#0EH,SITU4/判斷是否為鬧鐘開、關設置開關LCALLS3_DEALJMPWAIT SITU4:CJNEA,#0CH,SITU5/左移按鈕LCALLS4_DEALJMPWAITSITU5:CJNEA,#0FH,SITU6 /右移按鈕LCALLS5_DEALJMPWAITSITU6:JNBT_SET_SWI,C_CHECK/數字鍵LCALLS6_T_DEALJMPWAITC_CHECK:MOVA,C_CHOOSEJZ

28、WAITLCALLS6_C_DEAL/JMPWAITWAIT:MOVXA,DPTRANLA,#0FHCJNEA,K_STORE,NEXT_COLSJMPWAITNEXT_COL:CLRD_SHOW_SWIPOPACCRLAINCR3CJNER3,#04H,STA_CHECKRETURN:RET/計算按鍵鍵值,存于M_K_VALUEK_D_DEAL:CPLAANLA,#0FHMOVM_K_VALUE,#00HROW:CJNEA,#01H, RRIGHTSJMPCAL_K_VALUERRIGHT:RRAINCM_K_VALUESJMPROWCAL_K_VALUE:MOVA,R3MOVB,#04HM

29、ULABADDA,M_K_VALUEMOVM_K_VALUE,ARET/處理鬧鐘選擇開關按下S1_DEAL:CLRT_SET_SWICLRD_SHOW_SWIINCC_CHOOSEMOVL_R_BUTTON,#00HMOVA,C_CHOOSECJNEA,#06H,S1_RETMOVC_CHOOSE,#00HS1_RET:RET/處理鬧鐘開、關設置開關按下S3_DEAL:MOVA,C_CHOOSEJZS3_RETMOVR4,AMOVA,#80HGET_S:RLADJNZR4,GET_SXRLC_STATUS,AS3_RET:RET/處理左移按鈕按下S4_DEAL:JNBT_SET_SWI,S4_

30、CINCL_R_BUTTONMOVA,L_R_BUTTONCJNEA,#02H,S4_JFINCL_R_BUTTONRETS4_JF:CJNEA,#05H,S4_STINCL_R_BUTTONRET/*S4_JT:CJNEA,#0AH,S4_TTINCL_R_BUTTONRETS4_TT:CJNEA,#0DH,S4_STINCL_R_BUTTONRET*/S4_ST:CJNEA,#10H,S4_RETMOVL_R_BUTTON,#00HRETS4_C:MOVA,C_CHOOSEJZS4_RETINCL_R_BUTTONMOVA,L_R_BUTTONCJNEA,#02H,S4_JF1INCL_R

31、_BUTTONRETS4_JF1:CJNEA,#05H,S4_RETMOVL_R_BUTTON,#00HS4_RET:RET/右移按鈕按下處理S5_DEAL:JNBT_SET_SWI,S5_CDECL_R_BUTTONMOVA,L_R_BUTTONCJNEA,#02H,S5_JFDECL_R_BUTTONRETS5_JF:CJNEA,#05H,S5_JZDECL_R_BUTTONRET/*S5_JT:CJNEA,#0AH,S5_TTDECL_R_BUTTONRETS5_TT:CJNEA,#0DH,S5_JZDECL_R_BUTTONRET*/S5_JZ:CJNEA,#0FFH,S5_RETMO

32、VL_R_BUTTON,#0FHRETS5_C:MOVA,C_CHOOSEJZS5_RETDECL_R_BUTTONMOVA,L_R_BUTTONCJNEA,#02H,S5_JZ1DECL_R_BUTTONRETS5_JZ1:CJNEA,#0FFH,S5_RETMOVL_R_BUTTON,#04HS5_RET:RET/數字鍵按下處理/時間設置S6_T_DEAL:MOVR0,L_R_BUTTONCJNER0,#08H,SET_DATESET_DATE:CY,SET_TIMEMOVA,#LED1ADDA,L_R_BUTTONCLRCYSUBBA,#08HMOVR0,AMOVR0,M_K_VALUE

33、MOVA,LED2MOVB,#0AHMULABADDA,LED1/*CJNEA,#20H,SET_DAYSET_DAY1:MOVA,#1FHSJMPO_DAYSET_DAY:JNBCY,SET_DAY1O_DAY:*/MOVDATE,AMOVA,LED4MOVB,#0AHMULABADDA,LED3/*CLRCYSUBBA,#0BH*/CJNEA,#0DH,SET_MONSET_MON1:MOVA,#0CHSJMPO_MONSET_MON:JNBCY,SET_MON1O_MON:MOVMONTH,AMOVA,LED6MOVB,#0AHMULABADDA,LED5/*CLRCYSUBBA,#0B

34、H*/MOVYEAR,AMOVA,LED8MOVB,#0AHMULABADDA,LED7INCAMOVCENTR,A/*MOVHEX,YEARLCALLHEXTOBCDMOVNH,BCDMOVHEX,MONTHLCALLHEXTOBCDMOVYF,BCD */LCALLSUB_WNLCJNEA,DATE,S_D_NS_D_N:JNCS_D_RMOVDATE,AS_D_R:RETSET_TIME: MOVA,#LED1ADDA,L_R_BUTTONMOVR0,AMOVR0,M_K_VALUEMOVA,LED2MOVB,#0AHMULABADDA,LED1CJNEA,#3CH,SET_SECSET

35、_SEC1:MOVA,#00HSJMPO_SECSET_SEC:JNBCY,SET_SEC1O_SEC:MOVSEC,AMOVA,LED5MOVB,#0AHMULABADDA,LED4CJNEA,#3CH,SET_MINSET_MIN1:MOVA,#00HSJMPO_MINSET_MIN:JNBCY,SET_MIN1O_MIN:MOVMIN,AMOVA,LED8MOVB,#0AHMULABADDA,LED7CJNEA,#18H,SET_HOURSET_HOUR1:MOVA,#00HSJMPO_HOURSET_HOUR:JNBCY,SET_HOUR1O_HOUR:MOVHOUR,ARET/鬧鐘設

36、置:S6_C_DEAL:MOVA,#LED1ADDA,L_R_BUTTONMOVR0,AMOVR0,M_K_VALUEMOVA,C_CHOOSEDECAMOVB,#02HMULABADDA,#C1_MINMOVR0,AMOVA,LED2MOVB,#0AHMULABADDA,LED1MOVR0,AMOVA,LED5MOVB,#0AHMULABADDA,LED4CJNEA,#18H,C_H_SC_H_S:JCC_NSMOVA,#00HC_NS:INCR0MOVR0,ARETT0_INTERRUPT:MOVTH0,#3CHMOVTL0,#0B2HCLRTF0PUSHACCMOVA,R0PUSHACC

37、INCR7CJNER7,#14H,RETT0IMOVR7,#00HINCSECMOVA,SECCJNEA,#3CH,RETT0IMOVSEC,#00HINCMINMOVA,MINCJNEA,#3CH,RETT0IMOVMIN,#00HINCHOURMOVA,HOURCJNEA,#18H,RETT0IMOVHOUR,#00HINCDATE/MOVA,DATELCALLSUB_WNLINCACJNEA,DATE,RETT0IMOVDATE,#01HINCMONTHMOVA,MONTHCJNEA,#0DH,RETT0IMOVMONTH,#01HINCYEARMOVA,YEARCJNEA,#64H,R

38、ETT0IMOVYEAR,#00HINCCENTRMOVA,CENTRCJNEA,#64H,RETT0IMOVCENTR,#00HRETT0I:POPACCMOVR0,APOPACCRETILDBIT7DH/閃爍標志位T1_INTERRUPT:MOVTH1,#0ECH/#76H/MOVTL1,#79H/#3CH/CLRTF1PUSHBPUSHACCMOVA,R0PUSHACCMOVA,R1PUSHACCORLP1,#0FEHJNBD_SHOW_SWI,T_S_CHECK/判斷萬年歷顯示開關是否打開LCALLD_S_DEALJMPT1RETIT_S_CHECK:JNBT_SET_SWI,C_S_

39、CHECK/判斷時間設置開關是否打開LCALLT_S_DEALJMPT1RETIC_S_CHECK:/鬧鐘設置開關是否打開MOVA,C_CHOOSEJZGENERALLCALLC_S_DEALJMPT1RETIGENERAL: /常規(guī)顯示LCALLG_SHOWT1RETI:/MOVD_STA_POSI,#LED1LCALLD_TUBE_SHOW/ACALLWF_SHOWPOPACCMOVR1,APOPACCMOVR0,APOPACCPOPBRETI/萬年歷顯示:D_S_DEAL:MOVA,DATEMOVB,#0AHDIVABMOVLED1,BMOVLED2,AMOVA,MONTHMOVB,#0

40、AHDIVABMOVLED4,AMOVLED3,B/*MOVA,BADDA,#0CHMOVLED3,A*/MOVA,YEARMOVB,#0AHDIVABMOVLED6,AMOVLED5,B/*MOVA,BADDA,#0CHMOVLED5,A*/MOVA,CENTRDECAMOVB,#0AHDIVABMOVLED7,BMOVLED8,ALCALLLEDTODLEDMOVD_STA_POSI,#D_LED1MOVD_TUBE_CTR,#00HRET/時間設置模式下顯示T_S_DEAL:CLRTR0MOVA,L_R_BUTTONCJNEA,#08H,WNL_SHOWWNL_SHOW: /顯示萬年歷設

41、置JCTIME_SHOWMOVA,DATEMOVB,#0AHDIVABMOVLED1,BMOVLED2,AMOVA,MONTHMOVB,#0AHDIVABMOVLED4,AMOVLED3,B/*MOVA,BADDA,#0BHMOVLED3,A*/MOVA,YEARMOVB,#0AHDIVABMOVLED6,AMOVLED5,B/*MOVA,BADDA,#0BHMOVLED5,A*/MOVA,CENTRDECAMOVB,#0AHDIVABMOVLED7,BMOVLED8,ALCALLLEDTODLEDMOVD_STA_POSI,#D_LED1JMPT_S_FLASHTIME_SHOW:/顯示時間設置MOVA,SECMOVB,#0AHDIVABMOVLED1,BMOVLED2,AMOVLED3,#0AHMOVA,MINMOVB,#0AHDIVABMOVLED4,BMOVLED5,AMOVLED6,#0AHMOVA,HOURMOVB,#0AHDIVABMOVLED7,BMOVLED8,AMOVD_STA_POSI,#LED1T_S_FLASH: /設置閃爍

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論