版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)(論文)</b></p><p> 題 目 名 稱 電子萬(wàn)年歷 </p><p> 課 程 名 稱 單片機(jī)原理及應(yīng)用 </p><p> 學(xué) 生 姓 名 </p
2、><p> 學(xué) 號(hào) </p><p> 系 、專 業(yè) 信息工程系、通信工程 </p><p> 指 導(dǎo) 教 師 </p><p> 2012 年 5 月 25 日</p>
3、<p><b> 摘 要</b></p><p> 電子萬(wàn)年歷是一種非常廣泛日常計(jì)時(shí)工具,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,對(duì)于數(shù)字電子萬(wàn)年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。</p><p> 本設(shè)計(jì)是基于51的單片機(jī)進(jìn)行的電子萬(wàn)年歷設(shè)計(jì)。硬件部
4、分主要由AT89C52單片機(jī),LED顯示電路,以及調(diào)時(shí)按鍵電路等組成。在單片機(jī)的選擇上使用了AT89C52單片機(jī),顯示器使2片7SEG-MPX8-CA和一片7SEG-MPX4-CA。7SEG-MPX8-CA是一種八個(gè)共陽(yáng)二極管顯示器,7SEG-MPX4-CA是一種四個(gè)共陽(yáng)二極管顯示器。為了更輕松的控制這三片顯示器,使用了3片74HC164來(lái)驅(qū)動(dòng)。74HC164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。軟件方面主要包括
5、日歷程序、時(shí)間調(diào)整程序,公歷轉(zhuǎn)陰歷程序,顯示程序等。所有程序編寫完成后,在wave軟件中進(jìn)行調(diào)試,在Proteus軟件中嵌入單片機(jī)內(nèi)進(jìn)行仿真。</p><p> 關(guān)鍵詞:時(shí)鐘電鐘;DS1302;DS18B20;動(dòng)態(tài)掃描;單片機(jī)</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設(shè)計(jì)要求………………………………………………………………..1</p><p> 1.1設(shè)計(jì)要求…………………………………………………………..1</p><p> 2系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)……………………………………………….1
12、</p><p> 2.1電路設(shè)計(jì)框圖……………………………………………………..1</p><p> 2.2系統(tǒng)硬件的概述……………………………………......................1</p><p> 2.3主要單元電路的設(shè)計(jì)……………………………………………..1</p><p> 2.3.1單片機(jī)主控制模塊的設(shè)計(jì)…
13、…………………………………...1</p><p> 2.3.2時(shí)鐘電路模塊的設(shè)計(jì)…………………………………………...2</p><p> 2.3.3電路原理及說(shuō)明………………………………………………...3</p><p> 2.3.4顯示模塊的設(shè)計(jì)………………………………………………...5</p><p> 3系統(tǒng)的軟件設(shè)計(jì)…
14、…………………………………………………….6</p><p> 3.1程序流程框圖…………………………………………………......6</p><p> 3.2子程序的設(shè)計(jì)………………………………………………….….9</p><p> 3.2.1讀、寫DS1302子程序……………………………….………...9</p><p> 4系
15、統(tǒng)仿真………………………………………………………………11</p><p> 5總結(jié)……………………………………………………………………11</p><p> 參考文獻(xiàn)………………………………………………………………..11</p><p> 致謝……………………………….…………………………................ 12</p><
16、;p> 附錄一:系統(tǒng)電路圖…………………………… … … …… 13</p><p> 附錄二:系統(tǒng)程序清單………………………………………………...14</p><p><b> 1設(shè)計(jì)要求</b></p><p><b> 1.1 設(shè)計(jì)要求</b></p><p>&l
17、t;b> (1)基本要求</b></p><p> 具有年、月、日、星期、時(shí)、分、秒等功能;</p><p> 萬(wàn)年歷具有閏月識(shí)別顯示功能;</p><p> 具備年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能;</p><p><b> ?。ǎ玻﹦?chuàng)新要求</b></p><p>
18、 萬(wàn)年歷具有陰歷顯示功能;</p><p> ?、诰哂袦y(cè)量室內(nèi)溫度功能;</p><p> 2系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p> 2.1 電路設(shè)計(jì)框圖</p><p> 2.2 系統(tǒng)硬件概述</p><p> 本電路是由AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路
19、由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;溫度的采集由DS18B
20、20構(gòu)成;顯示部份由21個(gè)數(shù)碼管,74ls138、74ls47譯碼器構(gòu)成。使用動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示。</p><p> 2.3 主要單元電路的設(shè)計(jì)</p><p> 2.3.1單片機(jī)主控制模塊的設(shè)計(jì)</p><p> AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3, MCS-51單片機(jī)共有4個(gè)8位的I/O口(P0、P1
21、、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。</p><p> 單片機(jī)的最小系統(tǒng)如下圖所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第9引腳為復(fù)位輸入端,接上電容,電阻及開(kāi)關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端. 如圖-1 所示</p>
22、<p><b> 圖-1 主控制系統(tǒng)</b></p><p> 2.3.2時(shí)鐘電路模塊的設(shè)計(jì)</p><p> 圖-2示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)
23、Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RSTS置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O
24、引腳變?yōu)楦咦钁B(tài)。上電動(dòng)行時(shí),在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時(shí),才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p> 圖-2 DS1302的引腳圖</p><p> 2.3.3電路原理及說(shuō)明</p><p> (1) 時(shí)鐘芯片DS1302的工作原理</p>&
25、lt;p> DS1302在每次進(jìn)行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時(shí)序如下圖4所示。圖5為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對(duì)DS1302進(jìn)行讀寫數(shù)據(jù)。對(duì)于位6,若對(duì)程序進(jìn)行讀/寫時(shí)RAM=1,對(duì)時(shí)間進(jìn)行讀/寫時(shí),CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時(shí),該位為1;該位為0則表示進(jìn)行的是寫操作??刂谱?/p>
26、節(jié)總是從最低位開(kāi)始輸入/輸出的。表6為DS1302的日歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開(kāi)始運(yùn)行?!癢P”是寫保護(hù)位,在任何的對(duì)時(shí)鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為1時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。</p><p> (2) DS1302的控制字節(jié)</p><p> DS130
27、2的控制字如表-1所示??刂谱止?jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出</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> 在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。如下圖-4所示</p><p> 圖-3 DS1302讀/寫時(shí)序圖</p><p> (4) DS1302的寄存器</p>&l
30、t;p> DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見(jiàn)表-2。</p><p> 表-2 DS1302的日歷、時(shí)間寄存器</p><p> 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。
31、DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。 </p><p> 2.3.4顯示模塊的設(shè)計(jì)</p><p> 如圖-5所示,采用動(dòng)態(tài)掃描顯示,由2
32、1個(gè)數(shù)碼管,3-8譯碼器74LS138接1K限流電阻,再接8550三極管接到共陽(yáng)數(shù)碼管的COM位碼,每位選擇相應(yīng)的列。74ls47接</p><p> 240Ω限流電阻,再接共行的LED數(shù)碼管的斷碼。</p><p> 圖-4 LED動(dòng)態(tài)掃描顯示</p><p><b> 3系統(tǒng)的軟件設(shè)計(jì)</b></p><p>
33、<b> 3.1程序流程框圖</b></p><p> 圖-A 主程序流程圖</p><p> 圖-C 時(shí)間調(diào)整程序流程圖</p><p> 3.2 子程序的設(shè)計(jì)</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總結(jié)</b></p><p> 在整個(gè)設(shè)計(jì)過(guò)程中,充分發(fā)揮了人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多課本上沒(méi)法學(xué)到的知識(shí),較好的完成了作品,達(dá)到了預(yù)期的目的,完成了最初的設(shè)想。通過(guò)這次設(shè)計(jì),認(rèn)識(shí)到對(duì)電路的設(shè)計(jì)、布局要先有一個(gè)好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開(kāi)始時(shí)遇到了很多的問(wèn)題,經(jīng)過(guò)靜下心來(lái)思考,查閱了很多資料,理清了思路,漸漸開(kāi)始得心應(yīng)手。在此次設(shè)計(jì)中,
54、知道了無(wú)論做什么事要有一顆平常的心,不要想著走捷徑,一步一個(gè)腳印才是硬道理。通過(guò)這次設(shè)計(jì),會(huì)讓我以后的學(xué)習(xí)和辦事變得更加嚴(yán)謹(jǐn)、更加有耐心、更加有條理。</p><p><b> 參考文獻(xiàn)</b></p><p> 劉勇. 數(shù)字電路. 電子工業(yè)出版社, 2004.</p><p> 何希才、鄒炳強(qiáng). 通用電子電路應(yīng)用400例. 北京電子工業(yè)
55、出版社. 2005</p><p> 楊子文. 單片機(jī)原理及應(yīng)用. 西安電子科技大學(xué)出版社, 2006.</p><p> 江世明、黃同成. 單片機(jī)原理及應(yīng)用.中國(guó)鐵道出版社,2010</p><p><b> 致 謝</b></p><p> 經(jīng)過(guò)十天的努力,終于完成的論文的設(shè)計(jì),這次論文的順利完成,首先要感
56、謝輔導(dǎo)老師的細(xì)心教導(dǎo),教會(huì)了我們?nèi)绾螌懻撐模竺嫖覀兘K于搞出了像樣的論文,對(duì)所學(xué)知識(shí)也有了更深入的了解,并且能夠?qū)⑺鶎W(xué)知識(shí)融會(huì)貫通,這些都?xì)w功于指導(dǎo)老師孜孜不倦的教導(dǎo);再次要感謝我們的老師,是他教給了我們?nèi)娴幕A(chǔ)知識(shí),如果沒(méi)有精湛的基礎(chǔ)知識(shí)作為后盾,一切都是不可能的;最后還要感謝給過(guò)我指導(dǎo)的每一個(gè)同學(xué),是通過(guò)大家的幫忙,才完成了這個(gè)起先一點(diǎn)也不懂的論文設(shè)計(jì),對(duì)于大家,在這里一并感謝,謝謝!</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 ;計(jì)數(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 ;讀出小時(shí)</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 ;小時(shí)分離,送顯示緩存</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 ;公歷設(shè)置程序~~</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)月時(shí)閃標(biā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)日時(shí)閃標(biā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)星期時(shí)閃標(biā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)小時(shí)時(shí)閃標(biā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 ;小時(shí)加一</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 ;小時(shí)減一</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、 ;小時(shí)值送人1302</p><p> MOV 31H,62H</p><p> LCALL WRITE</p><p> MOV R0,62H</p><p> LCALL DIVIDE ;小時(shí)值分離送顯示緩存</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)分時(shí)候閃標(biā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. 本站所有資源如無(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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)電子萬(wàn)年歷課程設(shè)計(jì) (2)
- 單片機(jī)電子萬(wàn)年歷課程設(shè)計(jì)
- 單片機(jī)電子萬(wàn)年歷課程設(shè)計(jì)
- 單片機(jī)電子萬(wàn)年歷課程設(shè)計(jì)
- 單片機(jī)電子萬(wàn)年歷課程設(shè)計(jì)
- 51單片機(jī)電子萬(wàn)年歷課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)—電子萬(wàn)年歷
- 單片機(jī)課程設(shè)計(jì)-電子萬(wàn)年歷
- 單片機(jī)課程設(shè)計(jì)-- 電子萬(wàn)年歷
- 單片機(jī)課程設(shè)計(jì)---電子萬(wàn)年歷設(shè)計(jì)
- 單片機(jī)萬(wàn)年歷課程設(shè)計(jì) (2)
- 單片機(jī)課程設(shè)計(jì)--萬(wàn)年歷
- 單片機(jī)萬(wàn)年歷課程設(shè)計(jì)
- 單片機(jī)萬(wàn)年歷課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-萬(wàn)年歷
- 萬(wàn)年歷單片機(jī)課程設(shè)計(jì)
- 基于51單片機(jī)電子萬(wàn)年歷
- 萬(wàn)年歷課程設(shè)計(jì)--萬(wàn)年歷電子時(shí)鐘
- 電子萬(wàn)年歷課程設(shè)計(jì) (2)
- 單片機(jī)萬(wàn)年歷課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論