單片機(jī)課程設(shè)計(jì)-數(shù)字電子鐘_第1頁
單片機(jī)課程設(shè)計(jì)-數(shù)字電子鐘_第2頁
單片機(jī)課程設(shè)計(jì)-數(shù)字電子鐘_第3頁
單片機(jī)課程設(shè)計(jì)-數(shù)字電子鐘_第4頁
單片機(jī)課程設(shè)計(jì)-數(shù)字電子鐘_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 單片機(jī)技術(shù)課程設(shè)計(jì)說明書 數(shù) 字 電 子 鐘 院 、 部: 電氣與信息工程學(xué)院 學(xué)生姓名: 指導(dǎo)教師: 職稱 專 業(yè): 通信工程 班 級: 完成時(shí)間: 摘 要 電子鐘在生活中應(yīng)用非常廣泛,而一種簡單方便的數(shù)字電子鐘則更能受到人們的歡迎。所以設(shè)計(jì)一個(gè)簡易數(shù)字電子鐘很有必要。本電子鐘采用ATMEL公司的AT89S52單片機(jī)為核心,使用12MHz 晶振與單片機(jī)AT89S52 相連接,通過軟件編程的方法實(shí)現(xiàn)以24小時(shí)為一個(gè)周期,同時(shí)8位7段LED數(shù)碼管(兩個(gè)四位一體數(shù)碼管)顯示小時(shí)、分鐘和秒的要求,并在計(jì)時(shí)過程中具有定時(shí)功能,當(dāng)時(shí)間到達(dá)提前定好的時(shí)間進(jìn)行蜂鳴報(bào)時(shí)。該電子鐘設(shè)有四個(gè)按鍵K1、K2、K3

2、和K4鍵,進(jìn)行相應(yīng)的操作就可實(shí)現(xiàn)校時(shí)、定時(shí)、復(fù)位功能。具有時(shí)間顯示、整點(diǎn)報(bào)時(shí)、校正等功能。走時(shí)準(zhǔn)確、顯示直觀、運(yùn)行穩(wěn)定等優(yōu)點(diǎn)。具有極高的推廣應(yīng)用價(jià)值。關(guān)鍵詞 電子鐘;AT89S52;硬件設(shè)計(jì);軟件設(shè)計(jì)ABSTRACT Clock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMELs

3、 as its core to control The crystal oscillator clock,using of E-12MHZ is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirement

4、s, and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons K1, K2, K3 and K4 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display, alarm clock settings, timer

5、 function, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value.顯示對應(yīng)的拉丁字符的拼音字典 - 查看字典詳細(xì)內(nèi)容 Key words Electronic clock;AT89S52;Hardware Design;Software Design目 錄1 設(shè)計(jì)課題任務(wù)、功能要求說明及方案介紹11.1 設(shè)計(jì)課題任務(wù)11.2 功能要求說明11.3 設(shè)計(jì)總體方案介紹及原理說明12 設(shè)計(jì)課題

6、硬件系統(tǒng)的設(shè)計(jì)22.1 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡要介紹22.2 設(shè)計(jì)課題電路原理圖和PCB圖以及元器件布局22.3 設(shè)計(jì)課題元器件清單23 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)33.1 設(shè)計(jì)課題使用單片機(jī)資源的情況33.2 設(shè)計(jì)課題軟件系統(tǒng)各模塊功能簡要介紹33.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖33.4 設(shè)計(jì)課題軟件系統(tǒng)程序清單64 設(shè)計(jì)結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議74.1 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用說明74.2 設(shè)計(jì)課題的仿真結(jié)果74.3 設(shè)計(jì)課題的誤差分析84.4 設(shè)計(jì)體會84.5 教學(xué)建議8結(jié)束語 9致 謝 10參考文獻(xiàn) 11附錄 A 12附錄 B 13附錄 C 14附錄 D 15附錄 E 1

7、61 設(shè)計(jì)課題任務(wù)、功能要求說明及方案介紹1.1 設(shè)計(jì)課題任務(wù)設(shè)計(jì)一個(gè)具有特定功能的電子鐘。并有時(shí)間設(shè)定,時(shí)間調(diào)整功能。1.2 功能要求說明設(shè)計(jì)一個(gè)具有特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“P.”, 進(jìn)入時(shí)鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動(dòng)/調(diào)整鍵,電子鐘從0時(shí)0分0秒開始運(yùn)行,進(jìn)入時(shí)鐘運(yùn)行狀態(tài);再次按電子鐘啟動(dòng)/調(diào)整鍵,則電子鐘進(jìn)入時(shí)鐘調(diào)整狀態(tài),此時(shí)可利用各調(diào)整鍵調(diào)整時(shí)間,調(diào)整結(jié)束后可按啟動(dòng)/調(diào)整鍵再次進(jìn)入時(shí)鐘運(yùn)行狀態(tài)。1.3 設(shè)計(jì)課題總體方案介紹及工作原理說明本電子鐘主要由單片機(jī)、4*1獨(dú)立鍵盤、顯示接口電路和復(fù)位電路構(gòu)成,設(shè)計(jì)課題的總體方案如圖1.1所示: 圖1.1

8、 總體設(shè)計(jì)方案圖 本電子鐘的所有的軟件、參數(shù)均存放在AT89S52的內(nèi)部ROM和內(nèi)部RAM中,減少了芯片的使用數(shù)量簡化了整體電路也降低了整機(jī)的工作電流。鍵盤采用動(dòng)態(tài)掃描方式。利用單片機(jī)定時(shí)器及計(jì)數(shù)器產(chǎn)生定時(shí)效果通過編程形成數(shù)字鐘效果,再利用數(shù)碼管動(dòng)態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù),同時(shí)通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同狀態(tài),實(shí)現(xiàn)不同功能。2 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì)2.1 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡要介紹硬件系統(tǒng)主要采用以下基本模塊來實(shí)現(xiàn),單片機(jī)最小系統(tǒng)模塊、輸入模塊、輸出模塊、電源模塊。(1)單片機(jī)最小系統(tǒng)模塊:包括低功耗、高性能CMOS8位微控制器AT89S52;復(fù)位電路;晶振電路

9、。本模塊AT89S52系統(tǒng)控制核心,單片機(jī)系統(tǒng)復(fù)位由復(fù)位電路完成,單片機(jī)內(nèi)部有一個(gè)高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端位位引腳XTAL2。通過這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容。這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。 (2)輸入模塊:本模塊共用到了5個(gè)按鍵,其中1個(gè)復(fù)位鍵,接通電源后,利用按鍵復(fù)位完成復(fù)位操作。,K1鍵控制電子鐘的啟動(dòng)調(diào)整狀態(tài),做正常走時(shí)狀態(tài)時(shí)K2為電子鐘時(shí)調(diào)整鍵,K3為電子鐘分調(diào)整鍵,K4鍵為電子鐘秒調(diào)整鍵,當(dāng)作為鬧鐘調(diào)整狀態(tài)時(shí)K4鍵為鬧鐘啟動(dòng)/關(guān)閉,K2為鬧鐘時(shí)調(diào)整鍵,K3為鬧鐘分調(diào)整鍵。K1、K2、K3,K4任一鍵都獨(dú)自連一個(gè)I/O(P1.0、

10、P1.1、P1.2)口線,說明它們可以獨(dú)立實(shí)現(xiàn)相應(yīng)的電子鐘功能。(3)輸出模塊:本次設(shè)計(jì)顯示為8位字符,采用兩個(gè)四位一體數(shù)碼管(共陽極)作為顯示窗口。數(shù)碼管用8個(gè)PNP三極管驅(qū)動(dòng)。 (4)電源模塊:本次直接購買了市場上由PC機(jī)的USB口直接供電的編輯器2.2 設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖2.2.1 電路原理圖 見附錄A所示。2.2.2 PCB圖 見附錄B所示。2.2,3 元器件布局圖 見附錄C所示。2.3 設(shè)計(jì)課題元器件清單 見附錄D所示。3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)3.1 設(shè)計(jì)課題使用單片機(jī)資源的情況 設(shè)計(jì)課題使用單片機(jī)資源的情況如下:P0口輸出數(shù)碼管段控信號,P2口輸出數(shù)碼管位

11、控信號;晶振12MHz;時(shí)間調(diào)整開關(guān)鍵K1:P1.0;通過K1切換電子鐘走時(shí)/暫停;時(shí)調(diào)整鍵K2:P1.1;按一次使電子鐘時(shí)加1;分調(diào)整鍵K3:P1.2;按一次使電子鐘分加1;秒調(diào)整鍵K4:P1.3按一次使電子鐘秒加1/鬧鐘開啟或關(guān)閉;蜂鳴器接:P3.1;整點(diǎn)和鬧鐘時(shí)間到時(shí)蜂鳴器報(bào)時(shí);28H-36H;9個(gè)寄存器單元作為顯示單元; 28H 鬧鈴小時(shí)緩沖區(qū);29H鬧鈴分鐘緩沖區(qū);30H 位選通控制位; 31H 顯示位數(shù)計(jì)數(shù)器;32H 走時(shí)小時(shí)緩沖區(qū);33H 走時(shí)分鐘緩沖區(qū);34H走時(shí)秒緩沖區(qū); 35H 定時(shí)器中斷次數(shù)計(jì)數(shù)器;36H顯示緩沖區(qū)首地址;3.2 設(shè)計(jì)課題軟件系統(tǒng)個(gè)模塊功能簡要介紹 本設(shè)計(jì)

12、的軟件系統(tǒng)主要采用以下基本模塊來實(shí)現(xiàn),主程序、中斷服務(wù)程序、鍵盤輸入程序模塊、數(shù)碼管及其驅(qū)動(dòng)模塊和延時(shí)模塊。主程序:主要是用于對輸入信號的處理、輸出信號的控制和對各個(gè)功能程序模塊的運(yùn)用及其控制。中斷服務(wù)程序:主要是用于電子鐘的準(zhǔn)確運(yùn)行、數(shù)據(jù)輸入過程中的閃爍。鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的鍵碼值。數(shù)碼管及其驅(qū)動(dòng)模塊:主要是用于驅(qū)動(dòng)數(shù)碼管及利用數(shù)碼管顯示時(shí)間。延時(shí)模塊:程序中有兩種延時(shí)子程序,一種是短延時(shí)用于判鍵按下等,一種是長延時(shí)。3.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖系統(tǒng)軟件采用匯編語言按模塊化方式進(jìn)行設(shè)計(jì),然后通過Keil軟件開發(fā)平臺將程序轉(zhuǎn)變成十六進(jìn)制程序語言,接著使用Pr

13、oteous 進(jìn)行仿真,讀出顯示數(shù)據(jù)。 圖3.1 主程序流程框圖 圖3.2 定時(shí)器初始化子程序流程框圖 圖3.3 轉(zhuǎn)換子程序 圖3.4動(dòng)態(tài)顯示子程序 圖3.5定時(shí)器1中斷服務(wù)程序 圖3.6 按鍵處理子程序流程框圖3.4設(shè)計(jì)課題軟件系統(tǒng)程序清單 要求:.顯示系統(tǒng)提示符“P.” .定義5個(gè)功能鍵:分別是復(fù)位鍵,啟動(dòng)/暫停鍵,時(shí)調(diào)整鍵,分調(diào)整鍵,秒調(diào)整鍵 .在系統(tǒng)提示符狀態(tài)下,只有按啟動(dòng)鍵/暫停鍵才能開啟電子鐘 .在電子鐘運(yùn)行狀態(tài)下,只有按啟動(dòng)鍵/暫停鍵才能調(diào)整電子鐘 電路描述:P0口為數(shù)碼管段控口,P2口為數(shù)碼管位控口,蜂鳴器接P3.1口,LED燈接P3.7口 系統(tǒng)程序見附錄E4 設(shè)計(jì)結(jié)論、仿真結(jié)

14、果、誤差分析4.1 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用說明本設(shè)計(jì)為單片機(jī)的電子鐘的設(shè)計(jì)。設(shè)計(jì)中問題很多,比如電路板的制作和電路的設(shè)計(jì),但是經(jīng)過查找和實(shí)驗(yàn)制作出了該設(shè)計(jì),真的經(jīng)歷了許多困難,卻積累了很多寶貴的經(jīng)驗(yàn),本設(shè)計(jì)用2個(gè)四位一體的共陽數(shù)碼管做為顯示器,它顯示時(shí)間值;設(shè)計(jì)中有三個(gè)按鍵,其中S1為啟動(dòng)/選擇調(diào)整位置,S2為加控制鍵 S3為減控制鍵,當(dāng)整點(diǎn)時(shí)間到時(shí),蜂鳴器報(bào)警。這樣的結(jié)果與設(shè)計(jì)要求完全相符,本設(shè)計(jì)成功。完成了設(shè)計(jì)任務(wù)。4.2 設(shè)計(jì)課題的仿真結(jié)果在Proteus ISIS的Debug菜單中選擇Execute,運(yùn)行程序,系統(tǒng)仿真結(jié)果如圖4.1與4.2所示。實(shí)現(xiàn)功能: 可調(diào)整運(yùn)行的電子鐘具有三種

15、工作狀態(tài):“P.”狀態(tài),運(yùn)行狀態(tài),走時(shí)調(diào)整狀態(tài),鬧鐘調(diào)整狀態(tài)。 (1)、“P.”狀態(tài):依靠上電或按復(fù)位鍵進(jìn)入,在此狀態(tài)下,按K2,K3,K4鍵均無效,按K1鍵有效,進(jìn)入運(yùn)行狀態(tài)。 (2)、運(yùn)行狀態(tài):在此狀態(tài)下,按K2,K3鍵均無效,只有按K1,K4鍵有效,按下 K1鍵后,退出運(yùn)行狀態(tài),進(jìn)入調(diào)整狀態(tài)。 (3)、調(diào)整狀態(tài):按K1鍵進(jìn)入在此狀態(tài)下,按K2(時(shí)+1鍵)、K3(分+1鍵),K4(秒+1鍵)鍵均有效;調(diào)整結(jié)束后必須按K1鍵,即可退出調(diào)整狀態(tài),進(jìn)入運(yùn)行狀態(tài)。 (4)、鬧鐘調(diào)整狀態(tài):鬧鐘走時(shí)狀態(tài)下按K4鍵進(jìn)入,在此狀態(tài)下,按K2(時(shí)+1鍵)、K3(分+1鍵),鍵均有效;調(diào)整結(jié)束后必須按K4鍵,

16、即可退出鬧鐘調(diào)整狀態(tài),進(jìn)入運(yùn)行狀態(tài)。 時(shí)間顯示格式為:時(shí)-分-秒; 圖4.1 “P.”運(yùn)行狀態(tài)仿真圖4.2 時(shí)鐘運(yùn)行狀態(tài)仿真4.3 設(shè)計(jì)課題的誤差分析本設(shè)計(jì)存在相對的誤差,誤差的產(chǎn)生有幾種情況,第一是采用的計(jì)時(shí)方案是軟件計(jì)時(shí)的,計(jì)時(shí)優(yōu)勢利用中斷來實(shí)現(xiàn),而當(dāng)電子鐘運(yùn)行時(shí)間1秒時(shí),又得去執(zhí)行中斷程序,這個(gè)過程是需要時(shí)間的,所以就產(chǎn)生了一定的誤差;第二還有硬件系統(tǒng)也有一定的影響;第三,用到12MHz的晶振,計(jì)算是滿20次為一秒鐘,所以實(shí)際會慢很多。4.4 設(shè)計(jì)體會 通過本次課程設(shè)計(jì),加深了我對專業(yè)的認(rèn)識,知道了自己的許多不足,使我深深的感受到了理論和實(shí)際動(dòng)手能力的重要性。在我們的學(xué)習(xí)過程中,我們應(yīng)當(dāng)

17、加強(qiáng)理論的基礎(chǔ),徹底了解程序的結(jié)構(gòu)和含義,同時(shí)加強(qiáng)自己的動(dòng)手能力,只有這樣才能學(xué)好這門課程。4.5 教學(xué)建議通過對這門課程學(xué)習(xí),了解了單片機(jī)的許多知識,尤其是在王韌老師的教學(xué)過程中,你的幽默的教學(xué)方式讓課堂氣氛很活躍,授課內(nèi)容條理清晰,經(jīng)常運(yùn)用各種實(shí)例,給人印象深刻。王老師您在課堂上經(jīng)常會用一些親身實(shí)踐的經(jīng)驗(yàn)為例,既生動(dòng),又有趣。但是對于不同的學(xué)生老師您可以有不同的規(guī)格,有的學(xué)生以后不一定有專業(yè)對口的工作,也對這門專業(yè)沒興趣的話,老師您的嚴(yán)格要求可能只會有反效果,所以老師您適當(dāng)放寬要求即能加深同學(xué)的認(rèn)識也能培養(yǎng)學(xué)生的積極性。結(jié)束語單片機(jī)是一門比較難學(xué)的課程,相對來說,單片機(jī)的課設(shè)也是不容易做的

18、。通過此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)單片機(jī)方面的知識,在設(shè)計(jì)過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗(yàn)不足。在此課程設(shè)計(jì)過程中,我不僅可以學(xué)到了很多在書本上所沒有學(xué)到過的知識,同時(shí)還鞏固了以前所學(xué)過的知識。通過這次課程設(shè)計(jì)。我深刻體會到實(shí)際動(dòng)手操作與書本理論知識有很大的反差,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,但可喜的是最終都得到了解決。致 謝通過不斷努力,終于完成了此次

19、單片機(jī)的課程設(shè)計(jì)。在此,首先感謝王韌老師,正是他在萬忙之中還抽出寶貴的時(shí)間對我們進(jìn)行精心的指導(dǎo),才使我順利完成了此次單片機(jī)課程設(shè)計(jì)。同時(shí)也感謝各位同學(xué)和老師對我提供的幫助。使我在此次設(shè)計(jì)中學(xué)到了許多寶貴的知識和經(jīng)驗(yàn)。在此,衷心地感謝你們!參考文獻(xiàn)1 鄧紅.張?jiān)?單片機(jī)實(shí)驗(yàn)與應(yīng)用設(shè)計(jì)教程M.北京:冶金工業(yè)出版社,2004.5 188-1951. ZhangYue DengGong. SCM experiment and application design tutorial M. Beijing: metallurgical industry press, 2004.5 188-1952 李廣第

20、.單片機(jī)基礎(chǔ)M.北京:北京航空航天大學(xué)出版社,2006.7. 1-2602 LiGuang first. Single chip microcomputer based M. Beijing: Beijing university of aeronautics &astronautics press, 2006.7. 1-2603 劉建清.輕松玩轉(zhuǎn)51單片機(jī)M.北京:北京航空航天大學(xué)出版社,2011.3. 186-2083 LiuJianQing. Easy play 51 SCM M. Beijing: Beijing university of aeronautics &astronaut

21、ics press, 2011.3 186-208 附錄A附錄B附錄C附錄D 表1元器件清單名稱數(shù)量參數(shù)電阻4個(gè)1K電阻8個(gè)470電阻1個(gè)200下載口1個(gè)USB電源插座1個(gè)蜂鳴器1個(gè)按鍵10個(gè)三極管1個(gè)9012USB供電線1根晶振1個(gè)12MHz瓷片電容2個(gè)33pf電解電容2個(gè)22F單排插針2個(gè)40P發(fā)光二極管9個(gè)六角開關(guān)1個(gè)AT89S52單片機(jī)1個(gè)40PAT89S52芯片鎖緊座1個(gè)40P四位一體共陽數(shù)碼管2個(gè)四位一體數(shù)碼管插座1個(gè)40P74HC5731個(gè)20P74HC573芯片插座1個(gè)20P排阻4個(gè)10K排阻1個(gè)470短路冒4個(gè)附錄E;= 程序定義段;= ALARM BIT 20H.0 K1

22、BIT P1.0 K2 BIT P1.1 K3 BIT P1.2 K4 BIT P1.3 HOUR_A EQU 28H MIN_A EQU 29H DISP_DIGIT EQU 30H DISP_SEL EQU 31H HOUR EQU 32H MIN EQU 33H SEC EQU 34H T1_COUNT EQU 35H DISP_BUF EQU 36H;=; 主程序開始;= ORG 0000HLOOP: MOV P0, #0CH MOV P2, #7FH JB P1.0, LOOP LCALL DELAY_10ms JB P1.0, LOOP JNB P1.0, $ LJMP MAIN

23、ORG 000BH LJMP TIME0 ORG 001BH LJMP TIME1 ORG 0100HMAIN: MOV SP, #70H MOV P0, #0FFH MOV P2, #0FFH CLR ALARM MOV HOUR_A, #12 MOV MIN_A, #00 MOV HOUR, #0 MOV MIN, #0 MOV SEC, #0 MOV T1_COUNT, #0 MOV DISP_DIGIT,#7FH MOV DISP_SEL, #0 MOV DISP_BUF+2,#10 MOV DISP_BUF+5,#10 ACALL T0T1_INITSTART : ACALL CON

24、V ACALL ALA_CHECK JB K1, K1_NEXT ACALL LIGHT ACALL KEY_PROC AJMP STARTK1_NEXT: JB K2, K2_NEXT AJMP STARTK2_NEXT: JB K3, K3_NEXT AJMP STARTK3_NEXT: JB K4, K4_NEXT ACALL LIGHT ACALL ALARM_SET CPL ALARM JNB ALARM, STOP_BEEP ACALL LIGHT ACALL LIGHT ACALL LIGHT AJMP STARTSTOP_BEEP:ACALL LIGHT K4_NEXT: AJ

25、MP START;=; 定時(shí)器T0.T1初始化子程序;=T0T1_INIT:MOV TMOD, #11H MOV TH0, #0F8H MOV TL0, #0CCH MOV TH1, #0DCH MOV TL1, #00H SETB EA SETB ET0 SETB ET1 SETB TR0 SETB TR1 RET;=; 走時(shí)轉(zhuǎn)換子程序;=CONV: MOV A, HOUR MOV B, #10 DIV AB MOV DISP_BUF, A MOV A, B MOV DISP_BUF+1,A MOV A, MIN MOV B, #10 DIV AB MOV DISP_BUF+3,A MOV

26、A, B MOV DISP_BUF+4,A MOV A, SEC MOV B, #10 DIV AB MOV DISP_BUF+6,A MOV A, B MOV DISP_BUF+7,A RET;=; 定時(shí)器T0中斷服務(wù)程序,用于數(shù)碼管掃描;=TIME0: PUSH ACC PUSH PSW MOV TH0, #0F8H MOV TL0, #0CCH ACALL DISP POP PSW POP ACC RETI;=; 顯示子程序;= DISP: MOV P2, #0FFH MOV A, #DISP_BUF ADD A, DISP_SEL MOV R0, A MOV A, R0 MOV DPT

27、R, #TAB MOVC A, A+DPTR MOV P0, A MOV P2, DISP_DIGIT MOV A, DISP_DIGIT RR A MOV DISP_DIGIT,A INC DISP_SEL MOV A, DISP_SEL CLR C SUBB A, #8 JZ RST_0 AJMP DISP_RETRST_0: MOV DISP_SEL, #0DISP_RET: RET;=; 定時(shí)器T1中斷服務(wù)程序,用于電子鐘走時(shí);=TIME1: PUSH PSW PUSH ACC MOV TH1, #0DCH MOV TL1, #00H INC T1_COUNT MOV A, T1_CO

28、UNT CLR C SUBB A, #100 JC END_T1 MOV T1_COUNT, #00H INC SEC MOV A, SEC CJNE A, #60, END_T1 INC MIN MOV SEC, #0 MOV A, MIN CJNE A, #60, END_T1 INC HOUR LCALL BEEP LCALL BEEP LCALL BEEP LCALL BEEP LCALL BEEP MOV MIN, #0 MOV A, HOUR CJNE A, #24, END_T1 MOV SEC, #0 MOV MIN, #0 MOV HOUR, #0END_T1: POP AC

29、C POP PSW RETI;=; 數(shù)碼管段控碼表;=TAB: DB 0C0H,0F9H,0A4H,0B0H,099H DB 092H,082H,0F8H,080H,090H DB 0BFH DB 0FFH;=; 按鍵處理子程序;=KEY_PROC: CLR TR1KEY2: JB K2, KEY3 ACALL DELAY_10ms JB K2, KEY3 JNB K2, $ INC HOUR MOV A, HOUR CJNE A, #24, KEY2_NEXT MOV HOUR, #0KEY2_NEXT:ACALL CONV AJMP KEY2KEY3: JB K3, KEY4 ACALL

30、DELAY_10ms JB K3, KEY4 JNB K3, $ INC MIN MOV A, MIN CJNE A, #60, KEY3_NEXT MOV MIN, #0 KEY3_NEXT:ACALL CONV AJMP KEY2KEY4: JB K4, KEY1 ACALL DELAY_10ms JB K4, KEY1 JNB K4, $ INC SEC MOV A, SEC CJNE A, #60, KEY4_NEXT MOV SEC, #0KEY4_NEXT:ACALL CONV AJMP KEY1KEY1: JB K1, KEY2 ACALL DELAY_10ms JB K1, KEY2 JNB K1, $ ACALL LIGHT SETB TR1KEY_RET: RET;=; LED燈亮子程序;=LIGHT: CLR P3.7 ACALL DELAY_100ms SETB P3.7 ACALL DELAY_100ms RET;=; 蜂鳴器響子程序;=BEEP: CLR P3.1 ACALL DELAY_100ms SETB P3.1 ACALL DELAY_100ms RET;=; 鬧鐘檢查及處理子程序;=ALA_CHECK:

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論