單片機(jī)課程設(shè)計(jì)個(gè)性化電子時(shí)鐘設(shè)計(jì)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)個(gè)性化電子時(shí)鐘設(shè)計(jì)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)個(gè)性化電子時(shí)鐘設(shè)計(jì)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)個(gè)性化電子時(shí)鐘設(shè)計(jì)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)個(gè)性化電子時(shí)鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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、單單片機(jī)片機(jī)課課程程設(shè)計(jì)設(shè)計(jì)個(gè)性化電子時(shí)鐘設(shè)計(jì)個(gè)性化電子時(shí)鐘設(shè)計(jì) 學(xué) 院: 07 電子信息工程班 級(jí): 電子(1)班姓 名:組 員: 指導(dǎo)老師: 1目錄摘摘 要要.2一、電子時(shí)鐘一、電子時(shí)鐘.21.1 電子時(shí)鐘簡(jiǎn)介 .21.2 電子時(shí)鐘的基本特點(diǎn).21.3 電子時(shí)鐘的原理.3二、二、 單片機(jī)識(shí)的相關(guān)知識(shí)單片機(jī)識(shí)的相關(guān)知識(shí).32.1 單片機(jī)簡(jiǎn)介.32.2 單片機(jī)的發(fā)展史.31 . 4位單片機(jī).32 . 8位單片機(jī).33 . 16位單片機(jī).44 . 32位單片機(jī).45 . 64位單片機(jī).42.3 單片機(jī)的特點(diǎn).42.4 at89c51 單片機(jī)介紹.5三、三、 控制系統(tǒng)的硬件設(shè)計(jì)控制系統(tǒng)的硬件設(shè)計(jì).

2、73.1 單片機(jī)型號(hào)的選擇.73.2 數(shù)碼管顯示工作原理.73.3 74ls373 介紹.83.4 整個(gè)電路原理圖.9四、四、 控制系統(tǒng)的軟件設(shè)計(jì)控制系統(tǒng)的軟件設(shè)計(jì).94.1 程序清單 .94.2 仿真結(jié)果 .15五、心得五、心得.16六、參考文獻(xiàn)六、參考文獻(xiàn).172摘摘 要要 單片計(jì)算機(jī)即單片微型計(jì)算機(jī)。由 ram ,rom,cpu 構(gòu)成,定時(shí),計(jì)數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動(dòng)化上。而 51 系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次課程設(shè)計(jì)通過(guò)對(duì)它的學(xué)習(xí),應(yīng)用,從而達(dá)到學(xué)習(xí)、設(shè)計(jì)、開(kāi)發(fā)軟、硬的能力。 本設(shè)計(jì)主要設(shè)計(jì)了一個(gè)基于

3、 at89c51 單片機(jī)的電子時(shí)鐘。在數(shù)碼管通過(guò)一個(gè)控制鍵轉(zhuǎn)換來(lái)顯示相應(yīng)的時(shí)間和日期。并通過(guò)多個(gè)控制鍵用來(lái)實(shí)現(xiàn)時(shí)間和日期的調(diào)節(jié)。應(yīng)用 keil 軟件實(shí)現(xiàn)單片機(jī)電子時(shí)鐘系統(tǒng)的程序設(shè)計(jì),用 proteus 的 isis 軟件實(shí)現(xiàn)仿真。該方法仿真效果真實(shí)、準(zhǔn)確,節(jié)省了硬件資源。關(guān)鍵字:?jiǎn)纹瑱C(jī) 時(shí)鐘 鍵盤控制一、電子時(shí)鐘一、電子時(shí)鐘 1.1 電子時(shí)鐘簡(jiǎn)介電子時(shí)鐘簡(jiǎn)介 1957 年,ventura 發(fā)明了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘開(kāi)始迅速發(fā)展起來(lái)。現(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生一定的時(shí)間中斷,用于一秒的定義,通過(guò)計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十

4、分小時(shí)進(jìn)一,滿二十四小時(shí)小時(shí)清零。從而達(dá)到計(jì)時(shí)的功能,是人民日常生活補(bǔ)課缺少的工具。1.2 電子時(shí)鐘的基本特點(diǎn)電子時(shí)鐘的基本特點(diǎn) 現(xiàn)在高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計(jì)時(shí),譯碼代替機(jī)械式傳動(dòng),用 led 顯示器代替指針顯示進(jìn)而顯示時(shí)間和日期,減小了誤差,這種表具有時(shí)、分、秒顯示時(shí)間的功能和年月日顯示日期的功能,還可以進(jìn)行校對(duì),片選的靈活性好。31.3 電子時(shí)鐘的原理電子時(shí)鐘的原理 該電子時(shí)鐘由 at89c51,74ls373,button,數(shù)碼管等構(gòu)成,采用晶振電

5、路作為驅(qū)動(dòng)電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十四小時(shí)為一天,滿三十天(閏年二月滿二十九天,平年二月滿二十八天)為一個(gè)月,滿十二個(gè)月為一年。電路中的鍵控 1 實(shí)現(xiàn)“年”和“分”的調(diào)節(jié),鍵控 2 實(shí)現(xiàn)“月”和“時(shí)”的調(diào)節(jié),鍵控 3 實(shí)現(xiàn)“日”和“分”的調(diào)節(jié)。每按一次就加一。二、二、 單片機(jī)識(shí)的相關(guān)知識(shí)單片機(jī)識(shí)的相關(guān)知識(shí) 2.1 單片機(jī)簡(jiǎn)介單片機(jī)簡(jiǎn)介 單片機(jī)全稱為單片機(jī)微型計(jì)算機(jī)(single chip microsoftcomputer)。從應(yīng)用領(lǐng)域來(lái)看,單片機(jī)主要用來(lái)控制,所以又稱為微控制器(microcontroller unit

6、)或嵌入式控制器。單片機(jī)是將計(jì)算機(jī)的基本部件微型化并集成在一塊芯片上的微型計(jì)算機(jī)。2.2 單片機(jī)的發(fā)展史單片機(jī)的發(fā)展史1 . 4 位單片機(jī)位單片機(jī) 1975 年,美國(guó)德克薩斯儀器公司首次推出 4 位單片機(jī) tms-1000;此后,各個(gè)計(jì)算機(jī)公司競(jìng)相推出四位單片機(jī)。日本松下公司的 mn1400 系列,美國(guó)洛克威爾公司的 pps/1 系列等。四位單片機(jī)的主要應(yīng)用領(lǐng)域有:pc 機(jī)的輸入裝置,電池充電器,運(yùn)動(dòng)器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計(jì)算器,多功能電話等。 2 . 8 位單片機(jī)位單片機(jī) 1972 年,美國(guó) intel 公司首先推出 8 位微處理器

7、 8008,并于 1976 年 9 月率先推出 mcs-48系列單片機(jī)。在這以后,8 位單片機(jī)紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的 3870 系列,摩托羅拉公司生產(chǎn)的 6801 系列等。隨著集成電路工藝水平的提高,一些高性能的 8 位單片機(jī)相繼問(wèn)世。例如,1978 年摩托羅拉公司的 mc6801 系列及齊洛格公司的 z8 系列,1979 年nec 公司的 upd78xx 系列。這類單片機(jī)的尋址能力達(dá) 64kb,片內(nèi) rom 容量達(dá) 4-8kb,片4內(nèi)除帶有并行 io 口外,還有串行 io 口,甚至還有 ad 轉(zhuǎn)化器功能。8 位單片機(jī)由于功能強(qiáng),被廣泛用于自動(dòng)化裝置、智能儀器儀表、智能接

8、口、過(guò)程控制、通信、家用電器等各個(gè)領(lǐng)域。3 . 16 位單片機(jī)位單片機(jī) 1983 年以后,集成電路的集成度可達(dá)幾十萬(wàn)只管/片,各系列 16 位單片機(jī)紛紛面市。這一階段的代表產(chǎn)品有 1983 年 intel 公司推出的 mcs-96 系列,1987 年 intel 推出了 80c96,美國(guó)國(guó)家半導(dǎo)體公司推出的 hpc16040,nec 公司推出的 783xx 系列等。16 位單片機(jī)主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)備等場(chǎng)合。4 . 32 位單片機(jī)位單片機(jī) 隨著高新技術(shù)只智能機(jī)器人,光盤驅(qū)動(dòng)器,激光打印機(jī),圖像與數(shù)據(jù)實(shí)時(shí)處理,復(fù)雜實(shí)時(shí)控制,網(wǎng)絡(luò)服務(wù)器等領(lǐng)域的應(yīng)用與發(fā)展,20 世紀(jì) 80 年代

9、末推出了 32 位單片機(jī),如 motorlora 公司的 mc683xx 系列,intel 的 80960 系列,以及近年來(lái)流行的 arm 系列單片機(jī)。32 位單片機(jī)是單片機(jī)的發(fā)展趨勢(shì),隨著技術(shù)的發(fā)展及開(kāi)發(fā)成本和產(chǎn)品價(jià)格的下降,將會(huì)與 8 位單片機(jī)并駕齊驅(qū)。5 . 64 位單片機(jī)位單片機(jī) 近年來(lái),64 位單片機(jī)在引擎控制,智能機(jī)器人,磁盤控制,語(yǔ)音圖像通信,算法密集的實(shí)時(shí)控制場(chǎng)合已有應(yīng)用,如英國(guó) inmos 公司的 transputer t800 是高性能的 64 位單片機(jī)。2.3 單片機(jī)的特點(diǎn)單片機(jī)的特點(diǎn) 1 . 單片機(jī)的存儲(chǔ)器 rom 和 ram 時(shí)嚴(yán)格區(qū)分的。rom 稱為程序存儲(chǔ)器,只存

10、放程序,固定常數(shù),及數(shù)據(jù)表格。ram 則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及存放用戶數(shù)據(jù)。 2 . 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。 3 . 單片機(jī)的 i/o 口通常時(shí)多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實(shí)際引腳數(shù)和需要的信號(hào)線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來(lái)設(shè)置或由機(jī)器狀態(tài)來(lái)區(qū)分。 4 . 單片機(jī)的外部擴(kuò)展能力很強(qiáng)。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時(shí),均可在外部進(jìn)行擴(kuò)展,與許多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計(jì)帶來(lái)了很大的方便。52.4at89c51 單片機(jī)介紹單片機(jī)介紹 vcc:

11、電源;gnd:接地。 p0 口:p0 口為一個(gè) 8 位漏級(jí)開(kāi)路雙向 i/o 口,每腳可吸收 8ttl 門電流。當(dāng) p1 口的管腳第一次寫 1 時(shí),被定義為高阻輸入。p0 能夠用于外部程 序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在 fiash 編程時(shí),p0 口作為原碼輸入口,當(dāng) fiash 進(jìn)行校驗(yàn)時(shí),p0 輸出原碼,此時(shí) p0 外部必須被拉高。 p1 口:p1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出 4ttl門電流。p1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作 輸入,p1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在 flas

12、h 編程和校驗(yàn)時(shí),p1 口作為第八位地址接收。 p2 口:p2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可接收,輸出 4 個(gè) ttl門電流,當(dāng) p2 口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時(shí),p2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存 儲(chǔ)器進(jìn)行存取時(shí),p2 口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2 口輸出其特殊功能寄存器 的內(nèi)容。p2 口在 flash 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 xtal2

13、18xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a

14、1427u4at89c51圖 1 at89c51 單片機(jī)6 p3 口:p3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 i/o 口,可接收輸出 4 個(gè) ttl 門電流。當(dāng)p3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3 口將輸出電流(ill)這是由于上拉的緣故。p3 口也可作為 at89c51 的一些特殊功能口,如下表所示:p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷 0)p3.3 /int1(外部中斷 1)p3.4 t0(記時(shí)器 0 外部輸入)p3.5 t1(記時(shí)器 1 外部輸入)p3.6 /wr(外部數(shù)據(jù)

15、存儲(chǔ)器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)p3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 rst 腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 flash 編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的 1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器 時(shí),將跳過(guò)一個(gè) ale 脈沖。如想禁止 ale 的輸出可在sfr8eh 地址上置 0。此時(shí), ale 只有在執(zhí)行 m

16、ovx,movc 指令是 ale 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ale 禁止,置位無(wú)效。 psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen 有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen 信號(hào)將不出現(xiàn)。ea/vpp:當(dāng)/ea 保持低電平時(shí),則在此期間外部程序存儲(chǔ)(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式 1 時(shí), /ea 將內(nèi)部鎖定為 reset;當(dāng)/ea 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在 flash 編程期間,此引腳也用于施加 12v 編程電源(vpp)。7三、三、 控制系統(tǒng)的硬件

17、設(shè)計(jì)控制系統(tǒng)的硬件設(shè)計(jì)3.1 單片機(jī)型號(hào)的選擇單片機(jī)型號(hào)的選擇 通過(guò)對(duì)多種單片機(jī)性能的分析,最終認(rèn)為 89c51 是最理想的電子時(shí)鐘開(kāi)發(fā)芯片。89c51 是一種帶 4k 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能 cmos8 位微處理器,器件采用atmel 高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 mcs-51 指令集和輸出管腳相兼容。由于將多功能 8 位 cpu 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel 的 89c51 是一種高效微控制器,而且它與 mcs-51 兼容,且具有 4k 字節(jié)可編程閃爍存儲(chǔ)器和 1000 寫/擦循環(huán),數(shù)據(jù)保留時(shí)間為 10 年等特點(diǎn),是最好的選擇。3.2 數(shù)

18、碼管顯示數(shù)碼管顯示工作原理工作原理數(shù)碼管是一種把多個(gè) led 顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽(yáng)型,一種是共陰型。共陽(yáng)型就是把多個(gè) led 顯示段的陽(yáng)極接在一起,又稱為公共端。共陰型就是把多個(gè) led 顯示段的陰極接在一起,即為公共商。陽(yáng)極即為二極管的正極,又稱為正極,陰極即為二極管的負(fù)極,又稱為負(fù)極。通常的數(shù)碼管又分為 8 段,即 8 個(gè) led 顯示段,這是為工程應(yīng)用方便如設(shè)計(jì)的,分別為 a、b、c、d、e、f、g、dp,其中 dp 是小數(shù)點(diǎn)位段。而多位數(shù)碼管,除某一位的公共端會(huì)連接在一起,不同位的數(shù)碼管的相同端也會(huì)連接在一起。即,所有的 a 段都會(huì)連在一起,其它的段也是如

19、此,這是實(shí)際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的 8 段輸入及其公共端電平一直有效。動(dòng)態(tài)顯示的原理是,各個(gè)數(shù)碼管的相同段連接在一起,共同占用 8 位段引管線;每位數(shù)碼管的陽(yáng)極連在一起組成公共端。利用人眼的視覺(jué)暫留性,依次給出各個(gè)數(shù)碼管公共端加有效信號(hào),在此同時(shí)給出該數(shù)碼管加有效的數(shù)據(jù)信號(hào),當(dāng)全段掃描速度大于視覺(jué)暫留速度時(shí),顯示就會(huì)清晰顯示出來(lái)。8 圖 2 共陰數(shù)碼管3.3 74ls373 介紹介紹:373 為三態(tài)輸出的八 d 透明鎖存器 ,373 的輸出端 o0o7 可直接與總線相連。 當(dāng)三態(tài)允許控制端 oe 為低電平時(shí), o0o7 為正常邏輯狀態(tài),可

20、用來(lái)驅(qū)動(dòng)負(fù)載或總 線。當(dāng) oe 為高電平時(shí), o0o7 呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,鎖存器內(nèi)部的邏輯操作不受 影響。 當(dāng)鎖存允許端 le 為高電平時(shí), o 隨數(shù)據(jù) d 而變。當(dāng) le 為低電平時(shí), o 被鎖存在 已建立的數(shù)據(jù)電平。當(dāng) le 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mv。 引出端符號(hào): d0d7 數(shù)據(jù)輸入端 ;oe 三態(tài)允許控制端(低電平有效 ;le 鎖存允許端 ;o0o7 輸出端圖 3 74ls37393.4 整個(gè)電路原理圖整個(gè)電路原理圖 圖 4 系統(tǒng)電路原理圖四、四、 控制系統(tǒng)的軟件設(shè)計(jì)控制系統(tǒng)的軟件設(shè)計(jì) 4.1 程序清單程序清單#in

21、clude #includesbit p20=p20; /*定義端口*/sbit khour=p30; sbit kmin=p31;sbit knian=p32;sbit tiaonian=p33 ;sbit speaker=p37 ;int j=-1 ; /*定義變量,j 用以控制掃描*/bit flag=0,leap=0; /*定義 flag 控制時(shí)分秒和年月日的顯示,leap 判斷是否為閏年*/char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0;char dayshi=0,dayge=0,monthshi=0,monthge

22、=0,yearshi=0,yearge=0 ;10unsigned int num=0,sec=0,min=0,hour=0; /*設(shè)置初始時(shí)間為 00 時(shí) 0 分 0 秒*/unsigned int day=1,month=1,year=10; /*設(shè)置初始日期為 2010 年 1 月 1 日*/char saomiao8=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80; /*掃描數(shù)組,控制位選*/char shijian10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90

23、; /*共陰數(shù)碼管的 0,1,2,3,4,5,6,7,8,9*/void delay(unsigned int z) /*延時(shí)子程序*/ unsigned int x,y;for(x=z;x0;x-)for(y=10;y0;y-) ; void timer() interrupt 1 /*定時(shí)器中斷 0*/ th0=(65535-5000)/256; /*重新裝入初值*/ tl0=(65535-5000)%256; num+; j+; if(year%4=0&year%100!=0)|(year%400=0) /*判斷是否為閏年*/ leap=1; /*閏年,使 leap=1*/else le

24、ap=0; /*平年,使 leap=0*/ if(num=150) /*實(shí)驗(yàn)微調(diào)得 num=150 時(shí)大概為 1s*/ num=0; sec+; /*秒自動(dòng)加 1*/ if(sec=60) sec=0; min+; /*60s 時(shí),分自動(dòng)加 1,秒歸0*/ if(min=60) min=0; hour+; /*60 分時(shí),小時(shí)自動(dòng)加 1,分歸 0*/ if(hour=24) hour=0;11 min=0; sec=0; day+; /*24 時(shí),天自動(dòng)加 1,時(shí)分秒歸 0*/ /*月份的判斷,平年時(shí)的 2 月和閏年時(shí)的 2 月,以及 30 天和 31 天的判斷*if(leap=1&month

25、=2&day=30)|(leap=0&month=2&day=29) day=1; month+; /*2 月 28 天或 29 天時(shí)月自加 1*/ if(month=1|month=3|month=5|month=7|month=8|month=10|month=12) if(day=32) day=1; month+; /*月為 31 天達(dá)到時(shí)月自動(dòng)加 1*/ if( month=4|month=6|month=9|month=11) if(day=31) day=1; month+; /*月為 30 天達(dá)到時(shí)月自動(dòng)加 1*/ if(month=13) year+; month=1; /*

26、新的一年的開(kāi)始*/ secge=sec%10;12 secshi=sec/10; minge=min%10; minshi=min/10; hourge=hour%10; hourshi=hour/10; dayge=day%10; dayshi=day/10; monthge=month%10; monthshi=month/10; yearge=year%10; yearshi=year/10; p1=saomiaoj; /*數(shù)碼管的位選設(shè)置*/if(flag=1) /*flag=1,顯示年月日*/ if(p1=0 x80) p2=shijiandayge;if(p1=0 x40) p2=

27、shijiandayshi;if(p1=0 x20) p2=0 xbf; /*年與月之間的分隔符“”的顯示*/if(p1=0 x10) p2=shijianmonthge;if(p1=0 x08) p2=shijianmonthshi;if(p1=0 x04) p2=0 xbf; /*月與天之間的分隔符“”的顯示*/if(p1=0 x02) p2=shijianyearge;if(p1=0 x01) p2=shijianyearshi; else /*flag=0,顯示時(shí)分秒*/ if(p1=0 x80) p2=shijiansecge;if(p1=0 x40) p2=shijiansecsh

28、i;if(p1=0 x20) p2=0 xbf;if(p1=0 x10) p2=shijianminge;/xian shi if(p1=0 x08) p2=shijianminshi;if(p1=0 x04) p2=0 xbf;if(p1=0 x02&hour24) p2=shijianhourge; /*顯示小時(shí) 023*/if(p1=0 x01&hour23) hour=0; if(flag=1) /*顯示年月日的情況下做年月日的調(diào)整*/ if(kmin=0) day+;14 while(kmin=0); if(khour=0) month+; while (khour=0); if(m

29、onth12) month=1; if(tiaonian=0&speaker=1) year+; while (tiaonian=0); void baoshi() /*整點(diǎn)報(bào)時(shí)子程序*/ if(min=0&sec10) /*整點(diǎn)鬧鐘響,響 10 秒*/ speaker=0; delay(1) ;speaker=1 ; else speaker=1;void alarm() / *鬧鐘子程序*/ bit ring=1;char xx=10;if(tiaonian=0) ring=0; delay(100);while(tiaonian=0); /*關(guān)閉正在叫的鬧鐘*/15if(hour=6&min=xx&ring=1) /*鬧鐘按時(shí)鳴叫 1 分鐘*/ speaker=0; delay(1) ; speaker=1 ;if(hour=6&min=xx+1) /*1 分鐘后鬧鐘停止鳴叫*/ sp

溫馨提示

  • 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)論