付費下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、西南石油大學(xué)單片機課程設(shè)計學(xué)院:電氣信息學(xué)院專業(yè)年級:通信工程2013級 姓名:王昕鈴學(xué)號:課題:基于單片機的定時鬧鐘設(shè)計指導(dǎo)老師: 鄧魁日期:2016年6月30日前言20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展。在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個 領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高。同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時間。忘記了要做的事情,當(dāng)事情不是很重要的時候,這種遺忘無傷大雅。 但是,一旦重要事情,一時的耽誤可能釀成大禍。例如,許多火災(zāi)都是由于人們一時忘記了關(guān)閉煤 氣
2、或是忘記充電時間。所以有必要制作一個定時系統(tǒng)。隨時提醒這些容易忘記時間的人。而鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉電路、定時開關(guān)烘箱、通斷動力 設(shè)備,甚至各種定時電氣的自動啟用等等。所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù) 字鐘及擴大其應(yīng)用,有著非常現(xiàn)實的意義。隨著生活水平的提高, 人們越來越追求人性化的事物。傳統(tǒng)的時鐘已不能滿足人們的需求。而現(xiàn)代的時鐘不僅需要模擬電路技術(shù)和數(shù)字電路技術(shù)而且更需要單片機技術(shù),增加數(shù)字鐘的功能。利用軟件編程盡量做到硬件電路簡單穩(wěn)定,減小電磁干擾
3、和其他環(huán)境干擾,減小因元器件精度不夠引起的誤差,但是數(shù)字鐘還是可以改進(jìn)和提高如選用更精密的元器件。但與機械式時鐘相比已經(jīng)具有更高的準(zhǔn)確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。數(shù)字鐘通過數(shù)字電路實現(xiàn)時、分、秒。數(shù)字顯示的計時裝置, 廣泛用于個人家庭、車站、碼頭辦公室等公共場所成為人們?nèi)粘I钪胁豢缮俚谋匦杵?。由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用, 使得數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超過老式鐘表。多功能數(shù)字鐘的應(yīng)用非常普遍。由單片機作為數(shù)字鐘的核心控制器,通過它的時鐘信號進(jìn)行實現(xiàn)計時功能,將其時間數(shù)據(jù)經(jīng)單片機輸出,利用顯示器顯示出來。通過鍵盤可以進(jìn)行校時、定時等 功能。輸
4、出設(shè)備顯示器可以用液晶顯示技術(shù)和數(shù)碼管來顯示技術(shù)。本系統(tǒng)利用單片機實現(xiàn)具有計時、校時等功能的數(shù)字時鐘,是以單片機AT89C51為核心元件同時采用LED數(shù)碼管顯示器動態(tài)顯示“時”、“分”、“秒”的現(xiàn)代計時裝置。另外具有校時功能,秒表 功能,和定時器功能,利用單片機實現(xiàn)的數(shù)字時鐘具有編程靈活,便于功能的擴充等優(yōu)點。摘要單片機自20 世紀(jì) 70 年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。而51 單片機是各單片機中最為典型和最有代表性的一種。本設(shè)計以AT89C51 芯片為核心,輔以必要的外圍電路,設(shè)計了一個結(jié)構(gòu)簡單,功能齊全的電子時鐘,它由5V直流電源供電。在硬件方
5、面,除了 CPU外,使用八個七段 LED數(shù)碼管來進(jìn)行顯示, LED采用的是動態(tài)掃描顯示,使用 74LS245芯片進(jìn)行驅(qū)動。通過 LED能夠較為準(zhǔn)確地顯示時、分、 秒。四個簡單的按鍵實現(xiàn)對時間的調(diào)整。軟件方面采用C語言編程。整個電子鐘系統(tǒng)能完成時間的顯示、調(diào)時、校時和三組定時鬧鐘的功能。選用單片機最小系統(tǒng)應(yīng)用程序, 添加比較程序、時間調(diào)整程序及蜂鳴程序,通過時間比較程序觸發(fā)蜂鳴,實現(xiàn)鬧鐘功能,完成設(shè)計所需求的軟件環(huán)境。介紹并使用Keil 單片機模擬調(diào)試軟件,測試程序的可行性并用Proteus 進(jìn)行仿真。關(guān)鍵詞:單片機,定時器,中斷,鬧鐘,LED第 1 章 方案的選擇和論證單片機型號的選擇通過對多
6、種單片機性能的分析,最終認(rèn)為AT89C51是最理想的電子時鐘開發(fā)芯片。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS垃微處理器,器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51 指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程序存儲器和 1000次擦寫循環(huán),數(shù)據(jù)保留時間為 10年,是最好 的選擇。按鍵的選擇方案一:4X4矩陣式鍵盤。如果選擇此方案,那么在修改時鐘或設(shè)置鬧鈴時間時就可以直接 從鍵盤輸入,方便、快捷,但程
7、序較為復(fù)雜。方案二:獨立式按鍵。如果設(shè)置過多按鍵,將會占用較多I/O 口,而且會給布線帶來不便,因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時間或設(shè)置鬧鈴時間 時就不能直接輸入,只能通過加或減完成,稍為麻煩一些,但其程序簡單。由于并不需要經(jīng)常修改時間和設(shè)置鬧鈴時間,而且方案二的程序簡單,按鍵少、 成本低, 因此,選擇方案二。顯示器的選擇方案一:液晶顯示器。如果選擇此方案,將會降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅(qū)動電路復(fù)雜,使用起來有一定的難度。方案二:用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動電路簡單,使用方便,如果選擇了此方案,那么在夜間看時間的時
8、候就不需要有光源,非常方便。其缺點是功耗較大。由于數(shù)碼管使用起來較為方便,在夜間看時間也很方便,因此我選擇了方案二。計時部分的選擇如果使用時鐘芯片,系統(tǒng)就不怕掉電且時間精確。但這種芯片比較貴,況且,設(shè)計本系統(tǒng)主要是為了學(xué)習(xí)單片機程序的編寫和調(diào)試以及設(shè)計硬件電路的一些方法,因此采用軟件的方法來計時而沒有采用價格較高的時鐘芯片。發(fā)音部分的設(shè)計通過三極管放大后驅(qū)動蜂鳴器工作,再通過軟件這時產(chǎn)生等時時間方波驅(qū)動蜂鳴器發(fā)出間斷嘀聲,這樣就可以省去硬件振蕩電路,降低成本。顯示器驅(qū)動電路由于通過數(shù)碼管公共及的電流較大且避免過多地使用分立元件,采用了一片74LS245 來驅(qū)動段碼,用P3 口作位碼驅(qū)動。電源的
9、選擇如果是用電池供電,就比較方便攜帶,但是本系統(tǒng),采用了數(shù)碼管作為顯示器,功耗較大,需要經(jīng)常更換電池。況且,本系統(tǒng)的體積較大,即使使用電池供電也不能隨身攜帶,因此,用電池供電不大合適,所以用 5V外部穩(wěn)壓電源來供電。第2章 數(shù)字電子鐘的設(shè)計原理和方法設(shè)計原理系統(tǒng)原理圖品旅位碼驅(qū)動段碼驅(qū)動£位魏碼管按鍵蜂鳴跑圖2-1系統(tǒng)原理圖硬件電路的設(shè)計2.2.1 AT89C51單片機簡介AT89C51是一款單片封裝的微控制器,適合于許多要求高集成度、低成本的場合??梢詽M足多方面的性能要求。AT89C51采用了高性能的處理器結(jié)構(gòu),指令執(zhí)行時間只需2到4個時鐘周期。6倍于標(biāo)準(zhǔn)51單片機器件。AT89C
10、51集成了許多系統(tǒng)級的功能,這樣可大大減少元件的數(shù)目和電路板面積并降低系統(tǒng)的成本。AT89C51單片機內(nèi)部主要有以下部件:8031CPU振蕩電路、總線控制部件、中斷控制部件、片內(nèi)Flash存儲器、并行I/O接口、定時器和串行I/O接口。叼制任產(chǎn)伊儼用網(wǎng)占憎崗怦巴皆網(wǎng)打101'Mi glwd G%CT 一.J ':亡 一.Yu L哥史 ENLd 覆Cd is LlL惠tL. is ,'7-?:L S6-J,fitir «11 I -" r ,_ni-cln,n11圖2-2 AT89C51單片機2.2.2鍵盤電路的設(shè)計鍵盤采用4個獨立按鍵配以4個上拉電阻
11、實現(xiàn)對時鐘和鬧鐘的設(shè)定及修改。圖2-3獨立按鍵2.2.3 段碼驅(qū)動電路圖2-4鍵盤輸入電路由于通過數(shù)碼管公共及的電流較大且避免過多地使用分立元件,采用了一片74LS245來驅(qū)動段碼,用P3 口作位碼驅(qū)動。1H產(chǎn)產(chǎn)1=1圖2-5段碼驅(qū)動器74LS2452.2.4 蜂鳴器驅(qū)動電路發(fā)音部分是通過三極管放大驅(qū)動蜂鳴器工作,再通過軟件這時產(chǎn)生等時時間方波驅(qū)動蜂鳴器發(fā)出間斷嘀聲,這樣就可以省去硬件振蕩電路,降低成本。圖2-6蜂鳴器驅(qū)動電路軟件部分的設(shè)計2.3.1 主程序部分的設(shè)計程序部分主要采用了程序結(jié)構(gòu)的模塊化設(shè)計,避免了一些函數(shù)的不必要的重復(fù)書寫,使程序變得單間易懂。程序在執(zhí)行時,主程序要須通過調(diào)用子
12、函數(shù)就可完成相應(yīng)的功能。主程序流程圖如下圖2-7。開始荀,始化出演!?> 4 I司鈴切斷顯示時間神盤歸推圖2-7主程序流程圖2.3.2 中斷定時器的設(shè)置數(shù)字電子鐘設(shè)計中主要使用定時器T0中斷ET0,利用ET0中斷進(jìn)行計時時間的自增,從而實現(xiàn)計時功能。AT89C51有兩個通用定時/計數(shù)器。兩者均可配置為定時器或事件計數(shù)器。另外增加了定時器T0/T1,溢出時T0/T1腳自動翻轉(zhuǎn)的功能選項。用作“定時器”功能時,每經(jīng)過一個機器周期,寄存器值加1。用作“計數(shù)器”功能時,寄存器在對應(yīng)的外部輸入管腳T0/T1上每發(fā)生一次1的跳變時加1。使用該功能時,外部輸入每個機器周期被采樣一次。圖2-8定時器工作
13、原理1用膿仲I TLJ | *I"7VTV內(nèi)部總?cè)蝞wuo,、林甲新相關(guān)也T1方1百設(shè)計中采用了中斷方式1作為定時中斷,其定時計數(shù)初值的設(shè)置可由以下公式計算得到,中斷服務(wù)流程圖如下圖2-9。X:計數(shù)初值t :定時時間Tcy :機器周期1圖2-9中斷服務(wù)流程圖2.3.3 鬧鐘子函數(shù)鬧鐘時間的判別主要是通過設(shè)定時間與實時時間對逐位對比確定是否進(jìn)行鬧鈴。其工作流程圖如下圖2-10。圖2-10鬧鈴判斷流程圖2.3.4 計時函數(shù)計時函數(shù)部分,主要是通過單片機定時中斷來計時,每產(chǎn)生一次中斷標(biāo)志位flag加1,當(dāng)flag加滿20次為1秒,然后把flag清0把秒存儲單元加1。然后再依次判斷分、時。其
14、流程圖如下圖2-11。圖2-11計時流程圖2.3.5 鍵盤掃描函數(shù)其相關(guān)這些函數(shù)主要是判斷是否有按鍵按下,并根據(jù)相應(yīng)按鍵按下的情況調(diào)用相關(guān)函數(shù)執(zhí)行, 流程圖如下圖2-12。圖2-12鍵盤掃描流程圖2.3.6 時間和鬧鐘的設(shè)置此部分主要是通過判斷 cnt在不同值時通過調(diào)用加1、減1子函數(shù)對時間和鬧鐘的時、分、秒進(jìn)行設(shè)置。在鬧鐘設(shè)置時,判斷按鍵S4按下情況后,進(jìn)行鬧鐘的開啟與關(guān)閉,相關(guān)流程圖如下圖綢秩殳置,、.:,1 二一“;五著2-13 。圖2-13時間/鬧鐘設(shè)置流程圖第 3 章 實驗結(jié)果此電子鬧鐘設(shè)計是利用Proteus 仿真軟件進(jìn)行仿真,基本上實現(xiàn)了課程設(shè)計要求實現(xiàn)的功能。硬件部分設(shè)置了的三
15、個按鍵S1、S2、S& S4。當(dāng)按鍵S1第一次按下時,停止計時進(jìn)入鬧鐘1的秒設(shè)置,當(dāng)按鍵S1 第二、第三次按下時,分別進(jìn)入鬧鐘1 的分設(shè)置和時設(shè)置,當(dāng)按S1 第四 、第五、第六次按下時分別進(jìn)入鬧鐘2 的秒、分、時設(shè)置,當(dāng)按S1 第七 、第八、第九次按下時分別進(jìn)入鬧鐘3 的秒、分、時設(shè)置,當(dāng)按S1 第十 、第十一、第十二次按下時分別進(jìn)入時間的秒、分、時設(shè)置,在S1 按下的各階段,可用按鍵S2、 S3 進(jìn)行時間和鬧鈴時間的時、分、秒進(jìn)行加減設(shè)置;當(dāng)按鍵 S1 第十三次按下時恢復(fù)到時間顯示功能。當(dāng)顯示的時間和定時設(shè)置的時間一致時,蜂鳴器發(fā)出等時間斷蜂鳴聲,鬧鈴時間設(shè)置為60 秒。在各個鬧鐘設(shè)
16、置階段,如果有S4 按下,則相應(yīng)鬧鐘功能關(guān)閉或開啟;如在鬧鈴時有S4 按下則提前停止鬧鈴。圖 2-14 運行仿真圖通過自己的不懈努力, 我終于完成了畢業(yè)設(shè)計任務(wù)書上的任務(wù)要求。功能上基本達(dá)標(biāo):時鐘的顯示,調(diào)時功能、校時功能、鬧鈴功能、鬧鐘設(shè)置功能。其精確度完全可以滿足日常生活顯示時間 的需要;調(diào)時功能,方便快捷;校時功能保證了時鐘準(zhǔn)確和可靠性,鬧鐘響鈴還有擴展成音樂鬧鐘 的余地。硬件設(shè)施合乎要求,軟件設(shè)計可以配合硬件實現(xiàn)要求的功能。但是由于時間比較短,前期 設(shè)計出現(xiàn)部分不足:如位選閃爍功能不能實現(xiàn)、鬧鐘的開啟與關(guān)閉、間斷蜂鳴聲等。這些只是軟件 設(shè)計時相應(yīng)功能部分還不完善造成。不過經(jīng)仔細(xì)思考和程
17、序的完善,最終將軟件設(shè)計改進(jìn),并完全可以很好實現(xiàn)所有要求的功能??梢娂夹g(shù)在不斷進(jìn)步, 機械式時鐘已經(jīng)被淘汰, 取而代之的是具有高度準(zhǔn)確性和直觀性且無機 械裝置,具有更長的使用壽命等優(yōu)點的數(shù)字時鐘。數(shù)字時鐘更具人性化,更能提高人們的生活質(zhì)量,更受人們歡迎。無可否認(rèn)機械時代已經(jīng)過去,電子時代已經(jīng)到來。做為新時代的我們,更應(yīng)該提高自身能力, 適應(yīng)新時代的發(fā)展。知識來自實踐,多去生活中探詢所需要的。對于上述所提到的研究課題,我們 應(yīng)盡量考慮到人的因素, 增強時鐘的實用性和操作性,為使用者提供切實的方便,營造一種舒適的生活氛圍。所以,在設(shè)計的時候,應(yīng)該從多方面、多角度去考慮問題,而且應(yīng)該進(jìn)一步提高時鐘的
18、 質(zhì)量。另外,在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題, 雖然以前沒有做過這樣的設(shè)計但通過這次設(shè)計我學(xué)會了很多東西, 單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,比如寫一個程序看其功能很少認(rèn)為編寫程序簡單,但到編程的時候才發(fā)現(xiàn)一些細(xì)微的知識或低級錯誤經(jīng)常犯做不到最后常常失 敗,所以有些東西只有學(xué)精弄懂并且要細(xì)心才行,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。從這次的課程設(shè)計中,我們真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所 學(xué)的理論知識用到實際當(dāng)中,學(xué)習(xí)單機片機更是如此,程序只有在經(jīng)常的練習(xí)的過程
19、中才能提高, 我想這就是我在這次課程設(shè)計中的最大收獲。致謝經(jīng)過一周的實習(xí)調(diào)查收集數(shù)據(jù)資料、整理材料、寫作論文,我終于可以順利的完成論文了。首先要感謝我的指導(dǎo)老師鄧?yán)蠋?,他指引我論文的寫作的方向和架?gòu),并對本文初稿進(jìn)行仔細(xì)批閱,指正出其中不當(dāng)之處,使我有了思考的方向,他的循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪,他的嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng),將一直是我工作、學(xué)習(xí)中的榜樣。通過此次的論文,我學(xué)到了很多知識,在論文的寫作過程中,我不僅收集到了論文所需的資料數(shù)據(jù),而且學(xué)到了很多書本上沒有的知識。并且由原先的被動的接受知識轉(zhuǎn)換為主動的尋求知識,我想這可以說是學(xué)習(xí)方法上的一個很大的突破。在論文的寫作
20、過程中也學(xué)到了做任何事情所要有的態(tài)度和心態(tài),首先做學(xué)問要一絲不茍,對于發(fā)展過程中出現(xiàn)的任何問題和偏差都不要輕視,要通過正確的途徑去解決,在做事情的過程中要有耐心和毅力,不要一遇到困難就打退堂鼓,只要堅持下去就可以找到思路去解決問題的。總之,此次論文的寫作過程,我收獲了很多。再次感謝我的大學(xué)和所有幫助過我并給我鼓勵的老師和同學(xué),謝謝你們!2016年 6 月參考文獻(xiàn)1 李全利、遲榮強 , 單片機原理及接口技術(shù)M ,北京:高等教育出版社,20042 凌玉華,單片機原理及應(yīng)用系統(tǒng)設(shè)計M, 長沙:中南大學(xué)出版社,20063張毅剛,MCS-51單片機應(yīng)用設(shè)計M,哈爾賓:哈爾賓工業(yè)大學(xué)出版社,19974 胡
21、漢才,單片機原理及應(yīng)用M ,北京:清華大學(xué)出版社,20045何立明,單片機應(yīng)用系統(tǒng)設(shè)計M,北京:北京航空航天大學(xué)出版社, 19906 王榮良,計算機接口技術(shù)M ,北京:電子工業(yè)出版社,20037 陳光東, 單片機微型計算機原理與接口技術(shù)M , 武漢: 華中理工大學(xué)出版社,1998 8 張靖武、周靈彬,單片機系統(tǒng)的Proteus 設(shè)計與仿真M ,北京:電子工業(yè)出版社,2007相關(guān)的程序代碼:#include<> / 頭文件#include<>#define uchar unsigned char / 宏定義#define uint unsigned intsbit key
22、1=P1A0; / 位聲明sbit key2=P1Al; sbit key3=P1A2;sbit key4=P1A3;sbit fmq=P2A1;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0xbf,0x0ff; /void jia(); / 函數(shù)聲明void jian();uchar table18,table28,table38,table48; /uchar shi=12,fen=0,miao=0; / 時間顯示初始值數(shù)組定義,數(shù)組內(nèi)含有數(shù)碼管顯示的數(shù)值8 個數(shù)值定義全局變量uchar shi1,
23、fen1,miao1,shi2,fen2,miao2,shi3,fen3,miao3; / uchar shi4,fen4,miao4;uchar flag, flag1, wss, cnt, cnt1, alm1, alm2, alm3;/ 1 秒 等時 位閃 次數(shù) 校時 鬧 1 鬧 2 鬧 3 uint flag2;/ 蜂鳴void delay(uchar i) /延時函數(shù),用于動態(tài)掃描數(shù)碼管 uchar x,y;for(x=i;x>0;x-)for(y=120;y>0;y-);void init() /初始化函數(shù) TMOD=0x01;/工作方式1TH0=0x3c;/定時時間為
24、:50ms (65536-50000)/256delay(10);TL0=0x0b0;/(65536-50000)%256ET0=1;/打開定時器EA=1;/開總中斷TR0=1;/啟動定時器void display() /顯示子函數(shù),用于顯示時間數(shù)值分離秒的個位與十位分離分的個位與十位分離時的個位與十位從秒到時的掃描顯示數(shù)值 uchar i,j;if(cnt!=10|wss=0) table10=miao%10; / table11=miao/10;else table10=table11=11; if(cnt!=11|wss=0) table13=fen%10;/table14=fen/10
25、;else table13=table14=11; if(cnt!=12|wss=0) table16=shi%10;/table17=shi/10;else table16=table17=11; table12=table15=10;j=0x7f;for(i=0;i<=7;i+)/ P3=j;P0=tabletable1i; /delay(10);j=_cror_(j,1);/循環(huán)右移 P3=j;void display1() /顯示子函數(shù),用于顯示定時1 時間 uchar i,j;if(alm1=0) if(cnt!=1|wss=0) table20=miao1%10;/以下含義同
26、上table21=miao1/10;else table20=table21=11;if(cnt!=2|wss=0) table23=fen1%10;table24=fen1/10;else table23=table24=11;if(cnt!=3|wss=0) table26=shi1%10;table27=shi1/10;else table26=table27=11;elsetable20=table21=table23=table24=table26=table27=10;table22= table25=10;j=0x7f;for(i=0;i<=7;i+) P3=j;P0=ta
27、bletable2i;j=_cror_(j,1);void display2()/ 顯示子函數(shù),用于顯示定時2 時間 uchar i,j;if(alm2=0) if(cnt!=4|wss=0) table30=miao2%10;/以下含義同上table31=miao2/10;else table30=table31=11;if(cnt!=5|wss=0) table33=fen2%10;table34=fen2/10;else table33=table34=11;if(cnt!=6|wss=0) table36=shi2%10;table37=shi2/10;else table36=tab
28、le37=11;elsetable30=table31=table33=table34=table36=table37=10;table32= table35=10;j=0x7f;for(i=0;i<=7;i+)P0=tabletable3i;delay(10);j=_cror_(j,1);void display3() / 顯示子函數(shù),用于顯示定時3 時間數(shù)值 uchar i,j;if(alm3=0) if(cnt!=7|wss=0) table40=miao3%10;/table41=miao3/10;else table40=table41=11; if(cnt!=8|wss=0)
29、 table43=fen3%10;/table44=fen3/10;else table43=table44=11; if(cnt!=9|wss=0) table46=shi3%10;/table47=shi3/10;else table46=table47=11;else分離秒的個位與十位分離分的個位與十位分離時的個位與十位table40=table41=table43=table44=table46=table47=10;table42= table45=10;j=0x7f;/for(i=0;i<=7;i+)從秒到時的掃描 P3=j;P0=tabletable4i; /delay(1
30、0);j=_cror_(j,1);/void shijian() / if(flag>=20) / wss=wss;flag=0;if(cnt1!=0) miao4+; /if( miao4>59) / miao4=0; /fen4+;/if(fen4>59) / fen4=0;shi4+;if(shi4>23)shi4+;if(shi4>23)shi4=0;else miao+; /if( miao>59) / miao=0; /fen+; /if(fen>59) / fen=0;shi+;時間子函數(shù)/顯示數(shù)值循環(huán)右移判斷是否到一秒到了,則標(biāo)志位清零
31、秒加 1判斷秒是否到60s到了,則清零分加 1以下含義同上秒加 1判斷秒是否到60s到了,則清零分加 1以下含義同上if(shi>23)shi=0;)void key_scan()/鍵盤掃描子函數(shù) if(key1=0) while(!key1) /防止掉顯 if(cnt=1|cnt=2|cnt=3) display1(); if(cnt=4|cnt=5|cnt=6) display2(); if(cnt=7|cnt=8|cnt=9) display3(); if(cnt=0|cnt=10|cnt=11|cnt=12|cnt=13) display(); cnt+; /記下按鍵key1按下
32、的次數(shù)if(cnt=10&&cnt1=0) miao4=miao;fen4=fen;shi4=shi;cnt1+;if(cnt=13) cnt=0;if(cnt1=1) miao=miao4;fen=fen4;shi=shi4; if(cnt=1|cnt=2|cnt=3)cnt1=0;if(key2=0)/判斷key2是否按下 while(!key2)/防止掉顯 if(cnt=1|cnt=2|cnt=3) display1(); if(cnt=4|cnt=5|cnt=6) display2(); if(cnt=7|cnt=8|cnt=9) display3(); if(cnt=
33、0|cnt=10|cnt=11|cnt=12|cnt=13) display(); jia();if(key3=0)/判斷key3是否按下 while(!key3)/防止掉顯 if(cnt=1|cnt=2|cnt=3) display1(); if(cnt=4|cnt=5|cnt=6) display2(); if(cnt=7|cnt=8|cnt=9) display3(); if(cnt=0|cnt=10|cnt=11|cnt=12|cnt=13) display(); jian();/調(diào)用減1子函數(shù)if(key4=0)/判斷key4是否按下while(!key4)/防止掉display1(
34、);if(cnt=4|cnt=5|cnt=6) alm2=alm2;display2();if(cnt=7|cnt=8|cnt=9) alm3=alm3;display3();if(cnt=0|cnt=10|cnt=11|cnt=12|cnt=13)display();void jia() /加1子函數(shù) if(cnt=1)/判斷key1按下的次數(shù)是否為1 miao1+;/是,則秒加1if(miao1>59)/判斷秒是否大于60,是,則秒清零miao1=0;if(cnt=2)/以下含意同上 fen1+;if(fen1>59)fen1=0;if(cnt=3) shi1+;if(shi1
35、>23)shi1=0;if(cnt=4) miao2+;if(miao2>59) miao2=0;)if(cnt=5) fen2+;if(fen2>59)fen2=0;)if(cnt=6) shi2+;if(shi2>23)shi2=0;)if(cnt=7) miao3+;if(miao3>59) miao3=0;)if(cnt=8) fen3+;if(fen3>59)fen3=0;)if(cnt=9) shi3+;if(shi3>23)shi3=0;)if(cnt=10) miao+;if(miao>59)miao=0;cnt1+;if(cnt
36、=11) fen+;if(fen>59)fen=0;cnt1+;if(cnt=12) shi+;if(shi>23)shi=0;cnt1+;void jian() /減 1 子函數(shù) if(cnt=1)/判斷 key1 按下的次數(shù)是否為1,是則秒減1 miao1-;if(miao1=255)/判斷秒是否減到255,是,則秒置59miao1=59;if(cnt=2)/以下含意同上 fen1-;if(fen1=255)fen1=59;if(cnt=3) shi1-;if(shi1=255)shi1=23;)if(cnt=4) miao2-;if(miao2=255) miao2=59;)
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年職業(yè)倦怠綜合測試(職業(yè)倦怠預(yù)防)試題及答案
- 2026年口腔科(種植牙案例)試題及答案
- 2025年中職(旅游服務(wù)與管理)旅游市場實訓(xùn)綜合測試題及答案
- 2025年高職(會計)成本會計實訓(xùn)階段測試題及答案
- 2025年高職(林業(yè)技術(shù))森林管護技術(shù)試題及答案
- 巴爾蒂斯介紹
- 養(yǎng)老院老人營養(yǎng)膳食制度
- 養(yǎng)老院老人生活娛樂活動組織人員激勵制度
- 養(yǎng)老院老人家庭溝通制度
- 養(yǎng)老院緊急情況處理制度
- DB32/T+5311-2025+港口與道路工程+固化土施工技術(shù)規(guī)范
- DB31T+1661-2025公共區(qū)域電子屏播控安全管理要求
- 醫(yī)療聯(lián)合體兒童保健服務(wù)模式創(chuàng)新
- 2026年書記員考試題庫附答案
- 中國高尿酸血癥與痛風(fēng)診療指南(2024更新版)課件
- 2025至2030中國專用車行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃報告
- DB13∕T 6066.3-2025 國資數(shù)智化 第3部分:數(shù)據(jù)治理規(guī)范
- 2025年白山輔警招聘考試題庫及答案1套
- 特種設(shè)備外借協(xié)議書
- 三元股份財務(wù)風(fēng)險控制研究
- DBJ-T 13-417-2023 工程泥漿技術(shù)標(biāo)準(zhǔn)
評論
0/150
提交評論