(精品論文)基于51單片機電子萬年歷畢業(yè)論文_第1頁
(精品論文)基于51單片機電子萬年歷畢業(yè)論文_第2頁
(精品論文)基于51單片機電子萬年歷畢業(yè)論文_第3頁
(精品論文)基于51單片機電子萬年歷畢業(yè)論文_第4頁
(精品論文)基于51單片機電子萬年歷畢業(yè)論文_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于51單片機電子萬年歷畢業(yè)論文摘 要:電子萬年歷是一種非常廣泛日常計時工具,對現(xiàn)代社會越來越流行。它可以對年、月、日、周日、時、分、秒進(jìn)行計時,還具有閏年補償?shù)榷喾N功能,而且DS1302的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時顯示年、月、日、周日、時、分、秒和溫度等信息,還具有時間校準(zhǔn)等功能。該電路采用AT89S52單片機作為核心,功耗小,能在3V的低壓工作,電壓可選用35V電壓供電。本設(shè)計是基于51系列的單片機進(jìn)行的電子萬年歷設(shè)計,可以顯示年月日時分秒及周信息,具有可調(diào)整日期和時間功能。在設(shè)計的同時對單片機的理論基礎(chǔ)和外圍擴(kuò)展知識進(jìn)行了比較全面準(zhǔn)備。在硬件與軟件設(shè)計時,沒有良好的基礎(chǔ)知識和實踐經(jīng)驗會受到很大限制,每項功能實現(xiàn)時需要那種硬件,程序該如何編寫,算法如何實現(xiàn)等,沒有一定的基礎(chǔ)就不可能很好的實現(xiàn)。在編寫程序過程中發(fā)現(xiàn)以現(xiàn)有的相關(guān)知識要獨自完成編寫任務(wù)困難重重,在老師和同學(xué)的幫助下才完成了程序部分的編寫。萬年歷的設(shè)計過程在硬件與軟件方面進(jìn)行同步設(shè)計。硬件部分主要由AT89C52單片機,LED顯示電路,以及調(diào)時按鍵電路等組成。在單片機的選擇上本人使用了AT89C52單片機,該單片機適合于許多較為復(fù)雜控制應(yīng)用場合。顯示器使用2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。7SEG-MPX8-CA是一種八個共陽二極管顯示器,7SEG-MPX4-CA是一種四個共陽二極管顯示器。為了能更輕松的控制這三片顯示器,本人使用了3片74HC164來驅(qū)動。74HC164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。軟件方面主要包括日歷程序、時間調(diào)整程序,公歷轉(zhuǎn)陰歷程序,顯示程序等。程序采用匯編語言編寫,以便更簡單地實現(xiàn)調(diào)整時間及陰歷顯示功能。所有程序編寫完成后,在wave軟件中進(jìn)行調(diào)試,確定沒有問題后,在Proteus軟件中嵌入單片機內(nèi)進(jìn)行仿真。最后總在老師同學(xué)的幫助以及自己的努力下完成了此次電子萬年歷的設(shè)計。關(guān)鍵詞:時鐘電鐘;DS1302;DS18B20;動態(tài)掃描;單片機 目錄一、設(shè)計要求與方案論證 41.1 設(shè)計要求 41.2 系統(tǒng)基本方案選擇和論證 41.2.1單片機芯片的選擇方案和論證 41.2.2 顯示模塊選擇方案和論證 41.2.3 時鐘芯片的選擇方案和論證 4二.系統(tǒng)的硬件設(shè)計與實現(xiàn)52.1 電路設(shè)計框圖 52.2 系統(tǒng)硬件概述 52.3 主要單元電路的設(shè)計 62.3.1單片機主控制模塊的設(shè)計 62.3.2時鐘電路模塊的設(shè)計 62.3.3電路原理及說明 72.3 4顯示模塊的設(shè)計 8三、系統(tǒng)的軟件設(shè)計 93.1程序流程框圖 93.2 子程序的設(shè)計 93.2.1讀、寫DS1302子程序 10五、作品總結(jié)12六、致謝詞12參考文獻(xiàn)13附錄一:系統(tǒng)電路圖14附錄二:系統(tǒng)程序清單15附錄三:系統(tǒng)使用說明書40一、設(shè)計要求與方案論證1.1設(shè)計要求:()基本要求 具有年、月、日、星期、時、分、秒等功能; 萬年歷具有閏月識別顯示功能; 具備年、月、日、星期、時、分、秒校準(zhǔn)功能;( 2 ) 創(chuàng)新要求 萬年歷具有陰歷顯示功能; 具有測量室內(nèi)溫度功能;1.2 系統(tǒng)基本方案選擇和論證1.2.1單片機芯片的選擇方案和論證:方案一: 采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,但是運用于電路設(shè)計中時由于不具備ISP在線編程技術(shù), 當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。方案二: 采用AT89S52,片內(nèi)ROM全都采用Flash ROM;能以3V的超底壓工作;同時也與MCS-51系列單片機完全該芯片內(nèi)部存儲器為8KB ROM 存儲空間,同樣具有89C51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞。所以選擇采用AT89S52作為主控制系統(tǒng).1.2.2 顯示模塊選擇方案和論證:方案一: 采用LED液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價格昂貴,需要的接口線多,所以在此設(shè)計中不采用LED液晶顯示屏.方案二: 采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示.方案三:采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格適中,對于顯示數(shù)字最合適,而且采用動態(tài)掃描法與單片機連接時,占用的單片機口線少。所以采用了LED數(shù)碼管作為顯示。1.2.3時鐘芯片的選擇方案和論證:方案一: 直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大。所以不采用此方案。方案二: 采用DS1302時鐘芯片實現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補償?shù)哪赀M(jìn)行計數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),2.5V時耗電小于300nA.1.3 電路設(shè)計最終方案決定綜上各方案所述,對此次作品的方案選定: 采用AT89S52作為主控制系統(tǒng); DS1302提供時鐘;數(shù)字式溫度傳感器;LED數(shù)碼管動態(tài)掃描作為顯示。二.系統(tǒng)的硬件設(shè)計與實現(xiàn)2.1 電路設(shè)計框圖LED數(shù)碼管動態(tài)掃描顯示模塊AT89S52主控制模 塊鍵盤模塊 DS1302時鐘模塊2.2 系統(tǒng)硬件概述本電路是由AT89S52單片機為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31*8的用于臨時性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時、分、秒,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能;溫度的采集由DS18B20構(gòu)成;顯示部份由個數(shù)碼管,74ls138、74ls47譯碼器構(gòu)成。使用動態(tài)掃描顯示方式對數(shù)字的顯示。2.3 主要單元電路的設(shè)計2.3.1單片機主控制模塊的設(shè)計 AT89S52單片機為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3, MCS-51單片機共有4個8位的I/O口(P0、P1、P2、P3),每一條I/O線都能獨立地作輸出或輸入。單片機的最小系統(tǒng)如下圖所示,18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端. 如圖-1 所示 圖-1 主控制系統(tǒng) 2.3.2時鐘電路模塊的設(shè)計圖-2示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.KHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RSTS置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動行時,在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。 圖-2 DS1302的引腳圖2.3.3電路原理及說明(1) 時鐘芯片DS1302的工作原理: DS1302在每次進(jìn)行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如下圖4所示。圖5為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對DS1302進(jìn)行讀寫數(shù)據(jù)。對于位6,若對程序進(jìn)行讀/寫時RAM=1,對時間進(jìn)行讀/寫時,CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時,該位為1;該位為0則表示進(jìn)行的是寫操作??刂谱止?jié)總是從最低位開始輸入/輸出的。表6為DS1302的日歷、時間寄存器內(nèi)容:“CH”是時鐘暫停標(biāo)志位,當(dāng)該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時,時鐘開始運行?!癢P”是寫保護(hù)位,在任何的對時鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為1時,寫保護(hù)位防止對任一寄存器的寫操作。(2) DS1302的控制字節(jié)DS1302的控制字如表-1所示??刂谱止?jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出 RAM RD 1 A4 A3 A2 A1 A0 / CK /WR 表-1 DS1302的控制字格式(3) 數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。如下圖-4所示 圖-4 DS1302讀/寫時序圖(4) DS1302的寄存器DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表-2。 表-2 DS1302的日歷、時間寄存器 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。 2.3.4顯示模塊的設(shè)計如圖5所示,采用動態(tài)掃描顯示,由個數(shù)碼管,3-8譯碼器74LS138接1K限流電阻,再接8550三極管接到共陽數(shù)碼管的CoM端作為選通位碼,每位選擇相應(yīng)的列。74ls47接240限流電阻,再接共行的LED數(shù)碼管的斷碼。圖-5 LED動態(tài)掃描顯示三、系統(tǒng)的軟件設(shè)計3.1程序流程框圖開始初始化讀、寫日期、時間和溫度分離日期時間溫度顯示值顯示子程序農(nóng)歷自動更新子程序日期、時間修改子程序閏月子程返回定時鬧鈴子程序 圖-A 主程序流程圖 圖-B計算陽歷程序流程圖 圖-C 時間調(diào)整程序流程圖3.2 子程序的設(shè)計3.2.1 讀、寫DS1302子程序28;寫1302程序WRITE: CLR SCLK NOP SETB RST NOP MOV A,32H MOV R4,#8WRITE1: RRC A ;送地址給1302 NOP NOP CLR SCLK NOP NOP NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4,WRITE1 CLR SCLK NOP MOV A,31H MOV R4,#8WRITE2: RRC A NOP ;送數(shù)據(jù)給1302 CLR SCLK NOP NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4,WRITE2 CLR RST RET;讀1302程序READ: CLR SCLK NOP NOP SETB RST NOP MOV A,32H MOV R4,#8READ1: RRC A ;送地址給1302 NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP NOP CLR SCLK NOP NOP DJNZ R4,READ1 MOV R4,#8READ2: CLR SCLK NOP ;從1302中讀出數(shù)據(jù) NOP NOP MOV C,IO NOP NOP NOP NOP NOP RRC A NOP NOP NOP NOP SETB SCLK NOP DJNZ R4,READ2 MOV 31H,A CLR RST RET五、作品總結(jié)在整個設(shè)計過程中,發(fā)揮團(tuán)隊精神,分工合作,充分發(fā)揮人的主觀能動性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識。較好的完成了作品。達(dá)到了預(yù)期的目的,在最初的設(shè)計中,發(fā)揮“三個臭皮匠,頂個諸葛亮”的作用。相互學(xué)習(xí)、相互討論、研究。完了最初的設(shè)想。在電路焊接時雖然沒什么大問題,但從中也知道了焊接在整個作品中的重要性,電路工程量大,不能心急,一個個慢慢來不能急于求成。反而達(dá)到事半功倍的效果。對電路的設(shè)計、布局要先有一個好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時遇到了很多的問題,經(jīng)過靜下心來思考,和同組員的討論,理清了思路,反而得心應(yīng)手。在此次設(shè)計中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都在有耐心。此次比賽中學(xué)到了很多很多東西,這是最重要的??傊?,參加電子競賽我們的能力得到了全方位的提高。致謝詞感謝學(xué)院給我們提供了一個展現(xiàn)自己的舞臺,給我們一次難得煅煉的機會,使得我們的動手能力和專業(yè)技能都有了很大的提高。在做作品的日子里得到了劉老師的悉心指導(dǎo),在此向我們的指導(dǎo)教師致以誠摯的謝意。感謝提供相關(guān)技術(shù)幫助的老師和同學(xué),你們的支持和鼓勵使我們對這次的作品完成有了信心和動力,也給了我們很多無私的幫助和支持,我們在此深表謝意。 姓名:龔澤汗參考文獻(xiàn)1 劉勇 編 數(shù)字電路 電子工業(yè)出版社 20042 陳正振 編 電子電路設(shè)計與制作 廣西交通職業(yè)技術(shù)學(xué)院信息工程系 20073 楊子文 編 單片機原理及應(yīng)用 西安電子科技大學(xué)出版社 20064 王法能 編 單片機原理及應(yīng)用 科學(xué)出版社 20042010年5月20日附錄一:系統(tǒng)電路圖附錄二:系統(tǒng)程序清單CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 SCLK EQU P3.2 IO EQU P3.3 RST EQU P3.4 year DATA 66H month DATA 65H week DATA 64H day DATA 63H hour DATA 62H mintue DATA 61H second DATA 60H ORG 0000H LJMP START ORG 001BH LJMP INTT1START: ;初值 LCALL ZJ SETB EA MOV SCON,#00H ; 串行輸出,方式0 MOV TMOD,#10H ;計數(shù)器1,方式1 MOV TL1,#00H MOV TH1,#00H MOV 32H,#8EH MOV 31H,#00H ;允許寫1302 LCALL WRITE MOV 32H,#90H MOV 31H,#0A6H ;1302充電,充電電流1.1MA LCALL WRITE ;主程序MAIN1: MOV 32H,#8DH ;讀出年 LCALL READ MOV year,31H MOV 32H,#8BH ;讀出星期 LCALL READ MOV week,31H MOV 32H,#89H ;讀出月 LCALL READ MOV month,31H MOV 32H,#87H ;讀出日 LCALL READ MOV day,31H MOV 32H,#85H ;讀出小時 LCALL READ MOV hour,31H MOV 32H,#83H ;讀出分鐘 LCALL READ MOV mintue,31H MOV 32H,#81H ;讀出秒 LCALL READ MOV second,31H ;分離緩存 MOV R0,year ;年分離,送顯示緩存 LCALL DIVIDE MOV 7BH,R1 MOV 4BH,R1 MOV 7CH,R2 MOV 4CH,R2 MOV 78H,week MOV 48H,week MOV R0,month ;月分離,送顯示緩存 LCALL DIVIDE MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2 MOV R0,day ;日分離,送顯示緩存 LCALL DIVIDE MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2 MOV R0,hour ;小時分離,送顯示緩存 LCALL DIVIDE MOV 74H,R1 MOV 44H,R1 MOV 75H,R2 MOV 45H,R2 MOV R0,mintue ;分鐘分離,送顯示緩存 LCALL DIVIDE MOV 72H,R1 MOV 42H,R1 MOV 73H,R2 MOV 43H,R2 MOV R0,second ;秒分離,送顯示緩存 LCALL DIVIDE MOV 70H,R1 MOV 40H,R1 MOV 71H,R2 MOV 41H,R2 CLR EA LCALL TOUTOU SETB EA LCALL DISPLAY LCALL GENGXIAN ;更新農(nóng)歷程序 JNB P0.1,SETG111 JNB F0,SSS setb P0.4 ;非閏月,則p0.4清零,指示燈亮 LJMP MAIN1SETG111: LJMP SETGSSS: clr P0.4 ;閏月,則p0.4置位,指示燈不亮 LJMP MAIN1; 溫度TOUTOU: LCALL CHUSHI LCALL RDTEMP MOV A,TEMPL ANL A,#11110000B MOV TEMPL,A MOV A,TEMPH ANL A,#00000111B ORL A,TEMPL SWAP A MOV 25H,A MOV A,25H MOV B,#64H DIV AB MOV A,B MOV B,#0AH DIV AB SWAP A ORL A,B MOV 10H,A RETCHUSHI: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#4EH LCALL WRITE111 MOV A,#CONFIG12 LCALL WRITE111 RETRDTEMP: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#44H LCALL WRITE111 LCALL DL1MS LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#0BEH LCALL WRITE111 LCALL ERAD111 MOV TEMPL,A LCALL ERAD111 MOV TEMPH,A RETRESET:LA: SETB DAT MOV 52H,#200LB: CLR DAT DJNZ 52H,LB SETB DAT MOV 52H,#30LC: DJNZ 52H,LC CLR C ORL C,DAT JC LB MOV 58H,#80LD: ORL C,DAT JC LP DJNZ 58H,LD SJMP LALP: MOV 52H,#250LF: DJNZ 52H,LF RETWRITE111: MOV 53H,#8W51HA: SETB DAT MOV 54H,#8 RRC A CLR DATW52HA: DJNZ 54H,W52HA MOV DAT,C MOV 54H,#30W53HA: DJNZ 54H,W53HA DJNZ 53H,W51HA SETB DAT RETERAD111: CLR EA MOV 58H,#8RD1A: CLR DAT MOV 54H,#6 NOP SETB DATRD2A: DJNZ 54H,RD2A MOV C,DAT RRC A MOV 55H,#30RD3A: DJNZ 55H,RD3A DJNZ 58H,RD1A SETB DAT RET;公歷設(shè)置程序SETG : SETB TR1 SETB ET1 MOV 32H,#8EH MOV 31H,#00H ;允許寫1302 LCALL WRITE MOV 32H,#80H MOV 31H,#80H ;1302停止振蕩 LCALL WRITEGWAIT: ; LCALL DISPLAY JNB P0.1,GWAITSETG1: LCALL DISPLAY JNB P0.1,SETG2 JNB P0.2,GADDYEAR JNB P0.3,JIANYEAR AJMP SETG1GADDYEAR: MOV R7,66H ;年加一 LCALL ADD1 MOV 66H,A CJNE A,#51H,GADDYEAR1 MOV 66H,#00H AJMP GADDYEAR1JIANYEAR: MOV R7,66H ;年減一 LCALL JIAN1 MOV 66H,A CJNE A,#00H,GADDYEAR1 MOV 66H,#51HGADDYEAR1: MOV 32H,#8CH ;年值送人1302 MOV 31H,66H LCALL WRITE MOV R0,66H LCALL DIVIDE ;年分離送顯示緩存 MOV 4BH,R1 MOV 7BH,R1 MOV 4CH,R2 MOV 7CH,R2WAITT1: ; LCALL DISPLAY JNB P0.2,WAITT1 JNB P0.3,WAITT1 AJMP SETG1SETG2: SETB 0AH ;調(diào)月時閃標(biāo)志GWAIT2: LCALL DISPLAY JNB P0.1,GWAIT2SETG3: LCALL DISPLAY JNB P0.1,SETG4 JNB P0.2,GADDMONTH JNB P0.3,JIANMONTH AJMP SETG3GADDMONTH: MOV R7,65H ;月加一 LCALL ADD1 MOV 65H,A CJNE A,#13H,GADDMONTH1 MOV 65H,#01H AJMP GADDMONTH1JIANMONTH: MOV R7,65H ;月減一 LCALL JIAN1 MOV 65H,A CJNE A,#00H,GADDMONTH1 MOV 65H,#12HGADDMONTH1: MOV 32H,#88H ;月值送人1302 MOV 31H,65H LCALL WRITE MOV R0,65H LCALL DIVIDE ;月分離,送顯示緩存 MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2WAITT2: ; LCALL DISPLAY JNB P0.2,WAITT2 JNB P0.3,WAITT2 AJMP SETG3SETG4: SETB 0BH ;調(diào)日時閃標(biāo)志GWAIT4: LCALL DISPLAY JNB P0.1,GWAIT4SETG5: LCALL DISPLAY JNB P0.1,SETG6 JNB P0.2,GADDDAY JNB P0.3,JIANDAY AJMP SETG5GADDDAY: MOV R7,63H ;日加一 LCALL ADD1 MOV 63H,A CJNE A,#32H,GADDDAY1 MOV 63H,#01HJIANDAY: MOV R7,63H ;日減一 LCALL JIAN1 MOV 63H,A CJNE A,#00H,GADDDAY1 MOV 63H,#31HGADDDAY1: MOV 32H,#86H ;日值送人1302 MOV 31H,63H LCALL WRITE MOV R0,63H LCALL DIVIDE ;日分離,送顯示緩存 MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2WAITT3: ; LCALL DISPLAY JNB P0.2,WAITT3 JNB P0.3,WAITT3 AJMP SETG5SETG6: SETB 0CH ;調(diào)星期時閃標(biāo)志GWAIT6: LCALL DISPLAY JNB P0.1,GWAIT6SETG7: LCALL DISPLAY JNB P0.1,SETG8 JNB P0.2,GADDWEEK JNB P0.3,JIANWEEK AJMP SETG7GADDWEEK: MOV R7,64H ;星期加一 LCALL ADD1 MOV 64H,A CJNE A,#07H,GADDWEEK1 MOV 64H,#00H AJMP GADDWEEK1JIANWEEK: MOV R7,64H ;星期減一 LCALL JIAN1 MOV 64H,A CJNE A,#00H,GADDWEEK1 MOV 64H,#06HGADDWEEK1: MOV 32H,#8AH MOV 31H,64H ;星期值送人1302 LCALL WRITE MOV R0,64H LCALL DIVIDE ;星期值分離送顯示緩存 MOV 48H,R1 MOV 78H,R1WAITT4: ; LCALL DISPLAY JNB P0.2,WAITT4 JNB P0.3,WAITT4 AJMP SETG7SETG8: SETB 0DH ;調(diào)小時時閃標(biāo)志GWAIT8: LCALL DISPLAY JNB P0.1,GWAIT8SETG9: LCALL DISPLAY JNB P0.1,SETG10 JNB P0.2,GADDHOUR JNB P0.3,JIANHOUR AJMP SETG9GADDHOUR: MOV R7,62H ;小時加一 LCALL ADD1 MOV 62H,A CJNE A,#24H,GADDHOUR1 MOV 62H,#00H AJMP GADDHOUR1JIANHOUR: MOV R7,62H ;小時減一 LCALL JIAN1 MOV 62H,A CJNE A,#00H,GADDHOUR1 MOV 62H,#23HGADDHOUR1: MOV 32H,#84H ;小時值送人1302 MOV 31H,62H LCALL WRITE MOV R0,62H LCALL DIVIDE ;小時值分離送顯示緩存 MOV 74H,R1 MOV 44H,R1 MOV 75H,R2 MOV 45H,R2WAITT5: ; LCALL DISPLAY JNB P0.2,WAITT5 JNB P0.3,WAITT5 AJMP SETG9SETG10: SETB 0EH ;調(diào)分時候閃標(biāo)志GWAIT10: LCALL DISPLAY JNB P0.1,GWAIT10SETG11: LCALL DISPLAY JNB P0.1,SETGOUT JNB P0.2,GADDMINTUE JNB P0.3,JIANMINTUE AJMP SETG11GADDMINTUE: MOV R7,61H ;分鐘加一 LCALL ADD1 MOV 61H,A CJNE A,#60H,GADDMINTUE1 MOV 61H,#00H AJMP GADDMINTUE1JIANMINTUE: MOV R7,61H ;分鐘減一 LCALL JIAN1 MOV 61H,A CJNE A,#00H,GADDMINTUE1 MOV 61H,#59HGADDMINTUE1: MOV 32H,#82H ;分鐘值送人1302 MOV 31H,61H LCALL WRITE MOV R0,61H LCALL DIVIDE ;分鐘值分離送顯示緩存 MOV 72H,R1 MOV 42H,R1 MOV 73H,R2 MOV 43H,R2WAITT6: LCALL DISPLAY JNB P0.2,WAITT6 JNB P0.3,WAITT6 AJMP SETG11SETGOUT: LCALL DISPLAY JNB P0.1,SETGOUT LCALL GENGXIAN MOV 32H,#80H MOV 31H,#00H ;1302晶振開始振蕩 LCALL WRITE MOV 32H,#8EH MOV 31H,#80H ;禁止寫入1302 LCALL WRITE CLR 08H CLR 09H CLR 0AH CLR 0BH CLR 0CH CLR 0DH CLR 0EH CLR 0FH CLR ET1 ;關(guān)閃中斷 CLR TR1 LJMP MAIN1;閃動調(diào)時程序INTT1: PUSH ACC PUSH PSWGFLASH: CPL 0FH JB 0FH,GFLASH1 MOV 7CH,4CH ;全部顯示 MOV 7BH,4BH MOV 7AH,4AH MOV 79H,49H MOV 78H,48H MOV 77H,47H MOV 76H,46H MOV 75H,45H MOV 74H,44H MOV 73H,43H MOV 72H,42H MOV 71H,41H MOV 70H,40HGFLASHOUT: POP PSW POP ACC RETIGFLASH1: JB 0AH,GFLASH2 ;調(diào)年閃 MOV 7CH,#0FH MOV 7BH,#0FH AJMP GFLASHOUTGFLASH2: JB 0BH,GFLASH3 ;調(diào)月閃 MOV 7AH,#0FH MOV 79H,#0FH AJMP GFLASHOUTGFLASH3: JB 0CH,GFLASH4 ;調(diào)日閃 MOV 77H,#0FH MOV 76H,#0FH AJMP GFLASHOUTGFLASH4: JB 0DH,GFLASH5 ;調(diào)星期閃 MOV 78H,#0FH AJMP GFLASHOUTGFLASH5: JB 0EH,GFLASH6 ;調(diào)小時閃 MOV 75H,#0FH MOV 74H,#0FH AJMP GFLASHOUTGFLASH6: MOV 73H,#0FH ;調(diào)分鐘閃 MOV 72H,#0FH AJMP GFLASHOUT;加一程序ADD1: MOV A,R7 ADD A,#1 DA A RET;減一程序JIAN1: MOV A,R7 DEC A CJNE A,#4FH,KK1 MOV A,#49HKK1: CJNE A,#3FH,KK2 MOV A,#39HKK2: CJNE A,

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論