版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> XX學(xué)院課程設(shè)計(jì)論文</p><p> 論文題目: 數(shù)字電子鐘的設(shè)計(jì) </p><p> 姓 名: </p><p> 所在院系: 電信學(xué)院 </p><p> 班 級(jí): <
2、;/p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p><b> XX學(xué)院</b></p><p><b> 二〇一三年一月六日</b></p><p>&
3、lt;b> 摘 要</b></p><p> 單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講,一塊芯片就成了一臺(tái)計(jì)算機(jī)。單片機(jī)具有體積小、功能強(qiáng)、應(yīng)用面廣等優(yōu)點(diǎn),為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛。彩電、冰箱、空調(diào)、錄像機(jī)、VCD、遙控器、游戲機(jī)、電飯煲等無處不見單片機(jī)的影子,單片機(jī)早已深深地融入我們
4、每個(gè)人的生活之中。單片機(jī)能大大地提高這些產(chǎn)品的智能性,易用性及節(jié)能性等主要性能指標(biāo),給我們的生活帶來舒適和方便的同時(shí),在工農(nóng)業(yè)生產(chǎn)上也極大地提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。 此外,單片機(jī)在工商、金融、科研、教育、國(guó)防航空等領(lǐng)域都有著十分廣泛的用途。</p><p> 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。該課程設(shè)計(jì)為數(shù)字電子鐘的設(shè)計(jì)。以AT89C51為核心,配合LED數(shù)碼管顯示器和按鍵
5、為用戶提供長(zhǎng)期、連續(xù)、可靠、穩(wěn)定的工作環(huán)境。該數(shù)字電子鐘有時(shí)分秒顯示和日期顯示以及時(shí)間和日期調(diào)整的功能。系統(tǒng)軟件設(shè)計(jì)包括單片機(jī)計(jì)算機(jī)兩部分的編程。計(jì)算機(jī)軟件編程主要實(shí)現(xiàn)參數(shù)設(shè)置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲(chǔ)。單片機(jī)軟件編程主要實(shí)現(xiàn)鍵盤、LED顯示等各模塊的功能,采用匯編語言編程。數(shù)字鐘是其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛,</p><p> 因此得到了廣
6、泛的使用。</p><p> 關(guān)鍵詞 數(shù)字電子鐘;單片機(jī);LED顯示</p><p> 第一章 設(shè)計(jì)目的和方案4</p><p><b> 1.1設(shè)計(jì)任務(wù)4</b></p><p> 1.1.1 設(shè)計(jì)題目:數(shù)字電子鐘4</p><p> 1.1.2 設(shè)計(jì)目的與任務(wù)4<
7、;/p><p> 1.2功能要求說明4</p><p> 1.3設(shè)計(jì)總體方案及工作原理4</p><p> 第二章 數(shù)字電子鐘的硬件系統(tǒng)的設(shè)計(jì)5</p><p> 2.1 硬件系統(tǒng)各模塊功能設(shè)計(jì)5</p><p> 2.1.1 單片機(jī)最小系統(tǒng)6</p><p> 2.1.
8、2 鍵盤模塊6</p><p> 2.1.3 LED顯示電路6</p><p> 2.1.4 接口電路6</p><p> 2.2 電路原理圖、PCB圖和元器件布局6</p><p> 2.3 元器件清單7</p><p> 第三章 數(shù)字電子鐘的軟件系統(tǒng)的設(shè)計(jì)7</p>
9、<p> 3.1 使用的單片機(jī)資源的情況7</p><p> 3.2 各模塊功能簡(jiǎn)要介紹8</p><p> 3.3 程序的流程圖8</p><p> 3.4 程序清單12</p><p> 第四章 設(shè)計(jì)仿真和結(jié)果分析13</p><p> 4.1 設(shè)計(jì)結(jié)論和功能使用說明1
10、3</p><p> 4.1.1 設(shè)計(jì)結(jié)論13</p><p> 4.1.2 功能及使用說明13</p><p> 4.2 仿真結(jié)果14</p><p> 4.3 設(shè)計(jì)系統(tǒng)誤差分析15</p><p> 第五章 設(shè)計(jì)小結(jié)16</p><p><b> 致
11、 謝16</b></p><p><b> 參考文獻(xiàn)17</b></p><p><b> 附 錄19</b></p><p> 第一章 設(shè)計(jì)目的和方案</p><p><b> 1.1設(shè)計(jì)任務(wù)</b></p><p>
12、 1.1.1 設(shè)計(jì)題目:數(shù)字電子鐘</p><p> 1.1.2 設(shè)計(jì)目的與任務(wù)</p><p> 通過理論設(shè)計(jì)和實(shí)物制作解決相應(yīng)的實(shí)際問題,鞏固和運(yùn)用在《單片機(jī)原理及接口技術(shù)》中所學(xué)的理論知識(shí)和實(shí)驗(yàn)技能,掌握單片機(jī)應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法,提高設(shè)計(jì)能力和實(shí)踐動(dòng)手能力,為以后從事電子電路設(shè)計(jì)、研發(fā)電子產(chǎn)品打下良好的基礎(chǔ)。</p><p><b>
13、1.2功能要求說明</b></p><p> 1、顯示準(zhǔn)確的北京時(shí)間(時(shí)、分、秒),可用24小時(shí)制式; 2、隨時(shí)可以調(diào)校時(shí)間。 3、增加公歷日期顯示功能(年、月、日),年號(hào)只顯示最后兩位; 4、隨時(shí)可以調(diào)校年、月、日; 5、允許通過轉(zhuǎn)換功能鍵轉(zhuǎn)換顯示時(shí)間或日期。 硬件方案: ⑴ 顯示器采用6位LED數(shù)碼管(共陽),可分別顯示時(shí)間或日期;(通過KB 鍵可切換) ⑵ 顯示
14、器的驅(qū)動(dòng)采用動(dòng)態(tài)掃描電路形式,以達(dá)到簡(jiǎn)化電路的目的。但要注意所需的驅(qū)動(dòng)電流比靜態(tài)驅(qū)動(dòng)時(shí)要大,因此要增加驅(qū)動(dòng)電路??刹捎?4LS244或者晶體管;其中74ls244是用來驅(qū)動(dòng)段選碼,晶體管是驅(qū)動(dòng)位選碼</p><p> 1.3設(shè)計(jì)總體方案及工作原理</p><p> 設(shè)計(jì)中采用AT89C51芯片及LED顯示器,一些獨(dú)立式按鍵構(gòu)成一個(gè)簡(jiǎn)單的數(shù)字電子鐘。設(shè)計(jì)中是采用單片機(jī)的內(nèi)部定時(shí)器進(jìn)行定時(shí)
15、,程序框圖如圖所示。</p><p> 整個(gè)電子鐘的工作原理是:在正常的供電狀態(tài)下,首先利用單片機(jī)定時(shí),到了相應(yīng)的時(shí)間由單片機(jī)將所需要顯示的數(shù)據(jù)送到LED顯示器的輸入口,當(dāng)有鍵按下時(shí)則進(jìn)入相應(yīng)的按鍵顯示和調(diào)整狀態(tài),進(jìn)行按鍵調(diào)整。</p><p> 總體硬件原理圖如圖所示</p><p> 第二章 數(shù)字電子鐘的硬件系統(tǒng)的設(shè)計(jì)</p><p&
16、gt; 2.1 硬件系統(tǒng)各模塊功能設(shè)計(jì)</p><p> 該數(shù)字電子鐘由單片機(jī)最小系統(tǒng)、鍵盤模塊、LED顯示電路模塊、接口電路模塊組成。各模塊的功能如下:</p><p> 2.1.1 單片機(jī)最小系統(tǒng)</p><p> 由AT89C51單片機(jī)、時(shí)鐘電路和復(fù)位電路構(gòu)成。AT89C51是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Pr
17、ogrammable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。時(shí)鐘電路由一個(gè)12MHZ的石英晶體振蕩器和兩個(gè)22pF的的電容組成振蕩電路和分頻電路,為單片機(jī)提供內(nèi)部時(shí)鐘。復(fù)位電路采用上電復(fù)位和按鍵復(fù)位結(jié)合的方式對(duì)電路進(jìn)行復(fù)位,主要是通過RST引腳送入單片機(jī)。</p><p> 2.1.2 鍵盤模塊</p><p>
18、 采用獨(dú)立式鍵盤接法,共有四個(gè)按鍵來對(duì)電路進(jìn)行控制。分別接在單片機(jī)的P1口線上。一個(gè)鍵控制開和關(guān),一個(gè)鍵負(fù)責(zé)調(diào)整,另外兩個(gè)鍵輔助調(diào)整。</p><p> 2.1.3 LED顯示電路</p><p> 采用六個(gè)共陽的數(shù)碼管顯示器進(jìn)行顯示,加上一個(gè)74LS244作為驅(qū)動(dòng)和8個(gè)220Ω的電阻起限流的作用。將段控口接在P0口上,位控口接在P3口上,實(shí)現(xiàn)對(duì)顯示的控制。</p>&
19、lt;p> 2.1.4 接口電路</p><p> 接上一個(gè)電容組成的濾波電路和電源顯示燈組成一個(gè)電源接口,為單片機(jī)工作供電。</p><p> 2.2 電路原理圖、PCB圖和元器件布局</p><p> 采用Protel軟件,Protel99SE是Protel公司近10年來致力于Windows平臺(tái)開發(fā)的最新結(jié)晶,能實(shí)現(xiàn)從電學(xué)概念設(shè)計(jì)到輸出物理生產(chǎn)
20、數(shù)據(jù),能夠和形象的畫出我們所要設(shè)計(jì)的產(chǎn)品。電路原理圖和PCB圖及元器件布局見附錄。</p><p><b> 各模塊拼接圖</b></p><p> 2.3 元器件清單</p><p><b> 見附錄。</b></p><p> 第三章 數(shù)字電子鐘的軟件系統(tǒng)的設(shè)計(jì)</p>
21、<p> 3.1 使用的單片機(jī)資源的情況</p><p> 該數(shù)字電子鐘用到了單片機(jī)的定時(shí)器的功能,此外用到了單片機(jī)的中斷功能,在數(shù)據(jù)的顯示時(shí)所采用的是查表的方法,因此需要將表格、數(shù)據(jù)存到單片機(jī)的程序存儲(chǔ)器中去。</p><p> 由于電子鐘需要可以進(jìn)行調(diào)節(jié),因此,需要在單片機(jī)的P口上加上按鍵,本設(shè)計(jì)采用獨(dú)立式鍵盤,直接接在P1口上且按鍵的結(jié)果存貯在單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)
22、器里面。用到的LED顯示器接到了單片機(jī)的P0口線上和P3口線上。 </p><p> 3.2 各模塊功能簡(jiǎn)要介紹</p><p> 該數(shù)字電子鐘所用的軟件模塊有定時(shí)器模塊、按鍵模塊、LED顯示模塊。</p><p><b> ?。?)定時(shí)器模塊</b></p><p> 選擇定時(shí)器0,設(shè)置定時(shí)方式為方式1,設(shè)置定
23、時(shí)時(shí)間為50mS。</p><p><b> ?。?)按鍵模塊</b></p><p> 采用獨(dú)立式鍵盤,共用四個(gè)按鍵對(duì)電路進(jìn)行控制和操作,分別為K0、K1、K2、K3來控制電子鐘的開/關(guān)和調(diào)整。</p><p> ?。?)LED顯示模塊</p><p> 該電子鐘一通電即讓它顯示P.,按開啟鍵即可顯示時(shí)分秒,再按切
24、換鍵即可顯示年月日,然后結(jié)合鍵盤操作還可以對(duì)時(shí)間進(jìn)行調(diào)整。</p><p> 3.3 程序的流程圖</p><p> (1)整體設(shè)計(jì)流程圖</p><p> ?。?)鍵盤設(shè)計(jì)流程圖</p><p> 圖3.2 鍵盤設(shè)計(jì)流程圖</p><p> ?。?)顯示設(shè)計(jì)流程圖</p><p>
25、 圖3.3 顯示時(shí)分秒設(shè)計(jì)流程圖</p><p> 圖3.4 顯示年月日設(shè)計(jì)流程圖</p><p><b> 3.4 程序清單</b></p><p><b> 見附錄。</b></p><p> 第四章 設(shè)計(jì)仿真和結(jié)果分析</p><p> 4.1
26、設(shè)計(jì)結(jié)論和功能使用說明</p><p> 4.1.1 設(shè)計(jì)結(jié)論</p><p> 通過對(duì)單片機(jī)進(jìn)行外接鍵盤和LED數(shù)碼管的操作以及加上硬件電路和軟件的結(jié)合,實(shí)現(xiàn)了該數(shù)字電鐘顯示P.以及時(shí)分秒和年月日的顯示,同時(shí)還可實(shí)現(xiàn)對(duì)該電子鐘進(jìn)行調(diào)整的功能。通過測(cè)試和仿真以及修改,該電子鐘最終能正常的工作。</p><p> 4.1.2 功能及使用說明</p>
27、;<p> 該數(shù)字電子鐘采用八位數(shù)碼管能實(shí)現(xiàn)年月日和時(shí)分秒的顯示。當(dāng)電子鐘一上電即可顯示P.,設(shè)置數(shù)字鐘的初始日期和時(shí)間為12年02月23日00時(shí)00分00秒.用四個(gè)按鍵實(shí)現(xiàn)電子鐘的顯示和調(diào)整的功能,分別為K0,K1,K2,K3,其中K0鍵為開啟鍵,且顯示的是時(shí)分秒,開啟之后K2鍵可實(shí)現(xiàn)切換的功能,即可實(shí)現(xiàn)年月日和時(shí)分秒的切換顯示;按K3鍵可實(shí)現(xiàn)年月日和時(shí)分秒的調(diào)整,按一下可以對(duì)當(dāng)前顯示的進(jìn)行調(diào)整,再按一下即可切換到一個(gè)
28、界面進(jìn)行調(diào)整,調(diào)整的時(shí)候數(shù)字鐘停止計(jì)時(shí),當(dāng)進(jìn)行時(shí)分秒的調(diào)整時(shí), K0鍵可實(shí)現(xiàn)對(duì)秒進(jìn)行增大的調(diào)整,每按一下秒的值就加一,當(dāng)秒增加到59時(shí)就重新從0開始繼續(xù)增大, K1鍵可實(shí)現(xiàn)對(duì)分進(jìn)行增大的調(diào)整,每按一下分的值就加一,當(dāng)分增加到59的時(shí)候就重新從0開始繼續(xù)增大,K2鍵可實(shí)現(xiàn)對(duì)時(shí)進(jìn)行增大的調(diào)整,每按一下時(shí)的值就加一,當(dāng)時(shí)的值增大到23的時(shí)候就重新從0開始繼續(xù)增大.當(dāng)進(jìn)行年月日的調(diào)整時(shí), K0鍵可實(shí)現(xiàn)對(duì)日進(jìn)行增大的調(diào)整,每按一下秒的值就加一,當(dāng)
29、日增加到28或者30或者31(看不同的年份和月份)時(shí)就重新從0開始繼續(xù)增大, K1鍵可實(shí)現(xiàn)對(duì)月進(jìn)行增大的調(diào)整,每按一下月的值就加一,當(dāng)月增加到12的</p><p><b> 4.2 仿真結(jié)果</b></p><p> 在仿真時(shí)用到了兩個(gè)軟件,第一個(gè)是Keil,第二個(gè)是Protues,本次仿真是將兩個(gè)軟件結(jié)合起來進(jìn)行的。</p><p>
30、 用Protues軟件進(jìn)行仿真,其仿真的電路圖如圖4.1所示</p><p> 圖4.1 Protues仿真電路圖</p><p> 數(shù)字電子鐘正常工作時(shí),仿真的LED顯示器顯示如圖4.2所示,當(dāng)按下切換鍵時(shí),數(shù)字電子鐘進(jìn)入日期顯示界面,此時(shí)LED數(shù)碼管顯示器的顯示如圖4.3和4.4所示,當(dāng)按下調(diào)整鍵時(shí),數(shù)字電子鐘進(jìn)入調(diào)整界面,此時(shí)LED數(shù)碼管顯示器的顯示如圖4.5和4.5所示。&l
31、t;/p><p> 圖4.2 數(shù)字電子鐘正常工作時(shí)的顯示圖</p><p><b> P.</b></p><p> 圖4.3 數(shù)字電子鐘顯示時(shí)分秒的顯示圖</p><p><b> 000000.</b></p><p> 圖4.4 數(shù)字電子鐘顯示日期的顯示圖<
32、/p><p><b> 120223.</b></p><p> 4.3 設(shè)計(jì)系統(tǒng)誤差分析</p><p> 本數(shù)字電子鐘在跟標(biāo)準(zhǔn)的電子鐘比較時(shí),時(shí)間稍微慢一點(diǎn),產(chǎn)生此種情況的原因有:其一是在執(zhí)行程序指令時(shí),由于需要耗費(fèi)一定的時(shí)間,因此會(huì)比標(biāo)準(zhǔn)的電子鐘要慢一點(diǎn)。其二是晶振不夠標(biāo)準(zhǔn),使得定時(shí)器定時(shí)時(shí)不夠精準(zhǔn)。</p><p
33、><b> 第五章 設(shè)計(jì)小結(jié)</b></p><p> 從硬件電路的設(shè)計(jì)到軟件電路的設(shè)計(jì),整個(gè)過程當(dāng)中我學(xué)到了很多的東西,在繪制原理圖時(shí)我查找了相關(guān)軟件的使用方法,并悉心向老師和同學(xué)請(qǐng)教,學(xué)會(huì)對(duì)PROTEL和PROTEUS的使用;在軟件系統(tǒng)的設(shè)計(jì)中,我遇到了很多的問題,不能把一些小模塊系統(tǒng)聯(lián)系起來,但通過不斷的探索,最終把整個(gè)程序完整的編出來了,并能進(jìn)行仿真使用;</p&g
34、t;<p> 本次的設(shè)計(jì)使我學(xué)到如何從理論轉(zhuǎn)化為實(shí)踐,怎樣將我所學(xué)到的知識(shí)運(yùn)用到我以后的工作中。通過單片機(jī)硬件電路的調(diào)試,實(shí)現(xiàn)了預(yù)先設(shè)定的功能,設(shè)計(jì)主要用到的元件不多,最主要的是程序也比較長(zhǎng)比較麻煩,同時(shí)也遇到了不少困難,尤其是關(guān)于校時(shí)模塊的設(shè)計(jì)實(shí)現(xiàn)。雖然過程中遇到了一些困難,但是在解決這些問題的過程無疑也是對(duì)自己自身專業(yè)素質(zhì)的一種提高。此次的電子時(shí)鐘設(shè)計(jì)給我奠定了一個(gè)實(shí)踐基礎(chǔ),同時(shí)在查找資料的過程中我也學(xué)到了許多新的知
35、識(shí),在和同學(xué)協(xié)作過程中增進(jìn)同學(xué)間的友誼,使我對(duì)團(tuán)隊(duì)精神的積極性和重要性有了更加充分的認(rèn)識(shí)和理解。</p><p><b> 致 謝</b></p><p> 首先衷心感謝在此次課程設(shè)計(jì)中給予我?guī)椭睦蠋熂巴瑢W(xué)們,幫助我分析和解決問題。在開始設(shè)計(jì)的時(shí)候,經(jīng)過老師悉心的指導(dǎo)和講解,讓我漸漸有自己的方案和選擇方向,在每一步的進(jìn)展當(dāng)中,我都碰到了很多的問題,畫原理圖的時(shí)
36、候和分析電子鐘工作的原理以及怎么確定和修改,都是經(jīng)過一步步修改而成的。設(shè)計(jì)軟件的時(shí)候,因?yàn)槭窃O(shè)計(jì)一個(gè)系統(tǒng)的程序,所以開始還沒形成系統(tǒng)的思維,但在老師的講解和同學(xué)的教導(dǎo)下,漸漸的將一個(gè)個(gè)子程序聯(lián)系起來調(diào)試運(yùn)行。在此,謹(jǐn)向給予我?guī)椭睦蠋熀屯瑢W(xué)深表言謝。</p><p><b> 參考文獻(xiàn)</b></p><p> ?。?]彭勇,葉曉勇,王萬剛 單片機(jī)技術(shù) 北京
37、 電子工業(yè)出版社 2009</p><p> ?。?]李廣弟,朱月秀,冷祖祁 單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2007</p><p> ?。?]劉湘濤.江世明.單片機(jī)原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2006.</p><p> [4]李光飛.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2004.9</p>
38、<p> ?。?]朱定華.單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)[M].北京:北方交通大學(xué)出版社2002.11</p><p> ?。?]張洪潤(rùn),蘭清華.單片機(jī)應(yīng)用技術(shù)教程[M].北京:清華大學(xué)出版社,1997.11</p><p><b> 附 錄</b></p><p> ********************************
39、***********************************************</p><p> ***;按鍵接P1.0~P1.3分別為K0、K1、K2、K3;**************************</p><p> ***;數(shù)碼管顯示器段控口接單片機(jī)的P0口,位控口接單片機(jī)的P3口;*****</p><p> ********
40、************************************************************</p><p> **********;存儲(chǔ)單元定義;*******************************************************</p><p> YEAR EQU 40H</p><p>
41、 MONTHEQU 41H </p><p> DAY EQU 42H</p><p> HOUR EQU 43H</p><p> MINUTE EQU 44H</p><p> SECONDEQU 45H</p><p> TIME EQU 46H </p&g
42、t;<p> ORG 0000H</p><p> AJMP START</p><p> ORG 000BH</p><p> AJMP ET_0 </p><p> START:LCALL LING</p><p> MOV TIME, #
43、00H</p><p> MOV TMOD, #01H ;設(shè)置定時(shí)器的工作方式為方式一</p><p> MOV TH0, #(65536-50000)/256 ;定時(shí)50毫秒</p><p> MOV TL0, #(65536-50000)MOD 256</p><p> M
44、OV IE, #82H</p><p> LOOP: LCALL DISPLAY0 ;顯示P.</p><p> JNB P1.0, MAIN1</p><p> JMP LOOP</p><p> MAIN1: LCALL DISPLAY0</p>&
45、lt;p> JNB P1.0, MAIN1</p><p> SETB TR0 ;開啟定時(shí)器</p><p> *****************;主函數(shù);******************************************************</p><p> MAIN: LCALL
46、 KEY</p><p> JB 20H.3, SET1 </p><p> JB 20H.0, GUAN</p><p> JB 20H.2, RIQI</p><p> LCALL DISPLAY2 ;顯示時(shí)分秒</p><p&g
47、t; AJMP MAIN </p><p> *********************;顯示日期;************************************************</p><p> RIQI:LCALL DISPLAY1</p><p> LCALL KEY</p><p&
48、gt; JB 20H.2, MAIN</p><p> JMP RIQI</p><p> GUAN: MOV P2, #0FFH ;關(guān)顯示</p><p> LCALL KEY </p><p> JB 20H.0, MAIN</p><
49、;p> JMP GUAN </p><p> ***************;進(jìn)入時(shí)分秒的調(diào)整界面;****************************************** </p><p> SET1: CLR TR0 ;時(shí)分秒的調(diào)整</p><p>
50、 LCALL DISPLAY2</p><p> LCALL KEY</p><p> JB 20H.3, SET2</p><p> JB 20H.2, TS</p><p> JB 20H.1, TF</p><p> JB 20H.0, TM
51、</p><p> JMP SET1</p><p> TS: INC HOUR ;時(shí)的調(diào)整</p><p> MOV A, HOUR ;是否達(dá)到了24小時(shí)到了就清零</p><p> CJNE A,#24, SET1</p><
52、;p> AJMP LL1</p><p> LL1: MOV HOUR, #0</p><p> JMP SET1</p><p> TF: INC MINUTE ;分的調(diào)整</p><p> MOV A, MINUTE ;是否達(dá)到了60分
53、到了就清零</p><p> CJNE A, #60, SET1</p><p> AJMP LL2</p><p> LL2: MOV MINUTE, #0</p><p> JMP SET1</p><p> TM: INC SECOND ;秒的
54、調(diào)整</p><p> MOV A, SECOND ;是否達(dá)到了60秒到了就清零</p><p> CJNE A,#60, SET1</p><p> AJMP LL3</p><p> LL3: MOV SECOND, #0</p><p> JMP
55、 SET1 </p><p> SET2: LCALL KEY ;進(jìn)入年月日的調(diào)整界面</p><p> LCALL DISPLAY1 ;顯示年月日</p><p> JB 20H.3, EXIT</p><p> JB 20H.2
56、, TN</p><p> JB 20H.1, TY</p><p> JB 20H.0, TR</p><p> JMP SET2</p><p> EXIT: SETB TR0 ;關(guān)定時(shí)器</p><p> JMP
57、 MAIN </p><p> TN: INC YEAR ;年的調(diào)整</p><p> MOV A, YEAR ;是否達(dá)到了99年到了就清零</p><p> CJNE A,#99, SET2</p><p>
58、 AJMP LL4</p><p> LL4: MOV YEAR, #0</p><p> JMP SET2</p><p> TY: INC MONTH ;月的調(diào)整</p><p> MOV A, MONTH
59、 ;是否達(dá)到了12月到了就清零</p><p> CJNE A,#13, SET2</p><p> AJMP LL5</p><p> LL5: MOV MONTH, #0</p><p> JMP SET2</p><p> TR: INC DAY
60、 ;日的調(diào)整</p><p> MOV A, YEAR ;看是閏年還是非閏年</p><p> MOV B, #4</p><p><b> DIV AB</b></p><p> MOV A, B</p><p>
61、 JZ WW1 ;閏年則轉(zhuǎn)WW1</p><p> JMP WW2 ;非閏年則轉(zhuǎn)WW2</p><p> WW1: MOV A, MONTH ;看是閏年的哪一月份</p><p> CJNE A,#2, LL6
62、 ;是閏年中的2月則為29天 MOV A, DAY 到29就清零</p><p> CJNE A,#29, SET2</p><p> MOV DAY, #0</p><p> AJMP SET2</p><p> LL6: CJNE
63、A,#4, LL7 ;閏年中的4、6、9、11為30天</p><p> MOV A, DAY 到30就清零</p><p> CJNE A,#30, SET2</p><p> MOV DAY, #0</p><p>
64、 AJMP SET2</p><p> LL7: MOV A, MONTH</p><p> CJNE A,#6, LL8</p><p> MOV A, DAY</p><p> CJNE A,#30, SET2</p><p> MOV DAY,
65、 #0</p><p> AJMP SET2</p><p> LL8: MOV A, MONTH</p><p> CJNE A,#9, LL9</p><p> MOV A, DAY</p><p> CJNE A,#30, SET2</p&g
66、t;<p> MOV DAY, #0</p><p> AJMP SET2</p><p> LL9: MOV A, MONTH</p><p> CJNE A,#11, LLA</p><p> MOV A, DAY</p><p>
67、CJNE A,#30, ZHUAN</p><p> MOV DAY, #0</p><p> AJMP SET2</p><p> LLA: AJMP WW6 </p><p> WW6: MOV A, DAY ;閏年中的1、3、5、7、8、10、
68、12月</p><p> CJNE A,#31, ZHUAN </p><p> MOV DAY, #0</p><p> ZHUAN:AJMP SET2</p><p> WW2: MOV A, MONTH ;看是閏年中的哪一月</p><p&
69、gt; CJNE A,#2, LL6 ;非閏年中的2月為28天,到28則清零</p><p> MOV A, DAY ;非潤(rùn)年中的4、6、9、11月為30天其他</p><p> CJNE A,#28,ZHUAN 31天</p><p> MOV DAY
70、, #0</p><p> AJMP SET2</p><p> *********************;中斷子程序和時(shí)間的增一;**********************************</p><p> ET_0: MOV TH0,#(65536-50000)/256 </p><p> MOV
71、 TL0,#(65536-50000)MOD 256</p><p> INC TIME</p><p> MOV A, TIME </p><p> CJNE A,#20, DIAN</p><p><b> AJMP ZM</b></
72、p><p> ZM: INC SECOND </p><p> MOV TIME, #0 ;TIME為20時(shí)SECOND加一同時(shí)對(duì)TIME </p><p> MOV A, SECOND 清零</p><p> CJNE A,#60, DIAN&l
73、t;/p><p> ZF : INC MINUTE</p><p> MOV SECOND,#0 ;SECOND為60時(shí)MINUTE加一同時(shí)SECOND </p><p> MOV A, MINUTE 清零</p><p> CJNE A,#60,
74、DIAN</p><p> ZS: INC HOUR ;MINUTE為60時(shí)HOUR加一同時(shí)MINUTE </p><p> MOV MINUTE,#0 清零</p><p> MOV A, HOUR</p><p> CJNE A,
75、#24, DIAN</p><p> AJMP ZR ;HOUR為23時(shí)DAY加一同時(shí)HOUR清零</p><p> ZR: INC DAY</p><p> MOV HOUR, #0</p><p> MOV A, YEAR</p><p>
76、; MOV B, #4</p><p><b> DIV AB</b></p><p> JZ RUN ;閏年則轉(zhuǎn)RUN</p><p> AJMP NRUN ;非閏年則轉(zhuǎn)NRUN</p><p> DIAN: RETI
77、 ;是否為閏年中的2月,是則到了29就</p><p> RUN: MOV A, MONTH MONTH加一同時(shí)DAY清零</p><p> CJNE A,#3 ,NEXT1 ;是否為閏年中的4、6、9、11月,是則到</p><p
78、> 了 30MONTH就加一同時(shí)DAY清零</p><p> AJMP BB1 ;閏年中的1、3、5、7、8、10、12月為31 </p><p> 天到了31則MONTH加一DAY清零</p><p> NEXT1:MOV A, MONTH</p><p>
79、 CJNE A,#5, NEXT2</p><p><b> AJMP BB2</b></p><p> NEXT2:MOV A, MONTH</p><p> CJNE A,#7, NEXT3</p><p> AJMP BB2</p><p> NE
80、XT3:MOV A, MONTH</p><p> CJNE A,#10, NEXT4</p><p> AJMP BB2</p><p> NEXT4:MOV A, MONTH</p><p> CJNE A,#12, NEXT5</p><p> AJMP BB
81、2</p><p> NEXT5:AJMP BB3</p><p> BB1: MOV A, DAY</p><p> CJNE A,#30, DIAN</p><p><b> AJMP ZY</b></p><p> BB2: MOV A,
82、 DAY</p><p> CJNE A,#31, DIAN</p><p><b> AJMP ZY</b></p><p> BB3: MOV A, DAY</p><p> CJNE A,#32, DIAN</p><p><b> AJMP
83、 ZY</b></p><p> BB4: MOV A, DAY</p><p> CJNE A,#29, DIAN</p><p><b> AJMP ZY</b></p><p> NRUN: MOV A, MONTH</p><p>
84、; CJNE A,#3, NEXT6 ;非閏年中的2月到了28就MONTH</p><p><b> 加一同時(shí)DAY清零</b></p><p> AJMP BB4 ;非閏年中的4、6、9、11月到了30天 </p><p> NEX
85、T6:MOV A, MONTH 則MONTH加一同時(shí)DAY清零 CJNE A,#5, NEXT7 ;非閏年中的1、3、5、7、8、10、12</p><p> AJMP BB2 月為31天到了則MONTH加一同時(shí)DAY清零</p><p> NEX
86、T7:MOV A, MONTH </p><p> CJNE A,#7, NEXT8</p><p> AJMP BB2</p><p> NEXT8:MOV A, MONTH</p><p> CJNE A,#10, NEXT9</p><p> AJMP BB
87、2</p><p> NEXT9:MOV A, MONTH</p><p> CJNE A,#12, NEXT5</p><p> AJMP BB2</p><p> ZY: INC MONTH</p><p> MOV DAY, #0</p><
88、p> MOV A, MONTH</p><p> CJNE A,#14, DIAN</p><p><b> AJMP ZN</b></p><p> ZN: INC YEAR</p><p> MOV MONTH, #0</p><p>
89、MOV A, YEAR</p><p> CJNE A,#100, DIAN</p><p> AJMP LING</p><p> *********************;初始顯示值;**********************************************</p><p> LING:
90、 MOV YEAR, #12 ;顯示器顯示的初始值為日期12-02-23, </p><p> MOV MONTH, #02 時(shí)間 00-00-00</p><p> MOV DAY, #23</p><p> MOV HOUR,
91、#00</p><p> MOV MINUTE, #00</p><p> MOV SECOND, #00</p><p><b> RET</b></p><p> *********************;鍵掃子程序;************************************
92、**********</p><p> KEY: LCALL KEYCH ; 鍵掃程序,按鍵結(jié)果存入20H單元</p><p> JZ EXIT1</p><p> LCALL DELAY1</p><p> LCALL KEYCH</p><p&g
93、t; JZ EXIT1 </p><p> KEYSF: MOV B, #20H</p><p> LCALL KEYCH</p><p> JZ KEY1</p><p> LCALL DELAY1</p><p> LJMP KEYSF</p>
94、<p> KEY1: MOV 20H, B</p><p> EXIT1: RET</p><p> KEYCH: PUSH PSW</p><p> CLR RS1</p><p> SETB RS0</p><p> MOV P1, #0FFH<
95、/p><p> MOV A, P1</p><p><b> CPL A;</b></p><p> ANL A, #0FH</p><p> MOV 20H, A</p><p> CLR RS1</p><p>
96、 CLR RS0</p><p> POP PSW</p><p><b> RET</b></p><p> ******************;進(jìn)入顯示P.界面;********************************************</p><p> DISPLAY0:CLR
97、 P3.7 ;顯示P.</p><p> MOV P0, #0F3H </p><p> LCALL DELAY1</p><p> SETB P3.7</p><p><b> RET</b></p><p> **********
98、***********;年月日顯示界面;*****************************************</p><p> DISPLAY1:MOV DPTR, #TAB1 ;顯示日期 </p><p> MOV A, DAY</p><p> MOV
99、 B,#10</p><p><b> DIV AB</b></p><p> CLR P3.6</p><p> MOVCA,@A+DPTR</p><p> MOV P0,A</p><p> LCALLDELAY1</p><p>
100、SETB P3.6</p><p><b> MOV A,B</b></p><p><b> CLR P3.7</b></p><p> MOVCA,@A+DPTR</p><p> MOV P0,A</p><p> LCALL DELAY1&
101、lt;/p><p> SETB P3.7</p><p><b> CLR P3.5</b></p><p> LCALL DELAY1</p><p> SETB P3.5</p><p> MOV A,MONTH</p><p> MOV B,#
102、10</p><p><b> DIV AB</b></p><p><b> CLR P3.3</b></p><p> MOVC A,@A+DPTR</p><p> MOV P0,A</p><p> LCALL DELAY1</p>
103、<p> SETB P3.3</p><p><b> MOV A,B</b></p><p><b> CLR P3.4</b></p><p> MOVC A,@A+DPTR</p><p> MOV P0,A</p><p>
104、LCALL DELAY1</p><p> SETB P3.4</p><p><b> CLR P3.2</b></p><p> LCALL DELAY1</p><p> SETB P3.2</p><p> MOV A,YEAR</p><p&g
105、t; MOV B,#10</p><p><b> DIV AB</b></p><p><b> CLR P3.0</b></p><p> MOVC A,@A+DPTR</p><p><b> MOVP0,A</b></p><
106、;p> LCALL DELAY1</p><p> SETB P3.0</p><p><b> MOV A,B</b></p><p><b> CLRP3.1</b></p><p> MOVC A,@A+DPTR</p><p> MOV
107、 P0,A </p><p> LCALL DELAY1</p><p> SETB P3.1</p><p><b> RET</b></p><p> DISPLAY2:MOV DPTR,#TAB1 ;顯示時(shí)間</p><p> MOV A, SEC
108、OND </p><p> MOV B, #10</p><p><b> DIV AB</b></p><p><b> CLR P3.6</b></p><p> MOVC A,@A+DPTR</p><p> MOV P0,A <
109、;/p><p> LCALL DELAY1</p><p> SETB P3.6</p><p><b> MOV A,B</b></p><p><b> CLR P3.7</b></p><p> MOVC A,@A+DPTR</p>&
110、lt;p> MOV P0,A</p><p> LCALL DELAY1</p><p> SETB P3.7</p><p><b> CLR P3.5</b></p><p> LCALL DELAY1</p><p> SETB P3.5</p>
111、<p> MOV A,MINUTE</p><p> MOV B,#10</p><p><b> DIV AB</b></p><p><b> CLR P3.3</b></p><p> MOVCA,@A+DPTR</p><p>
112、 MOV P0,A</p><p> LCALL DELAY1</p><p> SETB P3.3</p><p><b> MOV A,B</b></p><p><b> CLR P3.4</b></p><p> MOVC A,@A+DPT
113、R</p><p> MOV P0,A</p><p> LCALL DELAY1</p><p> SETB P3.4</p><p><b> CLR P3.2</b></p><p> LCALL DELAY1</p><p> SETB P
114、3.2</p><p> MOV A,HOUR</p><p> MOV B,#10</p><p><b> DIV AB</b></p><p><b> CLR P3.0</b></p><p> MOVC A,@A+DPTR</p&
115、gt;<p> MOV P0,A</p><p> LCALL DELAY1</p><p> SETB P3.0</p><p><b> MOV A,B</b></p><p><b> CLR P3.1</b></p><p>
116、MOVC A,@A+DPTR</p><p> MOV P0,A</p><p> LCALL DELAY1</p><p> SETB P3.1</p><p><b> RET</b></p><p> ****************;延時(shí)程序;************
117、*****************************************</p><p> DELAY1: MOV R0,#10 ;延時(shí)5ms</p><p> AA: MOV R7,#250 </p><p> DJNZ R7,$</p><p> DJNZ R0,AA
118、</p><p><b> RET</b></p><p> ****************;數(shù)據(jù)表格;**************************************************</p><p> TAB1: DB 03FH;0 ;顯示代碼數(shù)據(jù)
119、表</p><p> DB 006H;1</p><p> DB 05BH;2</p><p> DB 04FH;3</p><p> DB 066H;4</p><p> DB 06DH;5</p><p> D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子鐘課程設(shè)計(jì)----數(shù)字電子鐘的設(shè)計(jì)
- 數(shù)字電子鐘課程設(shè)計(jì)
- 數(shù)字電子鐘課程設(shè)計(jì)
- 課程設(shè)計(jì)---數(shù)字電子鐘
- 數(shù)字電子鐘課程設(shè)計(jì)
- 數(shù)字電子鐘課程設(shè)計(jì)
- 數(shù)字電子鐘課程設(shè)計(jì)
- 單片機(jī)電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
- 數(shù)字電子鐘課程設(shè)計(jì) (2)
- 數(shù)字電子鐘課程設(shè)計(jì) (3)
- 數(shù)字電子鐘課程設(shè)計(jì)--電子數(shù)字時(shí)鐘
- 數(shù)字電子鐘課程設(shè)計(jì) (4)
- 數(shù)字電子鐘課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)--數(shù)字電子鐘課程設(shè)計(jì)
- 數(shù)字電子鐘課程設(shè)計(jì)--數(shù)字電子鐘邏輯電路設(shè)計(jì)
- 數(shù)字電子鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子鐘課程設(shè)計(jì) (3)
- 電子技術(shù)課程設(shè)計(jì)論文--數(shù)字電子鐘
評(píng)論
0/150
提交評(píng)論