2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  單片機(jī) 課 程 設(shè) 計(jì) 報(bào) 告</p><p>  院系: 信息工程學(xué)院</p><p>  專業(yè): 電子信息工程</p><p>  課程設(shè)計(jì)題目: 基于51單片機(jī)的定時(shí)鬧鐘設(shè)計(jì)</p><p>  2

2、014年12月29日</p><p>  目 錄</p><p>  概述---------------------------------------------------------------------------------------------------3</p><p>  原理圖的繪制----------------------

3、-----------------------------------------------------------------3</p><p>  2-1原理及工作過程說明---------------------------------------------------------------------4</p><p>  2-2原理圖--------------------

4、-------------------------------------------------------------------4</p><p>  2-3元器件功能說明---------------------------------------------------------------------------5</p><p>  2-3-1 STC89C52單片機(jī)引

5、腳功能說明--------------------------------------------------5</p><p>  2-3-2 LCD1602液晶顯示器--------------------------------------------------------------7</p><p>  2-3-3 其它重要元件---------------------

6、---------------------------------------------------9</p><p>  流程圖繪制以及說明------------------------------------------------------------------------------10</p><p>  Proteus仿真說明----------------------

7、--------------------------------------------------------------11</p><p>  課程設(shè)計(jì)體會(huì)----------------------------------------------------------------------------------------11</p><p>  參考文獻(xiàn)----------

8、------------------------------------------------------------------------------------12</p><p>  原理圖及程序-----------------------------------------------------------------------------------------13</p>&l

9、t;p><b>  一、概述</b></p><p>  本設(shè)計(jì)師定時(shí)鬧鐘的設(shè)計(jì),由單片機(jī)STC89C52芯片和LCD、LED顯示器,輔以必要的的電路,構(gòu)成一個(gè)單片機(jī)定時(shí)鬧鐘。電子鐘可采用數(shù)字電路實(shí)現(xiàn),也可以采用單片機(jī)來完成。LCD顯示“時(shí)”,“分”,LED閃動(dòng)來做秒計(jì)數(shù),定時(shí)時(shí)間到能發(fā)出警報(bào)聲或者啟動(dòng)繼電器,從而控制電器的啟?!,F(xiàn)在是自動(dòng)化高度發(fā)達(dá)的時(shí)代,特別是電子類產(chǎn)品都是靠?jī)?nèi)部的

10、控制電路來實(shí)現(xiàn)對(duì)產(chǎn)品的控制,達(dá)到自動(dòng)運(yùn)行的目的,這就需要我們這里要做的設(shè)計(jì)中的電器元件及電路的支持。</p><p>  在這次設(shè)計(jì)中主要是用STC89S52來進(jìn)行定時(shí),也結(jié)合著其他輔助電路實(shí)施控制,在定時(shí)的時(shí)候,按一下控制小時(shí)的鍵對(duì)小時(shí)加一;按一下控制分鐘的鍵對(duì)分鐘加一;到達(dá)預(yù)設(shè)的時(shí)間,此電路就會(huì)發(fā)出報(bào)警聲音提示已經(jīng)到點(diǎn)。</p><p><b>  二、原理圖繪制說明<

11、/b></p><p>  1、原理及工作過程說明</p><p>  (1)定時(shí)鬧鐘的基本功能如下 :</p><p> ?。╝)使用LCD液晶顯示器來顯示現(xiàn)在的時(shí)間 。</p><p> ?。╞)程序執(zhí)行之后顯示“Time:00:00” ; 并且LED閃爍,表示開始已經(jīng)計(jì)時(shí)。</p><p>  (c)由L

12、ED閃動(dòng)來做秒計(jì)數(shù)表示。</p><p> ?。?)按鍵功能如下 :</p><p>  按鍵K1設(shè)置現(xiàn)在的時(shí)間和時(shí)調(diào)整;按鍵K2顯示鬧鐘設(shè)置的時(shí)間和分調(diào)整;按鍵K3設(shè)置鬧鈴的時(shí)間和設(shè)置完成;按鍵K4鬧鈴ON/OFF的狀態(tài)設(shè)置,設(shè)置為ON時(shí)連續(xù)三次發(fā)出“嘩”的一聲,設(shè)置為OFF發(fā)出“嘩”的一聲和鬧鈴時(shí)間到時(shí),發(fā)出一陣聲響,按下本鍵可以停止聲響。</p><p>  

13、(3)調(diào)整計(jì)時(shí)器時(shí)間如下 :</p><p>  按下K1鍵,然后按K1調(diào)整小時(shí),K2調(diào)整分鐘,按下K3表示時(shí)間設(shè)置完成。</p><p> ?。?)調(diào)整鬧鐘時(shí)間設(shè)置如下 :</p><p>  再次按下K3開始鬧中設(shè)置,LCD下一行顯示“Alarm:00:00”按下K1設(shè)置小時(shí),按一下K2設(shè)置分鐘,再次按下K3設(shè)置完成,并且設(shè)置時(shí)間消失,當(dāng)再次按一下K2時(shí)“Ala

14、rm:00:00再次顯示并馬上消失。按一下K4關(guān)閉鬧鐘,再次按下打開鬧鐘。</p><p><b>  2、原理圖</b></p><p><b>  圖1 總原理圖</b></p><p><b>  3、元器件功能說明</b></p><p>  3.1 STC89C5

15、1單片機(jī)引腳功能說明</p><p>  本設(shè)計(jì)的核心硬件就是8051芯片,這里選擇了STC89C51,STC89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。

16、由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,STC89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p>  P0口:P0口為一個(gè)8位漏級(jí)開路雙 向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í)

17、,P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口

18、,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)

19、。</p><p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p>  P3口也可作為STC89C52的一些特殊功能口,如下所示:</p><p>  P3口管腳 備選功能&l

20、t;/p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1)</p><p>  P3.4 T0(記時(shí)器0外部輸入)</p><p>  P3.

21、5 T1(記時(shí)器1外部輸入)</p><p>  P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p>

22、<p>  ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE

23、才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>  PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p>  EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存

24、儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p>  XTAL2:來自反向振蕩器的輸出。</p><p>  圖2 STC89C52引腳圖</p>

25、<p>  3.21602LCD液晶顯示器</p><p>  圖3 LCD1602引腳圖</p><p><b>  功能說明</b></p><p>  圖4 LCD引腳圖說明</p><p>  第1腳:VSS為地電源。</p><p>  第2腳:VDD接5V正電源。

26、</p><p>  第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。</p><p>  第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。</p><p>  第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R

27、/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。</p><p>  第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。</p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p><p>  第15腳:背光源正極。</p><p&

28、gt;  第16腳:背光源負(fù)極。</p><p>  3.3 其他重要元件</p><p>  獨(dú)立式鍵盤的接口電路:在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡(jiǎn)單的按鍵向系統(tǒng)輸入信息。這時(shí),可將每個(gè)按鍵接在一根I/O接口線上,這種方式的連接稱為獨(dú)立式鍵盤。每個(gè)獨(dú)立式按鍵單獨(dú)占有一根 I/O接口線,每根I/O接口線的工作狀態(tài)不 會(huì)影響到其他 I/O接口線 。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡(jiǎn)單

29、,但每個(gè)按鍵必須占用一根I/O接口線,I/O接口線浪費(fèi)較大。故只在按鍵數(shù)量不多時(shí)采用這種按鍵電路。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時(shí),I/O接口線有確定的高電平。當(dāng)I/O接口內(nèi)部有上拉電阻時(shí),外電路可以不配置上拉電阻。</p><p><b>  圖5 鍵盤</b></p><p>  三、流程圖繪制以及說明</p>

30、<p>  本次課程設(shè)計(jì)實(shí)驗(yàn)程序中,用單片機(jī)的外部中斷定時(shí)器來計(jì)時(shí),然后通過來判斷計(jì)時(shí)器和鬧鈴時(shí)間來使鬧鈴響,通過對(duì)單片機(jī)的一些端口進(jìn)行掃描來判斷時(shí)分秒的調(diào)整,選擇計(jì)時(shí)器調(diào)時(shí)還是定時(shí)鬧鐘的調(diào)時(shí)以及是否鬧鈴。</p><p><b>  程序流程圖</b></p><p><b>  初始化變量</b></p><p&

31、gt;  初始化計(jì)時(shí)器,初始化鬧鈴</p><p>  掃描顯示器更新時(shí)間數(shù)據(jù),</p><p>  鬧鐘時(shí)間是不是到了?</p><p>  是否按下4個(gè)按鍵 NO</p><p><b>  YSE</b></p><p><b>  K1:調(diào)時(shí)</b>&

32、lt;/p><p><b>  K2:調(diào)分</b></p><p><b>  K3:完成</b></p><p><b>  K4:打開鬧鈴</b></p><p><b>  圖6 程序流程圖</b></p><p>  四、pr

33、oteus仿真說明</p><p>  1,開始程序 </p><p>  圖7 顯示器開始及定時(shí) </p><p>  圖8 定時(shí)鬧鈴開并調(diào)定時(shí)鬧鐘的時(shí)間</p><

34、;p>  2.當(dāng)鬧鈴打開,計(jì)時(shí)時(shí)間到了定時(shí)鬧鈴的時(shí)間后,喇叭開始叫</p><p><b>  圖9 仿真結(jié)果</b></p><p><b>  五、課程設(shè)計(jì)體會(huì)</b></p><p>  這次課程設(shè)計(jì)一個(gè)星期,剛知道課程設(shè)計(jì)的時(shí)候感覺題目很簡(jiǎn)單,應(yīng)該花很少的時(shí)間就可以完成課程設(shè)計(jì),感覺如果用匯編語(yǔ)言的話感覺程

35、序會(huì)有點(diǎn)多,所以我決定用C語(yǔ)言編程,開始編程時(shí),發(fā)現(xiàn)編程的時(shí)候就有些問題了。要學(xué)會(huì)怎么用KEIL,然后把生成的HEX文檔,把它加載到Proteus里的89C52芯片,使芯片能工作。這次仿真要用到單片機(jī)種最重要的兩個(gè)部分,外部中斷和外部計(jì)時(shí)器,另外學(xué)會(huì)了如何驅(qū)動(dòng)1602液晶顯示器。這次課程設(shè)計(jì)讓我學(xué)會(huì)了怎么用C語(yǔ)言來編寫程序以供單片機(jī)使用,對(duì)單片機(jī)中的外部中斷還有一些P0,P1,P2口的使用,P0需要添加上拉電阻,對(duì)單片有了更加深入的了解

36、,對(duì)Proteus,keil的使用更加熟練了。實(shí)驗(yàn)中同樣出現(xiàn)些問題,比如鬧鐘的設(shè)定以及K4功能的實(shí)現(xiàn),還有延時(shí)功能的實(shí)現(xiàn),所以要對(duì)單片機(jī)的執(zhí)行程序需要的機(jī)器周期得完全了解清楚,用匯編語(yǔ)言容易計(jì)算所用的機(jī)器周期,用C語(yǔ)言的話就難些,這次課程設(shè)計(jì)使單片機(jī)能夠?qū)崿F(xiàn)定時(shí)鬧鐘的功能,實(shí)現(xiàn)了這次設(shè)計(jì)的要求。這次課程設(shè)計(jì)讓我更加認(rèn)真的自己做了些以前想做想學(xué)的東西,并且認(rèn)識(shí)到要多請(qǐng)教同學(xué)。</p><p><b>  

37、參考文獻(xiàn)</b></p><p>  [1]余發(fā)山.單片機(jī)原理及應(yīng)用技術(shù).中國(guó)礦業(yè)大學(xué)出版社</p><p>  [2]劉和平. 單片機(jī)編程與入門.重慶大學(xué)出版社</p><p>  [3]郭天祥、51單片機(jī)C語(yǔ)言教程、電子工業(yè)出版社、</p><p>  [4]劉瑞新. 單片機(jī)原理及應(yīng)用教程.北京機(jī)械工業(yè)出版社</p>

38、;<p><b>  程序</b></p><p><b>  源程序代碼</b></p><p>  #include<reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsign

39、ed int</p><p>  uchar code shuzi[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39, </p><p>  0x20};//阿拉伯?dāng)?shù)字-9 0x2a表示:*</p><p>  uchar kongbai=0x20;</p><p>  sbi

40、t rs=P2^5;</p><p>  sbit rw=P2^6;</p><p>  sbit en=P2^7;</p><p>  sbit k1=P1^0;</p><p>  sbit k2=P1^1;</p><p>  sbit k3=P1^2;</p><p>  sbit k4

41、=P1^3;sbit led_miao=P1^7;</p><p>  sbit buzz=P2^3;</p><p>  sbit lamp=P2^4;</p><p>  uchar shi1=0x85,shi2=0x86;</p><p>  uchar fen1=0x88,fen2=0x89;</p><p>

42、  uchar ns1=0xcb,ns2=0xcc;</p><p>  uchar nf1=0xce,nf2=0xcf;</p><p>  uchar aaak1=1,aaak2=1,aaak3=1,aaak4=1,clockon,ringoff;</p><p>  uchar b,c,d,e,ch,hou=10;</p><p>  

43、uchar bn,cn,dn,chn,houn=10;</p><p>  uchar tt0,tt1,tt2,tt3,tt4,change,ho=10;</p><p>  int tt5,a,an;</p><p><b>  uchar pt;</b></p><p>  //-----時(shí)鐘說明-----//<

44、;/p><p>  // a b : c d //</p><p>  //-----------------//</p><p>  //-----鬧鐘說明-----//</p><p>  // an bn : cn dn //</p><p>  //-----------------//&l

45、t;/p><p>  void delay(uint z)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);

46、</p><p><b>  }</b></p><p>  void wc(uchar com)</p><p><b>  {</b></p><p><b>  rs=0;</b></p><p><b>  P0=com;</b&

47、gt;</p><p><b>  delay(5);</b></p><p><b>  en=1;</b></p><p><b>  delay(5);</b></p><p><b>  en=0;</b></p><p>

48、<b>  }</b></p><p>  void wd(uchar date)</p><p><b>  {</b></p><p><b>  rs=1;</b></p><p><b>  P0=date;</b></p><

49、p><b>  delay(5);</b></p><p><b>  en=1;</b></p><p><b>  delay(5);</b></p><p><b>  en=0;</b></p><p><b>  }</b&

50、gt;</p><p>  void init()</p><p><b>  {</b></p><p><b>  en=0;</b></p><p><b>  rs=0;</b></p><p>  rw=0; //寫數(shù)據(jù)或指令時(shí),的口必須為

51、低電平</p><p><b>  wc(0x38);</b></p><p><b>  wc(0x0c);</b></p><p>  wc(0x06);//寫一個(gè)字符后地址指針加</p><p><b>  wc(0x01);</b></p><p&g

52、t;<b>  }</b></p><p>  void showtime(uchar fen_1,uchar fen_2,uchar f1,uchar f2)</p><p><b>  {</b></p><p>  wc(fen_1);delay(1);wd(shuzi[f1]);delay(1);</p>

53、;<p>  wc(fen_2);delay(1);wd(shuzi[f2]);delay(1);</p><p><b>  }</b></p><p>  void showmao(uchar kkkkk)</p><p><b>  {</b></p><p>  if(kkkk

54、k==0)</p><p>  {wc(0x87);delay(1);wd(0x3a);delay(1);}</p><p>  else if(kkkkk==1)</p><p>  {wc(0xcd);delay(1);wd(0x3a);delay(1);}</p><p><b>  else</b></

55、p><p>  {wc(0xcd);delay(1);wd(kongbai);delay(1);}</p><p><b>  }</b></p><p>  void key()</p><p><b>  {</b></p><p>  if(k1==0)//1 start

56、</p><p><b>  {</b></p><p>  delay(100);</p><p><b>  if(k1==0)</b></p><p><b>  {</b></p><p>  wc(0x80+0x40);delay(1);wd(

57、0x59);delay(1);</p><p>  delay(100);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(k1==0)//1-1 start</p><p><b>  {&l

58、t;/b></p><p>  delay(100);</p><p><b>  if(k1==0)</b></p><p><b>  {</b></p><p><b>  b++;</b></p><p>  if(b>=hou)&l

59、t;/p><p><b>  {</b></p><p><b>  ch++;</b></p><p><b>  if(ch>=2)</b></p><p><b>  hou=4;</b></p><p><b>

60、  else</b></p><p><b>  hou=10;</b></p><p>  if(a>=2&&b>=hou)</p><p><b>  {</b></p><p><b>  a=(-1);</b></p>

61、<p><b>  b=0;</b></p><p><b>  ch=0;</b></p><p><b>  hou=10;</b></p><p><b>  }</b></p><p><b>  a++;</b>

62、;</p><p><b>  b=0;</b></p><p><b>  }</b></p><p>  showtime(shi1,shi2,a,b);</p><p><b>  }</b></p><p>  }//1-1 end</p&

63、gt;<p>  if(k2==0)//1-2 start</p><p><b>  {</b></p><p>  delay(100);</p><p><b>  if(k2==0)</b></p><p><b>  {</b></p>&

64、lt;p><b>  d++;</b></p><p><b>  if(d>=10)</b></p><p><b>  {</b></p><p><b>  d=0;</b></p><p><b>  c++;</b&g

65、t;</p><p><b>  if(c>=6)</b></p><p><b>  c=0;</b></p><p><b>  }</b></p><p>  showtime(fen1,fen2,c,d);</p><p><b>

66、;  }</b></p><p>  }//1-2 end</p><p>  if(k3==0)//1-3 start</p><p><b>  {</b></p><p>  wc(0x80+0x40);delay(1);wd(kongbai);delay(1);</p><p>

67、;  tt5=a;tt4=b;tt3=c;tt2=d;</p><p>  EA=1;ET0=1;TR0=1;</p><p><b>  break;</b></p><p>  }//1-3 end</p><p>  if(k4==0)//1-4 start</p><p><b>

68、;  {</b></p><p><b>  //待定</b></p><p>  }//1-4 end</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }//1 end&

69、lt;/b></p><p>  if(k2==0)//2 start</p><p><b>  {</b></p><p>  delay(100);</p><p><b>  if(k2==0)</b></p><p><b>  {</b>

70、;</p><p>  if(aaak1==1)</p><p><b>  {</b></p><p><b>  aaak1++;</b></p><p>  wc(0x80+0x41);delay(1);wd(0x59);delay(1);</p><p>  show

71、time(ns1,ns2,an,bn);</p><p>  showmao(1);</p><p>  showtime(nf1,nf2,cn,dn);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>

72、  {</b></p><p>  wc(0x80+0x41);delay(1);wd(kongbai);delay(1);</p><p>  showtime(ns1,ns2,10,10);</p><p>  showtime(nf1,nf2,10,10);</p><p>  showmao(2);</p>

73、<p><b>  aaak1=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }//2 end</b></p><p>  if(k3==0)//3 start</

74、p><p><b>  {</b></p><p>  delay(100);</p><p><b>  if(k3==0)</b></p><p><b>  {</b></p><p>  showtime(ns1,ns2,an,bn);</p&

75、gt;<p>  showmao(1);</p><p>  showtime(nf1,nf2,cn,dn);</p><p>  wc(0x80+0x42);delay(1);wd(0x59);delay(1);</p><p>  delay(100);</p><p><b>  while(1)</b&g

76、t;</p><p><b>  {</b></p><p>  if(k1==0)//3-1 start</p><p><b>  {</b></p><p>  delay(100);</p><p><b>  if(k1==0)</b><

77、/p><p><b>  {</b></p><p><b>  bn++;</b></p><p>  if(bn>=houn)</p><p><b>  {</b></p><p><b>  chn++;</b></

78、p><p>  if(chn>=2)</p><p><b>  houn=4;</b></p><p><b>  else</b></p><p><b>  houn=10;</b></p><p>  if(an>=2&&

79、bn>=houn)</p><p><b>  {</b></p><p><b>  an=(-1);</b></p><p><b>  bn=0;</b></p><p><b>  chn=0;</b></p><p>

80、;<b>  houn=10;</b></p><p><b>  }</b></p><p><b>  an++;</b></p><p><b>  bn=0;</b></p><p><b>  }</b></p>

81、<p>  showtime(ns1,ns2,an,bn);</p><p><b>  }</b></p><p>  }//3-1 end</p><p>  if(k2==0)//3-2 start</p><p><b>  {</b></p><p>

82、  delay(100);</p><p><b>  if(k2==0)</b></p><p><b>  {</b></p><p><b>  dn++;</b></p><p>  if(dn>=10)</p><p><b>

83、  {</b></p><p><b>  dn=0;</b></p><p><b>  cn++;</b></p><p><b>  if(cn>=6)</b></p><p><b>  cn=0;</b></p>

84、<p><b>  }</b></p><p>  showtime(nf1,nf2,cn,dn);</p><p><b>  }</b></p><p>  }//3-2 end</p><p>  if(k3==0)//3-3 start</p><p>&l

85、t;b>  {</b></p><p>  wc(0x80+0x42);delay(1);wd(kongbai);delay(1);</p><p>  showtime(ns1,ns2,10,10);</p><p>  showtime(nf1,nf2,10,10);</p><p>  showmao(2);</

86、p><p><b>  break;</b></p><p>  }//3-3 end</p><p>  if(k4==0)//1-4 start</p><p><b>  {</b></p><p>  delay(100);</p><p><

87、;b>  if(k4==0)</b></p><p><b>  {</b></p><p>  if(aaak3==1)</p><p>  {aaak3++;ringoff=1;</p><p>  wc(0x80+0x43);delay(1);wd(0x52);delay(1);}</p&g

88、t;<p><b>  else</b></p><p>  {aaak3=1;ringoff=0;</p><p>  wc(0x80+0x43);delay(1);wd(kongbai);delay(1);}</p><p><b>  }</b></p><p>  }//3-4

89、 end</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }//3 end</b></p><p>  if(k4==0)//4 start</p><p><b>  {</b

90、></p><p>  delay(100);</p><p><b>  if(k4==0)</b></p><p><b>  {</b></p><p>  if(aaak4==1)</p><p><b>  {</b></p>

91、<p><b>  aaak4++;</b></p><p><b>  lamp=1;</b></p><p>  clockon=1;</p><p>  wc(0x80+0x4a);delay(1);wd(0xef);delay(1);</p><p>  buzz=0;dela

92、y(50);buzz=1;delay(50);</p><p>  buzz=0;delay(50);buzz=1;delay(50);</p><p>  buzz=0;delay(50);buzz=1;</p><p><b>  }</b></p><p><b>  else</b><

93、/p><p><b>  {</b></p><p><b>  aaak4=1;</b></p><p><b>  lamp=0;</b></p><p>  clockon=0;</p><p>  wc(0x80+0x4a);delay(1);wd

94、(kongbai);delay(1);</p><p>  buzz=0;delay(50);buzz=1;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }//4 end</b></p><p&

95、gt;<b>  }</b></p><p>  void time0()</p><p><b>  {</b></p><p>  TH0=(65536-50000)/256;//50ms</p><p>  TL0=(65536-50000)%256;</p><p&

96、gt;<b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  TMOD = 0x01;</p><p><b>  init();</b></p><p>  showtime(sh

97、i1,shi2,0,0);</p><p>  showtime(fen1,fen2,0,0);</p><p>  showmao(0);</p><p>  showtime(ns1,ns2,10,10);</p><p>  showtime(nf1,nf2,10,10);</p><p>  showmao(2

98、);</p><p><b>  time0();</b></p><p><b>  lamp=0;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b

99、>  key();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void t0() interrupt 1</p><p><b>  {</b></p><p><

100、b>  time0();</b></p><p><b>  tt0++;</b></p><p><b>  if(k1==0)</b></p><p><b>  {</b></p><p>  delay(5);//硬件實(shí)現(xiàn)時(shí),延時(shí)-10</p&g

101、t;<p><b>  if(k1==0)</b></p><p><b>  {</b></p><p>  a=tt5;b=tt4;c=tt3;d=tt2;</p><p>  EA=0;ET0=0;TR0=0;</p><p><b>  }</b><

102、/p><p><b>  }</b></p><p><b>  if(k2==0)</b></p><p><b>  {</b></p><p>  delay(5);//硬件實(shí)施時(shí),延時(shí)-10</p><p><b>  if(k2==0)&

103、lt;/b></p><p><b>  {</b></p><p>  if(aaak1==1)</p><p><b>  {</b></p><p><b>  aaak1++;</b></p><p>  wc(0x80+0x41);del

104、ay(1);wd(0x59);delay(1);</p><p>  showtime(ns1,ns2,an,bn);</p><p>  showmao(1);</p><p>  showtime(nf1,nf2,cn,dn);</p><p><b>  }</b></p><p><

105、b>  else</b></p><p><b>  {</b></p><p>  wc(0x80+0x41);delay(1);wd(kongbai);delay(1);</p><p>  showtime(ns1,ns2,10,10);</p><p>  showtime(nf1,nf2,10

106、,10);</p><p>  showmao(2);</p><p><b>  aaak1=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&l

107、t;/p><p><b>  if(k4==0)</b></p><p><b>  {</b></p><p><b>  delay(5);</b></p><p><b>  if(k4==0)</b></p><p><b

108、>  {</b></p><p>  if(aaak4==1)</p><p><b>  {</b></p><p><b>  aaak4++;</b></p><p><b>  lamp=1;</b></p><p>  clo

109、ckon=1;</p><p>  wc(0x80+0x4a);delay(1);wd(0xef);delay(1);</p><p>  buzz=0;delay(50);buzz=1;delay(50);</p><p>  buzz=0;delay(50);buzz=1;delay(50);</p><p>  buzz=0;delay

110、(50);buzz=1;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  aaak4=1;</b></p><p><

111、b>  lamp=0;</b></p><p>  clockon=0;</p><p>  wc(0x80+0x4a);delay(1);wd(kongbai);delay(1);</p><p>  buzz=0;delay(50);buzz=1;</p><p><b>  }</b></p

112、><p><b>  }</b></p><p><b>  }</b></p><p>  if(tt0>=1)//20</p><p><b>  {</b></p><p><b>  tt0=0;</b></p>

113、;<p>  led_miao=~led_miao;</p><p><b>  tt1++;</b></p><p>  if(tt1>=1)//判斷是否夠秒</p><p><b>  {</b></p><p><b>  tt2++;</b><

114、/p><p>  if(tt2>=10)//判斷分鐘的個(gè)位是否滿</p><p><b>  {</b></p><p><b>  tt2=0;</b></p><p><b>  tt3++;</b></p><p>  if(tt3>=6)

115、//判斷分鐘的十位是否滿</p><p><b>  {</b></p><p><b>  tt3=0;</b></p><p><b>  tt4++;</b></p><p>  if(tt4>=hou)//判斷小時(shí)的個(gè)位是否滿或</p><p&

116、gt;<b>  {</b></p><p><b>  ch++;</b></p><p>  if(ch>=2)//當(dāng)?shù)搅藭r(shí)以上時(shí),判斷條件變?yōu)?lt;/p><p><b>  {</b></p><p><b>  hou=4;</b></p

117、><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  hou=10;</b></p><p><b>  }</b>&l

118、t;/p><p>  if(tt5>=2&&tt4>=hou)//當(dāng)滿小時(shí)的時(shí)候,全部清零,從頭算起</p><p><b>  {</b></p><p><b>  tt5=(-1);</b></p><p><b>  tt4=0;</b><

119、/p><p><b>  ch=0;</b></p><p><b>  hou=10;</b></p><p><b>  }</b></p><p><b>  tt5++;</b></p><p><b>  tt4=0

120、;</b></p><p>  showtime(shi1,shi2,tt5,tt4);//小時(shí)十位加一</p><p><b>  }</b></p><p>  showtime(shi1,shi2,tt5,tt4);//小時(shí)個(gè)位加一</p><p><b>  }</b></

121、p><p>  showtime(fen1,fen2,tt3,tt2);//分鐘十位加一</p><p><b>  }</b></p><p>  showtime(fen1,fen2,tt3,tt2);//分鐘個(gè)位加一</p><p><b>  tt1=0;</b></p><

122、p><b>  }</b></p><p><b>  }</b></p><p>  if(clockon==1&&tt5==an&&tt4==bn&&tt3==cn&&tt2==dn&&pt<=60)//ring for 3s</p>&

123、lt;p>  {buzz=0;e=1;lamp=0;pt++;}</p><p>  if((k4==0&&e==1)|pt>=60)//if ring more than 3s,it will stop </p><p>  {buzz=1;e=0;clockon=0;wc(0x80+0x4a);delay(1);wd(kongbai);delay(1);pt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論