版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 制作單片機AT89S52的萬年歷</p><p> 摘要:電子萬年歷是一種應(yīng)用非常廣泛的日常計時工具,本設(shè)計利用美國DALLAS公司推出的具有涓細(xì)電流充電的低功耗實時時鐘電路DS1320,研制了一種多功能電子萬年歷,主要功能包括:電子萬年歷要求能顯示的陽歷/陰歷、年、月、日、星期、小時、分、秒,除此之外還有顯示潤年,記憶時間。DS1302可以對年、月、日、周日、時、分、秒進(jìn)行計時,還具有潤
2、年補償?shù)墓δ?,而且DS1320的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用它,具有較準(zhǔn)的計時。</p><p> 關(guān)鍵詞:AT89S52 DS1302 74LS164 萬年歷 </p><p> The production of the calendar with the single-chip AT89S52 </p><p> Abstract:E
3、lectronic calendar application is a kind of tool ,which is widely used in our daily life.The design using the United States with DALLAS small trickle charge current of the low-power real-time clock circuit DS1320, develo
4、ped a multi-function electronic calendar.The main features include E-calendar requirements which are shown in the solar calendar / lunar calendar, year, month, day, weeks, hours, minutes and seconds, in addition to indic
5、ate Leap year, the memory of the time. DS1302 can </p><p> Keywords: AT89S52 DS1302 74LS164 calendar</p><p><b> 目 錄</b></p><p> 第一章 緒論………………………………………………………………………
6、.……3</p><p> 1.1 課題背景………………………………………………………………………3</p><p> 1.2 電子萬年歷的目的和意義……………………………………………………3</p><p> 第二章 系統(tǒng)硬件電路設(shè)計...............................................................
7、..............................4</p><p> 2.1 硬件設(shè)計框圖……………………………………………………………….4</p><p> 2.2 AT89S52原理…………………………………………………………….…..4 </p><p> 2.3 74LS164電路原理………………………………………………………….
8、.5</p><p> 2.4 DS1302電路原理……………………………………………………………5</p><p> 2.5 電源原理…………………………………………………………………….7</p><p> 2.6 數(shù)碼管原理………………………………………………………………….8</p><p> 第三章 系統(tǒng)軟件實現(xiàn)………
9、………………………………………………………...9</p><p> 3.1顯示及調(diào)整時間子程序流程………………………………………..………..9</p><p> 3.2調(diào)整時間子程序流程…………………………………………………..……..9</p><p> 3.3顯示閏年子程序流程………………………………………………..……….10</p>
10、<p> 3.4顯示星期的子程序流程………………………………..…………………….11</p><p> 3.5陽歷日期推算陰歷日期流程圖…………………………………………..….11</p><p> 總結(jié)…………………………………………………………………………………… 12</p><p> 致謝…………………………………………………………………
11、………………….13</p><p> 參考文獻(xiàn)………………….………………………………………...………………….14</p><p> 附錄1.元件清單……………………………………………………………………….15</p><p> 附錄2.電路原理圖…………………….……………………………………………….16</p><p> 附
12、錄3.程序…………………….……………………………………………………….17</p><p><b> 第一章 緒論</b></p><p><b> 1.1課題背景</b></p><p> 在生活中,我們經(jīng)常能看到各種各樣的制作精美的萬年歷,萬年歷大有取代常規(guī)鐘表的趨勢.隨著人們生活水平的提高,智能產(chǎn)品越來越受到
13、人們的歡迎.而單片機,傳感器各種集成電路起到關(guān)鍵作用.希望通過本設(shè)計能夠?qū)ξ磥淼内厔萦兴盐?從而適應(yīng)社會需要.</p><p> 1.2 電子萬年歷的目的和意義</p><p> 電子萬年歷是一種應(yīng)用非常廣泛的日常計時工具,液晶顯示的萬年歷已經(jīng)越來越普及,特別是適合在家庭居室、辦公室、大廳、會議室和廣場使用。LED顯示的日歷鐘顯示清晰直觀、走時準(zhǔn)確,并且還可以擴展出多種功能,本設(shè)計利
14、用數(shù)量較少的芯片研制了一種多功能電子萬年歷,主要功能包括:電子萬年歷要求能顯示陽歷/陰歷、年、月、日、星期、小時、分、秒,除此之外還有顯示潤年,記憶時間。</p><p> 隨著歷史的發(fā)展,從古代觀太陽到滴水計時,從擺鐘到現(xiàn)代電子鐘表,人類不斷的研究,不斷的進(jìn)步。美國DALLAS公司推出的具有涓細(xì)電流充電能的低功耗實時時鐘電路DS1320。它可以對年、月、日、周日、時、分、秒進(jìn)行計時,還具有潤年補償?shù)亩喾N功能,
15、而且DS1320的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用它具有較準(zhǔn)的計時功能。</p><p> 第二章 系統(tǒng)硬件電路設(shè)計</p><p><b> 2.1硬件設(shè)計框圖</b></p><p><b> 圖2.1</b></p><p> 2.2 AT89S52</p>&
16、lt;p> AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)
17、Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。</p>
18、<p> 圖2.2AT89S52引腳圖</p><p> 2.3 74LS164電路原理</p><p> 74LS164顯示模塊是由74LS164移位寄存器和數(shù)碼管構(gòu)成它為串行輸入并行輸出的移位寄存器,可以作為靜態(tài)顯示器接口,接在89C51的串行口上用于數(shù)碼的顯示.如圖所示:clear (9腳)高電平有效,低電平時使所有輸出(Qa~Qh)為低電平 Clock(8腳)上升
19、延輸出移位,其余狀態(tài)保持 A(1腳)B(2腳)輸入:邏輯與關(guān)系,即全高為高,見低為低。</p><p> 圖2.3 74LS164引腳圖</p><p> 2.4 DS1302工作原理</p><p> 首先介紹DS1302的結(jié)構(gòu)及工作原理:DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、
20、秒進(jìn)行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。 其次介紹引腳功能及結(jié)構(gòu):圖3.22示出DS1302的引腳排列,
21、其中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.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST</p>&l
22、t;p> 圖2.4 DS1302引腳圖</p><p> 慢速充電時鐘芯片包括實時時鐘/日歷和31字節(jié)的靜態(tài)RAM。它經(jīng)過一個簡單的串行接口與微 處理器通信。實時時鐘/日歷提供秒、分、時、日、周、月和年等信息。對于小于31天的月,月末的日期自動進(jìn)行調(diào)整,還包括了閏年校正的功能。時鐘的運行可以采用24小時或帶AM(上午)/PM(下午)的12小時格式。使用同步串行通信,簡化了DS1302與微處理器的通信。
23、與時鐘/RAM通信僅需三根線:(1)RST (復(fù)位)、(2)I/O(數(shù)據(jù)線)、和(3)SCLK(串行時鐘)。數(shù)據(jù)可以以每次一個字節(jié)或多達(dá)31字節(jié)的多字節(jié)形式傳送至?xí)r鐘/RAM或從其中送出。DS1302設(shè)計成能在非常低的功耗下工作,消耗小于1微瓦的功率便能保存數(shù)據(jù)和時鐘信息。DS1302是DS1202的升級產(chǎn)品,除了DS1202基本的慢速充電功能外,DS1302具有的其它特點包括:用于主電源和備份電源的雙電源引腳,可編程的VCC1慢速充電
24、器以及7個附加字節(jié)的高速暫存存儲器(scratchpad memory)。</p><p><b> 2.5電源原理</b></p><p> 穩(wěn)壓電源由電源變壓器、整流電路、濾波電路和穩(wěn)壓電路組成,如圖</p><p> 圖2.51交直流轉(zhuǎn)換圖</p><p> 圖2.52電源原理圖</p>&l
25、t;p> VCC1在單電源與電池供電的系統(tǒng)中提供低電源并提供低功率的電池備份。VCC2在雙電源系統(tǒng)中提供主電源,在這種運用方式中VCC1連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由VCC1或VCC2兩者中較大者供電。當(dāng)VCC2大于VCC1+0.2V時,VCC2給DS1302供電。當(dāng)VCC2小于VCC1時,DS1302由VCC1供電。</p><p><b>
26、2.6 數(shù)碼管原理</b></p><p> LED數(shù)碼管分共陽極與共陰極兩種,其工作特點是,當(dāng)筆段電極接低電平,公共陽極接高電平時,相應(yīng)筆段可以發(fā)光。共陰極LED數(shù)碼管則與之相反,它是將發(fā)光二極管的陰極(負(fù)極)短接后作為公共陰極。當(dāng)驅(qū)動信號為高電平、?端接低電平時,才能發(fā)光。LED的輸出光譜決定其發(fā)光顏色以及光輻射純度,也反映出半導(dǎo)體材料的特性。常見管芯材料有磷化鎵(GaP)、砷化鎵(GaAs)、
27、磷砷化鎵(GaAsP)、氮化鎵(GaN)等,其中氮化鎵可發(fā)藍(lán)光。發(fā)光顏色不僅與管芯材料有關(guān),還與所摻雜質(zhì)有關(guān),因此用同一種管芯材料可以制成發(fā)出紅、橙、黃、綠等不同顏色的數(shù)碼管。其它顏色LED數(shù)碼管的光譜曲線形狀與之相似,僅入,值不同。LED數(shù)碼管的產(chǎn)品中,以發(fā)紅光、綠光的居多、這兩種顏色也比較醒目。LED數(shù)碼管等效于多只具有發(fā)光性能的PN結(jié)。當(dāng)PN結(jié)導(dǎo)通時,依靠少數(shù)載流子的注人及隨后的復(fù)合而輻射發(fā)光,其伏安特性與普通二極管相似。在正向?qū)?/p>
28、通之前,正向電流近似于零,筆段不發(fā)光。當(dāng)電壓超過開啟電壓時,電流就急劇上升,筆段發(fā)光。因此,LED數(shù)碼管屬于電流控制型器件,其發(fā)光亮度L(單位是cd/m2)與正向電流IF有關(guān),用公式表示:L=KIF即亮度</p><p><b> 圖2.61</b></p><p><b> 圖2.62</b></p><p> 第
29、三章 系統(tǒng)軟件實現(xiàn)</p><p> 3.1 顯示時間子程序流程</p><p><b> 圖3.1</b></p><p> 3.2調(diào)整時間子程序流程</p><p><b> 圖3.2</b></p><p> 3.3顯示閏年子程序流程</p>&
30、lt;p> 編程中公歷閏年的簡單計算方法:設(shè)年份 year if (year能被4整除 and 不能被100整除) or year能被400整除 then 該年為閏年 else 該年為平年</p><p><b> 圖3.3</b></p><p> 3.4顯示星期的子程序流程</p><p><b> 圖3.4
31、</b></p><p> ?、?求某年某月某日是星期幾的子功能。(要求編成子程序) 算法:s=(y-1)+(y-1)/4-(y-1)/100+(y-1)/400+c (其中:y為年份;c為某月某日是這一年的第幾天,由②求出;s為總天數(shù)?!?”為整除。) n=s%7 (其中:n為星期數(shù);“%”為求余數(shù)) ② 求某月某日是這一年的第幾天的子功能。(要求編成子程序) 二月份是否為平年(28天)或
32、閏年(29天)的算法: y/400=0∨y/4=0∧y/100≠0 (y為年份;“/”整除) ,則y為以閏年;否則,y為平年。 根據(jù)①②可求出一年中的日歷。</p><p> 3.5陽歷日期推算陰歷日期的方法</p><p><b> 圖3.5</b></p><p><b> 總 結(jié)</b></p>
33、;<p> 通過這次畢業(yè)設(shè)計――制作單片機AT89S52的萬年歷,我學(xué)到了許多知識,還學(xué)到了許多思考問題的方法,受益非淺。</p><p> 提高了分析問題、解決問題的能力。在設(shè)計過程中,我遇到了很多問題,這是不可避免的,但我并沒有急于尋求問題的答案,而是認(rèn)真分析問題存在的原因,從而著手解決問題,以免以后出現(xiàn)類似的問題。</p><p> 通過本文的學(xué)習(xí),你可以很清楚的
34、了解萬年歷開發(fā)與應(yīng)用,使讀者一目了然。文中只是對系統(tǒng)硬件電路設(shè)計、軟件設(shè)計簡單闡述。但本文對具體的電路具體設(shè)計等沒做說明。本文還簡單介紹了這個萬年歷元件清單、電路原理圖、為讀者竟進(jìn)行實物焊接提供了很好的幫助以及為以后的電路設(shè)計做好了鋪墊。</p><p><b> 致謝</b></p><p> 本文的研究工作是在xx老師的精心指導(dǎo)和悉心關(guān)懷下完成的,在我的學(xué)業(yè)和
35、論文的研究工作中無不傾注著老師辛勤的汗水和心血。xx老師在科研和工作中嚴(yán)謹(jǐn)治學(xué)勇于創(chuàng)新無私奉獻(xiàn)的精神使我受益菲淺。在此論文完成之際,我向?qū)熤乱陨钌畹木匆饧白钫嬲\的謝意。</p><p> 在學(xué)習(xí)和科研期間我還得到了許多老師同學(xué)和同學(xué)的熱情關(guān)心和大力幫助,在此也深表感謝,并向所有關(guān)心和幫助過我的領(lǐng)導(dǎo)老師同學(xué)和朋友表示由衷的謝意。</p><p> 最后衷心感謝在百忙之中評閱論文和參加答
36、辯的各位老師。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 胡漢才.《單片機原理及其接口技術(shù)》.清華大學(xué)出版社 .2004</p><p> [2] 丁元杰.《單片機原理與應(yīng)用》.機械工業(yè)出版社. 2005</p><p> [3] 孫育才.《MCS-51系列單片微型計算機及其應(yīng)用》.
37、東南大學(xué)出版社. 2004</p><p> [4] 蔡美勤,張為民,沈新群,張榮娟.《MCS-51系列單片機系統(tǒng)及其應(yīng)用》.高等教育出版社 .2004</p><p> [5]王幸之,鐘愛琴,王雷,王閃.《STC89系列單片機原理與接口技術(shù)》.北京航空航天大學(xué)出版社.2004</p><p><b> 附錄1.元件清單</b></
38、p><p> Part TypeDesignatorFootprint</p><p> 74LS164U3DIP-14</p><p> 74LS164U2DIP-14</p><p> 74LS164U4DIP-14</p><p> 89S52U1DIP-40</p>
39、;<p> CAPC6RAD0.4</p><p> CAPC5RAD0.4</p><p> CAPC4RAD0.4</p><p> CAPC3RAD0.4</p><p> CAPACITORC2RB.2/.4</p><p> CON2J1SIP2&
40、lt;/p><p> CON10J2SIP10</p><p> CRYSTALY2DIP2</p><p> CRYSTALY1DIP2</p><p> Component_1C1DIP8</p><p> DPY_7-SEG_DPDS9DIP10</p><
41、p> DPY_7-SEG_DPDS11DIP10</p><p> DPY_7-SEG_DPDS13DIP10</p><p> DPY_7-SEG_DPDS8DIP10</p><p> DPY_7-SEG_DPDS3DIP10</p><p> DPY_7-SEG_DPDS5DIP10</p>
42、;<p> DPY_7-SEG_DPDS4DIP10</p><p> DPY_7-SEG_DPDS1DIP10</p><p> DPY_7-SEG_DPDS6DIP10</p><p> DPY_7-SEG_DPDS2DIP10</p><p> DPY_7-SEG_DPDS15DIP10<
43、;/p><p> DPY_7-SEG_DPDS18DIP10</p><p> DPY_7-SEG_DPDS12DIP10</p><p> DPY_7-SEG_DPDS14DIP10</p><p> DPY_7-SEG_DPDS16DIP10</p><p> DPY_7-SEG_DPDS7
44、DIP10</p><p> DPY_7-SEG_DPDS17DIP10</p><p> DPY_7-SEG_DPDS10DIP10</p><p> DPY_7-SEG_DPDS19DIP10</p><p> LEDD1DIODE0.4</p><p> PNPQ7TO-92A&l
45、t;/p><p> PNPQ8TO-92A</p><p> PNPQ3TO-92A</p><p> PNPQ2TO-92A</p><p> PNPQ1TO-92A</p><p> PNPQ6TO-92A</p><p> PNPQ5TO-92A</p
46、><p> PNPQ4TO-92A</p><p> RES2R1AXIAL0.4</p><p> RES2R2AXIAL0.4</p><p> RES2R7AXIAL0.4</p><p> RES2R6AXIAL0.4</p><p> RES2R5AXI
47、AL0.4</p><p> RES2R3AXIAL0.4</p><p> RES2R4AXIAL0.4</p><p> RES2R12AXIAL0.4</p><p> RES2R13AXIAL0.4</p><p> RES2R14AXIAL0.4</p><p
48、> RES2R11AXIAL0.4</p><p> RES2R8AXIAL0.4</p><p> RES2R9AXIAL0.4</p><p> RES2R10AXIAL0.4</p><p> SW-PBS2AXIAL0.4</p><p> SW-PBS1AXIAL0.
49、4</p><p><b> 附錄2.電路原理圖</b></p><p><b> 附錄3程序 </b></p><p><b> 3.1 主程序</b></p><p> sec11 equ 10h</p><p> sec12 equ
50、 11h</p><p> min11 equ 12h</p><p> min12 equ 13h</p><p> hour11 equ 14h</p><p> hour12 equ 15h</p><p> day11 equ 16h</p><p> da
51、y12 equ 17h</p><p> month11 equ 18h</p><p> month12 equ 19h</p><p> year11 equ 1ah</p><p> year12 equ 1bh</p><p> year13 equ 1ch</p&
52、gt;<p> year14 equ 1dh</p><p> TEMP EQU 1EH</p><p> N_DAY EQU 1FH</p><p> shu2 equ 20h</p><p> adress2 equ 21h</p><p> ADRESS
53、1 EQU 23H</p><p> SHU1 EQU 24H</p><p> SHU3 EQU 25H</p><p> TEMP11 EQU 26H</p><p> TEMP12 EQU 27H</p><p> N_DAY11 EQU 28H</p>
54、<p> N_DAY12 EQU 29H</p><p> N_MONTH11 EQU 2AH</p><p> N_MONTH12 EQU 2BH</p><p> N_MONTH EQU 2CH</p><p> huan equ 2dh</p><p> SCLK b
55、it 90h</p><p> io bit 91h</p><p> RST bit 92h</p><p> sec data 60h</p><p> min data 61h</p><p> hour data 62h</p><p> dat
56、e data 63h</p><p> month data 64h</p><p> day data 65h</p><p> year1 DATA 66H</p><p> year2 data 67h</p><p> int_min equ 68h</p>
57、<p> int_hour equ 69h</p><p> int_date equ 6ah</p><p> int_month equ 6bh</p><p> int_year1 equ 6ch</p><p> int_day equ 6dh</p><p>
58、 start_year EQU 01; 定義查詢表起始年份,</p><p> 01--199 表示1901-2099 年</p><p> ;以下三單元為需轉(zhuǎn)換的公歷日期是子程序的入口數(shù)據(jù)</p><p> time_year DATA 66h</p><p> time_month DATA 64h ;BIT7 表示世紀(jì),<
59、/p><p> 為1 表示19 世紀(jì),為0 表示20 世紀(jì)</p><p> time_date DATA 63h</p><p> ;以下三單元存轉(zhuǎn)換后農(nóng)歷日期與入口單元重疊,</p><p> 如要保留入口信息,請重定義出口地址</p><p> CONvert_yeAr DATA 33h</p>
60、<p> CONvert_mONth DATA 34h ;BIT7 為1 表示閏月</p><p> CONvert_dAte DATA 35h</p><p> temp_Byte1 DATA 37h</p><p> temp_Byte2 DATA 38h</p><p> temp_Byte3 DATA 39h&
61、lt;/p><p> temp_Byte4 DATA 3Ah</p><p> temp_Byte5 DATA 3Bh</p><p> time_week DATA 65h ;星期天出口</p><p> 3.2 公歷轉(zhuǎn)農(nóng)歷子程序</p><p> org 0000h</p><p>
62、; mov p0,#0ffh</p><p> mov 6eh,#00hmov </p><p> int_min,#59h</p><p> mov int_hour,#23h</p><p> mov int_date,#12h</p><p> mov int_month,#11h</
63、p><p> mov int_year1,#04h</p><p> mov int_day,#07h</p><p> mov temp,#00h</p><p> mov year2,#20h</p><p> MOV SP,#74H</p><p> 3.3 DS1302
64、讀寫程序</p><p> lcall init</p><p> start: mov 70h,hour</p><p> mov 71h,min</p><p> mov day,time_week</p><p> mov r0,#sec</p><p> mov
65、r7,#7</p><p> setb psw.5</p><p> lcall rwrtc</p><p> lcall kEY</p><p> LCALL CONvert</p><p> lcall GetWeek</p><p> LCALL TRUN</
66、p><p> ;LCALL DINGSHI</p><p> LCALL DISP1</p><p> LCALL DISP3</p><p> ljmp start</p><p> rwrtc: mov b,#10000001b</p><p> jb psw.5,rw
67、rtc1</p><p> mov b,#10000000b</p><p> rwrtc1:clr sclk</p><p><b> nop</b></p><p><b> setb rst</b></p><p> mov r6,#8</p
68、><p><b> mov a,b</b></p><p> rwrtc2:clr sclk</p><p><b> rrc a</b></p><p><b> mov io,c</b></p><p><b> nop&l
69、t;/b></p><p> setb sclk</p><p> djnz r6,rwrtc2</p><p> mov r6,#8</p><p> jnb psw.5,rwrtc4</p><p> rwrtc3:clr sclk</p><p><b>
70、 nop</b></p><p> mov c,io</p><p><b> rrc a</b></p><p> setb sclk</p><p> djnz r6,rwrtc3</p><p> mov @r0,a</p><p&g
71、t; sjmp rwrtc6</p><p> rwrtc4:mov a,@r0</p><p> rwrtc5:clr sclk</p><p><b> rrc a</b></p><p><b> mov io,c</b></p><p><b
72、> nop</b></p><p><b> setb sclk</b></p><p> djnz r6,rwrtc5</p><p> rwrtc6:inc r0</p><p><b> mov a,b</b></p><p> ad
73、d a,#02h</p><p><b> mov b,a</b></p><p><b> clr rst</b></p><p><b> nop</b></p><p><b> clr sclk</b></p><
74、;p> djnz r7,rwrtc1</p><p><b> RET</b></p><p> WRRTC: CLR SCLK</p><p><b> NOP</b></p><p><b> SETB RST</b></p><
75、p><b> NOP</b></p><p><b> NOP</b></p><p> MOV R7,#2</p><p> WRRTC1: MOV R6,#8</p><p> MOV A,@R0</p><p><b> CLR C
76、</b></p><p> wrrtc2: CLR SCLK</p><p><b> RRC A</b></p><p><b> MOV IO,C</b></p><p><b> nop</b></p><p> SET
77、B SCLK</p><p> DJNZ R6,WRRTC2</p><p><b> INC R0</b></p><p> djnz r7,wrrtc1</p><p> clr rst</p><p><b> nop</b></p>
78、;<p> clr sclk</p><p><b> ret</b></p><p><b> init:</b></p><p><b> CLR SCLK</b></p><p><b> CLR RST</b><
79、;/p><p> MOV SEC,#10001110b</p><p> MOV MIN,#00000000b</p><p> MOV R0,#SEC</p><p> LCALL wrrtc</p><p> MOV SEC,#10010000b</p><p> MOV
80、 MIN,#10100101b</p><p> MOV R0,#SEC</p><p> LCALL wrrtc</p><p> MOV R0,#SEC</p><p> MOV SEC,#10000000b</p><p> MOV MIN,#00000000b</p><
81、;p> lcall writer_f</p><p> lcall writer_sh</p><p> lcall writer_date</p><p> lcall writer_yue</p><p> lcall writer_nian</p><p><b> ret&
82、lt;/b></p><p> writer_f:LCALL wrrtc</p><p> mov r0,#sec</p><p> mov sec,#82h</p><p> mov min,int_min</p><p> lcall wrrtc</p><p>&
83、lt;b> ret</b></p><p> writer_sh:mov sec,#10000100b</p><p> mov min,int_hour</p><p> mov r0,#sec</p><p> lcall wrrtc</p><p><b> ret
84、</b></p><p> writer_yue:mov sec,#88h</p><p> mov min,int_month</p><p> mov r0,#sec</p><p> lcall wrrtc</p><p><b> ret</b><
85、/p><p> writer_nian:mov sec,#8ch</p><p> mov min,int_year1</p><p> mov r0,#sec</p><p> lcall wrrtc</p><p><b> ret</b></p><p>
86、; writer_date:mov sec,#86h</p><p> mov min,int_date</p><p> mov r0,#sec</p><p> lcall wrrtc</p><p><b> RET</b></p><p> 3.4 BCD轉(zhuǎn)換<
87、/p><p><b> TRUN:</b></p><p> MOV A,SEC</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV SEC12,A</p><p> MOV
88、 SEC11,B</p><p> MOV A,MIN</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV MIN12,A</p><p> MOV MIN11,B</p><p> M
89、OV A,HOUR</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV HOUR12,A</p><p> MOV HOUR11,B</p><p> MOV A,date</p><p>
90、 MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV DAY12,a</p><p> MOV DAY11,b</p><p> MOV A,MONTH</p><p> MOV B,#10H</p><p&g
91、t;<b> DIV AB</b></p><p> MOV MONTH12,A</p><p> MOV MONTH11,B</p><p> MOV A,year1</p><p> MOV B,#10H</p><p><b> DIV AB</b&g
92、t;</p><p> MOV YEAR12,A</p><p> MOV YEAR11,B</p><p> MOV A,YEAr2</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV
93、YEAR14,A</p><p> MOV YEAR13,b</p><p> MOV A,35h</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV N_DAY12,A</p><p>
94、MOV N_day11,B</p><p> MOV A,34h</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV N_MONTH12,A</p><p> MOV N_MONTH11,B</p>
95、<p> MOV A,TEMP</p><p> MOV B,#10H</p><p><b> DIV AB</b></p><p> MOV TEMP12,A</p><p> MOV TEMP11,B</p><p><b> RET</b&g
96、t;</p><p><b> 3.5延時程序</b></p><p> DEALY:MOV R5,#01h</p><p> DEL1: MOV R2,#07dH</p><p><b> DEL2:NOP</b></p><p><b> NOP<
97、;/b></p><p> DJNZ R2,DEL2</p><p> DJNZ R5,DEL1</p><p><b> RET</b></p><p><b> 3.6 顯示程序</b></p><p> DENG:MOV P2,#0FFH</
98、p><p> MOV A,#00H</p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV P2,ADRESS2</p><p&g
99、t; MOV A,SHU2</p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV A,#00H</p><p> MOV SBUF,A<
100、;/p><p> JNB TI,$</p><p><b> CLR TI</b></p><p> LCALL DEALY</p><p> MOV P2,#0FFH</p><p><b> RET</b></p><p> DE
101、NG1:MOV P2,#0FFH</p><p> MOV A,SHU1</p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV P2,#0FFH
102、</p><p> mov a,#00h</p><p> MOV SBUF,a</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> MOV P2,ADRESS1</p><
103、;p> MOV A,SHU3</p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p> LCALL DEALY</p><p><b>
104、RET</b></p><p><b> DISP1:</b></p><p> MOV R3,#0bFH</p><p> MOV R4,#06H</p><p> MOV R0,#10H</p><p> DISP2:MOV A,@R0</p>&l
105、t;p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p> MOV SHU2,A</p><p><b> inc r0</b></p><p><b> MOV A,R3</b></p><p><
106、b> Rr A</b></p><p><b> MOV R3,A</b></p><p> MOV ADRESS2,A</p><p> LCALL DENG</p><p> DJNZ R4,DISP2</p><p> mov a,day<
107、/p><p> mov dptr,#xing</p><p> movc a,@a+dptr</p><p> mov shu2,a</p><p> mov adress2,#0bfh</p><p> lcall deng</p><p><b> RET<
108、/b></p><p> DISP3:MOV R3,#0FEH</p><p> MOV R4,#08H</p><p> MOV R1,#24H</p><p> DISP4:MOV A,@R0</p><p> MOV DPTR,#TAB</p><p> MOV
109、C A,@A+DPTR</p><p> MOV SHU3,A</p><p><b> INC r0</b></p><p> MOV A,@R1</p><p> MOVC A,@A+DPTR</p><p> MOV SHU1,A</p><p&g
110、t;<b> INC R1</b></p><p><b> MOV A,R3</b></p><p><b> RR A</b></p><p> MOV R3,A</p><p> MOV ADRESS1,A</p><p>
111、 LCALL DENG1</p><p> DJNZ R4,DISP4</p><p><b> RET</b></p><p><b> 3.7鍵盤程序</b></p><p> key:jb p1.3,s2</p><p> s1: lcall disp
112、1</p><p> lcall disp3</p><p> jnb p1.3,s1</p><p> mov a,6eh</p><p><b> inc a</b></p><p><b> mov 6eh,a</b></p><p
113、> dianliang1:cjne a,#01h,dianliang2</p><p> mov p0,#0feh</p><p><b> ret</b></p><p> dianliang2:cjne a,#02h,dianliang3</p><p> mov p0,#0fch</p
114、><p><b> ret</b></p><p> dianliang3:cjne a,#03h,dianliang4</p><p> mov p0,#0f8h</p><p><b> ret</b></p><p> dianliang4:cjne a,#
115、04h,dianliang5</p><p> mov p0,#0f0h</p><p><b> ret</b></p><p> dianliang5:cjne a,#05h,mie</p><p> mov p0,#0e0h</p><p><b> ret<
116、/b></p><p> mie:cjne a,#06h,out</p><p> mov 06eh,#00h</p><p> mov p0,#0ffh</p><p><b> ret</b></p><p><b> out: ret</b><
117、;/p><p> s2:jb p3.3,s3</p><p> shang:acall disp1</p><p> acall disp3</p><p> jnb p3.3,shang</p><p> mov a,temp</p><p><b> inc
118、a</b></p><p> mov temp,a</p><p> cjne a,#01h,out</p><p> mov a,6eh</p><p> cjne a,#05h,out</p><p> mov r0,#sec</p><p> mov
119、 sec,#0c0h</p><p> mov min,70h</p><p> lcall wrrtc</p><p> mov r0,#sec</p><p> mov sec,#0c2h</p><p> mov min,71h</p><p> lcall wr
120、rtc</p><p><b> ret</b></p><p> s3: jb p3.2,out</p><p> MOV R7,#05H</p><p> xian: MOV 6FH,R7</p><p> lcall disp1</p><p>
121、; lcall disp3</p><p> MOV R7,6FH</p><p> DJNZ R7,XIAN</p><p> jia: mov a,6eh</p><p> cjne a,#01h,pan2</p><p> LJMP jia_SH</p><p>
122、 pan2:cjne a,#02h,pan3</p><p> LJMP jia_F</p><p> pan3:cjne a,#03h,pan4</p><p> LJMP jia_nian</p><p> pan4:cjne a,#04h,pan5</p><p> ljmp jia_yue&
123、lt;/p><p> pan5:cjne a,#05h,out</p><p> ljmp jia_ri</p><p><b> ret</b></p><p> jia_f:mov a,int_min</p><p><b> inc a</b></p
124、><p><b> da a</b></p><p> mov int_min,a</p><p> cjne a,#60h,diao_jf</p><p> mov int_min,#00h</p><p><b> diao_jf:</b></p&
125、gt;<p> lcall writer_f</p><p> lcall chxie_ds1302</p><p><b> ret</b></p><p><b> jia_sh:</b></p><p> mov a,int_hour</p><
126、;p><b> inc a</b></p><p><b> da a</b></p><p> mov int_hour,a</p><p> cjne a,#24h,diao_jsh</p><p> mov int_hour,#00h</p><
127、;p><b> diao_jsh:</b></p><p> lcall writer_sh</p><p> lcall chxie_ds1302</p><p><b> ret</b></p><p> jia_ri:mov a,int_date</p>&
128、lt;p><b> inc a</b></p><p><b> da a</b></p><p> mov int_date,a</p><p> MOV A,MONTH</p><p><b> clr c</b></p><p
129、> mov R7,#0f8h</p><p> addc a,R7</p><p><b> jc hou</b></p><p> qian: mov a,month</p><p> mov b,#02h</p><p><b> div ab<
130、/b></p><p><b> mov a,b</b></p><p><b> rrc a</b></p><p> jc dayue</p><p> xiaoyue:mov a,int_date</p><p> cjne a,#31h,d
131、iao_jri</p><p> mov int_date,#01h</p><p> sjmp diao_jri</p><p> dayue:mov a,int_date</p><p> cjne a,#32h,diao_jri</p><p> mov int_date,#01h</
132、p><p> sjmp diao_jri</p><p> hou: mov a,month</p><p> mov b,#02h</p><p><b> div ab</b></p><p><b> mov a,b</b></p><
133、p><b> rrc a</b></p><p> jc xiaoyue</p><p> sjmp dayue</p><p><b> diao_jri:</b></p><p> lcall writer_date</p><p> lcal
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 萬年歷畢業(yè)論文---基于at89s52單片機的電子萬年歷設(shè)計
- 基于at89s52單片機的萬年歷設(shè)計畢業(yè)論文
- 畢業(yè)設(shè)計---基于at89s52單片機的數(shù)字萬年歷設(shè)計與實現(xiàn)
- 基于at89s52單片機的電子萬年歷設(shè)計畢業(yè)論文
- 基于at89s52單片機的電子萬年歷設(shè)計1畢業(yè)論文
- 基于at89s52單片機和ds1302的電子萬年歷畢業(yè)設(shè)計
- 基于at89s52單片機和ds1302的電子萬年歷畢業(yè)設(shè)計開題報告
- 基于at89s52的電子萬年歷畢業(yè)論文
- 單片機萬年歷系統(tǒng)畢業(yè)設(shè)計
- 萬年歷畢業(yè)設(shè)計---基于stc89c52萬年歷的設(shè)計
- 基于at89s52的電子萬年歷設(shè)計報告畢業(yè)論文
- 基于單片機的萬年歷畢業(yè)設(shè)計
- 基于at89c51單片機萬年歷畢業(yè)設(shè)計
- 基于at89c51單片機萬年歷的畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---單片機控制的萬年歷設(shè)計
- 51單片機萬年歷畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計---基于單片機萬年歷的設(shè)計
- 畢業(yè)設(shè)計---基于單片機萬年歷的設(shè)計
- 基于單片機的萬年歷設(shè)計畢業(yè)設(shè)計
- 基于at89c51單片機的萬年歷 畢業(yè)設(shè)計
評論
0/150
提交評論