推薦下載電子鐘_第1頁(yè)
推薦下載電子鐘_第2頁(yè)
推薦下載電子鐘_第3頁(yè)
推薦下載電子鐘_第4頁(yè)
推薦下載電子鐘_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、(完整word版)電子鐘編輯整理:尊敬的讀者朋友們:這里是精品文檔編輯中心,本文檔內(nèi)容是由我和我的同事精心編輯整理后發(fā)布的,發(fā)布之前我們 對(duì)文中內(nèi)容進(jìn)行仔細(xì)校對(duì),但是難免會(huì)有疏漏的地方,但是任然希望(完整word版)電子鐘) 的內(nèi)容能夠給您的工作和學(xué)習(xí)帶來(lái)便利。同時(shí)也真誠(chéng)的希望收到您的建議和反饋,這將是我們進(jìn) 步的源泉,前進(jìn)的動(dòng)力。本文可編輯可修改,如果覺(jué)得對(duì)您有幫助請(qǐng)收藏以便隨時(shí)查閱,最后祝您生活愉快業(yè)績(jī)進(jìn)步,以 下為(完整word版)電子鐘的全部?jī)?nèi)容。單片機(jī)原理及應(yīng)用課程三級(jí)項(xiàng)目項(xiàng)目名稱班 級(jí);姓 名:指導(dǎo)教師::基于單片機(jī)的智能電子鐘系統(tǒng)仿真設(shè)計(jì)通信工程2班姜敏敏張丹李文婷朱賀任雁飛宋亞

2、閆盛楠日 期:2015年10月摘要數(shù)字時(shí)鐘在日常生活中很常見(jiàn),應(yīng)用也很廣泛。本系統(tǒng)設(shè)計(jì)以AT89C51芯片為 核心,輔以必要的外圍電路,設(shè)計(jì)了一個(gè)結(jié)構(gòu)簡(jiǎn)單功能齊全的電子時(shí)鐘。本系統(tǒng)由 單片機(jī)的時(shí)鐘信號(hào)實(shí)現(xiàn)計(jì)時(shí)功能,將其時(shí)間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器顯示出 來(lái),同時(shí)通過(guò)按鍵可以進(jìn)行校時(shí)、定時(shí)等功能。利用單片機(jī)實(shí)現(xiàn)的數(shù)字時(shí)鐘具有編 程靈活,便于功能的擴(kuò)充等優(yōu)點(diǎn)以滿足人們不同的需要。關(guān)鍵詞:電子時(shí)鐘;單片機(jī);LED數(shù)碼管顯示前言數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒、數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于人們 生產(chǎn)生活的各個(gè)方面,鐘表的數(shù)字化給人們帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了 鐘表原先的報(bào)時(shí)功能.隨著科

3、技的發(fā)展,人們對(duì)電子產(chǎn)品的應(yīng)用要求越來(lái)越高,數(shù)字電子鐘不但可以顯 示當(dāng)前的時(shí)間,而且可以顯示日期、農(nóng)歷、以及星期等,另外數(shù)字鐘還具備秒表和鬧 鐘功能,且鬧鐘鈴聲可自選,使一款電子鐘具備了多媒體的色彩。高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石 英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校。 數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LCD顯示器代替指針進(jìn) 而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn) 行時(shí)和分的校對(duì),片選的靈活性好。時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用, 是保證系統(tǒng)正常工作的基礎(chǔ)。本

4、設(shè)計(jì)利用軟件編程借助于定時(shí)器/計(jì)數(shù)器0實(shí)現(xiàn)間隔為1s的定時(shí)功能,格式 為秒,分,時(shí),在其中斷服務(wù)程序中實(shí)現(xiàn)對(duì)小時(shí)、分鐘、秒單元數(shù)值的調(diào)整。在這 次設(shè)計(jì)中,我們采用LED數(shù)碼管顯示時(shí)、分、秒,以24小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼 管動(dòng)態(tài)顯示原理來(lái)進(jìn)行顯示,用12MHz的晶振產(chǎn)生振蕩脈沖,定時(shí)器計(jì)數(shù)。利用嵌 套在調(diào)時(shí)子程序中的顯示子程序?qū)崿F(xiàn)上下午指示和半秒閃爍。該數(shù)字鐘既可以顯示 當(dāng)前時(shí)間,同時(shí)具有調(diào)時(shí)、鬧鐘等功能,滿足了不同人的需要。正文一、系統(tǒng)整體設(shè)計(jì)思想K基本原理利用軟件編程借助于定時(shí)器/計(jì)數(shù)器0實(shí)現(xiàn)間隔為1s的定時(shí)功能,格式為秒,分, 時(shí),在其中斷服務(wù)程序中實(shí)現(xiàn)對(duì)小時(shí)、分鐘、秒單元數(shù)值的調(diào)整。主程

5、序通過(guò)不斷 循環(huán)調(diào)用調(diào)時(shí)子程序,實(shí)現(xiàn)整個(gè)功能。利用嵌套在調(diào)時(shí)子程序中的顯示子程序?qū)崿F(xiàn) 上下午指示和半秒閃爍。2、所用元器件報(bào)警、電源、AT89C51單片機(jī)、六片數(shù)碼管顯示屏、LED燈指示(上下午、半秒)、按鍵(k1k4)、電阻、喇叭、三極管3、方案設(shè)計(jì)通過(guò)定時(shí)器/計(jì)數(shù)器0實(shí)現(xiàn)1s的計(jì)時(shí),將它設(shè)計(jì)成內(nèi)部中斷,即每計(jì)滿2產(chǎn)生 中斷信號(hào),主程序轉(zhuǎn)去執(zhí)行定時(shí)器0的中斷服務(wù)程序,按照時(shí)間規(guī)則改變相應(yīng)RAM 存儲(chǔ)單元的數(shù)值。在主程序里首先不斷檢測(cè)是否有按鍵按下,如果沒(méi)有,則不斷調(diào) 用顯示子程序,否則,根據(jù)按下的是哪個(gè)鍵可以轉(zhuǎn)去執(zhí)行相應(yīng)的程序段,分別實(shí)現(xiàn) 小時(shí)和分鐘的加和減以及鬧鐘定時(shí),而每次執(zhí)行結(jié)束都會(huì)調(diào)

6、用顯示子程序,保證數(shù) 碼管的穩(wěn)定顯示,同時(shí)也可以實(shí)時(shí)根據(jù)存儲(chǔ)單元數(shù)值的不同顯示。而鬧鐘的倒計(jì)時(shí)則利用定時(shí)器/計(jì)數(shù)器1的計(jì)時(shí)來(lái)實(shí)現(xiàn),同樣為1s計(jì)時(shí),只不 過(guò)是在中斷服務(wù)程序中實(shí)現(xiàn)對(duì)存儲(chǔ)單元的按規(guī)則遞減,同樣的即使顯示就可以實(shí)現(xiàn) 倒計(jì)時(shí)功能,到達(dá)00: 00: 00時(shí)就可以調(diào)用報(bào)警子程序,實(shí)現(xiàn)報(bào)警.4、整體電路5、仿真結(jié)果二. 控制電路1、基本原理P0 口控制LED顯示屏,P2 口控制時(shí)間顯示,P3 口分別控制半秒提示和上下午, P1 口分別控制四個(gè)按鍵和蜂鳴器。2、相關(guān)工具AT89C51, LED數(shù)碼管,K建按鈕3、電路原理圖4、方案設(shè)計(jì)及實(shí)現(xiàn)結(jié)果時(shí)間顯示:采用六個(gè)數(shù)碼管顯示當(dāng)前時(shí)間:小時(shí)、分鐘

7、、秒。上下午指示:采用兩個(gè)發(fā)光二極管來(lái)指示上下午。半秒提示:采用兩個(gè)發(fā)光二極管,每隔半秒閃爍。按下K1鍵,開(kāi)始調(diào)小時(shí),同時(shí)2個(gè)小時(shí)數(shù)碼管閃爍。按下K2鍵,小時(shí)加;按下K3鍵,小時(shí)減.小時(shí)調(diào)整好后,再按下K1鍵,開(kāi)始調(diào)分鐘,同時(shí)分鐘數(shù)碼管閃爍。按下K2鍵,分鐘加;按下K3鍵,分鐘減.整好分鐘后,再按下K1鍵,調(diào)時(shí)結(jié)束。按下K4鍵,開(kāi)始調(diào)小時(shí),同時(shí)2個(gè)小時(shí)數(shù)碼管閃爍.按下K2鍵,小時(shí)加;按下K3鍵,小時(shí)減。小時(shí)調(diào)整好后,再按下K4鍵,開(kāi)始調(diào)分鐘,同時(shí)分鐘數(shù)碼管閃爍。按下K2鍵,分鐘加;按下K3鍵,分鐘減。調(diào)整好分鐘后,再按下K4鍵,定鬧結(jié)束。鬧鐘定時(shí)的時(shí)間到后,蜂鳴器/揚(yáng)聲器發(fā)出提示音;用戶需按K

8、2-k4鍵來(lái)取消 鬧鐘警告O三、定時(shí)模塊設(shè)計(jì)K基本原理計(jì)時(shí)器T1的倒計(jì)時(shí)同樣是1s的倒計(jì)時(shí),只是在中斷程序里實(shí)現(xiàn)對(duì)計(jì)時(shí)單元的 減但在減1之前檢測(cè)是否為0,如果是就調(diào)用報(bào)警子程序,如果不是則按照規(guī) 則減注意的同樣是數(shù)值的調(diào)整。調(diào)整結(jié)束后返回ADJUST程序,繼續(xù)檢測(cè),這樣就 可以實(shí)現(xiàn)連續(xù)調(diào)節(jié)。由單片機(jī)芯片中引腳輸出的信號(hào)來(lái)控制蜂鳴器的開(kāi)和關(guān)在報(bào) 警子程序里要求不斷調(diào)用顯示子程序,這樣數(shù)碼管可以在時(shí)間到達(dá)之后穩(wěn)定顯示00: 00:00o2、所用元器件蜂鳴器、三極管2N29073、方案設(shè)計(jì)P1.3為設(shè)定鬧鈴狀態(tài),按P1。3實(shí)現(xiàn)時(shí)分秒轉(zhuǎn)換,P1.2加1, P1O 1減一,再 按円。3調(diào)鬧鐘結(jié)束。引腳P

9、1.7輸出高電平時(shí),三極管截止,蜂鳴器不發(fā)聲;輸出低電平時(shí),三極管 導(dǎo)通,蜂鳴器發(fā)出聲音。改變單片機(jī)P1。7引腳輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生不 同的音色、音調(diào)的聲音;改變其占空比,貝I可以控制蜂鳴器聲音的大小。4、電路設(shè)計(jì)圖四、LED顯示模塊設(shè)計(jì)仁基本原理POo 0P0。7接數(shù)碼管的片選碼)P2.0P2。5接數(shù)碼管的段選碼,時(shí)間顯示采 用六個(gè)數(shù)碼管顯示兩位的小時(shí),分鐘,秒半秒提示采用兩個(gè)發(fā)光二極管,每隔半 秒閃爍。上下午指示采用兩個(gè)發(fā)光二極管來(lái)指示上下午。2、所用元器件7SEG-MPX6-CABLUE A位 LED 液晶顯示屏、發(fā)光二極管、AT89C513、方案設(shè)計(jì)(1)時(shí)間

10、顯示:動(dòng)態(tài)顯示的核心在于依次選中一塊數(shù)碼管,并在此之前將相應(yīng) 數(shù)碼管要顯示的數(shù)字的段碼送到端口,進(jìn)行相應(yīng)的延時(shí)后關(guān)閉數(shù)碼管選通信號(hào)。不 斷執(zhí)行上述過(guò)程就可以實(shí)現(xiàn)較為穩(wěn)定的動(dòng)態(tài)顯示。每次進(jìn)入主程序都首先判斷是否 到了 2,到了則繼續(xù)執(zhí)行,否則,返回中斷。為了在顯示完秒之后還能繼續(xù)顯示小 時(shí)的十位,必須有一個(gè)用來(lái)計(jì)數(shù)的單元,用以區(qū)分當(dāng)前顯示的是小時(shí)還是分鐘,還 是秒,并以此作為僅次于顯示次數(shù)N的循環(huán).對(duì)每一個(gè)單元(30H32H)的兩位BCD 碼的顯示,用一位(21H) . 0來(lái)指示即將顯示的是十位還是各位,據(jù)此控制剛才所說(shuō)的單元指示數(shù)值是否用該加一或者重新初始化由此在DI SPLAY子程序中有3重

11、 循環(huán)。調(diào)用入口參數(shù)為30H32H單元的數(shù)值。(2) 半秒提示:采用兩個(gè)發(fā)光二極管,每隔半秒閃爍.中斷5次就是半秒,并在 相應(yīng)的分支里設(shè)置P3.6和P3。7,保證二者同時(shí)取反即可。這可以放在顯示子程序 內(nèi)部,保證時(shí)間顯示和半秒閃爍的同步,同時(shí)可以節(jié)約計(jì)數(shù)器。(3) 上下午指示:采用兩個(gè)發(fā)光二極管來(lái)指示上下午。只要判斷30H單元的內(nèi) 容與門H相比較就可以知道是上午還是下午了,在分支語(yǔ)句里控制相應(yīng)的燈亮了就 行。如上所述,將它放置在顯示子程序里較為方便。4、電路設(shè)計(jì)圖叩脅他PO.KAPI92OM1 工M2g 111 IEC?r3ATV忖汙manywn31 ATIrjaWKra.v/UIED-IEI

12、5、仿真結(jié)果30300五、按鍵模塊設(shè)計(jì)1、基本原理通過(guò)控制四個(gè)開(kāi)關(guān)按鈕,控制8951的P1 口輸入,通過(guò)編寫程序控制實(shí)現(xiàn)該設(shè) 計(jì)所要求的小時(shí)分鐘的調(diào)時(shí)功能,由按鍵控制調(diào)小時(shí)還是調(diào)分鐘并控制數(shù)值的加一 或減一2、所用元器件按鈕開(kāi)關(guān)3、設(shè)計(jì)方案ADJUST的主體部分就是檢測(cè)是否有按鍵按下,如果沒(méi)有只是調(diào)用顯示子程序, 而有的話轉(zhuǎn)去執(zhí)行相應(yīng)的分支語(yǔ)句。為了防止干擾,我們便寫了一個(gè)延時(shí)5ms左右 的子程序,若是經(jīng)過(guò)延時(shí)后,按鍵信號(hào)依然有效,則認(rèn)定是有效信號(hào),否則為干擾, 返回程序起始點(diǎn)重新檢測(cè)。在K2K3的分支語(yǔ)句里實(shí)現(xiàn)指針?biāo)赶騿卧募右换蛘?減一,但是注意要按照時(shí)間規(guī)則來(lái),對(duì)加一或者減一結(jié)果進(jìn)行調(diào)

13、整,否則可能出錯(cuò)。 對(duì)單元的加一或者減一直接反映到顯示子程序和定時(shí)器計(jì)數(shù)器0或者1的16位計(jì) 數(shù)單元里,所以,每次更改后的值就相當(dāng)于對(duì)時(shí)間確定調(diào)節(jié),并從該處繼續(xù)計(jì)時(shí),這 樣就實(shí)現(xiàn)了調(diào)時(shí)功能。K4的分支語(yǔ)句要求實(shí)現(xiàn)定鬧,它與K1分支語(yǔ)句的不同之處 是更改當(dāng)前計(jì)數(shù)器為關(guān)閉0,在計(jì)數(shù)器1的中斷服務(wù)程序里可以實(shí)現(xiàn)倒計(jì)時(shí)功 能。4、電路設(shè)計(jì)圖5、仿真結(jié)果按下K1鍵,開(kāi)始調(diào)小時(shí),同時(shí)2個(gè)小時(shí)數(shù)碼管閃爍。按下K2鍵,小時(shí)減;按下 K3鍵,小時(shí)加小時(shí)調(diào)整好后,再按下K1鍵,開(kāi)始調(diào)分鐘,同時(shí)分鐘數(shù)碼管閃爍。 按下K2鍵,分鐘減;按下K3鍵,分鐘加。調(diào)整好分鐘后,再按下K1鍵,調(diào)時(shí)結(jié)束。六 參考文獻(xiàn)【1】何立民,

14、單片機(jī)系統(tǒng)設(shè)計(jì)M,北京:北京航空大學(xué)出版社.1993【2】付家才,單片機(jī)控制工程實(shí)踐技術(shù)M,北京:北京化學(xué)工業(yè)出版社2004【3】李光才,單片機(jī)課程設(shè)計(jì)實(shí)力指導(dǎo)M,北京:北京航空大學(xué)出版社。2004【4】朱定華,單片機(jī)原理機(jī)接口技術(shù)實(shí)驗(yàn)M,北京:北方交通大學(xué)出版社2002結(jié)論本次課程設(shè)計(jì)是用AT89C51單片機(jī)設(shè)計(jì)一個(gè)數(shù)字時(shí)鐘,經(jīng)過(guò)一個(gè)星期的調(diào)試, 結(jié)果滿足部分設(shè)計(jì)要求,驗(yàn)證無(wú)誤。通過(guò)單片機(jī)硬件電路的調(diào)試,實(shí)現(xiàn)了預(yù)先設(shè)定 的功能,設(shè)計(jì)主要用到的元件不多,最主要的是程序也比較長(zhǎng)比較麻煩,同時(shí)也遇 到了大量困難,尤其是關(guān)于校時(shí)模塊的設(shè)計(jì)實(shí)現(xiàn)。關(guān)于顯示模塊,我們也遇到了不 少的麻煩,程序的錯(cuò)誤,對(duì)于

15、元件了解不夠深刻都是主要原因?qū)W以致用,將從書(shū)本 上學(xué)到的知識(shí)應(yīng)用于實(shí)踐,學(xué)會(huì)了初步的電子電路仿真設(shè)計(jì),雖然過(guò)程中遇到了一 些困難,但是在解決這些問(wèn)題的過(guò)程無(wú)疑也是對(duì)自己自身專業(yè)素質(zhì)的一種提高。當(dāng) 最終調(diào)試成功的時(shí)候也是對(duì)自己的一種肯定。此次的設(shè)計(jì)作業(yè)不僅增強(qiáng)了自己在專 業(yè)設(shè)計(jì)方面的信心,鼓舞了自己,更是一次興趣的培養(yǎng),為自己以后的學(xué)習(xí)方向的 明確了重點(diǎn)。另外在這次實(shí)驗(yàn)中我們遇到了不少的問(wèn)題針對(duì)不同的問(wèn)題我們采取不 同的解決方法,最終一一解決設(shè)計(jì)中遇到的問(wèn)題。在我們?cè)?jīng)遇到不懂的問(wèn)題時(shí), 利用網(wǎng)上的資源,搜索查找得到需要的信息。方案中仍存在不少的問(wèn)題,接下來(lái)我 們會(huì)繼續(xù)對(duì)其進(jìn)行調(diào)試修改,也希望老

16、師能給出我們相關(guān)的意見(jiàn)和建議。項(xiàng)目分工一起做,平均附錄ORG 0000HLJMP MAINORG OOOBHLJMP I TOPORG 001BHLJMP IT1PORG 01 OOHDB OCOHf 0F9H, 0A4H, OBOH, 99H, 92H, 82H, 0F8H, 80H, 90H; 0-9 的共陽(yáng)極顯示段碼ORG 1000HMAIN: SETB P3.0 ; 6 亮,綠燈CLR P3o 1MOV TMOD, #01H ;設(shè)TO方式1,定時(shí),T1為方式1,計(jì)數(shù)SETB ITO ;外部中斷0為跳沿方式有效SETB IT1 ;外部中斷1為跳沿方式有效SETB PXO ;外部中斷0為高

17、優(yōu)先級(jí)中斷SETB PX1 ;外部中斷1為高優(yōu)先級(jí)中斷CLR PTO ;定時(shí)器0為低優(yōu)先級(jí)中斷CLR PT1 ;計(jì)數(shù)器1為低優(yōu)先級(jí)中斷MOV 20H, #OAH ;中斷10次為1s,中斷計(jì)數(shù)單元為20HMOV 19H,#05HMOV 29H, #55H ;01010101B,不斷左移位,相當(dāng)于最高兩位的0和1轉(zhuǎn)換MOV 18H,#05H ; DI SPLAY子程序執(zhí)行這么多次后結(jié)束CLR A ; A清零MOV 30H, A ;“時(shí)”單元清零MOV 31H, A ;“分”單元清零MOV 32H, A ; “秒”單元清零SETB ETO ;允許中斷SETB ET1SETB EXOSETB EX1S

18、ETB EA ; CPU 開(kāi)中斷MOV THO, #3CH ;給TO裝入計(jì)數(shù)初值,可計(jì)時(shí)100msMOV TLO, #OBOH ;MOV TH1, #3CH ;給門裝入計(jì)數(shù)初值MOV TL1, #OBOHSETB TRO ;啟動(dòng)計(jì)數(shù)SETB TR1MOV R1,#31HHERE: NOP ;允許被中斷LCALL ADJUSTAJMP HERE ;反復(fù)調(diào)用顯示子程序ADJUST: MOV R3, #00HA1: LCALL DI SPLAYMOV P1, #OFFHJNB P1.2, K3JNB P1O 1, K2JNB P1o 0, K1JNB P1.3, K4LJMP A1 ;如果沒(méi)有鍵按下

19、重新檢測(cè)LJMP J3;等待按鍵抬起來(lái)J3: JB P1.2, A1LCALL DI SPLAYLJMP J3J2: JB P1.1, A1LCALL DI SPLAYLJMP J2J1: JB P1.0, A1LCALL DI SPLAYLJMP J1J4: JB P1.3, A1LCALL DI SPLAYLJMP J4K3: LCALL DELAYJB P1o2, A1 ;確實(shí)有鍵按下,進(jìn)入下面處理,否則嚴(yán)重干擾,重測(cè)MOV A,R1ANL A,#OFHCJNE A, #09H, M1MOV A,R1ADD A,#10HANL A, #OFOHMOV R1, AJMP M2M1: INC

20、 R1M2: LCALL DI SPLAYLJMP J3 ;等按鍵彈起來(lái),按一次,只加一次K2: LCALL DELAYJB P1.1, A1MOV A, R1ANL A, #OFHJNZ NONBOUNDMOV A, R1CLR CSUBB A, #06HMOV R1, ANONBOUND: DEC R1LCALL DI SPLAYLJMP J2K1: LCALL DELAYJB P1o 0, A1INC R3CJNE R3,#01H, TWICE1MOV R1,#30HJMP S1TWICE1: CJNE R3, #02H, DONEMOV R1,#31HS1: LCALL DISPLAY

21、LJMP J1K4: LCALL DELAYJB P1o 3, N1JMP N2N1: LJMP A1N2: CLR TROSETB TR1INC R3CJNE R3, #01H, TWICE2MOV R1,#30HJMP S2TWICE2: CJNE R3, #02H, DONEMOV R1, #31HS2: LCALL DI SPLAYLJMP J4DONE: NOPRETI TOP: PUSH Acc ;保護(hù)現(xiàn)場(chǎng)PUSH PSWCLR EAMOV THO, # 3CH ;重新裝入計(jì)數(shù)初值MOV TLO, #OBOHDJNZ 19H, HALF ;半秒MOV 19H,#05HMOV A,

22、29HRL AMOV 29H, AHALF: DJNZ 20Hr RETURN ;1s還沒(méi)有到,那么就返回繼續(xù)計(jì)數(shù)100sCPL P2. 0MOV 20H, #OAH ;否則,重新裝入中斷次數(shù)計(jì)數(shù)值MOV A, 32H;ADD A, #01H ;秒單元增1DA A ;將二進(jìn)制的秒數(shù)轉(zhuǎn)換成BCD碼,以便顯示MOV 32H, A ;返回到秒單元保存CJNE A, #60, RETURN;如果不滿60s,繼續(xù)下一個(gè)1 s的計(jì)時(shí)MOV 32H, #00H ;否則,秒單元就要清零MOV A, 31HADD A, #01H ;針對(duì)分單元加1DA AMOV 31H, ACJNE A, #60, RETURN

23、;如果不滿60分鐘,則繼續(xù)下一個(gè)1s的計(jì)數(shù)MOV 31H, #00H ;否則分單元清零MOV A, 30HADD A, #01H ;針對(duì)時(shí)單元加1DA AMOV 30H, ACJNE A, #24, RETURN;如果不滿24小時(shí),則繼續(xù)計(jì)數(shù),否則,全部清零MOV 30H,#00H ;時(shí)單元清零RETURN: SETB EAPOP PSWPOP AccRET IDI SPLAY:CLR EAPUSH AccPUSH PSWPUSH 01HLOOPO: DJNZ 18H, STARTLJMP FINISHSTART: MOV DPTR, #01 OOHMOV C, (29H) . 7 ; 29H

24、的最高兩位每隔半秒互調(diào)一次,只要不斷調(diào)用顯示程序, 輸出就會(huì)每隔半秒變化一次MOV P3o 7, CMOV C, (29H) o 6MOV P3. 6, CMOV A, #11HCJNE A, 30H, NEXT1 ;若是12小于小時(shí)數(shù),則Cy被置位,否則清零NEXT1: JC NIGHT ;0為0,是早上SETB P3.0 ;6 亮,綠燈CLR P3. 1JMP MOONNIGHT: SETB P3. 1 ;0為1,是晚上CLR P3.0 ; 7 亮,黃燈MOON: NOPNOPMOV 10H,#01H ;存放片選碼MOV RO, #30H ;寄存器間接尋址SETB (21H) . 0 ;指

25、示將要顯示的是十位還是個(gè)位,1表示十位,0表示個(gè)位L00P1: MOV A, R0 ; A中是待顯示的兩位數(shù)BCD碼JNB (21H)。O,NEXT ;若將要顯示個(gè)位則直接相與取位SWAP A ;否則,十位與個(gè)位交換再取位NEXT: CPL (21H)O 0 ;指示位取反,為下次顯示做準(zhǔn)備ANL A, # OFH ;取得待顯示的一位BCD碼MOVC A, A+DPTR ;取得待顯示段碼MOV PO, A ;準(zhǔn)備顯示MOV P2, 10H ;片選,亮了NOPNOPNOPMOV PO, #OFFH ;關(guān)閉數(shù)碼管MOV A, 10HRL A ;為下次顯示做準(zhǔn)備MOV 10H, AJNB (21H)O

26、 0, L00P1 ;若將顯示個(gè)位,則RO不變INC RO ;否則,加一CJNE RO, #33H, L00P1 ;若剛才顯示的是秒并且是個(gè)位,也就是顯示結(jié)束,那么重新 置數(shù)AJMP LOOPO ;否則,繼續(xù)顯示FINISH: MOV 18H,#05HPOP 01HPOP PSWPOP AccSETB EARETEINTO: PUSH PSW ;它本來(lái)就是高優(yōu)先級(jí)中斷,所以不會(huì)再被打斷PUSH AccINC R1MOV A, R1DA AMOV R1, APOP AccPOP PSWRET I; INT1中斷服務(wù)程序EINT1: PUSH PSWPUSH AccDEC R1MOV A, R1DA ACLR CSUBB A, #OCHMOV R1, APOP AccPOP PSWRET I ;T1中斷服務(wù)程序;K4按鈕第一次按下,轉(zhuǎn)到的中斷程序這里IT1P: NOPPUSH Acc ;保護(hù)現(xiàn)場(chǎng)PUSH PSWCLR EA

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論