版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上武漢大學(xué)電子信息學(xué)院電子系統(tǒng)綜合設(shè)計課程論文 基于51單片機(jī)的數(shù)字鐘設(shè)計 專 業(yè): 年 級: 作 者: 指導(dǎo)教師:2012年 6月 13 日專心-專注-專業(yè) 目 錄24.3蜂鳴器驅(qū)動電路55.3按鍵處理流程圖75.4 定時器中斷流程圖8 6.1.1調(diào)試軟件 6.1.2仿真軟件00012261 作品的背景與意義 近年來,隨著電子產(chǎn)品的發(fā)展,人們對數(shù)字時鐘的要求越來越高,本文針對人們的這一需求,設(shè)計了一種有單片機(jī)控制的多功能數(shù)字時鐘。該系統(tǒng)具有年、月、日、星期、時、分、秒設(shè)置及顯示、鬧鐘定時等功能。系統(tǒng)以 C51單片機(jī)為核心,主要進(jìn)行基于C51單片低功耗MCU的字符型數(shù)字
2、鐘及其系統(tǒng)的研究,可以通過它的時鐘信號進(jìn)行計時實現(xiàn)計時功能,將其時間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器顯示出來。通過鍵盤可以進(jìn)行定時、校時功能。輸出設(shè)備顯示器可以用液晶顯示技術(shù)和數(shù)碼管顯示技術(shù)。系統(tǒng)帶有數(shù)碼管顯示器,配合按鍵提供友好的用戶界面,操作簡單,同時具有定點報時功能,該數(shù)字鐘能長期、連續(xù)、可靠、穩(wěn)定的工作;同時還具有體積小、功耗低等特點,便于攜帶,使用方便。系統(tǒng)軟件設(shè)計包括單片機(jī)計算機(jī)兩部分的編程。計算機(jī)軟件編程主要實現(xiàn)參數(shù)設(shè)置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲。單片機(jī)軟件編程主要實現(xiàn)鍵盤、數(shù)碼管顯示、定點報時等各模塊的功能,采用匯編語言編程。鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大
3、的方便而且大大地擴(kuò)展了鐘表原先的報時功能。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實的意義。 2 功能指標(biāo)設(shè)計本設(shè)計準(zhǔn)備實現(xiàn)的功能:(1)顯示公歷日期功能(年、月、日、時、分、秒)。(2)可通過按鍵切換年、月、日及時、分、秒的顯示狀態(tài)。(3)可隨時調(diào)校年、月、日或時、分、秒。(5)可實現(xiàn)鬧鐘功能。3 作品方案設(shè)計3.1總體方案的選擇 基于51單片機(jī)的數(shù)字鐘設(shè)計單片機(jī)芯片作為控制系統(tǒng)的核心部件,它除了具備微機(jī)CPU的數(shù)值計算功能外,還具有靈活強(qiáng)大的控制功能,以便實時檢測系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實現(xiàn)自動控制。在本次設(shè)計中采用單片機(jī)技術(shù)來實現(xiàn)數(shù)字鐘的功能。方案的設(shè)計可以從以下幾個方面來確定。
4、在本次設(shè)計中采用AT89C51單片機(jī);顯示電路的設(shè)計,在這里采用數(shù)碼管顯示;校時和定時電路的設(shè)計;實時控制電路是時鐘電路的一個重要組成部分,采用的是一個時鐘芯片,單片機(jī)從中讀取數(shù)據(jù)送到顯示器上顯示,從而實現(xiàn)數(shù)字鐘的功能;還有一些其他控制電路如復(fù)位電路、時鐘電路等。通過這些控制電路的連接構(gòu)成了完整的電路。3.2控制方案比較程序設(shè)計內(nèi)單片機(jī)的程序設(shè)計有其自身的特點。在單片機(jī)系統(tǒng)中,硬件與軟件緊密結(jié)合,由于硬件電路的設(shè)計不具有通用性,所以必須根據(jù)具體的硬件電路來設(shè)計對應(yīng)的軟件,硬件設(shè)計的優(yōu)劣直接影響到軟件設(shè)計的難易,軟件設(shè)計的優(yōu)劣又直接影響到硬件的發(fā)揮。在很多時候,軟件可以替代硬件的功能,當(dāng)然,需要
5、付出額外占用CPU時間的代價。軟件程序的設(shè)計是根據(jù)硬件電路圖的連接和各個元器件的功能進(jìn)行設(shè)計。在編寫軟件時,可以按各個程序的功能將軟件細(xì)分為各個功能模塊,再通過主程序的調(diào)用來實現(xiàn)整個軟件系統(tǒng)。而一般編寫的程序都是根據(jù)事前所用的流程圖來編寫的,而且,流程圖中也包含了對設(shè)計所得結(jié)果的要求,因此,流程圖的設(shè)計直接影響到源程序的設(shè)計。 控制鍵盤采用獨立式按鍵,開機(jī)時,顯示12:00:00的時間開始計時;P0.0/AD0控制“秒”的調(diào)整,每按一次加1秒; P0.1/AD1控制“分”的調(diào)整,每按一次加1分;P0.2/AD2控制“時”的調(diào)整,每按一次加1個小時;定時器1中斷入口,產(chǎn)生秒基準(zhǔn)時間并實現(xiàn)時間日期
6、自增,定時器2中斷入口,由軟件控制蜂鳴器產(chǎn)生鬧鐘鈴聲。3.3顯示方案比較單片機(jī)控制段式LED數(shù)碼管顯示。碼管由7段LED組成,因此可以稱為七段數(shù)碼管。將這七個LED按一定規(guī)律點亮,就能夠顯示數(shù)字09,以及英文字母A、B、C、D、E、F。而現(xiàn)在的數(shù)碼管都有帶有小數(shù)點(DP),實際上數(shù)碼管就變成8段了。顯示二進(jìn)制、十進(jìn)制數(shù)、十六進(jìn)制數(shù),小數(shù)都不是問題。數(shù)碼管有共陽、共陰的區(qū)分。顧名思義,共陽數(shù)碼管公共陽極,即將8個數(shù)碼管正極連接在一起,負(fù)極又8個不同端口控制。共陰則與共陽相反。段選引腳用于驅(qū)動一位數(shù)碼管的八個段,即圖上的a、c、d、e、f、g和dp。根據(jù)不同的數(shù)字輸出對應(yīng)的電平,從而點亮一位數(shù)碼管
7、。位選用于選擇在某一時刻驅(qū)動哪一位數(shù)碼管,設(shè)計里面使用兩位數(shù)碼管,因此需要兩個引腳來控制這些位。在控制位選時候,將數(shù)碼管的位選引腳直接接到單片機(jī)的I/O口,是可行的。原因是,單片機(jī)的I/O負(fù)載能力不足以驅(qū)動數(shù)碼管,這時候,就需要外加上三極管作為電流放大使用。使用了PNP三極管,將發(fā)射極接到電源的+5V,基極串上一10K電阻接到單片機(jī)的位選I/O口,集電極就接到數(shù)碼管的位選端。3.4 公式定時時間 t=(-T0初值)*振蕩周期*12 (1.1)4 硬件設(shè)計4.1顯示模塊電路圖 圖4.1 AD9851連接電路 4.2 4X4矩陣鍵盤硬件原理圖按鈕未按下前,四個I/O口通過一個10K的電阻與VCC相
8、連,所以此時四個I/O口的輸入都為1即高電平;當(dāng)按鈕按下時,四個I/O口都接地,此時四個I/O口的輸入都為即低電平。圖4.2 4*4鍵盤4.3蜂鳴器驅(qū)動電路蜂鳴器工作電壓為+5V,將蜂鳴器的正極連接到電源+5V,負(fù)極連接到電源的GND,蜂鳴器就能發(fā)出聲響。單片機(jī)I/O的負(fù)載能力并不足以驅(qū)動蜂鳴器,為了解決這個問題,必需另需它法。蜂鳴器的典型驅(qū)動電路是使用極管做開關(guān)。5 軟件設(shè)計 程序開始5.1主程序流程圖 啟動定時器按鍵檢測時間顯示 結(jié)束圖5.1 主程序流程圖5.2顯示模塊流程圖 程序開始 秒十位計數(shù)顯示分個位計數(shù)顯示分十位計數(shù)顯示時個位計數(shù)顯示時十位計數(shù)顯示 結(jié)束開始5.3按鍵處理流程圖秒按
9、鍵按下? N秒加1 Y分按鍵按下? N Y分加1時按鍵按下? N Y時加1顯示時間結(jié)束開始5.4 定時器中斷流程圖1秒時間到? N Y秒單元加160秒時間到? N Y秒單元清零;分單元加160分鐘時間到? N 分單元清零,時單元加1 Y24小時到? N Y時單元清零時間顯示中斷返回6 系統(tǒng)測試6.1測試環(huán)境6.1.1調(diào)試軟件KEIL:KEIL C51標(biāo)準(zhǔn)C編譯器為微控制器的軟件開發(fā)供了C語言環(huán)境,同時保留了匯編代碼高效,快速的特點。C51編譯器的功能不斷增強(qiáng)。使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器
10、,實時操作系統(tǒng),項目管理器,調(diào)試器。uVision2 IDE可為它們提供單一而靈活的開發(fā)環(huán)境。一個單一的uVision2工程能夠產(chǎn)生一個或多個目標(biāo)程序。產(chǎn)生目標(biāo)程序的源文件構(gòu)成“組”。開發(fā)工具選項可以對應(yīng)目標(biāo),組或單個文件。同時uVision2包含一個器件數(shù)據(jù)庫(device database),可以自動設(shè)置匯編器、編譯器、連接定位器及調(diào)試器選項,來滿足用戶充分利用特定,微控制器的要求。此數(shù)據(jù)庫包含:片上存儲器和外圍設(shè)備的信息,擴(kuò)展數(shù)據(jù)指針(extra data pointer)或者加速器(math accelerator)的特性。uVision2還可以為片外存儲器產(chǎn)生必要的連接選項:確定起始
11、地址和規(guī)模。uVision2編輯器包含了所有用戶熟悉的特性,彩色語法顯像和文件辯識都對C源代碼進(jìn)行和優(yōu)化,也可以在編輯器內(nèi)調(diào)試程序,它能提供一種自然的調(diào)試環(huán)境,使你更快速地檢查和修改程序。另外KEIL C51編譯器在遵循ANSI標(biāo)準(zhǔn)的同時,為8051微控制器系列特別設(shè)計。因為語言上的擴(kuò)展能讓用戶使用應(yīng)用中的所有資源。6.1.2仿真軟件 PROTEUS: Proteus軟件是Labcenter Electronics公司的一款電路設(shè)計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設(shè)計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VS
12、M技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機(jī)實驗室。6.2測試步驟1.硬件調(diào)試,檢測硬件是否合格;2.默認(rèn)為走時模式,按24小時制分別為 “時時,分分.秒秒”。然后進(jìn)行走時調(diào)整;3.萬年歷模式,為 “年份,月份.日期”??梢赃M(jìn)行調(diào)整;4.鬧鐘模式,可以定時鬧鐘。6.3測試結(jié)果單片機(jī)數(shù)字鐘擁有時間模式,日歷模式,鬧鐘模式三種模式。6.4測試數(shù)據(jù)表6.1 功能數(shù)據(jù)測試電子鐘測試值/min實際值/min誤差
13、/%平均誤差/%100:00:59.950.050.09100:00:59.880.12100:01:00.100.10200:01:59.770.120.14200:02:00.210.11200:01:59.650.186.5 心得體會回顧起此次實驗設(shè)計,我感慨頗多,從一開始的茫然到思路漸漸清晰,從開始選題到最終定稿,從理論到實踐,在短短的五個星期的日子里,痛并快樂著,但是艱辛的付出是值得的。電子綜合設(shè)計課程作為一門開放性課程讓適應(yīng)了填鴨式教育的我們手足無措,但是老師的諄諄教誨和不厭其煩的耐心指導(dǎo)撥散了我們心中的迷霧,使我們有曲徑通幽,豁然開朗之感。從一開始的了解電路結(jié)構(gòu)到最后的軟硬件結(jié)合
14、實現(xiàn)設(shè)計功能,我們遇到了各種問題。這畢竟第一次做實驗設(shè)計,難免會遇到過各種各樣的問題。在困難中前行,我們受益匪淺。隊友之間的相互磨合讓我們學(xué)會了團(tuán)隊精神!差錯的出現(xiàn)考驗了我們的隨機(jī)應(yīng)變能力!實驗設(shè)計遇到的阻力讓我們明白了理論與實踐相結(jié)合的重要性!只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,從操作中鞏固理論,兩者有機(jī)結(jié)合,提高自己的實際動手能力和獨立思考的能力。同時在設(shè)計的過程中找出不足之處,加以改正不斷提升自己的水平。 通過此次實驗,在讓我們體會到了設(shè)計的艱辛的同時,更讓我體會到成功的喜悅和快樂.。這次電子設(shè)計實驗,雖然短暫但是讓我們得到多方面的提高:1.
15、 我們了解并掌握了單片機(jī)的基本應(yīng)用,學(xué)習(xí)了Keil軟件的用法,.2、提高了我們的邏輯思維能力,加強(qiáng)了實際操作能力。我們在邏輯電路的分析與設(shè)計上有了質(zhì)的飛躍。我們理解了各種芯片的功能及構(gòu)造,加深了對組合邏輯電路與時序邏輯電路的認(rèn)識,進(jìn)一步增進(jìn)了對一些常見邏輯器件的了解。3,查閱參考書的獨立思考的能力以及培養(yǎng)非常重要。我們在設(shè)計電路時,遇到很多不理解的東西,有的我們通過查閱參考書弄明白,有的通過網(wǎng)絡(luò)查到,但由于時間和資料有限我們更多的還是獨立思考。所以不斷的汲取知識是非常重要的。4、隊友之間的團(tuán)結(jié)合作也是非常重要的,眾人拾柴火焰高,我們?nèi)齻€人的力量加起來所有問題就能迎刃而解! 參考文獻(xiàn)1李朝青.單
16、片機(jī)原理與接口技術(shù)(第三版).北京:北京航空航天大學(xué)出版社,20052李 軍. 51系列單片機(jī)高級實例開發(fā)指南. 北京航空航天大學(xué)出版社3王毓銀數(shù)字電路邏輯設(shè)計M 高等教育出版社2004-2.4許偉敏程佩青.多功能電子數(shù)字鐘2009.5電子技術(shù)基礎(chǔ)實驗課程組.電子技術(shù)基礎(chǔ)實驗指導(dǎo)書.武漢大學(xué)電子信息學(xué)院.6李光飛. 單片機(jī)設(shè)計實例指導(dǎo).北京航空航天大學(xué)出版社.7劉華東. 單片機(jī)原理與應(yīng)用.北京電子工業(yè)出版社.附錄1 系統(tǒng)電路圖附錄2 系統(tǒng)軟件代碼/*/*/KEY EQU 0F8FFH ;按鍵地址LED_SEG EQU 0FAFFH ;液晶段數(shù)據(jù)LED_SEL EQU 0FBFFH ;液晶段片選
17、KH EQU 21H ;保存按鍵行值KK EQU 22H ;按鍵值地位KV EQU 23H ;保存按鍵列位KT EQU 24H ;臨時保存按鍵狀態(tài)HOU EQU 25H SEC EQU 26H MIN EQU 27HHB EQU 28H ;數(shù)據(jù)高位LB EQU 29H ;數(shù)據(jù)低位DATE_TIME EQU 2AH ;記錄時間、日期模式 ,3表示時間,4表示日期LP0 EQU 2BH ;定時器1循環(huán)次數(shù)LP1 EQU 2CH ;定時器2循環(huán)次數(shù)YEARH EQU 2DHYEARL EQU 2EHMON EQU 2FHDAY EQU 30HFLASH EQU 31H ;設(shè)置標(biāo)記變量FLASH_BI
18、TE EQU 32H ;設(shè)置位標(biāo)記變量FLASH_FIGURE EQU 33H ;設(shè)置位數(shù)值標(biāo)記變量SIGN EQU 34H ;閏年標(biāo)記BOOL EQU 35H ;是否按下LP3 EQU 36HLP4 EQU 37HBITE EQU 38HLP2 EQU 39HH_LB EQU 3AHH_HB EQU 3BH LP5 EQU 3CH ;鬧鐘個數(shù)LP6 EQU 4FHLP7 EQU 50HLP8 EQU 51HLP_H EQU 52HLP_L EQU 53HBP BIT P1.0 ;鬧鐘LED_1 BIT P1.1ON_OFF0 BIT 00HON_OFF1 BIT 01HON_OFF2 BIT
19、 02HON_OFF3 BIT 03HON_OFF4 BIT 04H BOOL_H BIT 05HBOOL_L BIT 06H/*/ORG 0000HLJMP MAINORG 000BH ;定時器1中斷入口,產(chǎn)生秒基準(zhǔn)時間并實現(xiàn)時間日期自增LJMP SERVEORG 001BH ;定時器2中斷入口,LJMP REDRAW/*/ORG 1000HMAIN:MOV SP,#60HMOV BOOL,#0HMOV LP0,#14HMOV LP1,#250MOV TMOD,#11HMOV TH0,#3CHMOV TL0,#0B0H;MOV TH1,#03CHMOV TL1,#0B0HMOV LP7,#2
20、 ;定時器1循環(huán)次數(shù)MOV LP8,#50 ;MOV SIGN,#0FFHMOV FLASH,#0MOV YEARH,#20MOV YEARL,#12MOV MON,#2MOV DAY,#29 MOV HOU,#23MOV SEC,#53MOVMIN,#59MOV R4,#0DFHMOV DATE_TIME,#3H MOV FLASH_BITE,#0FFHMOV LP5,#0MOV LP_H,#70MOV LP_L,#70SETB BPSETB ON_OFF0SETB ON_OFF1SETB ON_OFF2SETB ON_OFF3SETB ON_OFF4SETB BOOL_HSETB BOOL
21、_LMOV 3DH,#0MOV 45H,#0MOV 4AH,#0MOV 3FH,#1MOV 47H,#1MOV 4CH,#1/*定時器初始化*/SETB ET0 ;允許T0中斷SETB ET1 ;禁止T1中斷SETB EA ;CPU開放中斷CLR TR1 ;關(guān)閉定時器T1SETB TR0 ;開啟定時器T0/*/WHILE: LCALL LP KEY_NUM: ;按鍵處理 MOV DPTR,#KEYMOV A,#0HMOVX DPTR,AMOV A,FLASHJZ SETTR0MOV A,DATE_TIMECJNE A,#4,CLRTR0SETTR0: SETB TR0JMP JUDGE CLR
22、TR0:CLR TR0JUDGE: ;掃描是否有鍵按下MOV DPTR,#KEYMOVX A,DPTRANL A,#0FHMOV R1,#0EFHMOV R2,#4HMOV KT,ACJNE A,#0FH,FINDMOV BOOL,#0JMP WHILE FIND: ;查詢按下的鍵MOV A,R1RR AMOV R1,AMOV DPTR,#KEYMOVX DPTR,ANOPNOPMOV DPTR,#KEYMOVX A,DPTRANL A,#0FHMOV KV,AXRL A,KTJZ PRO0DJNZ R2,FIND PRO0: ;計算鍵值MOV A,BOOLJNZ RETURN3MOV BOO
23、L,#1HMOV KH,R2DEC KHMOV A,KVCPL AANL A,#0FHMOV B,#2HDIV ABCJNE A,#4H,PRO1MOV KV,#3HJMP PRO2 PRO1:MOV KV,APRO2:MOV A,KHMOV B,#4HMUL ABADD A,KVMOV KK,AKEYPRO: ;鍵功能處理MOV A,KKCJNE A,#0AH,KEYPRO1 KEYPRO1:JC DIGPROKEYTBL: ;功能鍵處理 MOV DPTR,#JMPTBLCLR C SUBB A,#0AHRL A JMP A+DPTRJMPTBL:;功能鍵入口地址表(前四行)AJMP CAL
24、AJMP TIMAJMP SETTINGAJMP YESAJMP ALARMAJMP ON_OFF_ALMDIGPRO: ;數(shù)字鍵處理 MOV FLASH_FIGURE,A MOV A,FLASH JZ RETURN3 LCALL PRO_CHANGE JMP SETTING1 RETURN3: LJMP RETURN1CAL:MOV P1,#0FFH;日期模式MOV A,DATE_TIMECJNE A,#4,CLASETJMP RETURN1CLASET:MOV DATE_TIME,#4HJMP YESTIM:MOV P1,#0FFH;時間模式MOV LP5,#0MOV A,DATE_TIM
25、ECJNE A,#3,TIMSETJMP RETURN1TIMSET:MOV DATE_TIME,#3HJMP YESSETTING: ;設(shè)置SETTING1:;判斷當(dāng)前模式MOV A,DATE_TIMECJNE A,#4H,SETTIMESETDATE:MOV A,FLASHCJNE A,#8,INCFJMP YESINCF: INC FLASH MOV B,FLASH MOV A,#0FEHLOOP4:RR ADJNZ FLASH,LOOP4MOV FLASH,BMOV FLASH_BITE,AJMP RETURN1SETTIME:MOV A,FLASHCJNE A,#6,INCF2JMP
26、 YESINCF2: INC FLASHMOV B,FLASHMOV A,#0BFHLOOP5:RR ADJNZ FLASH,LOOP5MOV FLASH,BMOV FLASH_BITE,AJMP RETURN1RETURN4:JMP RETURN1YES: ;確認(rèn)鍵MOV FLASH,#0HMOV FLASH_BITE,#0FFHJMP RETURN1ALARM:MOV DATE_TIME,#3MOV A,LP5CJNE A,#5,NORMALMOV LP5,#0NORMAL:INC LP5MOV A,LP5MOV 44H,AMOV A,#0FEHRLP:RR ADJNZ 44H,RLPMO
27、V P1,ANEX1:MOV A,LP5DEC AMOV DPTR,#ALM_TBLRL AJMP A+DPTR ALM_TBL:AJMP L0AJMP L1AJMP L2AJMP L3AJMP L4L0:MOV C,ON_OFF0MOV LED_1,CAJMP YESL1:MOV C,ON_OFF1MOV LED_1,CAJMP YESL2:MOV C,ON_OFF2MOV LED_1,CAJMP YESL3:MOV C,ON_OFF3MOV LED_1,CAJMP YESL4:MOV C,ON_OFF4MOV LED_1,CAJMP YESON_OFF_ALM:MOV A,LP5CJNE
28、A,#0,NEXJMP RETURN1NEX:DEC AMOV DPTR,#ON_OFF_TBLRL AJMP A+DPTRON_OFF_TBL:AJMP O0AJMP O1AJMP O2AJMP O3AJMP O4O0:CPL ON_OFF0AJMP NEX1O1:CPL ON_OFF1AJMP NEX1O2:CPL ON_OFF2AJMP NEX1O3:CPL ON_OFF3AJMP NEX1O4:CPL ON_OFF4AJMP NEX1 RETURN1: LJMP WHILESERVE: ;定時器1中斷服務(wù)子程序PUSH ACCPUSH PSWPUSH DPHPUSH DPLMOV TH
29、0,#03CHMOV TL0,#0B0HDJNZ LP0,SERVE2JMP SERVE3SERVE2:JMP SERVE1SERVE3:MOV LP0,#014HMOV LP6,#5ALM_LP: MOV A ,LP6DEC ARL AMOV DPTR,#A_TBLJMP A+DPTRA_TBL:AJMP AL1AJMP AL2AJMP AL3AJMP AL4AJMP AL5AL1:JB ON_OFF0,C_ALMJMP FIND_OUTAL2:JB ON_OFF1,C_ALMJMP FIND_OUTAL3:JB ON_OFF2,C_ALMJMP FIND_OUTAL4:JB ON_OFF3
30、,C_ALMJMP FIND_OUTAL5:JB ON_OFF4,C_ALMJMP FIND_OUTFIND_OUT:MOV DPTR,#ALM_HMOV A,LP6MOVC A,A+DPTRMOV R0,AMOV A,R0CJNE A,HOU,C_ALMMOV DPTR,#ALM_MMOV A,LP6MOVC A,A+DPTRMOV R0,AMOV A,R0CJNE A,MIN,C_ALMMOV DPTR,#ALM_SMOV A,LP6MOVC A,A+DPTRMOV R0,AMOV A,R0CJNE A,SEC,C_ALMSETB TR1CLR BP C_ALM:DJNZ LP6,ALM_
31、LP INC SECMOV A,SECCJNE A,#3CH,SERVE1MOV SEC,#0HINC MINMOV A,MINCJNE A,#3CH,SERVE1MOV MIN,#0HINC HOUMOV A,HOUCJNE A,#18H,SERVE1MOV HOU,#0HINC DAY MOV A,MON ;當(dāng)月最大天數(shù)判斷DEC AMOV DPTR,#DAY_NUMMOVC A,A+DPTRMOV 44H,AINC 44HMOV A,MONCJNE A,#2,PROLEAP1MOV A,SIGNCJNE A,#1,PROLEAP1INC 44H PROLEAP1:MOV A,DAYCJN
32、E A,44H,SERVE1MOV DAY,#1HINC MONMOV A,MON ;月處理CJNE A,#13,SERVE1MOV MON,#1HINC YEARLMOV A, YEARL ;年處理CJNE A,#99,SERVE1MOV YEARL,#0HINC YEARH SERVE1:POP DPLPOP DPHPOP PSWPOP ACCRETI LIGHT: ;按參數(shù)點亮數(shù)碼管MOV A,#0HMOV DPTR,#LED_SEGMOVX DPTR,A MOV A,R4XRL A,FLASH_BITEJNZ L_HJB BOOL_H,PRO_LP_HL_H:MOV A,R4MOV D
33、PTR,#LED_SELMOVX DPTR,AMOV A,HBMOV DPTR,#STR_NUMMOVC A,A+DPTRMOV DPTR,#LED_SEGMOVX DPTR,ALCALL DELAY_2MSMOV A,R4XRL A,FLASH_BITEJNZ PRO_LPRO_LP_H:MOV A,LP_HJZ PRO_BOOL_HDEC LP_HJMP PRO_LPRO_BOOL_H: CPL BOOL_HMOV LP_H,#70PRO_L:MOV A,#0HMOV DPTR,#LED_SEGMOVX DPTR,A MOV A,R4RR AMOV R4,AXRL A,FLASH_BITE
34、JNZ L_LJB BOOL_L,PRO_LP_LL_L:MOV A,R4MOV DPTR,#LED_SELMOVX DPTR,AMOV A,LBMOV DPTR,#STR_NUMMOVC A,A+DPTRMOV DPTR,#LED_SEGADD A,#80HCJNE R5,#4,TRAP0SUBB A,#80HJMP TRAPTRAP0:CJNE R5,#1,TRAPSUBB A,#80HTRAP:MOVX DPTR,A LCALL DELAY_2MSMOV A,R4XRL A,FLASH_BITEJNZ RETURNXPRO_LP_L:MOV A,LP_LJZ PRO_BOOL_LDEC
35、LP_LJMP RETURNXPRO_BOOL_L: CPL BOOL_LMOV LP_L,#70RETURNX:RETREDRAW:;定時器1中斷服務(wù)子程序 PUSH ACCPUSH PSWPUSH DPHPUSH DPLMOV TH1,#03CHMOV TL1,#0B0HMOV A,LP8JNZ RE1MOV LP8,#50CLR TR1SETB BPJMP RERE1:DJNZ LP7,REDEC LP8MOV LP7,#2CPL BP RE:POP DPLPOP DPH POP PSWPOP ACCRETILP:;顯示子程序 LCALL PROLEAPMOV R5,DATE_TIME
36、CJNE R5,#4H,TIMEDATE:MOV R4,#7FHDATE1:MOV A,R5XRL A,#4HJZ PROYHMOV A,R5 XRL A,#3H JZ PROYL MOV A,R5 XRL A,#2H JZPROM MOV A,R5 XRL A,#1H JZ PRODPROYH:LCALL PRO_DATE_YH JMP DATE2PROYL:LCALL PRO_DATE_YL JMP DATE2PROM:LCALL PRO_DATE_M JMP DATE2PROD:LCALL PRO_DATE_DDATE2:LCALL LIGHTMOV A,R4RR AMOV R4,ADJ
37、NZ R5,DATE1JMP RETURNTIME:MOV R4,#0DFHTIME1:MOV A,R5 XRL A,#3H JZ PROT1 MOV A,R5 XRL A,#2H JZPROT2 MOV A,R5 XRL A,#1H JZ PROT3PROT1:LCALL PRO_TIME_HJMP TIME2PROT2:LCALL PRO_TIME_MJMP TIME2PROT3:LCALL PRO_TIME_STIME2:LCALL LIGHTMOV A,R4RR AMOV R4,ADJNZ R5,TIME1RETURN:RETPRO_DATE_YH:MOV A,YEARHLCALL P
38、RORETPRO_DATE_YL:MOV A,YEARLLCALL PRORETPRO_DATE_M:MOV A,MONJNZ PRO_MINC MONPRO_M:LCALL PROMOV A,HBCJNE A,#0,MO1RETMO1:CJNE A,#1,MO2MO5:MOV A,LBCJNE A,#3,MO3MO3:JNC MO4 RETMO4:MOV LB,#2JMP CALCUMO2:MOV HB,#1JMP MO5CALCU:MOV A,#10ADD A,LBMOV MON,ARETPRO_DATE_D:MOV A,DAYJNZ PRO_DINC DAYPRO_D:MOV DPTR,
39、#DAY_NUMMOV A,MONDEC AMOVC A,A+DPTRMOV 44H,AMOV A,MONCJNE A,#2,PROLEAP2MOV A,SIGNCJNE A,#1,PROLEAP2INC 44H PROLEAP2: MOV A,44HMOV R0,ACJNE A,DAY,DXDX:JNC D2LCALL PROMOV 40H,HBMOV 41H,LBMOV A,DAYLCALL PROMOV A,HBCJNE A,40H,D1D1: JC D2 CJNE A,40H,D3 MOV A,LB CJNE A,41H,D0 D0: JC D2 D3: MOV DAY,R0 D2: MOV A,DAYLCALL PRO RETPRO_TIME_H:MOV DPTR,#ALM_HMOV A,LP5MOVC A,A+DPTRMOV R0,AMOV A,R0LCALL PROMOV A,HBCJNE
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年融資協(xié)議違約金支付規(guī)定2篇
- 二零二五年智能廚房設(shè)備供應(yīng)與工地食堂承包合同3篇
- 2025年消防系統(tǒng)安全評估與整改服務(wù)合同3篇
- 二零二五年度工業(yè)地產(chǎn)長期使用協(xié)議2篇
- 設(shè)計公司股權(quán)轉(zhuǎn)讓合同2025版:股權(quán)轉(zhuǎn)讓后的公司管理權(quán)變更2篇
- 二零二五版租賃房屋租賃期限變更合同范本2篇
- 2025年度輪胎制造企業(yè)節(jié)能減排技術(shù)改造合同4篇
- 二零二五版XX土地買賣居間合同環(huán)保責(zé)任范本3篇
- 二零二五年度煤礦掘進(jìn)工程地質(zhì)勘察與監(jiān)理合同樣本4篇
- 二零二五年度美的中央空調(diào)定制化設(shè)計銷售與施工合同4篇
- 公路工程施工現(xiàn)場安全檢查手冊
- 公司組織架構(gòu)圖(可編輯模版)
- 1汽輪機(jī)跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 禮品(禮金)上交登記臺賬
- 北師大版七年級數(shù)學(xué)上冊教案(全冊完整版)教學(xué)設(shè)計含教學(xué)反思
- 2023高中物理步步高大一輪 第五章 第1講 萬有引力定律及應(yīng)用
- 青少年軟件編程(Scratch)練習(xí)題及答案
- 浙江省公務(wù)員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內(nèi)科學(xué)
- 全統(tǒng)定額工程量計算規(guī)則1994
評論
0/150
提交評論