

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計(論文)</b></p><p> 題 目 名 稱 電子萬年歷 </p><p> 課 程 名 稱 單片機原理及應用 </p><p> 學 生 姓 名 </p
2、><p> 學 號 </p><p> 系 、專 業(yè) 信息工程系、通信工程 </p><p> 指 導 教 師 </p><p> 2012 年 5 月 25 日</p>
3、<p><b> 摘 要</b></p><p> 電子萬年歷是一種非常廣泛日常計時工具,它可以對年、月、日、周日、時、分、秒進行計時,還具有閏年補償?shù)榷喾N功能,對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時顯示年、月、日、周日、時、分、秒和溫度等信息,還具有時間校準等功能。</p><p> 本設計是基于51的單片機進行的電子萬年歷設計。硬件部
4、分主要由AT89C52單片機,LED顯示電路,以及調(diào)時按鍵電路等組成。在單片機的選擇上使用了AT89C52單片機,顯示器使2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。7SEG-MPX8-CA是一種八個共陽二極管顯示器,7SEG-MPX4-CA是一種四個共陽二極管顯示器。為了更輕松的控制這三片顯示器,使用了3片74HC164來驅(qū)動。74HC164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。軟件方面主要包括
5、日歷程序、時間調(diào)整程序,公歷轉(zhuǎn)陰歷程序,顯示程序等。所有程序編寫完成后,在wave軟件中進行調(diào)試,在Proteus軟件中嵌入單片機內(nèi)進行仿真。</p><p> 關鍵詞:時鐘電鐘;DS1302;DS18B20;動態(tài)掃描;單片機</p><p><b> Abstract</b></p><p> Electronic calendar i
6、s a very extensive daily timing tool, it can be years, months, days, Sunday, hours, minutes and seconds for time, also has a variety of functions such as a leap year compensation, for digital electronic calendar using vi
7、sual digital display, can display year, month, day, Sunday, when, minutes and seconds, and temperature information, also has a time calibration function.</p><p> The design is based on the 51SCM for the des
8、ign of electronic calendar. The hardware part is mainly composed of AT89C52SCM, LED display circuit, as well as the timing circuit. In the selection of single chip computer on the use of AT89C52 single-chip microcomputer
9、, display so that 2 pieces of7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a eight common anode diode display,7SEG-MPX4-CA is a four common anode diode display. In order to more easily control the three display, using
10、3 pieces of 74HC</p><p> Key words: clock clock; DS1302; DS18B20; dynamic scan; single chip microcomputer</p><p><b> 目 錄</b></p><p> 摘要……………………………………………………………… ………I&l
11、t;/p><p> Abstract…………………………………………………………………II</p><p> 1設計要求………………………………………………………………..1</p><p> 1.1設計要求…………………………………………………………..1</p><p> 2系統(tǒng)的硬件設計與實現(xiàn)……………………………………………….1
12、</p><p> 2.1電路設計框圖……………………………………………………..1</p><p> 2.2系統(tǒng)硬件的概述……………………………………......................1</p><p> 2.3主要單元電路的設計……………………………………………..1</p><p> 2.3.1單片機主控制模塊的設計…
13、…………………………………...1</p><p> 2.3.2時鐘電路模塊的設計…………………………………………...2</p><p> 2.3.3電路原理及說明………………………………………………...3</p><p> 2.3.4顯示模塊的設計………………………………………………...5</p><p> 3系統(tǒng)的軟件設計…
14、…………………………………………………….6</p><p> 3.1程序流程框圖…………………………………………………......6</p><p> 3.2子程序的設計………………………………………………….….9</p><p> 3.2.1讀、寫DS1302子程序……………………………….………...9</p><p> 4系
15、統(tǒng)仿真………………………………………………………………11</p><p> 5總結……………………………………………………………………11</p><p> 參考文獻………………………………………………………………..11</p><p> 致謝……………………………….…………………………................ 12</p><
16、;p> 附錄一:系統(tǒng)電路圖…………………………… … … …… 13</p><p> 附錄二:系統(tǒng)程序清單………………………………………………...14</p><p><b> 1設計要求</b></p><p><b> 1.1 設計要求</b></p><p>&l
17、t;b> (1)基本要求</b></p><p> 具有年、月、日、星期、時、分、秒等功能;</p><p> 萬年歷具有閏月識別顯示功能;</p><p> 具備年、月、日、星期、時、分、秒校準功能;</p><p><b> ?。ǎ玻﹦?chuàng)新要求</b></p><p>
18、 萬年歷具有陰歷顯示功能;</p><p> ?、诰哂袦y量室內(nèi)溫度功能;</p><p> 2系統(tǒng)的硬件設計與實現(xiàn)</p><p> 2.1 電路設計框圖</p><p> 2.2 系統(tǒng)硬件概述</p><p> 本電路是由AT89S52單片機為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路
19、由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31*8的用于臨時性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時、分、秒,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能;溫度的采集由DS18B
20、20構成;顯示部份由21個數(shù)碼管,74ls138、74ls47譯碼器構成。使用動態(tài)掃描顯示方式對數(shù)字的顯示。</p><p> 2.3 主要單元電路的設計</p><p> 2.3.1單片機主控制模塊的設計</p><p> AT89S52單片機為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3, MCS-51單片機共有4個8位的I/O口(P0、P1
21、、P2、P3),每一條I/O線都能獨立地作輸出或輸入。</p><p> 單片機的最小系統(tǒng)如下圖所示,18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第9引腳為復位輸入端,接上電容,電阻及開關后夠上電復位電路,20引腳為接地端,40引腳為電源端. 如圖-1 所示</p>
22、<p><b> 圖-1 主控制系統(tǒng)</b></p><p> 2.3.2時鐘電路模塊的設計</p><p> 圖-2示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當
23、Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RSTS置為低電平,則會終止此次數(shù)據(jù)傳送,I/O
24、引腳變?yōu)楦咦钁B(tài)。上電動行時,在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p> 圖-2 DS1302的引腳圖</p><p> 2.3.3電路原理及說明</p><p> (1) 時鐘芯片DS1302的工作原理</p>&
25、lt;p> DS1302在每次進行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如下圖4所示。圖5為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對DS1302進行讀寫數(shù)據(jù)。對于位6,若對程序進行讀/寫時RAM=1,對時間進行讀/寫時,CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進行讀操作時,該位為1;該位為0則表示進行的是寫操作??刂谱?/p>
26、節(jié)總是從最低位開始輸入/輸出的。表6為DS1302的日歷、時間寄存器內(nèi)容:“CH”是時鐘暫停標志位,當該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當該位為0時,時鐘開始運行。“WP”是寫保護位,在任何的對時鐘和RAM的寫操作之前,WP必須為0。當“WP”為1時,寫保護位防止對任一寄存器的寫操作。</p><p> (2) DS1302的控制字節(jié)</p><p> DS130
27、2的控制字如表-1所示。控制字節(jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出</p><p> RAM RD</p&
28、gt;<p> 1 A4 A3 A2 A1 A0 </p><p> / CK /WR</p><p> 表-1 DS1302的控制字格式</p><p> (3) 數(shù)據(jù)輸入輸出(I/O)</p&
29、gt;<p> 在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。如下圖-4所示</p><p> 圖-3 DS1302讀/寫時序圖</p><p> (4) DS1302的寄存器</p>&l
30、t;p> DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表-2。</p><p> 表-2 DS1302的日歷、時間寄存器</p><p> 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。
31、DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。 </p><p> 2.3.4顯示模塊的設計</p><p> 如圖-5所示,采用動態(tài)掃描顯示,由2
32、1個數(shù)碼管,3-8譯碼器74LS138接1K限流電阻,再接8550三極管接到共陽數(shù)碼管的COM位碼,每位選擇相應的列。74ls47接</p><p> 240Ω限流電阻,再接共行的LED數(shù)碼管的斷碼。</p><p> 圖-4 LED動態(tài)掃描顯示</p><p><b> 3系統(tǒng)的軟件設計</b></p><p>
33、<b> 3.1程序流程框圖</b></p><p> 圖-A 主程序流程圖</p><p> 圖-C 時間調(diào)整程序流程圖</p><p> 3.2 子程序的設計</p><p> 3.2.1 讀、寫DS1302子程序</p><p> ;寫1302程序WRITE:</p>
34、<p><b> CLR SCLK</b></p><p><b> NOP</b></p><p><b> SETB RST</b></p><p><b> NOP</b></p><p><b> MOV A,32
35、H</b></p><p><b> MOV R4,#8</b></p><p><b> WRITE1:</b></p><p> RRC A ;送地址給1302</p><p><b> NOP</b></p><p><
36、;b> NOP</b></p><p><b> CLR SCLK</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p>&l
37、t;p><b> MOV IO,C</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB SCLK</b&g
38、t;</p><p><b> NOP</b></p><p><b> NOP</b></p><p> DJNZ R4,WRITE1</p><p><b> CLR SCLK</b></p><p><b> NOP</b
39、></p><p><b> MOV A,31H</b></p><p><b> MOV R4,#8</b></p><p><b> WRITE2:</b></p><p><b> RRC A</b></p><p&
40、gt; NOP ;送數(shù)據(jù)給1302</p><p><b> CLR SCLK</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> MOV IO,C</b></p&g
41、t;<p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB SCLK</b></p><p><b> NOP</b&
42、gt;</p><p><b> NOP</b></p><p> DJNZ R4,WRITE2</p><p><b> CLR RST</b></p><p><b> RET</b></p><p><b> ;讀1302程序&
43、lt;/b></p><p><b> READ:</b></p><p><b> CLR SCLK</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><
44、;b> SETB RST</b></p><p><b> NOP</b></p><p><b> MOV A,32H</b></p><p><b> MOV R4,#8</b></p><p><b> READ1:</b>
45、;</p><p> RRC A ;送地址給1302</p><p><b> NOP</b></p><p><b> MOV IO,C</b></p><p><b> NOP</b></p><p><b> NOP<
46、/b></p><p><b> NOP</b></p><p><b> SETB SCLK</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b&g
47、t; NOP</b></p><p><b> CLR SCLK</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> DJNZ R4,READ1</p><p><b&
48、gt; MOV R4,#8</b></p><p><b> READ2:</b></p><p><b> CLR SCLK</b></p><p> NOP ;從1302中讀出數(shù)據(jù)</p><p><b> NOP</b></p><
49、;p><b> NOP</b></p><p><b> MOV C,IO</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></
50、p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> RRC A</b></p><p><b> NOP</b></p><p><b> NOP</b&g
51、t;</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB SCLK</b></p><p><b> NOP</b></p><p> DJNZ R4,R
52、EAD2</p><p><b> MOV 31H,A</b></p><p><b> CLR RST</b></p><p><b> RET</b></p><p><b> 4系統(tǒng)仿真</b></p><p><
53、;b> 5總結</b></p><p> 在整個設計過程中,充分發(fā)揮了人的主觀能動性,自主學習,學到了許多課本上沒法學到的知識,較好的完成了作品,達到了預期的目的,完成了最初的設想。通過這次設計,認識到對電路的設計、布局要先有一個好的構思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時遇到了很多的問題,經(jīng)過靜下心來思考,查閱了很多資料,理清了思路,漸漸開始得心應手。在此次設計中,
54、知道了無論做什么事要有一顆平常的心,不要想著走捷徑,一步一個腳印才是硬道理。通過這次設計,會讓我以后的學習和辦事變得更加嚴謹、更加有耐心、更加有條理。</p><p><b> 參考文獻</b></p><p> 劉勇. 數(shù)字電路. 電子工業(yè)出版社, 2004.</p><p> 何希才、鄒炳強. 通用電子電路應用400例. 北京電子工業(yè)
55、出版社. 2005</p><p> 楊子文. 單片機原理及應用. 西安電子科技大學出版社, 2006.</p><p> 江世明、黃同成. 單片機原理及應用.中國鐵道出版社,2010</p><p><b> 致 謝</b></p><p> 經(jīng)過十天的努力,終于完成的論文的設計,這次論文的順利完成,首先要感
56、謝輔導老師的細心教導,教會了我們?nèi)绾螌懻撐?,后面我們終于搞出了像樣的論文,對所學知識也有了更深入的了解,并且能夠?qū)⑺鶎W知識融會貫通,這些都歸功于指導老師孜孜不倦的教導;再次要感謝我們的老師,是他教給了我們?nèi)娴幕A知識,如果沒有精湛的基礎知識作為后盾,一切都是不可能的;最后還要感謝給過我指導的每一個同學,是通過大家的幫忙,才完成了這個起先一點也不懂的論文設計,對于大家,在這里一并感謝,謝謝!</p><p>&l
57、t;b> 附錄一:系統(tǒng)電路圖</b></p><p> 附錄二:系統(tǒng)程序清單</p><p> CONFIG12 EQU 7FH</p><p> TEMPH EQU 21H</p><p> TEMPL EQU 20H</p><p> REG2 EQU 22H</p>&
58、lt;p> REG3 EQU 23H</p><p> REG4 EQU 24H</p><p> DAT EQU P0.7</p><p> SCLK EQU P3.2</p><p> IO EQU P3.3</p><p> RST EQU P3.4</p><p&g
59、t; year DATA 66H</p><p> month DATA 65H</p><p> week DATA 64H</p><p> day DATA 63H</p><p> hour DATA 62H</p><p> mintue DATA 61H</p><p>
60、; second DATA 60H</p><p><b> ORG 0000H</b></p><p> LJMP START</p><p><b> ORG 001BH</b></p><p> LJMP INTT1</p><p> START:
61、 ;初值</p><p><b> LCALL ZJ</b></p><p><b> SETB EA</b></p><p> MOV SCON,#00H ; 串行輸出,方式0</p><p> MOV TMOD,#10H ;計數(shù)器1,方式1</p>
62、<p> MOV TL1,#00H</p><p> MOV TH1,#00H</p><p> MOV 32H,#8EH</p><p> MOV 31H,#00H ;允許寫1302</p><p> LCALL WRITE</p><p> MOV 32H,#90H</p&g
63、t;<p> MOV 31H,#0A6H ;1302充電,充電電流1.1MA</p><p> LCALL WRITE ;主程序MAIN1:</p><p> MOV 32H,#8DH ;讀出年</p><p> LCALL READ</p><p> MOV year,31H</p>
64、<p> MOV 32H,#8BH ;讀出星期</p><p> LCALL READ</p><p> MOV week,31H</p><p> MOV 32H,#89H ;讀出月</p><p> LCALL READ</p><p> MOV month,31H</p>
65、<p> MOV 32H,#87H ;讀出日</p><p> LCALL READ</p><p> MOV day,31H</p><p> MOV 32H,#85H ;讀出小時</p><p> LCALL READ</p><p> MOV hour,31H</p>
66、<p> MOV 32H,#83H ;讀出分鐘</p><p> LCALL READ</p><p> MOV mintue,31H</p><p> MOV 32H,#81H ;讀出秒</p><p> LCALL READ</p><p> MOV second,31H ;分離緩存
67、MOV R0,year ;年分離,送顯示緩存</p><p> LCALL DIVIDE</p><p> MOV 7BH,R1</p><p> MOV 4BH,R1</p><p> MOV 7CH,R2</p><p> MOV 4CH,R2</p><p> MOV 7
68、8H,week</p><p> MOV 48H,week</p><p> MOV R0,month ;月分離,送顯示緩存</p><p> LCALL DIVIDE</p><p> MOV 79H,R1</p><p> MOV 49H,R1</p><p> MOV 7A
69、H,R2</p><p> MOV 4AH,R2</p><p> MOV R0,day ;日分離,送顯示緩存</p><p> LCALL DIVIDE</p><p> MOV 76H,R1</p><p> MOV 46H,R1</p><p> MOV 77H,R2<
70、;/p><p> MOV 47H,R2</p><p> MOV R0,hour ;小時分離,送顯示緩存</p><p> LCALL DIVIDE</p><p> MOV 74H,R1</p><p> MOV 44H,R1</p><p> MOV 75H,R2</p>
71、<p> MOV 45H,R2</p><p> MOV R0,mintue ;分鐘分離,送顯示緩存</p><p> LCALL DIVIDE</p><p> MOV 72H,R1</p><p> MOV 42H,R1</p><p> MOV 73H,R2</p><
72、;p> MOV 43H,R2</p><p> MOV R0,second ;秒分離,送顯示緩存</p><p> LCALL DIVIDE</p><p> MOV 70H,R1</p><p> MOV 40H,R1</p><p> MOV 71H,R2</p><p&g
73、t; MOV 41H,R2</p><p><b> CLR EA</b></p><p> LCALL TOUTOU</p><p><b> SETB EA</b></p><p> LCALL DISPLAY</p><p> LCALL GENGXIAN
74、 ;更新農(nóng)歷程序</p><p> JNB P0.1,SETG111</p><p> JNB F0,SSS</p><p> setb P0.4 ;非閏月,則p0.4清零,指示燈亮</p><p> LJMP MAIN1</p><p><b> SETG111:</b&
75、gt;</p><p><b> LJMP SETG</b></p><p><b> SSS:</b></p><p> clr P0.4 ;閏月,則p0.4置位,指示燈不亮</p><p> LJMP MAIN1 ;溫度</p><p><b&
76、gt; TOUTOU:</b></p><p> LCALL CHUSHI</p><p> LCALL RDTEMP</p><p> MOV A,TEMPL</p><p> ANL A,#11110000B</p><p> MOV TEMPL,A</p><p>
77、 MOV A,TEMPH</p><p> ANL A,#00000111B</p><p> ORL A,TEMPL</p><p><b> SWAP A</b></p><p><b> MOV 25H,A</b></p><p><b> MOV
78、 A,25H</b></p><p> MOV B,#64H</p><p><b> DIV AB</b></p><p><b> MOV A,B</b></p><p> MOV B,#0AH</p><p><b> DIV AB<
79、;/b></p><p><b> SWAP A</b></p><p><b> ORL A,B</b></p><p><b> MOV 10H,A</b></p><p><b> RET</b></p><p>
80、;<b> CHUSHI:</b></p><p> LCALL RESET</p><p> MOV A,#0CCH</p><p> LCALL WRITE111</p><p> MOV A,#4EH</p><p> LCALL WRITE111</p><
81、p> MOV A,#CONFIG12</p><p> LCALL WRITE111</p><p><b> RET</b></p><p><b> RDTEMP:</b></p><p> LCALL RESET</p><p> MOV A,#0CC
82、H</p><p> LCALL WRITE111</p><p> MOV A,#44H</p><p> LCALL WRITE111</p><p> LCALL DL1MS</p><p> LCALL RESET</p><p> MOV A,#0CCH</p>
83、<p> LCALL WRITE111</p><p> MOV A,#0BEH</p><p> LCALL WRITE111</p><p> LCALL ERAD111</p><p> MOV TEMPL,A</p><p> LCALL ERAD111</p><
84、p> MOV TEMPH,A</p><p><b> RET</b></p><p><b> RESET:</b></p><p><b> LA:</b></p><p><b> SETB DAT</b></p>&l
85、t;p> MOV 52H,#200</p><p><b> LB:</b></p><p><b> CLR DAT</b></p><p> DJNZ 52H,LB</p><p><b> SETB DAT</b></p><p>
86、 MOV 52H,#30</p><p><b> LC:</b></p><p> DJNZ 52H,LC</p><p><b> CLR C</b></p><p><b> ORL C,DAT</b></p><p><b>
87、 JC LB</b></p><p> MOV 58H,#80</p><p><b> LD:</b></p><p><b> ORL C,DAT</b></p><p><b> JC LP</b></p><p> DJN
88、Z 58H,LD</p><p><b> SJMP LA</b></p><p><b> LP:</b></p><p> MOV 52H,#250</p><p><b> LF:</b></p><p> DJNZ 52H,LF<
89、/p><p><b> RET</b></p><p><b> WRITE111:</b></p><p> MOV 53H,#8</p><p><b> W51HA:</b></p><p><b> SETB DAT</b&
90、gt;</p><p> MOV 54H,#8</p><p><b> RRC A</b></p><p><b> CLR DAT</b></p><p><b> W52HA:</b></p><p> DJNZ 54H,W52HA<
91、;/p><p><b> MOV DAT,C</b></p><p> MOV 54H,#30</p><p><b> W53HA:</b></p><p> DJNZ 54H,W53HA</p><p> DJNZ 53H,W51HA</p><
92、p><b> SETB DAT</b></p><p><b> RET</b></p><p><b> ERAD111:</b></p><p><b> CLR EA</b></p><p> MOV 58H,#8</p>
93、<p><b> RD1A:</b></p><p><b> CLR DAT</b></p><p> MOV 54H,#6</p><p><b> NOP</b></p><p><b> SETB DAT</b></p
94、><p><b> RD2A:</b></p><p> DJNZ 54H,RD2A</p><p><b> MOV C,DAT</b></p><p><b> RRC A</b></p><p> MOV 55H,#30</p>
95、<p><b> RD3A:</b></p><p> DJNZ 55H,RD3A</p><p> DJNZ 58H,RD1A</p><p><b> SETB DAT</b></p><p> RET ;公歷設置程序~~</p><p>&
96、lt;b> SETG :</b></p><p><b> SETB TR1</b></p><p><b> SETB ET1</b></p><p> MOV 32H,#8EH</p><p> MOV 31H,#00H ;允許寫1302</p>
97、<p> LCALL WRITE</p><p> MOV 32H,#80H</p><p> MOV 31H,#80H ;1302停止振蕩</p><p> LCALL WRITE</p><p> GWAIT: ;~~~~~~~~~~~~~~~~~~</p><p> LCA
98、LL DISPLAY</p><p> JNB P0.1,GWAIT</p><p><b> SETG1:</b></p><p> LCALL DISPLAY</p><p> JNB P0.1,SETG2</p><p> JNB P0.2,GADDYEAR</p>
99、<p> JNB P0.3,JIANYEAR</p><p> AJMP SETG1</p><p><b> GADDYEAR:</b></p><p> MOV R7,66H ;年加一</p><p> LCALL ADD1</p><p><b>
100、MOV 66H,A</b></p><p> CJNE A,#51H,GADDYEAR1</p><p> MOV 66H,#00H</p><p> AJMP GADDYEAR1</p><p><b> JIANYEAR:</b></p><p> MOV R7,66H
101、 ;年減一</p><p> LCALL JIAN1</p><p><b> MOV 66H,A</b></p><p> CJNE A,#00H,GADDYEAR1</p><p> MOV 66H,#51H</p><p> GADDYEAR1:</p>&l
102、t;p> MOV 32H,#8CH ;年值送人1302</p><p> MOV 31H,66H</p><p> LCALL WRITE</p><p> MOV R0,66H</p><p> LCALL DIVIDE ;年分離送顯示緩存</p><p> MOV 4BH,R1<
103、/p><p> MOV 7BH,R1</p><p> MOV 4CH,R2</p><p> MOV 7CH,R2</p><p> WAITT1: ;~~~~~~~~~~~~~~~~</p><p> LCALL DISPLAY</p><p> JNB P0.2,WAITT
104、1</p><p> JNB P0.3,WAITT1</p><p> AJMP SETG1</p><p><b> SETG2:</b></p><p> SETB 0AH ;調(diào)月時閃標志</p><p><b> GWAIT2:</b></
105、p><p> LCALL DISPLAY</p><p> JNB P0.1,GWAIT2</p><p><b> SETG3:</b></p><p> LCALL DISPLAY</p><p> JNB P0.1,SETG4</p><p> JNB P0.
106、2,GADDMONTH</p><p> JNB P0.3,JIANMONTH</p><p> AJMP SETG3</p><p> GADDMONTH:</p><p> MOV R7,65H ;月加一</p><p> LCALL ADD1</p><p><b&
107、gt; MOV 65H,A</b></p><p> CJNE A,#13H,GADDMONTH1</p><p> MOV 65H,#01H</p><p> AJMP GADDMONTH1</p><p> JIANMONTH:</p><p> MOV R7,65H ;月減一<
108、;/p><p> LCALL JIAN1</p><p><b> MOV 65H,A</b></p><p> CJNE A,#00H,GADDMONTH1</p><p> MOV 65H,#12H</p><p> GADDMONTH1:</p><p> M
109、OV 32H,#88H ;月值送人1302</p><p> MOV 31H,65H</p><p> LCALL WRITE</p><p> MOV R0,65H</p><p> LCALL DIVIDE ;月分離,送顯示緩存</p><p> MOV 79H,R1</p><p
110、> MOV 49H,R1</p><p> MOV 7AH,R2</p><p> MOV 4AH,R2</p><p> WAITT2: ;~~~~~~~~~~~~~~~~~~~~</p><p> LCALL DISPLAY</p><p> JNB P0.2,WAITT2</p>
111、<p> JNB P0.3,WAITT2</p><p> AJMP SETG3</p><p><b> SETG4:</b></p><p> SETB 0BH ;調(diào)日時閃標志</p><p><b> GWAIT4:</b></p><p>
112、 LCALL DISPLAY</p><p> JNB P0.1,GWAIT4</p><p><b> SETG5:</b></p><p> LCALL DISPLAY</p><p> JNB P0.1,SETG6</p><p> JNB P0.2,GADDDAY</p&
113、gt;<p> JNB P0.3,JIANDAY</p><p> AJMP SETG5</p><p><b> GADDDAY:</b></p><p> MOV R7,63H ;日加一</p><p> LCALL ADD1</p><p><b>
114、 MOV 63H,A</b></p><p> CJNE A,#32H,GADDDAY1</p><p> MOV 63H,#01H</p><p><b> JIANDAY:</b></p><p> MOV R7,63H ;日減一</p><p> LCALL
115、 JIAN1</p><p><b> MOV 63H,A</b></p><p> CJNE A,#00H,GADDDAY1</p><p> MOV 63H,#31H</p><p><b> GADDDAY1:</b></p><p> MOV 32H,#8
116、6H ;日值送人1302</p><p> MOV 31H,63H</p><p> LCALL WRITE</p><p> MOV R0,63H</p><p> LCALL DIVIDE ;日分離,送顯示緩存</p><p> MOV 76H,R1</p><p> MOV
117、46H,R1</p><p> MOV 77H,R2</p><p> MOV 47H,R2</p><p> WAITT3: ;~~~~~~~~~~~~~~~~~</p><p> LCALL DISPLAY</p><p> JNB P0.2,WAITT3</p><p>
118、 JNB P0.3,WAITT3</p><p> AJMP SETG5</p><p><b> SETG6:</b></p><p> SETB 0CH ;調(diào)星期時閃標志</p><p><b> GWAIT6:</b></p><p> LCALL DI
119、SPLAY</p><p> JNB P0.1,GWAIT6</p><p><b> SETG7:</b></p><p> LCALL DISPLAY</p><p> JNB P0.1,SETG8</p><p> JNB P0.2,GADDWEEK</p><
120、p> JNB P0.3,JIANWEEK</p><p> AJMP SETG7</p><p><b> GADDWEEK:</b></p><p> MOV R7,64H ;星期加一</p><p> LCALL ADD1</p><p><b> MO
121、V 64H,A</b></p><p> CJNE A,#07H,GADDWEEK1</p><p> MOV 64H,#00H</p><p> AJMP GADDWEEK1</p><p><b> JIANWEEK:</b></p><p> MOV R7,64H
122、 ;星期減一</p><p> LCALL JIAN1</p><p><b> MOV 64H,A</b></p><p> CJNE A,#00H,GADDWEEK1</p><p> MOV 64H,#06H</p><p> GADDWEEK1:</p>
123、<p> MOV 32H,#8AH</p><p> MOV 31H,64H ;星期值送人1302</p><p> LCALL WRITE</p><p> MOV R0,64H</p><p> LCALL DIVIDE ;星期值分離送顯示緩存</p><p> MOV 48H,R
124、1</p><p> MOV 78H,R1</p><p> WAITT4: ;~~~~~~~~~~~~~~~ ~~~~~</p><p> LCALL DISPLAY</p><p> JNB P0.2,WAITT4</p><p> JNB P0.3,WAITT4</p><
125、;p> AJMP SETG7</p><p><b> SETG8:</b></p><p> SETB 0DH ;調(diào)小時時閃標志</p><p><b> GWAIT8:</b></p><p> LCALL DISPLAY</p><p>
126、JNB P0.1,GWAIT8</p><p><b> SETG9:</b></p><p> LCALL DISPLAY</p><p> JNB P0.1,SETG10</p><p> JNB P0.2,GADDHOUR</p><p> JNB P0.3,JIANHOUR<
127、;/p><p> AJMP SETG9</p><p><b> GADDHOUR:</b></p><p> MOV R7,62H ;小時加一</p><p> LCALL ADD1</p><p><b> MOV 62H,A</b></p>
128、;<p> CJNE A,#24H,GADDHOUR1</p><p> MOV 62H,#00H</p><p> AJMP GADDHOUR1</p><p><b> JIANHOUR:</b></p><p> MOV R7,62H ;小時減一</p><
129、p> LCALL JIAN1</p><p><b> MOV 62H,A</b></p><p> CJNE A,#00H,GADDHOUR1</p><p> MOV 62H,#23H</p><p> GADDHOUR1:</p><p> MOV 32H,#84H
130、 ;小時值送人1302</p><p> MOV 31H,62H</p><p> LCALL WRITE</p><p> MOV R0,62H</p><p> LCALL DIVIDE ;小時值分離送顯示緩存</p><p> MOV 74H,R1</p><p>
131、MOV 44H,R1</p><p> MOV 75H,R2</p><p> MOV 45H,R2</p><p> WAITT5: ;~~~~~~~~~~~~~~~~~~~~~~LCALL DISPLAY</p><p> JNB P0.2,WAITT5</p><p> JNB P0.3,WAITT5
132、</p><p> AJMP SETG9</p><p><b> SETG10:</b></p><p> SETB 0EH ;調(diào)分時候閃標志</p><p><b> GWAIT10:</b></p><p> LCALL DISPLAY</
133、p><p> JNB P0.1,GWAIT10</p><p><b> SETG11:</b></p><p> LCALL DISPLAY</p><p> JNB P0.1,SETGOUT</p><p> JNB P0.2,GADDMINTUE</p><p>
134、; JNB P0.3,JIANMINTUE</p><p> AJMP SETG11</p><p> GADDMINTUE:</p><p> MOV R7,61H ;分鐘加一</p><p> LCALL ADD1</p><p><b> MOV 61H,A</b>&l
135、t;/p><p> CJNE A,#60H,GADDMINTUE1</p><p> MOV 61H,#00H</p><p> AJMP GADDMINTUE1</p><p> JIANMINTUE:</p><p> MOV R7,61H ;分鐘減一</p><p> L
136、CALL JIAN1</p><p><b> MOV 61H,A</b></p><p> CJNE A,#00H,GADDMINTUE1</p><p> MOV 61H,#59H</p><p> GADDMINTUE1:</p><p> MOV 32H,#82H ;分鐘值
137、送人1302</p><p> MOV 31H,61H</p><p> LCALL WRITE</p><p> MOV R0,61H</p><p> LCALL DIVIDE ;分鐘值分離送顯示緩存</p><p> MOV 72H,R1</p><p> MOV 42H
138、,R1</p><p> MOV 73H,R2</p><p> MOV 43H,R2</p><p><b> WAITT6:</b></p><p> LCALL DISPLAY</p><p> JNB P0.2,WAITT6</p><p> JNB P
139、0.3,WAITT6</p><p> AJMP SETG11</p><p><b> SETGOUT:</b></p><p> LCALL DISPLAY</p><p> JNB P0.1,SETGOUT</p><p> LCALL GENGXIAN</p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論