2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩28頁(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、<p><b>  目錄</b></p><p><b>  第1章 概述2</b></p><p>  1.1 設(shè)計(jì)要求2</p><p>  1.2 設(shè)計(jì)目的2</p><p>  1.3 設(shè)計(jì)意義2</p><p>  第2章 系統(tǒng)總體方案選擇與說(shuō)

2、明3</p><p>  第3章 硬件電路設(shè)計(jì)4</p><p>  3.1 按鍵控制模塊4</p><p>  3.2 時(shí)間顯示模塊5</p><p>  3.3 打鈴模塊6</p><p>  第4章 應(yīng)用軟件設(shè)計(jì)8</p><p>  4.1系統(tǒng)軟件設(shè)計(jì)思想8</p

3、><p>  4.2 系統(tǒng)主程序8</p><p>  4.3 中斷子程序9</p><p>  4.4 按鍵掃描子程序11</p><p>  第5章 系統(tǒng)仿真調(diào)試12</p><p>  5.1 軟件簡(jiǎn)介12</p><p>  5.2軟件仿真12</p>&l

4、t;p>  第6章 硬件調(diào)試與結(jié)果分析15</p><p><b>  結(jié)束語(yǔ)17</b></p><p><b>  致謝18</b></p><p><b>  參考文獻(xiàn)19</b></p><p>  附錄A 系統(tǒng)硬件電路原理圖20</p>

5、<p>  附錄B 程序清單21</p><p><b>  評(píng)分表29</b></p><p><b>  第1章 概述</b></p><p><b>  1.1 設(shè)計(jì)要求</b></p><p>  本設(shè)計(jì)要求設(shè)計(jì)學(xué)校作息時(shí)間控制器,其設(shè)計(jì)實(shí)現(xiàn)的功能主要

6、有:使用4位七段顯示器來(lái)顯示現(xiàn)在的時(shí)間,顯示格式為“時(shí)分”,由LED閃動(dòng)作為秒計(jì)數(shù)表示,到響應(yīng)時(shí)間打鈴,可冬夏季切換??梢栽O(shè)定作息時(shí)間,并進(jìn)行到時(shí)提示。能夠根據(jù)預(yù)先設(shè)定好的作息時(shí)間表自動(dòng)啟??刂齐娐?,完成對(duì)外部設(shè)備的實(shí)時(shí)控制。</p><p><b>  1.2 設(shè)計(jì)目的</b></p><p>  增強(qiáng)對(duì)單片機(jī)的認(rèn)識(shí),與理解,提高時(shí)間能力與水平。學(xué)會(huì)使用proteu

7、s仿真軟件,充分把所學(xué)電路、模數(shù)電理論與實(shí)踐結(jié)合,了解和掌握單片機(jī)設(shè)計(jì)軟件與硬件設(shè)計(jì)結(jié)合過(guò)程、方法和實(shí)現(xiàn),以及掌握單片機(jī)的內(nèi)部模塊的應(yīng)用。</p><p><b>  1.3 設(shè)計(jì)意義</b></p><p>  用單片機(jī)及c語(yǔ)言編程模擬學(xué)校作息時(shí)間,到時(shí)打鈴,以及冬季夏季手動(dòng)切換打鈴時(shí)間。</p><p>  第2章 系統(tǒng)總體方案選擇與說(shuō)明

8、</p><p>  由按鍵控制模塊控制單片機(jī)最小系統(tǒng)的時(shí)間、月份、年以及打鈴時(shí)間,在有單片機(jī)控制數(shù)碼管顯示以及蜂鳴器。本次設(shè)計(jì)實(shí)現(xiàn)的功能主要有:使用4位七段顯示器來(lái)顯示現(xiàn)在的時(shí)間,顯示格式為“時(shí)分”,由LED小數(shù)點(diǎn)閃動(dòng)作為秒計(jì)數(shù)表示??梢栽O(shè)定作息時(shí)間,并進(jìn)行到時(shí)提示。能夠根據(jù)預(yù)先設(shè)定好的作息時(shí)間表自動(dòng)啟??刂齐娐?,完成對(duì)外部設(shè)備的實(shí)時(shí)控制。由按鍵輸入控制設(shè)置年月日以及當(dāng)前時(shí)間、并可設(shè)置鬧鐘定時(shí),時(shí)間到由蜂鳴器發(fā)

9、出響聲。</p><p><b>  圖2-1</b></p><p>  第3章 硬件電路設(shè)計(jì)</p><p>  3.1 按鍵控制模塊</p><p>  按鍵控制模塊主要有由五個(gè)按鍵組成:K1、K2、K3、K4、K5。分別接P1.3-P1.7口。</p><p>  K1的功能是模式切換鍵;

10、K2的作用是加一;K3的作用是鬧鐘使能;K4的作用是減一;K5的作用是冬夏季切換。</p><p><b>  圖3-1</b></p><p>  當(dāng)需要設(shè)定時(shí)間或是校正時(shí)間,即可按下模式切換鍵來(lái)進(jìn)行。</p><p>  校正時(shí)間:按第一次K1鍵,進(jìn)入小時(shí)校正狀態(tài),通過(guò)按K2、K4鍵進(jìn)行小時(shí)校正,按一下K2鍵則加一,按一下K3鍵則減一。&l

11、t;/p><p>  按第二次K1鍵,進(jìn)入分校正狀態(tài),通過(guò)按K2、K4鍵進(jìn)行分鐘校正。</p><p>  按第三次K1鍵,進(jìn)入小時(shí)設(shè)定狀態(tài),此時(shí)若不需要設(shè)置則不操作。</p><p>  按第四次K1鍵,進(jìn)入分鐘設(shè)定狀態(tài),若此時(shí)不需要設(shè)置則不操作。</p><p>  按第五次K1鍵進(jìn)入月份校正狀態(tài),通過(guò)按K2、K4鍵進(jìn)行月份校正。</p

12、><p>  按第六次K1鍵,進(jìn)入日校正狀態(tài),通過(guò)按K2、K4鍵進(jìn)行日校正。</p><p>  按下第七次K1鍵進(jìn)入年份校正狀態(tài),通過(guò)按K2、K4鍵來(lái)進(jìn)行年份校正。</p><p>  校正完畢后,再按一次K1鍵,則退出時(shí)間校正狀態(tài),并顯示當(dāng)前校正后的準(zhǔn)確時(shí)間。</p><p>  設(shè)定時(shí)間:按第一次K1鍵進(jìn)入小時(shí)校正狀態(tài),此時(shí)若不需要設(shè)置,則

13、不操作;以此類推。</p><p>  第三次按下K1鍵,進(jìn)入小時(shí)設(shè)定狀態(tài),通過(guò)按K2、K4鍵進(jìn)行小時(shí)設(shè)定。</p><p>  按下第四次K1鍵,進(jìn)入分鐘設(shè)定狀態(tài),通過(guò)按K2、K4鍵進(jìn)行分鐘設(shè)定。</p><p>  設(shè)定完畢后,按一下K3鍵(鬧鐘使能)。</p><p>  繼續(xù)按K1鍵,若不需要設(shè)置,則不操作,以此類推,到按最后一次K1

14、鍵則退出時(shí)間設(shè)定狀態(tài)并顯示當(dāng)前時(shí)間,當(dāng)時(shí)間與我們?cè)O(shè)定的時(shí)間一致時(shí),通過(guò)鬧鐘電路響聲提示。</p><p>  若要關(guān)閉鬧鐘,此時(shí)再按一次K3鍵即可停止響聲。</p><p>  若k5=1,執(zhí)行冬季打鈴時(shí)間。</p><p>  若k5=0,則執(zhí)行夏季打鈴時(shí)間。</p><p>  3.2 時(shí)間顯示模塊</p><p>

15、;  本設(shè)計(jì)采用四位七段共陽(yáng)數(shù)碼管做顯示模塊,其中前兩位做時(shí)、月份顯示,其余兩位作為分、日顯示,選取前兩位的一個(gè)dp點(diǎn)作為秒點(diǎn)。單片機(jī)P0.0-P0.7 分別接七段數(shù)碼管的abcedfg和dp引腳。P2.0-P2.3分別作為四個(gè)七段數(shù)碼管的片選端。</p><p><b>  圖3-2</b></p><p>  時(shí)間顯示模塊主要由四位數(shù)碼管來(lái)顯示,配合按鍵控制模塊的

16、校正與設(shè)定時(shí)間,相應(yīng)的顯示。時(shí)間正常顯示時(shí),LED每閃動(dòng)60次,分鐘自動(dòng)加一;每六十分鐘小時(shí)自動(dòng)加一;每24小時(shí)天自動(dòng)加一。</p><p><b>  3.3 打鈴模塊</b></p><p>  單片機(jī)p3.7口控制蜂鳴器,若數(shù)碼管顯示時(shí)間與設(shè)定的學(xué)校作息時(shí)間相同,蜂鳴器模擬打鈴一分鐘。</p><p><b>  圖3-3<

17、;/b></p><p>  打鐘模塊快的主要功能:鬧鈴。當(dāng)設(shè)定時(shí)間與當(dāng)前時(shí)間一致時(shí),則鬧鐘自動(dòng)鬧鈴進(jìn)行提示,一分鐘后,自動(dòng)退出響鈴狀態(tài),若按K3鍵,鬧鐘退出響鈴狀態(tài)。</p><p>  第4章 應(yīng)用軟件設(shè)計(jì)</p><p>  4.1系統(tǒng)軟件設(shè)計(jì)思想</p><p>  本系軟件設(shè)計(jì)中,利用單片機(jī)定時(shí)器設(shè)計(jì)時(shí)間計(jì)時(shí)處理,采用單片

18、機(jī)內(nèi)部的T0定時(shí)器溢出中斷來(lái)實(shí)現(xiàn),工作在T1方式下,定時(shí)50微妙,則連續(xù)中斷20次即為一秒,得到了我們所需時(shí)間的最小單位。</p><p>  該設(shè)計(jì)用C51編寫程序,由于匯編語(yǔ)言的移植性比較差,而C語(yǔ)言則比較靈活。許多子函數(shù)都可以直接移植過(guò)去。</p><p>  在程序中除了有主函數(shù)外還包含許多子函數(shù),如延時(shí)函數(shù)、按鍵掃描函數(shù)、初始化函數(shù)、時(shí)間顯示函數(shù)、設(shè)定鬧鐘顯示函數(shù)、設(shè)定日期顯示函

19、數(shù)、設(shè)定年份顯示函數(shù)、月份選擇函數(shù)、年份顯示輔助函數(shù)、冬夏季作息時(shí)間切換函數(shù)。</p><p>  4.2 系統(tǒng)主程序</p><p>  在主控程序循環(huán)中主要工作為掃描是否有按鍵,若有按健則做相應(yīng)的功能處理,同時(shí)也掃描顯示器顯示時(shí)間數(shù)據(jù),并檢查所設(shè)置的時(shí)間是否到了。時(shí)間計(jì)時(shí)處理程序是等過(guò)了1s后,則更新時(shí)間數(shù)據(jù),將最新的時(shí)、分的數(shù)據(jù)轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)并顯示在七段顯示器上。</p>

20、;<p>  圖3-2主程序流程圖</p><p>  4.3 中斷子程序</p><p>  中斷子程序的主要功能:提供時(shí)間基準(zhǔn)。</p><p>  當(dāng)連續(xù)中斷20次時(shí),即為一秒,此時(shí)秒加一。</p><p>  當(dāng)秒值為60時(shí),分鐘加一,同時(shí)秒清零;當(dāng)分鐘值為60時(shí),小時(shí)加一,同時(shí)分鐘值清零。</p>&l

21、t;p>  當(dāng)小時(shí)為24時(shí),天值加一,同時(shí)小時(shí)清零。</p><p>  由于每月天數(shù)不定,1、3、5、7、8、10、12月為31天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為32時(shí),月值加一,同時(shí)天值為1;4、6、9、11月為30天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為31時(shí),月值加一,同時(shí)天值為1。</p><p>  如果是閏年,則2月為29天,當(dāng)計(jì)數(shù)到此類月份時(shí),天值為30時(shí),月值加一,同時(shí)天值為一。

22、</p><p>  如果不是閏年,則2月為28天,當(dāng)計(jì)數(shù)此類月份時(shí),天值為29時(shí),月值加一,同時(shí)天值為一。</p><p>  當(dāng)月值為13時(shí),則年值加一,同時(shí)月值為一。</p><p>  圖3-3定時(shí)器中斷函數(shù)</p><p>  4.4 按鍵掃描子程序</p><p>  按鍵掃描子程序是程序計(jì)中相當(dāng)重要的一

23、部分。按鍵掃描子程序的功能是:掃描是否有按鍵按下,若有鍵按下,則執(zhí)行相應(yīng)功能。</p><p>  設(shè)計(jì)中包含了防抖動(dòng)程序,延時(shí)20ms,判斷是否為抖動(dòng),若不是抖動(dòng)則執(zhí)行相應(yīng)程序功能。</p><p>  第5章 系統(tǒng)仿真調(diào)試</p><p><b>  5.1 軟件簡(jiǎn)介</b></p><p>  本次課程設(shè)計(jì)仿真主

24、要采用proteus。</p><p>  Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。</p><p><b>  5.2軟件仿真</b></p><p>  啟動(dòng)Proteus進(jìn)行仿真時(shí)顯

25、示的初始化時(shí)間。初始界面仿真圖如圖:</p><p><b>  圖5-1</b></p><p>  時(shí)間校正:當(dāng)我們需要正確的顯示時(shí)間即可進(jìn)行時(shí)間校正,按一下K1即進(jìn)入小時(shí)校正狀態(tài),通過(guò)K2加一或K4減一來(lái)進(jìn)行小時(shí)校正,再按一次K1鍵即可進(jìn)行分鐘校正,校正原理同小時(shí)校正相同。其仿真圖如圖5-2所示。</p><p><b>  圖

26、5-2</b></p><p>  日期校正:當(dāng)我們需要與當(dāng)前日期保持一致時(shí),則可以使用日期校正功能,連續(xù)按動(dòng)五次K1鍵,則進(jìn)入月份校正狀態(tài),通過(guò)K2加一鍵或K4減一鍵進(jìn)行校正月份,再按一次K1鍵,則可進(jìn)行日期校正,校正原理同月份校正原理相同。其仿真圖如圖5-3。</p><p><b>  圖5-3</b></p><p>  年

27、份校正:當(dāng)我們需要保持年份與當(dāng)前年份一一致時(shí),則可以進(jìn)行年份校正。連續(xù)按動(dòng)七次K1鍵,即進(jìn)入年份校正狀態(tài),通過(guò)K2加一鍵或K4減一鍵進(jìn)行校正。其仿真圖如圖5-4所示。</p><p><b>  圖5-4</b></p><p>  到時(shí)打鈴:當(dāng)單片機(jī)顯示時(shí)間與設(shè)定學(xué)校打鈴時(shí)間相同時(shí),蜂鳴器響。如圖5-5所示。</p><p><b>

28、;  圖5-5</b></p><p>  第6章 硬件調(diào)試與結(jié)果分析</p><p><b>  結(jié)束語(yǔ)</b></p><p>  此次課程設(shè)計(jì)為期兩個(gè)星期,圍繞著利用最小單片機(jī)系統(tǒng)設(shè)計(jì)模擬學(xué)校作息時(shí)間打鈴系統(tǒng),實(shí)現(xiàn)了時(shí)間計(jì)時(shí),時(shí)間調(diào)整,時(shí)間暫停,到點(diǎn)響鈴和冬夏季切換等功能。使用4位七段顯示器來(lái)顯示現(xiàn)在的時(shí)間,顯示格式為“時(shí)分

29、”,由LED小數(shù)點(diǎn)閃動(dòng)作為秒計(jì)數(shù)表示。可以設(shè)定作息時(shí)間,并進(jìn)行到時(shí)提示。能夠根據(jù)預(yù)先設(shè)定好的作息時(shí)間表自動(dòng)啟??刂齐娐?,完成對(duì)外部設(shè)備的實(shí)時(shí)控制。由按鍵輸入控制設(shè)置年、月、日以及當(dāng)前時(shí)間并可設(shè)置鬧鐘定時(shí),顯示時(shí)間與設(shè)計(jì)作息時(shí)間相同時(shí)由蜂鳴器發(fā)出響聲。</p><p>  設(shè)計(jì)之初,由于忽略了數(shù)碼管共陰與共陽(yáng)的問(wèn)題,導(dǎo)致在硬件調(diào)試的時(shí)候未能成功,修改后,導(dǎo)致秒點(diǎn)不能閃爍,一直未能找出原因,最后發(fā)現(xiàn)是忽略了與、或之間

30、沒(méi)轉(zhuǎn)換。在設(shè)計(jì)冬夏季切換時(shí),對(duì)主函數(shù)初始化問(wèn)題理解不透徹,致使一開始不能切換。在設(shè)計(jì)打鈴時(shí)間表時(shí),還可以采用查表法,此方法相比可以節(jié)約程序空間。</p><p><b>  致謝</b></p><p>  通過(guò)兩周的課程設(shè)計(jì),利用單片機(jī)把復(fù)位電路,顯示電路,電源電路,繼電器電路,電鈴電路連接起來(lái),在通過(guò)單片機(jī)的編程實(shí)現(xiàn)設(shè)計(jì)要求。單片機(jī)作息時(shí)間控制系統(tǒng)是利用定時(shí)器計(jì)時(shí)

31、處理來(lái)做秒計(jì)數(shù),當(dāng)所設(shè)置的時(shí)間到了,則發(fā)出一陣聲響,啟動(dòng)繼電器,由繼電器可以控制收音機(jī)開啟或者關(guān)閉。時(shí),分,秒數(shù)據(jù)是存在變量?jī)?nèi)并寫入七段顯示管的緩沖區(qū)內(nèi),由顯示管掃描中定時(shí)時(shí)掃描而顯示出時(shí)間。我由最初的不知所措到后來(lái)的獲益良多,覺得這兩周過(guò)得很充實(shí),也積累了一些設(shè)計(jì)的寶貴經(jīng)驗(yàn)。這些離不開我的團(tuán)隊(duì)對(duì)我的幫助,更離不開王老師的悉心指導(dǎo)。</p><p><b>  參考文獻(xiàn)</b></p&

32、gt;<p>  附錄A 系統(tǒng)硬件電路原理圖</p><p><b>  附錄B 程序清單</b></p><p>  #include<REG52.H></p><p>  #define uint unsigned int</p><p>  #define uchar unsigned c

33、har</p><p>  uchar code a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p>  sbit K1=P1^4;</p><p>  sbit K2=P1^5;</p><p>  sbit K3=P1^6;</p><p

34、>  sbit K4=P1^7;</p><p>  sbit sd=P1^0;</p><p>  sbit BEEP=P3^7;</p><p>  uchar m=59,h=7,sec=30,cnt=0,x,y,qian,bai,shi,ge;</p><p>  uchar set_h=8;</p><p&g

35、t;  uchar set_m=6;</p><p>  uchar month=6;</p><p>  uchar day=12;</p><p>  uchar th0_f;</p><p>  uchar tl0_f;</p><p>  uint year=2013; </p><p>

36、;  void delay(uchar t);</p><p>  void scankey(void);</p><p>  void init(void); </p><p>  void display(void);</p><p>  void set_time(void);</p><p>  void

37、set_day(void);</p><p>  void m_choose(void); </p><p>  void bianhuan(void);</p><p>  void bianhuan1(void);</p><p>  void time0(void) interrupt 1</p><p>&l

38、t;b>  {</b></p><p><b>  TH0=0x3c;</b></p><p><b>  TL0=0xb0;</b></p><p><b>  cnt++;</b></p><p>  if(y==1&&(set_h==h&

39、amp;&set_m==m))sd=0;</p><p>  else sd=1;</p><p>  if(y==1&&(h==8&&m==0))sd=0;</p><p>  else sd=1;</p><p>  if(cnt==20)</p><p><b>

40、  {</b></p><p><b>  sec++;</b></p><p><b>  cnt=0;</b></p><p>  if(sec==60)</p><p><b>  {</b></p><p><b>  se

41、c=0;</b></p><p><b>  m++;</b></p><p><b>  if(m==60)</b></p><p><b>  {</b></p><p><b>  m=0;</b></p><p>

42、;<b>  h++;</b></p><p><b>  if(h==24)</b></p><p><b>  {</b></p><p><b>  h=0;</b></p><p><b>  day++;</b></p

43、><p>  switch(month)</p><p><b>  {</b></p><p>  case 1:if(day==32){month++;day=1;}break;</p><p>  case2:if(year%4==0)</p><p>  {if(day==30){month+

44、+;day=1;}}</p><p>  else{if(day==29){month++;day=1;}}break;</p><p>  case 3:if(day==32){month++;day=1;}break;</p><p>  case 4:if(day==31){month++;day=1;}break;</p><p> 

45、 case 5:if(day==32){month++;day=1;}break;</p><p>  case 6:if(day==31){month++;day=1;}break;</p><p>  case 7:if(day==32){month++;day=1;}break;</p><p>  case 8:if(day==32){month++;day

46、=1;}break;</p><p>  case 9:if(day==31){month++;day=1;}break;</p><p>  case 10:if(day==32){month++;day=1;}break;</p><p>  case 11:if(day==31){month++;day=1;}break;</p><p&g

47、t;  case 12:if(day==32){month++;day=1;}break;</p><p><b>  }</b></p><p>  if(month==13)</p><p><b>  {</b></p><p><b>  month=1;</b><

48、;/p><p><b>  year++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>

49、;</p><p>  if(x==0)bianhuan1(); </p><p><b>  }</b></p><p><b>  }</b></p><p>  timer1() interrupt 3 </p><p><b>  { </b&

50、gt;</p><p>  BEEP=~BEEP; </p><p><b>  }</b></p><p>  void main(void)</p><p><b>  {</b></p><p><b>  init();</b></p>

51、;<p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(k5==0) </p><p><b>  vary1();</b></p><p><b>  if(k5==1)</b>&l

52、t;/p><p><b>  vary2();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void vary1()</p><p><b>  {</b></p&g

53、t;<p>  display(); </p><p>  scankey();</p><p>  if(y==1&&(set_h==h&&set_m==m))BEEP=0;</p><p>  else BEEP=1;</p><p>  if(y==1&&(h==8&

54、;&m==0))BEEP=0;</p><p>  else BEEP=1;</p><p>  if(y==1&&(h==8&&m==45))BEEP=0;</p><p>  else BEEP=1;</p><p><b>  }</b></p><p&g

55、t;  void vary2()</p><p><b>  { </b></p><p><b>  {</b></p><p>  display(); </p><p>  scankey();</p><p>  if(y==1&&(set_h==h

56、&&set_m==m))BEEP=0;</p><p>  else BEEP=1;</p><p>  if(y==1&&(h==8&&m==2))BEEP=0;</p><p>  else BEEP=1;</p><p>  if(y==1&&(h==8&&

57、m==47))BEEP=0;</p><p>  else BEEP=1;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void init(void)</p><p><b>  {</b><

58、/p><p><b>  BEEP=0;</b></p><p>  TMOD=0x11;</p><p><b>  TH0=0x3c;</b></p><p><b>  TL0=0xb0;</b></p><p><b>  ET0=1;&l

59、t;/b></p><p><b>  TR0=1;</b></p><p><b>  ET1=1;</b></p><p><b>  TR1=0;</b></p><p><b>  EA=1;</b></p><p>

60、<b>  }</b></p><p>  void display(void)</p><p><b>  {</b></p><p><b>  P2=0xfe;</b></p><p>  P0=a[qian];</p><p>  if(x%2=

61、=1&&cnt>=10)</p><p><b>  P0|=0xff;</b></p><p>  delay(20);</p><p><b>  P2=0xfd;</b></p><p>  P0=a[bai];</p><p>  if(x%2=

62、=1&&cnt>=10)</p><p><b>  P0|=0xff;</b></p><p>  else if(x==0&&cnt>=10)</p><p><b>  P0&=0x7f;</b></p><p>  delay(20);&l

63、t;/p><p><b>  P2=0xfb;</b></p><p>  P0=a[shi];</p><p>  if(((x%2==0&&x!=0)||x==7)&&cnt>=10)</p><p><b>  P0|=0x7f;</b></p>

64、<p>  delay(20);</p><p><b>  P2=0xf7;</b></p><p><b>  P0=a[ge];</b></p><p>  if(((x%2==0&&x!=0)||x==7)&&cnt>=10)</p><p>

65、;<b>  P0|=0x7f;</b></p><p>  delay(20);</p><p><b>  }</b></p><p>  void m_choose(void)</p><p><b>  {</b></p><p>  switc

66、h(month)</p><p><b>  {</b></p><p>  case 1:if(day==32){month++;day=1;}break;</p><p>  case2:if(year%4==0){if(day==30){month++;day=1;}}</p><p>  else{if(day=

67、=29){month++;day=1;}}break;</p><p>  case 3:if(day==32){month++;day=1;}break;</p><p>  case 4:if(day==31){month++;day=1;}break;</p><p>  case 5:if(day==32){month++;day=1;}break;<

68、/p><p>  case 6:if(day==31){month++;day=1;}break;</p><p>  case 7:if(day==32){month++;day=1;}break;</p><p>  case 8:if(day==32){month++;day=1;}break;</p><p>  case 9:if(da

69、y==31){month++;day=1;}break;</p><p>  case 10:if(day==32){month++;day=1;}break;</p><p>  case 11:if(day==31){month++;day=1;}break;</p><p>  case 12:if(day==32){month++;day=1;}break;

70、</p><p><b>  }</b></p><p><b>  }</b></p><p>  void set_time(void)</p><p><b>  {</b></p><p>  qian=set_h/10;</p>

71、<p>  bai=set_h%10;</p><p>  shi=set_m/10;</p><p>  ge=set_m%10;</p><p><b>  }</b></p><p>  void set_day(void)</p><p><b>  {</b&

72、gt;</p><p>  qian=month/10;</p><p>  bai=month%10;</p><p>  shi=day/10;</p><p>  ge=day%10;</p><p><b>  }</b></p><p>  void bianhu

73、an(void)</p><p><b>  {</b></p><p>  qian=year/1000;</p><p>  bai=year%1000/100;</p><p>  shi=year%100/10;</p><p>  ge=year%10;</p><p

74、><b>  }</b></p><p>  void bianhuan1(void)</p><p><b>  {</b></p><p>  qian=h/10;</p><p><b>  bai=h%10;</b></p><p><

75、;b>  shi=m/10;</b></p><p><b>  ge=m%10;</b></p><p><b>  }</b></p><p>  void scankey(void)</p><p><b>  {</b></p><

76、p><b>  if(K1==0)</b></p><p><b>  {</b></p><p>  delay(20);</p><p><b>  if(K1==0)</b></p><p><b>  {</b></p><

77、;p>  while(K1==0);</p><p><b>  x++;</b></p><p>  if(x==3)set_time();</p><p>  else if(x==5)set_day();</p><p>  else if(x==7)bianhuan();</p><p&

78、gt;  else if(x==8){x=0;bianhuan1();}</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(K2==0)</b></p><p><b>  { </b&g

79、t;</p><p>  delay(20);</p><p><b>  if(K2==0)</b></p><p><b>  {</b></p><p>  while(K2==0);</p><p><b>  switch(x)</b><

80、/p><p><b>  {</b></p><p>  case 0:break;</p><p>  case 1:h++;if(h==24)h=0;bianhuan1();break;</p><p>  case 2:m++;if(m==60)m=0;bianhuan1();break;</p><

81、;p>  case 3:set_h++;if(set_h==24)set_h=0;set_time();break;</p><p>  case 4:set_m++;if(set_m==60)set_m=0;set_time();break;</p><p>  case 5:day++;m_choose();set_day();break;</p><p>

82、;  case 6:month++;if(month==13)month=1;set_day();break;</p><p>  case 7:year++;bianhuan();break;</p><p><b>  }</b></p><p><b>  }</b></p><p><

83、b>  }</b></p><p><b>  if(K3==0)</b></p><p><b>  { </b></p><p>  delay(20);</p><p><b>  if(K3==0)</b></p><p>&l

84、t;b>  {</b></p><p>  while(K3==0);</p><p><b>  y++;</b></p><p>  if(y==2)y=0;</p><p><b>  }</b></p><p><b>  }</

85、b></p><p><b>  if(K4==0)</b></p><p><b>  { </b></p><p>  delay(20);</p><p><b>  if(K4==0)</b></p><p><b>  {<

86、;/b></p><p>  while(K4==0);</p><p><b>  switch(x)</b></p><p><b>  {</b></p><p>  case 0:break;</p><p>  case 1:h--;if(h==255)h=2

87、3;bianhuan1();break;</p><p>  case 2:m--;if(m==255)m=59;bianhuan1();break;</p><p>  case 3:set_h--;if(set_h==255)set_h=23;set_time();break;</p><p>  case 4:set_m--;if(set_m==255)set

88、_m=59;set_time();break;</p><p>  case 5:day--;m_choose();set_day();break;</p><p>  case 6:month--;if(month==0)month=12;set_day();break;</p><p>  case 7:year--;bianhuan();break;</

89、p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  void delay(uchar t)</p&

90、gt;<p><b>  { </b></p><p><b>  uchar i; </b></p><p><b>  do </b></p><p><b>  { </b></p><p>  for(i=0;i<23;i++)

溫馨提示

  • 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ù)僅提供信息存儲(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)論