課程設計單片機(時鐘打鈴系統(tǒng))_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  目錄</b></p><p><b>  第1章 概述2</b></p><p>  1.1 設計要求2</p><p>  1.2 設計目的2</p><p>  1.3 設計意義2</p><p>  第2章 系統(tǒng)總體方案選擇與說

2、明3</p><p>  第3章 硬件電路設計4</p><p>  3.1 按鍵控制模塊4</p><p>  3.2 時間顯示模塊5</p><p>  3.3 打鈴模塊6</p><p>  第4章 應用軟件設計8</p><p>  4.1系統(tǒng)軟件設計思想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 軟件簡介12</p><p>  5.2軟件仿真12</p>&l

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

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

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

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

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

9、出響聲。</p><p><b>  圖2-1</b></p><p>  第3章 硬件電路設計</p><p>  3.1 按鍵控制模塊</p><p>  按鍵控制模塊主要有由五個按鍵組成: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>  當需要設定時間或是校正時間,即可按下模式切換鍵來進行。</p><p>  校正時間:按第一次K1鍵,進入小時校正狀態(tài),通過按K2、K4鍵進行小時校正,按一下K2鍵則加一,按一下K3鍵則減一。&l

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

31、處理來做秒計數(shù),當所設置的時間到了,則發(fā)出一陣聲響,啟動繼電器,由繼電器可以控制收音機開啟或者關閉。時,分,秒數(shù)據(jù)是存在變量內(nèi)并寫入七段顯示管的緩沖區(qū)內(nèi),由顯示管掃描中定時時掃描而顯示出時間。我由最初的不知所措到后來的獲益良多,覺得這兩周過得很充實,也積累了一些設計的寶貴經(jīng)驗。這些離不開我的團隊對我的幫助,更離不開王老師的悉心指導。</p><p><b>  參考文獻</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論