版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
------------------------------------------------------------------------AT89C51電子時(shí)鐘課程設(shè)計(jì)(8位)C編第一章序論設(shè)計(jì)目的:1、增進(jìn)對MCS51單片機(jī)電路的感性認(rèn)識,加深對理論方面的理解;掌握Protel99SE,Proteus,,Keil軟件的有關(guān)知識;了解和掌握軟硬件設(shè)計(jì)過程、方法及實(shí)現(xiàn);2、通過基于單片機(jī)的數(shù)字電子鐘的設(shè)計(jì)的設(shè)計(jì)練習(xí),了解必須提交的各項(xiàng)工程文件,也達(dá)到鞏固、充實(shí)和綜合運(yùn)用所學(xué)知識解決實(shí)際問題的目的。實(shí)驗(yàn)環(huán)境:1、增進(jìn)對MCS51單片機(jī)電路的感性認(rèn)識,加深對理論方面的理解;掌握Protel99SE,Proteus,,Keil軟件的有關(guān)知識;了解和掌握軟硬件設(shè)計(jì)過程、方法及實(shí)現(xiàn);2、通過基于單片機(jī)的數(shù)字電子鐘的設(shè)計(jì)的設(shè)計(jì)練習(xí),了解必須提交的各項(xiàng)工程文件,也達(dá)到鞏固、充實(shí)和綜合運(yùn)用所學(xué)知識解決實(shí)際問題的目的。任務(wù)要求:1、查閱課題相關(guān)資料,深入理解課題含義及設(shè)計(jì)要求,注意材料收集與整理;2、設(shè)計(jì)一個(gè)時(shí)鐘系統(tǒng),實(shí)現(xiàn)以24小時(shí)為一個(gè)周期,同時(shí)8位7段LED數(shù)碼管顯示小時(shí)、分鐘和秒的要求;3、該時(shí)鐘在計(jì)時(shí)過程中具有定時(shí)功能,當(dāng)時(shí)間到達(dá)提前定好的時(shí)間進(jìn)行蜂鳴報(bào)時(shí);4、設(shè)計(jì)四個(gè)按鍵S1、S2、S3和S4鍵,進(jìn)行相應(yīng)的操作就可實(shí)現(xiàn)校時(shí)、定時(shí)、復(fù)位功能。5、設(shè)計(jì)系統(tǒng)原理圖,利用Protel99SE繪制原理圖,設(shè)計(jì)程序,利用Proteus仿真軟件進(jìn)行系統(tǒng)調(diào)試;6、結(jié)束后,及時(shí)提交設(shè)計(jì)報(bào)告(含紙質(zhì)稿、電子稿),要求格式規(guī)范、內(nèi)容完整、結(jié)論正確,正文字?jǐn)?shù)不少于3000字。第二章硬件設(shè)計(jì)1、電路原理圖單片機(jī)采用AT89C51型時(shí)間顯示電路:采用一個(gè)8位共陰極數(shù)碼管,P1口驅(qū)動顯示數(shù)字,P2口作為掃描信號時(shí)間設(shè)置電路:P3.0、P3.1、P3.2分別連接了3個(gè)按鍵,實(shí)現(xiàn)調(diào)試模式、時(shí)間加和時(shí)間減鬧鐘:P3.3口接揚(yáng)聲器2、單片機(jī)最小系統(tǒng)為什么稱之為單片機(jī)最小系統(tǒng)呢?單片機(jī)最小系統(tǒng),也叫做單片機(jī)最小應(yīng)用系統(tǒng),是指用最少的原件組成單片機(jī)可以工作的系統(tǒng)。單片機(jī)最小系統(tǒng)的三要素就是電源、晶振、復(fù)位電路復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì)可以知道,當(dāng)系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,并且,這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來決定。典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周。晶振電路:晶振,又叫晶體振蕩器,從這個(gè)名字我們就可以看出來,它注定一生都要不停振蕩的。他起到的作用是為單片機(jī)系統(tǒng)提供基準(zhǔn)時(shí)鐘信號,類似于我們部隊(duì)訓(xùn)練時(shí)喊口令的人,單片機(jī)內(nèi)部所有的工作都是以這個(gè)時(shí)鐘信號為步調(diào)基準(zhǔn)來進(jìn)行工作的。STC89C52單片機(jī)的18腳和19腳是晶振引腳,我們接了一個(gè)12MHz(產(chǎn)生精確的uS級時(shí)歇,方便定時(shí)操作),外加兩個(gè)30pF的電容,電容的作用是幫助晶振起振,并維持振蕩信號的穩(wěn)定。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號。所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位。一般推薦C取0.1u,R取4.7K。當(dāng)然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平。至于如何具體定量計(jì)算,可以參考電路分析相關(guān)書籍。這里我們使用上電復(fù)位和按鍵復(fù)位兩種方式3、元件清單 電子鐘元器件清單元件名稱規(guī)格型號數(shù)量(個(gè))單片機(jī)AT89c511晶振12MHz1電容30uF2電容0.1μF1按鍵BUTTON4液晶顯示7SEG-MPX8-CC-bule14、顯示工作原理:系統(tǒng)采用動態(tài)顯示方式,用P0口來控制LED數(shù)碼管的段控線,而用P2口來控制其位控線。動態(tài)顯示通常都是采用動態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點(diǎn)亮每一個(gè)數(shù)碼管,這樣雖然在任何時(shí)刻都只有一位數(shù)碼管被點(diǎn)亮,但由于人眼存在視覺殘留效應(yīng),只要每位數(shù)碼管間隔時(shí)間足夠短,就可以給人以同時(shí)顯示的感覺。5、設(shè)計(jì)方案與實(shí)現(xiàn)本課題采用軟件程序設(shè)計(jì)的方案,利用MCS—51內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷定時(shí),LED數(shù)碼顯示器和按鍵,配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。運(yùn)用串行通信方式且計(jì)時(shí)不占用CPU時(shí)間,能夠充分利用好CPU。第三章軟件設(shè)計(jì)流程及描述1、軟件介紹 KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。優(yōu)點(diǎn):⒈KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。⒉與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。2、MCS-51單片機(jī)的定時(shí)器/計(jì)數(shù)器MCS-51單片機(jī)共有兩個(gè)可編程的定時(shí)器/計(jì)數(shù)器,分別稱定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1。它們都是十六位加法計(jì)數(shù)結(jié)構(gòu),分別由TH0(地址8CH)和TL0(地址8AH)及TH1(地址8DH)和TL1(地址8BH)兩個(gè)8位計(jì)數(shù)器組成。這四個(gè)計(jì)數(shù)器均屬專用寄存器之列。MCS-51的每個(gè)定時(shí)器/計(jì)數(shù)器都具有定時(shí)和計(jì)數(shù)兩種功能。1.計(jì)數(shù)功能所謂計(jì)數(shù)是指對外部事件進(jìn)行計(jì)數(shù)。外部事件的發(fā)生以輸入脈沖表示,因此計(jì)數(shù)功能的實(shí)質(zhì)就是對外來脈沖進(jìn)行計(jì)數(shù)。2.定時(shí)功能定時(shí)功能也是通過計(jì)數(shù)器的計(jì)數(shù)來實(shí)現(xiàn)的。不過此時(shí)的計(jì)數(shù)脈沖來自單片機(jī)的內(nèi)部,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖。也就是每個(gè)機(jī)器周期計(jì)數(shù)器加1。由于一個(gè)機(jī)器周期等于12個(gè)振蕩脈沖周期,因此計(jì)數(shù)頻率為振蕩頻率的1/12。定時(shí)器/計(jì)數(shù)器提供給用戶使用的有:八位計(jì)數(shù)器TH和TL,以及有關(guān)的控制位。這些內(nèi)容只能以軟件方法使用。3、MCS-51定時(shí)器/計(jì)數(shù)器的四種工作方式1.定時(shí)工作方式0方式0是13位計(jì)數(shù)結(jié)構(gòu)的工作方式,其計(jì)數(shù)器由TH0全部8位和TL0的低5位構(gòu)成。當(dāng)TL0的低5位計(jì)數(shù)溢出時(shí),向TH0進(jìn)位,而全部13位計(jì)數(shù)溢出時(shí),則向計(jì)數(shù)溢出標(biāo)志位TF0進(jìn)位。在方式0下,當(dāng)為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)值的范圍是:1~8192(213)當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間的計(jì)算公式為:(213-計(jì)數(shù)初值)×晶振周期×12或(213-計(jì)數(shù)初值)×機(jī)器周期其時(shí)間單位與晶振周期或機(jī)器周期相同(s)。2.定時(shí)工作方式1方式1是16位計(jì)數(shù)結(jié)構(gòu)的工作方式,計(jì)數(shù)器由TH0全部8位和TL0全部8位構(gòu)成。當(dāng)為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)值的范圍是:1~65536(216)當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間計(jì)算公式為:(216-計(jì)數(shù)初值)×晶振周期×12或(216-計(jì)數(shù)初值)×機(jī)器周期3.定時(shí)工作方式2工作方式2是自動重新加載工作方式。在這種工作方式下,把16位計(jì)數(shù)器分為兩部分,即以TL作計(jì)數(shù)器,以TH作預(yù)置寄存器,初始化時(shí)把計(jì)數(shù)初值分別裝入TL和TH中。當(dāng)計(jì)數(shù)溢出后,不是像前兩種工作方式那樣通過軟件方法,而是由預(yù)置寄存器TH以硬件方法自動給計(jì)數(shù)器TL重新加載。變軟件加載為硬件加載。初始化時(shí),8位計(jì)數(shù)初值同時(shí)裝入TL0和TH0中。當(dāng)TL0計(jì)數(shù)溢出時(shí),置位TF0,同時(shí)把保存在預(yù)置寄存器TH0中的計(jì)數(shù)初值自動加載TL0,然后TL0重新計(jì)數(shù)。如此重復(fù)不止。這不但省去了用戶程序中的重裝指令,而且也有利于提高定時(shí)精度。但這種工作方式下是8位計(jì)數(shù)結(jié)構(gòu),計(jì)數(shù)值有限,最大只能到255。這種自動重新加載工作方式非常適用于循環(huán)定時(shí)或循環(huán)計(jì)數(shù)應(yīng)用,例如用于產(chǎn)生固定脈寬的脈沖,此外還可以作串行數(shù)據(jù)通信的波特率發(fā)送器使用。4、程序模塊 此部分主要介紹定時(shí)模塊,和顯示模塊。定時(shí)部分采用經(jīng)典的定時(shí)器定時(shí)。它實(shí)現(xiàn)了數(shù)字鐘的主要部分,和秒表的主要部分,以及產(chǎn)生報(bào)時(shí)信號,定時(shí)設(shè)置。顯示模塊是實(shí)現(xiàn)數(shù)字鐘的又一重要部分,其模塊的的獨(dú)立程度直接影響到數(shù)字鐘的可視化程度。在此部分的設(shè)計(jì)中,設(shè)置專用顯示數(shù)據(jù)緩沖,與分,時(shí)及其他數(shù)據(jù)緩沖區(qū)數(shù)據(jù)區(qū)別,在其中存放的是顯示段碼,而其他緩沖區(qū)存放的是時(shí)間數(shù)據(jù)。在顯示時(shí),首先將時(shí)間十進(jìn)制數(shù)據(jù)轉(zhuǎn)化為顯示段碼,然后送往數(shù)碼管顯示。顯示段碼采用動態(tài)掃描的方式。在要求改變顯示數(shù)據(jù)的類別時(shí),只需將指向數(shù)據(jù)緩沖區(qū)的指針指向的十進(jìn)制數(shù)據(jù)緩沖區(qū)即可。數(shù)據(jù)調(diào)整:數(shù)據(jù)調(diào)整有多種方式。一,可以直接進(jìn)入相關(guān)狀態(tài)進(jìn)行有關(guān)操作,二,將調(diào)整分兩步,先進(jìn)入狀態(tài),然后執(zhí)行操作,這兩步分別由兩個(gè)鍵控制。方式一,比較直接,設(shè)計(jì)思想也比較簡單,但是,這種方式存在操作時(shí)間和控制鍵數(shù)目的矛盾。如果用比較少的鍵,那么可能會在進(jìn)入狀態(tài)后處于數(shù)據(jù)調(diào)整等待狀態(tài),這樣會影響到顯示的掃描速度(顯示部分可以采用8279芯片來控制,可以解決此問題)。當(dāng)然在這種方式下,還可以使用多個(gè)狀態(tài)鍵,每個(gè)狀態(tài)鍵,完成一個(gè)對應(yīng)數(shù)據(jù)的調(diào)整。如果采用二的方式,就不會出現(xiàn)這種情況。定時(shí)準(zhǔn)確性的討論:程序中定時(shí)器,一直處于運(yùn)行狀態(tài),也就是說定時(shí)器是理想運(yùn)作的,其中斷程序每隔0.1秒執(zhí)行一次,在理想狀態(tài)下,定時(shí)器定時(shí)是沒有系統(tǒng)誤差的,但由于定時(shí)器中斷溢出后,定時(shí)器從0開始計(jì)數(shù),直到被重新置數(shù),才開始正確定時(shí),這樣中斷溢出到中斷響應(yīng)到定時(shí)器被重新置數(shù),其間消耗的時(shí)間就造成了定時(shí)器定時(shí)的誤差。如果在前述定時(shí)器不關(guān)的情況下,在中斷程序的一開始就給定時(shí)器置數(shù),此時(shí)誤差最小,誤差大約為:每0.1秒,誤差7—12個(gè)機(jī)器周期。當(dāng)然這是在定時(shí)器定時(shí)剛好為0.1秒時(shí)的情況,由以上分析,如果數(shù)字鐘設(shè)計(jì)為查詢的方式或是在中斷的方式下將定時(shí)器中斷設(shè)置為最高級,我們在定時(shí)值設(shè)置時(shí),可以適當(dāng)?shù)目鄢?個(gè)機(jī)器周期的時(shí)間值。但如果在中斷的情況下,沒有將定時(shí)器中斷設(shè)置為最高級,那就要視中斷程序的大小,在定時(shí)值設(shè)置時(shí),扣除相應(yīng)的時(shí)間值。軟件消抖:消抖可以采用硬件(施密特觸發(fā)器)的方式,也可以采用軟件的方式。在此只討論軟件方式。軟件消抖有定時(shí)器定時(shí),和利用延時(shí)子程序兩種方式。一,定時(shí)器定時(shí)消抖可以不影響顯示模塊掃描速度,其實(shí)現(xiàn)方法是:設(shè)置標(biāo)志位,在定時(shí)器中斷中將其置位,然后在程序中查詢。將其中斷優(yōu)先級設(shè)置為低于時(shí)鐘定時(shí)中斷,那么它就可以完全不影響時(shí)鐘定時(shí)。二,在采用延時(shí)子程序時(shí),如果顯示模塊的掃描速度本來就不是很快,此時(shí)可能會影響到顯示的效果,一般情況下,每秒的掃描次數(shù)不應(yīng)小于50次,否則,數(shù)碼的顯示會出現(xiàn)閃爍的情況。因此,延時(shí)子程序的延時(shí)時(shí)間應(yīng)該小于20毫秒,如果采用定時(shí)器定時(shí)的方式,延時(shí)時(shí)間不影響時(shí)鐘。5、KeilC51軟件-新建工程 對于單片機(jī)程序來說,每個(gè)功能程序,都必須要有一個(gè)配套的工程(Project),即使是簡單的功能程序也不例外,因此我們首先要新建一個(gè)工程,打開我們的Keil軟件后,點(diǎn)擊:Project-->NewuVisionProject...然后會出現(xiàn)一個(gè)新建工程的界面在任意文件夾中保存“shuzizhong”文件,軟件會自動添加擴(kuò)展名.uv2保存之后會彈出一個(gè)對話框,這個(gè)對話框讓我們選擇單片機(jī)型號,我們選擇AT89C51工程有了之后,我們要建立編寫代碼的文件,點(diǎn)擊File-->New,新建一個(gè)文件,也就是我們編寫程序的平臺。然后點(diǎn)File-->Save或者直接點(diǎn)擊那個(gè)Save的快捷鍵,可以保存文件,保存時(shí)我們把它命名為shuzishizhong.c,這個(gè)地方必須加上.c,因?yàn)槿绻麑憛R編語言,這個(gè)地方的擴(kuò)展名是.asm現(xiàn)在我們就可以在我們建立好的文件中輸入我們的程序代碼了,在編寫之前還有個(gè)工作要做。我們每做一個(gè)功能程序,必須要新建一個(gè)工程,一個(gè)工程代表了單片機(jī)要實(shí)現(xiàn)的一個(gè)功能。但是一個(gè)工程,有時(shí)候我們可以把我們的程序分多個(gè)文件寫,所以每寫一個(gè)文件,我們都要添加到我們所建立的工程中去,鼠標(biāo)右鍵點(diǎn)SourceGroup1,點(diǎn)AddFilestoGroup‘SourceGroup1’...在彈出的對話框中,單擊shuzishizhong.c選中它,然后點(diǎn)Add,或者直接雙擊shuzishizhong.c都可以將文件加入到這個(gè)工程下,然后單擊Close,關(guān)閉添加。這個(gè)時(shí)候大家會看到在SourceGroup1下邊又多了一個(gè)shuzishizhong.c文件。然后就可以編寫程序了,下面是編寫界面的介紹:6、程序流程圖開始開始聲明變量初始化設(shè)置中斷循環(huán)停滯等待按鍵按下顯示時(shí)間time1重設(shè)定時(shí)量1000次second加一大于59minute加一大于59hour加一hou=hour%247、程序編譯并生成HEX文件如上圖所示為編譯成功的提示,若有錯(cuò)誤提示,雙擊錯(cuò)誤提示則會自動跳轉(zhuǎn)到錯(cuò)誤代碼行,方便進(jìn)行修改。第四章調(diào)試仿真1、軟件介紹 Proteus軟件是來自英國Labcenterelectronics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動的,針對微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級的實(shí)時(shí)調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等2、加載程序點(diǎn)擊要加載的HEX文件3、仿真運(yùn)行 點(diǎn)擊左下角按鈕,仿真運(yùn)行開始。并能直接觀察整個(gè)電路的運(yùn)行輸出結(jié)果。第五章總結(jié)通過這次的設(shè)計(jì)使我認(rèn)識到我對單片機(jī)編程方面的知識知道的太少了,對于書本上的很多知識還不能靈活運(yùn)用,有很多我們需要掌握的知識在等著我去學(xué)習(xí),我會在以后的學(xué)習(xí)生活中彌補(bǔ)我所缺少的知識。本次的設(shè)計(jì)使我從中學(xué)到了一些很重要的東西,那就是如何從理論到實(shí)踐的轉(zhuǎn)化。同時(shí)在大學(xué)的課堂上學(xué)習(xí)的只是在給我們灌輸專業(yè)知識,而我們應(yīng)該把所學(xué)的用到我們現(xiàn)實(shí)生活中去,此次的電子時(shí)鐘設(shè)計(jì)給我奠定了一個(gè)實(shí)踐的基礎(chǔ),我會在以后的工作生活中不斷的磨練自己,讓自己更好的立足于社會。附件:程序代碼#include<reg51.h>unsignedcharled[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0punsignedcharb[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //掃描unsignedchark=0;unsignedinttemp; //記錄毫秒為秒的變量unsignedcharM,S_flag; //M是模式,更新時(shí)間的種模式加上正常模式 S_flag閃爍標(biāo)志sbitK1=P3^0;sbitK2=P3^1;sbitK3=P3^2;sbitBEEP=P3^3;voiddelay(unsignedn) //0.2毫秒 p{intx,y;for(x=0;x<n;x++)for(y=0;y<24;y++);}voidinit(){M=0;S_flag=0;//閃爍標(biāo)志位TMOD=0x10;//定時(shí)器以方式定時(shí)TH1=0xfc;TL1=0x18;EA=1;//打開總中斷ET1=1; //允許定時(shí)器中斷TR1=1; //開啟定時(shí)器(開始定時(shí)計(jì)數(shù))}voiddisplay_led() { P1=led[11]; }voidtime1()interrupt3 //定時(shí)器中斷函數(shù){TH1=0xfc; //定時(shí)ms TL1=0x18;temp++;if(temp==1000) //配合定時(shí)器定時(shí)s{temp=0; second++; } if(second==59) {second=0; if(minute<59) minute++; else{minute=0; hour++; hour%=24; } }if(hour1==hour&&minute1==minute&&second<10) //鬧鐘時(shí)間到{BEEP=!BEEP;}if(temp%250==0)//每msS_flag=!S_flag; //閃爍標(biāo)志位取反if(k==8)k=0; P1=a[k]; P2=b[k++]; delay(1); P2=0xff; } voiddisplay(){ switch(M) { case0: { a[0]=led[hour/10]; a[1]=led[hour%10]; a[2]=led[10]; a[3]=led[minute/10]; a[4]=led[minute%10]; a[5]=led[10]; a[6]=led[second/10]; a[7]=led[second%10]; }break; case1: { if(S_flag==1) { a[0]=led[hour/10]; a[1]=led[hour%10]; } else { a[0]=led[11]; a[1]=led[11]; } a[2]=led[10]; a[3]=led[minute/10]; a[4]=led[minute%10]; a[5]=led[10]; a[6]=led[second/10]; a[7]=led[second%10]; }break; case2: { a[0]=led[hour/10]; a[1]=led[hour%10]; a[2]=led[10]; if(S_flag==1) { a[3]=led[minute/10]; a[4]=led[minute%10]; } else { a[3]=led[11]; a[4]=led[11]; } a[5]=led[10]; a[6]=led[second/10]; a[7]=led[second%10]; }break; case3: { if(S_flag==1) { a[0]=led[hour1/10]; a[1]=led[hour1%10]; } else { a[0]=led[11]; a[1]=led[11]; } a[2]=led[10]; a[3]=led[minute1/10]; a[4]=led[minute1%10]; a[5]=led[10]; a[6]=led[11]; a[7]=led[11]; }break; case4: { a[0]=led[hour1/10]; a[1]=led[hour1%10]; a[2]=led[10]; if(S_flag==1) { a[3]=led[minute1/10]; a[4]=led[minute1%10]; } else { a[3]=led[11]; a[4]=led[11]; } a[5]=led[10]; a[6]=led[11]; a[7]=led[11]; } }} voidkey_prc(){ if(K1==0) { delay(10); //延時(shí)去抖 if(K1==0) //按K1進(jìn)行模式切換 {M++; if(M==5)M=0; } while(!K1);//等待按鍵釋放 } if(M!=0){switch(M){case1: //模式--調(diào)時(shí){ if(K2==0) { delay(10); //延時(shí)去抖 if(K2==0)//加鍵按下 { if(hour<23)hour++; elsehour=0; } while(!K2); //等待按鍵釋放 } if(K3==0) { delay(10); if(K3==0) { if(hour>0)hour--; elsehour=23; } while(!K3); } }break; case2: //模式--調(diào)分 { if(K2==0) { delay(10); if(K2==0) { if(minute<59)minute++; elseminute=0; } while(!K2); } if(K3==0) { delay(10); if(K3==0) { if(minute>0)minute--; elseminute=59; } while(!K3); } }break; c
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年融資服務(wù)機(jī)構(gòu)擔(dān)保協(xié)議模板
- 2024年汽車維修保養(yǎng)服務(wù)協(xié)議細(xì)則
- 2024辣椒種苗供應(yīng)及培育協(xié)議樣本
- 2024專用消防水池建設(shè)協(xié)議范本
- 2024年專屬個(gè)人投資協(xié)議樣本
- 2024年度保安服務(wù)外包協(xié)議樣本
- DB11∕T 1703-2019 口腔綜合治療臺水路消毒技術(shù)規(guī)范
- DB11∕T 1684-2019 城市軌道交通乘客信息系統(tǒng)測試規(guī)范
- 2024商業(yè)用地租賃及盈利共享協(xié)議
- 2024國家物流代理協(xié)議模板規(guī)范
- 當(dāng)代世界經(jīng)濟(jì)與政治教案
- 超寬帶無線通信技術(shù)在無人機(jī)領(lǐng)域的應(yīng)用
- 2024年度醫(yī)院中醫(yī)生殖科帶教計(jì)劃課件
- 部編版道德與法治五年級上冊中華民族一家親第一課時(shí)課件
- 智能制造系統(tǒng)的優(yōu)化與控制
- 中國銀聯(lián)行業(yè)報(bào)告
- 氣浮機(jī)使用說明書
- 《中國古代神話》教學(xué)課件
- 放射防護(hù)管理機(jī)構(gòu)
- 企業(yè)事業(yè)部制的決策與執(zhí)行
- 《電子工藝實(shí)習(xí)》課程中的思政元素:工程倫理與工匠精神的培養(yǎng)
評論
0/150
提交評論