單片機課程設(shè)計報告---作息時間控制系統(tǒng)_第1頁
單片機課程設(shè)計報告---作息時間控制系統(tǒng)_第2頁
單片機課程設(shè)計報告---作息時間控制系統(tǒng)_第3頁
單片機課程設(shè)計報告---作息時間控制系統(tǒng)_第4頁
單片機課程設(shè)計報告---作息時間控制系統(tǒng)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄1、緒論12、方案設(shè)計22.1總體方案22.2 硬件方案32.3 軟件方案33 硬件電路設(shè)計與分析43.1 CPU時鐘與復(fù)位電路43.2 數(shù)碼管顯示模塊43.3 8051電路53.4 LED顯示模塊63.5 蜂鳴器模塊73.6 按鍵接口模塊84 軟件設(shè)計94.1主程序設(shè)計94.2 中斷函數(shù)子程序104.3 蜂鳴器函數(shù)子程序104.4 北京時間修改函數(shù)子程序114.5 鬧鐘修改函數(shù)子程序125 調(diào)試與測試145.1 硬件調(diào)試145.2 軟件調(diào)試145.3 軟硬件調(diào)試145.4 測試結(jié)果146 總結(jié)16參考文獻17致謝18附錄1 硬件設(shè)計原理圖19附錄2 程序清單201、緒論 隨著計算機技術(shù)的

2、開展和在控制系統(tǒng)中的廣泛應(yīng)用,以及設(shè)備向小型化、智能化開展,作為高新技術(shù)之一的單片機以其體積小、功能強、價格低廉、使用靈活等優(yōu)勢,顯示出了很強的生命力。進入21世紀以來,開發(fā)推出單片機的公司很多,各種高性能單片機芯片市場也異?;顫姡录夹g(shù)的不斷采用,更加使單片機的種類、性能以及應(yīng)用領(lǐng)域不斷擴大和提高。因其功耗低,超高型,低本錢,功能完整,在國內(nèi)越來越受到用戶的重視和廣泛使用。 本設(shè)計是一個具有鬧鐘、顯示北京時間和修改鬧鐘和北京時間功能的作息時間控制系統(tǒng)。由單片機核心按鍵控制掃描模塊、時鐘模塊、數(shù)碼顯示模塊、LED顯示模塊、蜂鳴器模塊等組成,系統(tǒng)擴展4按鍵用于鬧鐘時間調(diào)整及時間校正。現(xiàn)代機關(guān)企業(yè)

3、,特別是學(xué)校要求對時間加以控制,要按時打鈴及播放播送,以保證學(xué)習(xí)與工作的正常運行。本設(shè)計實現(xiàn)了這些功能,給學(xué)校及其他機關(guān)企業(yè)帶來方便,整體性好,人性化強、可靠性高,實現(xiàn)了對時間控制的智能化。2、 方案設(shè)計 作息時間控制系統(tǒng)的設(shè)計有很多方案可以實現(xiàn),其主流技術(shù)主要有以下幾種: 1用可編程邏輯器件如CPLD、FPGA來實現(xiàn),而在本設(shè)計中如要實現(xiàn)功能相對來說比擬復(fù)雜,必須得用到FPGA來實現(xiàn),而FPGA的價格相對較貴,且系統(tǒng)設(shè)計比擬困難。 2用PLC來實現(xiàn),PLC其實就是一被封裝起來的單片機,里面設(shè)有監(jiān)控程序,并對I/O端口進行了光電隔離。這樣一來使得PLC性能穩(wěn)定且容易使用,且只需簡單外圍電路就可

4、以實現(xiàn)該系統(tǒng)功能,但PLC比擬昂貴,這樣會使本錢增高而失去市場競爭。 3就是用555定時器產(chǎn)生時鐘脈沖和數(shù)字芯片如74LS14來實現(xiàn),但要來實現(xiàn)本設(shè)計需要大量的數(shù)字芯片,使得系統(tǒng)穩(wěn)定性下降,生產(chǎn)難度加大,而且本錢會增加。 4就是應(yīng)用單片機充當(dāng)主控器來再加上適量的外圍實現(xiàn)此功能,且單片機價格廉價,性能穩(wěn)定。應(yīng)用的外圍器件相對較少,這就提高了系統(tǒng)的穩(wěn)定性,且單片機控制簡易,開發(fā)工具簡單,很容易大批量生產(chǎn)。 我們才學(xué)習(xí)了?單片機原理與應(yīng)用?,所以我們選擇了方案四。硬件主要利用89c51單片機,8051芯片,4x數(shù)碼管,LED顯示燈,獨立式按鍵,復(fù)位按鍵,蜂鳴器。軟件主要利用KEIL C51軟件編寫程

5、序,利用STC_ISP_V480串口加載程序。最后通過硬件調(diào)試程序。如圖2.1所示是總體方案框圖。按鍵控制掃描數(shù)碼管顯示主控電路指示燈顯示實現(xiàn)時鐘LED顯示蜂鳴器顯示實現(xiàn)鬧鐘 原理說明: 本電路以單片機AT89C51為主控電路,分別連接按鍵控制掃描模塊、時鐘模塊、鬧鐘模塊、數(shù)碼顯示模塊、LED顯示模塊、蜂鳴器模塊、指示燈模塊。首先,按鍵掃描模塊的四個按鍵分別用來控制數(shù)碼顯示、LED顯示和指示燈顯示工作,P0口用來控制其段選以顯示相應(yīng)的數(shù)值。P1口控制數(shù)碼管的位選,以顯示相應(yīng)的數(shù)值。在其位選控制局部,采用了9012型的三極管,要求當(dāng)P1口輸出低電平時,位選成功,使得該位選的數(shù)碼管亮,數(shù)碼管顯示時

6、分通過按鍵P32控制。P2口作為輸出口,用來控制LED的亮滅,要使其亮只需要讓P2.3-P2.6口保持低電平就可以使4個燈亮起來。通過按鍵P20選擇所要修改的是小時還是分鐘,最后通過按按鍵P21和P22實現(xiàn)作息時間修改的功能。2.2 硬件方案 主要利用89c51芯片讀寫程序;利用4x數(shù)碼管顯示時鐘時間和北京時間,前面兩位顯示小時,后面兩位顯示分鐘,再在利用第二位的數(shù)碼管上點,通過對斷碼的控制使它閃爍,即一秒閃爍一次,閃爍60次分鐘就加1;利用LED顯示燈作為提示,如:按鍵一被按下,然后就利用一個LED顯示燈亮來提示按鍵被按下;在時間修改的時候,通過觀察是哪個燈亮來確定要修改的是北京時間或者鬧鐘

7、的小時還是分鐘。利用復(fù)位按鍵將時間全部清零;利用獨立式按鍵控制功能的切換來對時間操作;利用蜂鳴器響表示鬧鐘時間到了響鈴,響鈴時間為一分鐘。2.3 軟件方案設(shè)計2個簡單模式,即北京時間模式當(dāng)前時間和鬧鐘模式。通過對單片機的學(xué)習(xí),利用定時器和中斷來實現(xiàn)其功能,再通過獨立式按鍵來選擇在那種模式下工作以及對時間的修改。3 硬件電路設(shè)計與分析3.1 CPU時鐘與復(fù)位電路 系統(tǒng)程序主要通過CPU請求定時器中斷來控制程序,當(dāng)定時器定時一個5ms的時候,CPU就中斷一次。如圖3.1a所示是定時器的電路連接圖。復(fù)位電路是利用的外部按鍵復(fù)位,這樣在單片機死機或遇到程序故障時系統(tǒng)能夠通過按鍵可以復(fù)位。如圖3.1b所

8、示是外部復(fù)位電路圖。 a b3.2 數(shù)碼管顯示模塊數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示那么需要5840根I/O端口來驅(qū)動,要知道一個89S51單片機可用的I/O端口才32個呢:,實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。 動態(tài)顯示驅(qū)動

9、:數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制翻開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象

10、及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。本電路是以動態(tài)顯示的方法,并且低電平有效。每個數(shù)碼管的公共端位線分別由P10、P11、P12、P13接口線控制,外接+5v電壓和10K的固定電阻,圖3.2所示是一個4位數(shù)碼管動態(tài)顯示電路示意圖。圖3.2 4位數(shù)碼管顯示電路圖3.3 8051電路利用8051的IO口、CPU中斷源處理該系統(tǒng)程序,如P0口就用作數(shù)據(jù)總線接送段碼,P1口用作四個數(shù)碼管的位碼口定義,P2口用作LED顯示或是按鍵定義,而

11、且低電平有效。具體8051電路設(shè)計電路圖如圖3.3所示:圖3.3 8051電路圖3.4 LED顯示模塊 LEDLight Emitting Diode,發(fā)光二極管,是一種固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED的心臟是一個半導(dǎo)體的晶片,晶片的一端附在一個支架上,一端是負極,另一端連接電源的正極,使整個晶片被環(huán)氧樹脂封裝起來。半導(dǎo)體晶片由兩局部組成,一局部是P型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是N型半導(dǎo)體,在這邊主要是電子。但這兩種半導(dǎo)體連接起來的時候,它們之間就形成一個“P-N結(jié)。當(dāng)電流通過導(dǎo)線作用于這個晶片的時候,電子就會被推向P區(qū),在P區(qū)里電子跟空穴復(fù)合,然后就會以光子的形式

12、發(fā)出能量,這就是LED發(fā)光的原理。而光的波長也就是光的顏色,是由形成P-N結(jié)的材料決定的。 本電路設(shè)計了四個LED顯示管并聯(lián),分別與P23、P24、P25、P26接口線連接,再外接1K的固定電阻和+5V的電壓。低電平有效。圖3.4所示是一個4XLED顯示管的簡單電路設(shè)計圖。圖3.4 4xLED顯示管顯示電路圖3.5 蜂鳴器模塊 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、 機、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。下面我們以電磁式蜂鳴器為例來說明它的工作原理:電磁式蜂鳴器由振蕩

13、器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲,當(dāng)輸出高電平時,三極管截止,蜂鳴器的兩引腳間的直流電壓接近于0V,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng)輸出低電平時,三極管導(dǎo)通,使蜂鳴器的兩個引腳間獲得將接近+5V的直流電壓,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制IO口輸出的電平來控制蜂鳴器是否發(fā)出聲音,實現(xiàn)各種可能音響的產(chǎn)生。在這個設(shè)計中是通P1.4口控制其發(fā)聲的,當(dāng)P1.4口輸出低電平時蜂鳴器發(fā)出聲響。具體電路設(shè)計圖如圖3.5所示。圖3.5 蜂鳴器接口

14、電路圖3.6 按鍵接口模塊 在實驗中,通過對按鍵mode的切換來實現(xiàn)我們所選擇的模式,通過dw和up來實現(xiàn)對時鐘和鬧鐘的修改。圖3.6所示是一個獨立式按鍵接口的簡單電路設(shè)計圖。4 軟件設(shè)計主程序設(shè)計主要包括五個函數(shù),即主函數(shù)和中斷函數(shù)和北京時間的修改和鬧鐘的修改和蜂鳴器。主函數(shù)主要是利用while1循環(huán)來等待下一個中斷,開啟中斷和定時器的初始化。如圖4.1就是主要程序設(shè)計的流程圖。開始判斷flag等待定時器0初始化 Flag=0Flag=1鬧鐘的修改鬧鐘的顯示北京時間修改北京時間的顯示 4.2 中斷函數(shù)子程序 在中斷函數(shù)里主要設(shè)計本系統(tǒng)的功能程序和三個函數(shù)的調(diào)用,首先判斷count是否大于20

15、01分鐘計時數(shù),然后再分別判斷秒分時是否大于60,然后更新數(shù)碼管,如果count小于200,那么返回。入口NCount=200?Y判斷時分秒更新數(shù)碼管返回圖4.2 中斷函數(shù)的流程圖4.3 蜂鳴器函數(shù)子程序 根據(jù)功能設(shè)計,蜂鳴器在鬧鐘功能模式下到了響鈴時間那么響鈴。主要是通過按鍵來選擇蜂鳴器工作在那個模式下,即用變量flag按鍵P20按下,flag等于1;按鍵P32按下,flag等于0區(qū)分。當(dāng)flag等于1 的時候顯示北京時間,當(dāng)flag等于0的時候工作在鬧鐘功能模式下。圖4.3所示是具體蜂鳴器子程序設(shè)計流程圖。入口 Y北京時間=鬧鐘時間?N鬧鐘響鬧鐘不響返回 圖4.3 蜂鳴器的流程圖4.4 北

16、京時間修改函數(shù)子程序入口N Mode = 1 修改小時ode = 1 修改小時NP20=0?p21=0?p22=0?Y返回P22=0P21=0P20=0Mode1= 2分鐘減減Mode1= 1小時減減Mode1=2分鐘加加Mode1= 1小時加加Mode1= 2修改分鐘Mode1= 1 修改小時4.5 鬧鐘修改函數(shù)子程序 將按鍵P32用做選擇要調(diào)整北京時間的小時還是分鐘,而按鍵P21和P22鍵分別用做UP鍵和DOWN鍵。當(dāng)按鍵P21鍵按下時讓變量model加1用model變量來進行選擇,當(dāng)model等于1的時候就修改小時,讓LED3作為指示燈P25亮;當(dāng)model等于2的時候就修改分鐘,同時讓

17、LED4P26作為指示燈亮。圖4.5所示是具體修改鬧鐘的簡單流程圖。入口P32=0?p21=0?p22=0?返回P22=0P21=0P32=0 Mode1= 2分鐘減減Mode1= 1小時減減Mode1=2分鐘加加Mode1= 1小時加加Mode1= 2修改分鐘Mode1= 1 修改小時5 調(diào)試與測試5.1 硬件調(diào)試硬件調(diào)試分為靜態(tài)調(diào)試和動態(tài)調(diào)試。靜態(tài)調(diào)試一般采用的工具是萬用表,其是在用戶系統(tǒng)未工作時的一種硬件檢測。動態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排查錯誤的一種硬件檢測。調(diào)試步驟是:首先把電路分成假設(shè)干模塊,調(diào)式過程中與該模塊無關(guān)的元件可以不加考慮,這樣可把故障限定在一定的范圍內(nèi);故障去

18、除后,把各個模塊合在一起進行聯(lián)調(diào),即可完成整個硬件調(diào)試工作。在本次課程設(shè)計中,調(diào)試的方法主要是利用分塊調(diào)試方法,而且調(diào)試成功一個再添加其他的功能進去,最后對整個系統(tǒng)進行調(diào)試,直到全部調(diào)試成功為止。5.2 軟件調(diào)試 軟件調(diào)試是通過對程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。5.3 軟硬件調(diào)試 對整個系統(tǒng)進行調(diào)試主要把調(diào)試無誤的軟件程序燒制進單片機芯片內(nèi)部,通過硬件的操作來發(fā)現(xiàn)問題,然后逐個修改程序和調(diào)試程序。比方對按鍵控制程序的調(diào)試,當(dāng)按鍵按下的時候,假設(shè)數(shù)碼管顯示有閃動或數(shù)字跳動很快或有的數(shù)碼管不亮了或按鍵被按下而看不出效果或者數(shù)碼管顯示的時候亂碼等,那么

19、需修改程序后再調(diào)試。5.4 測試結(jié)果當(dāng)沒有任何按鍵被按下的時候,數(shù)碼管就顯示北京時間。當(dāng)有鍵按下時:1、 當(dāng)按鍵P20被按下1次時,數(shù)碼管顯示北京時間,而且Led1p23和Led2(p24)同時點亮;2、 當(dāng)按鍵P20被按下2次時,顯示燈只有P23亮,此時可以修改當(dāng)前北京時間的小時,按鍵p21是對北京時間小時加加,p22是對北京時間小時的減減;3、 當(dāng)按鍵P20被按下3次時只修改北京時間的分鐘,且顯示燈P24亮,按鍵p21按一下是對北京時間分鐘加1,按鍵p22按一下是對北京時間的分鐘減1;4、當(dāng)按鍵P32被按下1次的時候,數(shù)碼管顯示鬧鐘的第一個時間,顯示燈P25和p26同時亮;5、 當(dāng)按鍵P3

20、2被按下2次的時候,顯示燈只有P25亮,此時可以修改當(dāng)前的鬧鐘時間的小時,按鍵p21按一下對鬧鐘時間小時加1,按鍵p22按一下是對鬧鐘時間的小時減1;6、 當(dāng)按鍵P32按下3次時,顯示燈只有P26亮,此時可以修改當(dāng)前的鬧鐘時間的分鐘,按鍵p21按一下對鬧鐘時間小時加1,按鍵p22按一下是對鬧鐘時間的小時減1;7、當(dāng)按鍵P32被按下4次的時候,數(shù)碼管顯示第二個鬧鐘時間。6 總結(jié) 本實驗硬件用到了單片機AT89C51讀入程序,軟件用到了KEIL軟件編寫程序,電路原理圖用到了protel99軟件。利用1個數(shù)組變量sf存儲鬧鐘時間,前23位儲存鬧鐘時間的小時,后23為儲存鬧鐘時間的分鐘。實驗實現(xiàn)了北京

21、時間和鬧鐘時間的顯示與修改,為很多人帶來了方便。在調(diào)試的時候往往遇到數(shù)碼管顯示不穩(wěn)定閃爍或者不顯示,和按鍵不穩(wěn)定。數(shù)碼管顯示不穩(wěn)定主要是動態(tài)顯示的時候時間設(shè)置不對等。按鍵不穩(wěn)定主要是消抖的時間太長或是太短,通過對軟件的調(diào)試就可以解決這個問題。對于北京時間和鬧鐘的修改,我用了兩個函數(shù),在每個函數(shù)里面分別定義了所需的按鍵,這樣造成了存儲空間的浪費,所以以后應(yīng)該分模塊對所需的硬件進行整體定義,這樣會比擬清晰也不會造成資源的浪費。由于時間的關(guān)系,它還是不是很完整,比方一些程序沒有優(yōu)化,功能還不是很強大。如果能有更多的時間,我相信它的功能會越來越多,它的缺乏會越來越少,會越來越完美。參考文獻1唐穎.單片

22、機原理與應(yīng)用及C51程序設(shè)計M.北京:北京大學(xué)出版社,2021.2徐愛鈞,彭秀華.Keil Cx51 V7.0單片機高級編程與uVision2應(yīng)用實踐M.北京:電子工業(yè)出版社,2004.3趙德安,等.單片機原理及應(yīng)用M.北京:機械工業(yè)出版社,2004.4吳飛青,等.單片機原理及應(yīng)用實踐指導(dǎo)M.北京:機械工業(yè)出版社,2021.5段晨東.單片機原理及接口技術(shù)M.北京:清華大學(xué)出版社,2021.致謝感謝指導(dǎo)老師鐘老師,在專題實驗設(shè)計期間,許多思想都是在她的指導(dǎo)下得以實現(xiàn)。她對我們嚴格要求,盡職盡責(zé)的檢查我們的設(shè)計報告,連一點小小的錯誤都能檢查出來。正是在這樣嚴格的要求和關(guān)心下,專題實驗設(shè)計期間我們沒

23、有絲毫的松懈,才能夠順利的完本錢次專題實驗。同時,還要感謝幫助我的同學(xué),他們提供了很多的幫助,有了這些幫助才能順利的完成專題實驗設(shè)計。 通過這次專題實驗,我明白了一次不能將整個程序設(shè)計好,反復(fù)修改、不斷改良是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計課程過程中遇到問題是很正常的,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。 再次真心感謝所有幫助過我的老師和同學(xué)們!非常感謝!附錄1 硬件設(shè)計原理圖附錄2 程序清單#include reg52.h#defin

24、e THCO 0xee#define TLCO 0x0unsigned char code Duan=0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/共陰極數(shù)碼管,0-9段碼表unsigned char Data_Buffer4=0,0,0,0;/四個數(shù)碼管顯示數(shù)值,數(shù)組變量定義unsigned int m=0,h=0,l=0,K_count2=0;unsigned char shi=0,fen=0,Sec=0;bit flag=0;/1分時間到標志 static unsigned char K_count=0;unsigned char

25、 sf46=6,7,7,8,8,9,9,10,10,11,11,12,13,13,14,14,15,16,17,17,18,21,23,50,0,25,20,30,15,25,10,30,15,25,10,20,30,15,25,10,30, 0,50, 0,30, 0;sbit P10=P10;/四個數(shù)碼管的位碼口定義sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P20=P20; /按鍵定義sbit P21=P21;sbit P22=P22;sbit P32=P32;sbit LED1=P23; /四個指示燈sbit LED2=P24;sbit LE

26、D3=P25;sbit LED4=P26;sbit P14=P14;void key1();void voice();void dispsf();void main() TMOD=0x11;/定時器0初始化 TH0=THCO; TL0=TLCO; TR0=1; ET0=1; EA=1; while(1) if(flag=0) Data_Buffer0=shi/10;Data_Buffer1=shi%10;Data_Buffer2=fen/10;Data_Buffer3=fen%10; if(flag=1) Data_Buffer0=sfm/10; Data_Buffer1=sfm%10; Da

27、ta_Buffer2=sfm+23/10; Data_Buffer3=sfm+23%10; void timer0() interrupt 1 static unsigned char Bit=0;/靜態(tài)變量,退出程序后,值保存 static unsigned char count=0; TH0=THCO; TL0=TLCO; count+; if(count=200)/秒計時,定時器定時5ms,計200次為一秒 count=0; Sec+; if(Sec=60) Sec=0; fen+; flag=1;/更新數(shù)碼管顯示 if(fen=60)/時間計時 fen=0; shi+; if(shi=24)shi=0; Bit+; if(Bit=4)Bit=0; P1|=0x0f;/先關(guān)位碼 P0=DuanData_BufferBit;/開段碼 if(count=30)/消抖處理 K_count1=0; if(P20=0|P21=0|P22=0)/有鍵按下 if(P20=0)/修改Mode, flag = 0; Mode1+; if(Mode1=3)Mode1=0; if(Mode1=0)LED1=1;LED2=1;/實時時間 else if(Mode1=1) LED1=0; /修改小時 else if(Mode1=2)LED1=1;LED2=0;/修改分鐘 if(P21=0) if(

溫馨提示

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

評論

0/150

提交評論