




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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)老師: 目錄 摘摘 要要.2 一、電子時(shí)鐘一、電子時(shí)鐘.2 1.1 電子時(shí)鐘簡(jiǎn)介 .2 1.2 電子時(shí)鐘的基本特點(diǎn).2 1.3 電子時(shí)鐘的原理.3 二、二、 單片機(jī)識(shí)的相關(guān)知識(shí)單片機(jī)識(shí)的相關(guān)知識(shí).3 2.1 單片機(jī)簡(jiǎn)介.3 2.2 單片機(jī)的發(fā)展史.3 1 . 4位單片機(jī).3 2 . 8位單片機(jī).3 3 . 16位單片機(jī).4 4 . 32位單片機(jī).4 5 . 64位單片機(jī).4 2.3 單片機(jī)的特點(diǎn).4 2.4 AT89C51 單片機(jī)介紹.5 三、三、
2、控制系統(tǒng)的硬件設(shè)計(jì)控制系統(tǒng)的硬件設(shè)計(jì).7 3.1 單片機(jī)型號(hào)的選擇.7 3.2 數(shù)碼管顯示工作原理.7 3.3 74LS373 介紹.8 3.4 整個(gè)電路原理圖.9 四、四、 控制系統(tǒng)的軟件設(shè)計(jì)控制系統(tǒng)的軟件設(shè)計(jì).9 4.1 程序清單 .9 4.2 仿真結(jié)果 .15 五、心得五、心得.16 六、參考文獻(xiàn)六、參考文獻(xiàn).17 摘摘 要要 單片計(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)用, 從
3、而達(dá)到學(xué)習(xí)、設(shè)計(jì)、開(kāi)發(fā)軟、硬的能力。 本設(shè)計(jì)主要設(shè)計(jì)了一個(gè)基于 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í)鐘 鍵盤(pán)控制 一、電子時(shí)鐘一、電子時(shí)鐘 1.1 電子時(shí)鐘簡(jiǎn)介電子時(shí)鐘簡(jiǎn)介 1957 年,Ventura 發(fā)明了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘開(kāi)始 迅速發(fā)展起來(lái)?,F(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)
4、生一定的時(shí)間 中斷,用于一秒的定義,通過(guò)計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小時(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ì), 片選的靈活性好。 1.3 電子時(shí)鐘的原理電子時(shí)鐘的原
5、理 該電子時(shí)鐘由 AT89C51,74LS373,BUTTON,數(shù)碼管等構(gòu)成,采用晶振電路作為驅(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ī)全稱(chēng)為單片機(jī)微型計(jì)算機(jī)(Single Chip Microsoftcomputer)
6、。從應(yīng)用領(lǐng)域來(lái)看,單片 機(jī)主要用來(lái)控制,所以又稱(chēng)為微控制器(Microcontroller Unit)或嵌入式控制器。單片機(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ì)
7、算器,多功能電話等。 2 . 8 位單片機(jī)位單片機(jī) 1972 年,美國(guó) Intel 公司首先推出 8 位微處理器 8008,并于 1976 年 9 月率先推出 MCS-48 系列單片機(jī)。在這以后,8 位單片機(jī)紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的 3870 系 列,摩托羅拉公司生產(chǎn)的 6801 系列等。隨著集成電路工藝水平的提高,一些高性能的 8 位單片 機(jī)相繼問(wèn)世。例如,1978 年摩托羅拉公司的 MC6801 系列及齊洛格公司的 Z8 系列,1979 年 NEC 公司的 UPD78XX 系列。這類(lèi)單片機(jī)的尋址能力達(dá) 64KB,片內(nèi) ROM 容量達(dá) 4-8KB,片 內(nèi)除帶有并行 IO
8、口外,還有串行 IO 口,甚至還有 AD 轉(zhuǎn)化器功能。8 位單片機(jī)由于功能強(qiáng), 被廣泛用于自動(dòng)化裝置、智能儀器儀表、智能接口、過(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ī) 隨著
9、高新技術(shù)只智能機(jī)器人,光盤(pán)驅(qū)動(dòng)器,激光打印機(jī),圖像與數(shù)據(jù)實(shí)時(shí)處理,復(fù)雜實(shí)時(shí) 控制,網(wǎng)絡(luò)服務(wù)器等領(lǐng)域的應(yīng)用與發(fā)展,20 世紀(jì) 80 年代末推出了 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ī)器人,磁盤(pán)控制,語(yǔ)音圖像通信,算法密集的實(shí) 時(shí)控制場(chǎng)合已有應(yīng)用,如英國(guó) Inmos 公司的 Transputer T800 是高
10、性能的 64 位單片機(jī)。 2.3 單片機(jī)的特點(diǎn)單片機(jī)的特點(diǎn) 1 . 單片機(jī)的存儲(chǔ)器 ROM 和 RAM 時(shí)嚴(yán)格區(qū)分的。ROM 稱(chēng)為程序存儲(chǔ)器,只存放程序, 固定常數(shù),及數(shù)據(jù)表格。RAM 則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及存放用戶(hù)數(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)部的各種功能部件不能
11、滿足應(yīng)用的需求時(shí),均可在 外部進(jìn)行擴(kuò)展,與許多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計(jì)帶來(lái)了很大的方便。 2.4AT89C51 單片機(jī)介紹單片機(jī)介紹 VCC:電源;GND:接地。 P0 口:P0 口為一個(gè) 8 位漏級(jí)開(kāi)路雙向 I/O 口,每腳可吸收 8TTL 門(mén)電流。當(dāng) P1 口的管腳 第一次寫(xiě) 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 口緩沖器
12、能接收輸出 4TTL 門(mén)電流。P1 口管腳寫(xiě)入 1 后,被內(nèi)部上拉為高,可用作 輸入,P1 口被外部下拉為低電平時(shí), 將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗(yàn)時(shí),P1 口作為第八位地址接收。 P2 口:P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4 個(gè) TTL 門(mén)電流,當(dāng) P2 口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時(shí), P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器 或 16 位地址外部數(shù)據(jù)存 儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。在給出地址“1”時(shí),它
13、利用 內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2 口輸出其特殊功能寄存器 的內(nèi)容。 P2 口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD
14、 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U4 AT89C51 圖 1 AT89C51 單片機(jī) P3 口:P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門(mén)電流。當(dāng) P3 口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸
15、出電流(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ù)存儲(chǔ)器寫(xiě)選通) 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í),地址鎖存允許的輸出
16、電平用于鎖存地址的地位字節(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í)行 MOVX,MOVC 指令是 ALE 才起作用。另外, 該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無(wú)效。 PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 /PSEN 有效。但在訪問(wèn)外
17、部數(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)。 三、三、 控制系統(tǒng)的硬件設(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ǔ)器的低電壓,高性能 C
18、MOS8 位微處理器,器件采用 ATMEL 高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。 由于將多功能 8 位 CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL 的 89C51 是一種高效微控制 器,而且它與 MCS-51 兼容,且具有 4K 字節(jié)可編程閃爍存儲(chǔ)器和 1000 寫(xiě)/擦循環(huán),數(shù)據(jù)保留時(shí) 間為 10 年等特點(diǎn),是最好的選擇。 3.2 數(shù)碼管顯示數(shù)碼管顯示工作原理工作原理 數(shù)碼管是一種把多個(gè) LED 顯示段集成在一起的顯示設(shè)備。有兩種類(lèi)型,一種是共陽(yáng)型,一 種是共陰型。共陽(yáng)型就是把多個(gè) LED 顯示段的陽(yáng)極接在一起,又稱(chēng)為公共端。共陰型就是把多
19、 個(gè) LED 顯示段的陰極接在一起,即為公共商。陽(yáng)極即為二極管的正極,又稱(chēng)為正極,陰極即為 二極管的負(fù)極,又稱(chēng)為負(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ì)連在一起,其它的段也是如此,這是實(shí)際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示 和動(dòng)態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的 8 段輸入及其公共端電平一直有效。動(dòng)態(tài)顯示的原理 是,各個(gè)數(shù)碼管的相同段連接在一起,共同占用 8 位段
20、引管線;每位數(shù)碼管的陽(yáng)極連在一起組 成公共端。利用人眼的視覺(jué)暫留性,依次給出各個(gè)數(shù)碼管公共端加有效信號(hào),在此同時(shí)給出該 數(shù)碼管加有效的數(shù)據(jù)信號(hào),當(dāng)全段掃描速度大于視覺(jué)暫留速度時(shí),顯示就會(huì)清晰顯示出來(lái)。 圖 2 共陰數(shù)碼管 3.3 74LS373 介紹介紹: 373 為三態(tài)輸出的八 D 透明鎖存器 ,373 的輸出端 O0O7 可直接與總線相連。 當(dāng)三態(tài)允許控制端 OE 為低電平時(shí), O0O7 為正常邏輯狀態(tài),可用來(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 而變
21、。當(dāng) LE 為低電平時(shí), O 被鎖存在 已建立的數(shù)據(jù)電平。當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用, 使交流和直流噪聲抗擾度被改善 400mV。 引出端符號(hào): D0D7 數(shù)據(jù)輸入端 ;OE 三態(tài)允許控制端(低電平有效 ;LE 鎖存允許端 ;O0O 7 輸出端 圖 3 74LS373 3.4 整個(gè)電路原理圖整個(gè)電路原理圖 圖 4 系統(tǒng)電路原理圖 四、四、 控制系統(tǒng)的軟件設(shè)計(jì)控制系統(tǒng)的軟件設(shè)計(jì) 4.1 程序清單程序清單 #include #include sbit P20=P20; /*定義端口*/ sbit khour=P30; sbit kmin=P31; sbit knian=P32; sbi
22、t 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=0,yearshi=0,yearge=0 ; unsigned int num=0,sec=0,min=0,hour=0; /*設(shè)置初始時(shí)間為 00 時(shí)
23、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; /*共陰數(shù)碼管的 0,1,2,3,4,5,6,7,8,9*/ void delay(unsigned int z) /*延時(shí)子程序*/ unsign
24、ed 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 /*閏年,使 leap=1*/ else leap=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í),分自
25、動(dòng)加 1,秒歸 0*/ if(min=60) min=0; hour+; /*60 分時(shí),小時(shí)自動(dòng)加 1,分歸 0*/ if(hour=24) hour=0; min=0; sec=0; day+; /*24 時(shí),天自動(dòng)加 1,時(shí)分秒歸 0*/ /* * *月份的判斷,平年時(shí)的 2 月和閏年時(shí)的 2 月,以及 30 天和 31 天的判斷 * *if(leap= 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; mon
26、th+; /*月為 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; /*新的一年的開(kāi)始*/ secge=sec%10; 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=m
27、onth/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=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; /*月與天之間的分隔符“”
28、的顯示*/ 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=shijiansecshi; 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 /*顯示小時(shí) 023*/ if(P1=0
29、 x01 if(flag=1) /*顯示年月日的情況下做年月日的調(diào)整*/ if(kmin=0) day+; while(kmin=0); if(khour=0) month+; while (khour=0); if(month12) month=1; if(tiaonian=0 while (tiaonian=0); void baoshi() /*整點(diǎn)報(bào)時(shí)子程序*/ if(min=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)閉正在叫的鬧鐘*/ if(hour=6 delay(1) ; speaker=1 ; if(hour=6 void main(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒類(lèi)產(chǎn)品營(yíng)銷(xiāo)渠道拓展與創(chuàng)新考核試卷
- 金融行業(yè)保險(xiǎn)產(chǎn)品設(shè)計(jì)與應(yīng)用考核試卷
- 鉀肥生產(chǎn)過(guò)程中的環(huán)境保護(hù)設(shè)施運(yùn)行考核試卷
- 數(shù)據(jù)庫(kù)日常維護(hù)要點(diǎn)試題及答案
- 設(shè)計(jì)項(xiàng)目管理中的風(fēng)險(xiǎn)管理考核試卷
- 企業(yè)網(wǎng)絡(luò)安全評(píng)估考題及答案
- 網(wǎng)絡(luò)安全管理與合規(guī)性試題及答案
- 平安守護(hù)服務(wù)管理制度
- 學(xué)校社工站點(diǎn)管理制度
- 學(xué)習(xí)嵌入式系統(tǒng)中的版本管理試題及答案
- 保障性租賃住房申請(qǐng)表
- 固定資產(chǎn)折舊年限表
- 臨床醫(yī)學(xué)基礎(chǔ)科目十門(mén)聯(lián)考習(xí)題冊(cè)(題庫(kù)一頁(yè)兩版)
- 《中國(guó)近現(xiàn)代史綱要》課后習(xí)題答案詳解
- 區(qū)域地理拉丁美洲-巴西
- 語(yǔ)文小學(xué)二年級(jí)《二年級(jí)下冊(cè)第三單元〈中國(guó)美食〉作業(yè)設(shè)計(jì)》
- 直臂車(chē)操作員安全技術(shù)交底-
- 蘇州市初一信息技術(shù)期末復(fù)習(xí)知識(shí)點(diǎn)整理-葵花寶典
- 大學(xué)生溝通與社交禮儀
- GB/T 42064-2022普通照明用設(shè)備閃爍特性光閃爍計(jì)測(cè)試法
- GB/T 8162-2008結(jié)構(gòu)用無(wú)縫鋼管
評(píng)論
0/150
提交評(píng)論