基于單片機(jī)數(shù)字秒表系統(tǒng)的課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(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><b>  目錄</b></p><p><b>  1 引言4</b></p><p>  1.1 單片機(jī)的發(fā)展概況4</p><p>  1.2數(shù)字秒表的描述與分析5</p><p>  1.2.1問題描述5</p><p>  1.2.2設(shè)計(jì)要

2、求5</p><p>  2 設(shè)計(jì)目的及要求7</p><p>  2.1 設(shè)計(jì)目的7</p><p>  2.2 設(shè)計(jì)要求7</p><p>  3 系統(tǒng)硬件電路設(shè)計(jì)8</p><p>  3.1數(shù)字秒表電路原理8</p><p>  3.2數(shù)字秒表電路設(shè)計(jì)10</p>

3、;<p><b>  4 軟件設(shè)計(jì)11</b></p><p>  4.1編程環(huán)境的介紹11</p><p>  4.2設(shè)計(jì)思想11</p><p>  4.3主程序設(shè)計(jì)11</p><p>  4.4 外部中斷程序設(shè)計(jì)12</p><p>  4.5 定時(shí)中斷程序設(shè)計(jì)1

4、3</p><p>  4.6實(shí)驗(yàn)程序14</p><p><b>  5 仿真結(jié)果18</b></p><p><b>  總結(jié)21</b></p><p><b>  參考文獻(xiàn)22</b></p><p><b>  附錄123&

5、lt;/b></p><p><b>  1 引言</b></p><p>  1.1 單片機(jī)的發(fā)展概況</p><p>  單片機(jī)以其高可靠性、高性價(jià)比、低電壓、低功耗等一系列優(yōu)點(diǎn),近幾年得到迅猛發(fā)展和大范圍推廣,廣泛應(yīng)用于工業(yè)控制系統(tǒng),數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表,及通訊設(shè)備、日常消費(fèi)類產(chǎn)品、玩具等。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個(gè)環(huán)節(jié)以

6、及人民生活的各層次中,如車間流水線控制、自動(dòng)化系統(tǒng)等、智能型家用電器(冰箱、空調(diào)、彩電)等。</p><p><b>  管腳圖如圖1所示。</b></p><p>  圖1 89C52單片機(jī)引腳圖</p><p>  (1) 電源地組Vcc和Vss;VCC—(40)腳接+5V電壓;VSS—(20)腳接地</p><p>

7、;  (2) 時(shí)鐘電路組XTAL1和XTAL2</p><p>  (3) 控制信號(hào)組RST/ALE/PSEN和EA</p><p>  (4) I/O端口P0, P1, P2和P3</p><p>  近來,單片機(jī)的發(fā)展尤為迅猛,并且趨于高智能化、存儲(chǔ)器大量化、更多的外圍電路內(nèi)裝化以及工藝上的多元化等方向,廣泛應(yīng)用于單機(jī)應(yīng)用領(lǐng)域、多機(jī)應(yīng)用領(lǐng)域、自動(dòng)控制領(lǐng)域和智能化

8、控制領(lǐng)域等。單片機(jī)應(yīng)用系統(tǒng)的結(jié)構(gòu)通常分為三個(gè)層次,即單片機(jī)、單片機(jī)系統(tǒng)和單片機(jī)應(yīng)用系統(tǒng)。單片機(jī)通常指應(yīng)用系統(tǒng)主處理機(jī),即所選擇的單片機(jī)器件等。單片機(jī)系統(tǒng)指按照單片機(jī)的技術(shù)要求和嵌入對(duì)象的資源要求而構(gòu)成的基本系統(tǒng)。時(shí)鐘電路、復(fù)位電路和擴(kuò)展存儲(chǔ)器等與單片機(jī)共同構(gòu)成了單片機(jī)系統(tǒng)。單片機(jī)應(yīng)用系統(tǒng)指能滿足嵌入對(duì)象要求的全部電路系統(tǒng)。在單片機(jī)系統(tǒng)的基礎(chǔ)上加上面向?qū)ο蟮慕涌陔娐罚缜跋蛲ǖ?、后向通道、人機(jī)交互通道(鍵盤、顯示器、打印機(jī)等)和串行通信口

9、(RS232)以及應(yīng)用程序等。單片機(jī)應(yīng)用系統(tǒng)層次關(guān)系如圖2所示。</p><p>  圖2 單片機(jī)應(yīng)用系統(tǒng)三個(gè)層次的關(guān)系</p><p>  1.2數(shù)字秒表的描述與分析</p><p><b>  1.2.1問題描述</b></p><p>  設(shè)計(jì)一個(gè)秒表,第一次按鍵,開始計(jì)數(shù),數(shù)碼管顯示從00.00每10毫秒自動(dòng)加1

10、;第兩二次按鍵,系統(tǒng)暫停計(jì)數(shù),數(shù)碼管顯示當(dāng)前的計(jì)數(shù);第三次按鍵系統(tǒng)清零,數(shù)碼管顯示00.00 。</p><p><b>  1.2.2設(shè)計(jì)要求</b></p><p>  1.使用四位數(shù)碼管顯示,顯示時(shí)間00.00~99.99秒;</p><p>  2.正常計(jì)數(shù)時(shí),每10毫秒自動(dòng)加1;</p><p>  3.一個(gè)按

11、鍵(包括開始、暫停、清零),一個(gè)復(fù)位按鍵;</p><p>  4.實(shí)現(xiàn)計(jì)數(shù)、復(fù)位、清零功能;</p><p>  5.單片機(jī)通電后,首先初始化。第一次按鍵用來控制秒表工作的開始;第二次按鍵用來暫停程序的運(yùn)行;第三次按鍵用來進(jìn)行顯示器清零;復(fù)位鍵是用來對(duì)程序復(fù)位用的,當(dāng)程序出現(xiàn)死循環(huán)或想從00.00開始重新計(jì)時(shí),按下復(fù)位鍵可返回程序開始,重新執(zhí)行。</p><p>

12、<b>  2 設(shè)計(jì)目的及要求</b></p><p><b>  2.1 設(shè)計(jì)目的</b></p><p>  1.建立數(shù)字電子電路系統(tǒng)的基本概念;</p><p>  2.通過本次課程設(shè)計(jì)加深對(duì)單片機(jī)課程的全面認(rèn)識(shí)復(fù)習(xí)和掌握,對(duì)單片機(jī)課程的應(yīng)用進(jìn)一步的了解。</p><p>  3.掌握定時(shí)器、

13、外部中斷的設(shè)置和編程原理。</p><p>  4.通過此次課程設(shè)計(jì)能夠?qū)纹瑱C(jī)軟硬件結(jié)合起來,對(duì)程序進(jìn)行編輯,校驗(yàn)。 </p><p><b>  2.2 設(shè)計(jì)要求</b></p><p>  設(shè)計(jì)一個(gè)數(shù)字電子秒表,該秒表具有顯示功能和清零、開始計(jì)時(shí)、停止計(jì)時(shí)等功能。</p><p><b>  設(shè)計(jì)的要求如

14、下:</b></p><p>  1.以10毫秒為最小單位進(jìn)行顯示;</p><p>  2.秒表可顯示00.00~99.99秒的量程;</p><p>  3.該秒表具有清零、開始計(jì)時(shí)、停止計(jì)時(shí)功能;</p><p>  3 系統(tǒng)硬件電路設(shè)計(jì)</p><p>  3.1數(shù)字秒表電路原理</p>

15、<p>  數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛使用。本設(shè)計(jì)用單片機(jī)組成數(shù)字電子秒表,力求結(jié)構(gòu)簡(jiǎn)單、精度高為目標(biāo)。</p><p>  設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,計(jì)時(shí)與顯示電路和回零、啟動(dòng)等。主控制器采用單片機(jī)89C52,顯示電路采用四位共陽極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間。由于本實(shí)驗(yàn)有四位數(shù)碼管,如果采用靜態(tài)顯示要占用全部的I/O端口,

16、所以本次試驗(yàn)采用靜態(tài)顯示,共使用12個(gè)引腳,即簡(jiǎn)化了電路又節(jié)省了原料。</p><p>  本設(shè)計(jì)利用89C52單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開始和復(fù)位的功能。P2口輸出段碼數(shù)據(jù),74HC573用作驅(qū)動(dòng)輸出,P1.0口接一個(gè)按鈕開關(guān),分別實(shí)現(xiàn)開始、暫停、清零功能。電路原理圖設(shè)計(jì)最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。</p

17、><p>  秒表原理圖如圖3所示。</p><p><b>  圖3 秒表原理圖</b></p><p>  3.2數(shù)字秒表電路設(shè)計(jì)</p><p><b>  圖4 秒表設(shè)計(jì)圖</b></p><p><b>  4 軟件設(shè)計(jì)</b></p>

18、<p>  4.1編程環(huán)境的介紹</p><p>  KeilSoftware公司推出的uVision3是一款可用于多種8051MCU的集成開發(fā)環(huán)境(IDE),該IDE同時(shí)也是PK51及其它開發(fā)套件的一個(gè)重要組件。除增加了源代碼、功能導(dǎo)航器、模板編輯以及改進(jìn)的搜索功能外,uVision3還提供了一個(gè)配置向?qū)Чδ?,加速了啟?dòng)代碼和配置文件的生成。此外其內(nèi)置的仿真器可模擬目標(biāo)MCU,包括指令集、片上外圍

19、設(shè)備及外部信號(hào)等。uVision3提供邏輯分析器,可監(jiān)控基于MCUI/O引腳和外設(shè)狀態(tài)變化下的程序變量。</p><p>  uVision3提供對(duì)多種最新的8051類微處理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等</p><p><b>  4.2設(shè)計(jì)思想</b></p><p&

20、gt;  本設(shè)計(jì)采用了C語言編寫,由于C語言編程靈活,可移植性強(qiáng)。在一定程度上簡(jiǎn)化了編程過程。模塊化結(jié)構(gòu)程序的設(shè)計(jì),可以使系統(tǒng)軟件便于調(diào)試與優(yōu)化,也使其他人更好地理解和閱讀系統(tǒng)的程序設(shè)計(jì)。</p><p>  4.3主程序設(shè)計(jì) </p><p>  本系統(tǒng)程序主要模塊由主程序、定時(shí)中斷服務(wù)程序、外部中斷0服務(wù)程序組成。其中主程序是整個(gè)程序的主體??梢詫?duì)各個(gè)中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個(gè)子程序

21、之間的聯(lián)系。系統(tǒng)(上電)復(fù)位后,進(jìn)入主程序,主程序流程圖如圖5所示。當(dāng)外部中斷有請(qǐng)求則去執(zhí)行外部中斷服務(wù)程序。并在執(zhí)行完后返回主程序。</p><p>  4.4 外部中斷程序設(shè)計(jì)</p><p><b>  中斷的概念:</b></p><p>  CPU在處理某一事件A時(shí),發(fā)生了另一事件B請(qǐng)求CPU迅速去處理(中斷發(fā)生);CPU暫時(shí)中斷當(dāng)前

22、的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷 。</p><p>  4.5 定時(shí)中斷程序設(shè)計(jì)</p><p>  定時(shí)/計(jì)數(shù)器的結(jié)構(gòu): </p><p>  定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個(gè)寄存器組成。TMOD是定時(shí)/計(jì)數(shù)器的工作方式

23、寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動(dòng)和停止及設(shè)置溢出標(biāo)志。</p><p><b>  定時(shí)/計(jì)數(shù)器的原理</b></p><p>  加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個(gè)來源,一個(gè)是由系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后送來;一個(gè)是T0或T1引腳輸入的外部脈沖源。每來一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,

24、且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請(qǐng)求(定時(shí)/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。</p><p>  可見,由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(shù)值。</p><p>  圖7定時(shí)器T0子程序流程圖</p><p><b>  4.6實(shí)驗(yàn)程序

25、</b></p><p><b>  4.61主函數(shù)設(shè)計(jì)</b></p><p>  void main()</p><p><b>  {</b></p><p>  init();//初始化子程序</p><p><b>  w

26、hile(1)</b></p><p><b>  {</b></p><p><b>  if(k==0)</b></p><p>  {init();//初始化子程序</p><p>  wela=1;//初始設(shè)置顯示00.00</p&g

27、t;<p><b>  P2=0XFF;</b></p><p><b>  wela=0;</b></p><p>  P0=0xc0; </p><p><b>  } </b></p><p>  if(k==1)//第二次按鍵開始計(jì)數(shù)

28、</p><p><b>  {</b></p><p>  if(temp==9999)//當(dāng)計(jì)數(shù)超過99.99秒時(shí)清零</p><p><b>  {</b></p><p><b>  temp=0;</b></p><p><b

29、>  }</b></p><p>  qian=temp/1000;//計(jì)算數(shù)碼管第一位</p><p>  bai=temp%1000/100;//計(jì)算數(shù)碼管第二位</p><p>  shi=temp%1000%100/10;//計(jì)算數(shù)碼管第三位</p><p>  ge=temp%10;

30、//計(jì)算數(shù)碼管第四位</p><p>  display(qian,bai,shi,ge);//顯示時(shí)間</p><p><b>  }</b></p><p>  Else//第二次按鍵時(shí)停止</p><p><b>  {</b></p><p

31、>  qian=temp/1000;</p><p>  bai=temp%1000/100;</p><p>  shi=temp%1000%100/10;</p><p>  ge=temp%10;</p><p>  display(qian,bai,shi,ge); </p><p>  if(k==3

32、)//第三次按鍵時(shí)清零</p><p><b>  k=0; </b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.

33、62中斷子程序設(shè)計(jì)</p><p>  void time0() interrupt 0//中斷子程序</p><p><b>  {</b></p><p><b>  k++;</b></p><p><b>  }</b></p><p&

34、gt;  4.61延時(shí)子函數(shù)設(shè)計(jì)</p><p>  4.61顯示子程序設(shè)計(jì)</p><p>  void display(uint qian,uint bai,uint shi,uint ge)//顯示子函數(shù)</p><p><b>  {</b></p><p>  wela=1;//顯示數(shù)碼管

35、第一位</p><p><b>  P2=0x01;</b></p><p><b>  wela=0;</b></p><p>  P0=table[qian];</p><p><b>  delay(1);</b></p><p>  wela=1

36、;//顯示數(shù)碼管第二位</p><p><b>  P2=0x02;</b></p><p><b>  wela=0;</b></p><p>  P0=table1[bai];</p><p><b>  delay(1);</b></p>

37、<p>  wela=1;//顯示數(shù)碼管第三位</p><p><b>  P2=0x04;</b></p><p><b>  wela=0;</b></p><p>  P0=table[shi];</p><p><b>  delay(1);</b

38、></p><p>  wela=1;//顯示數(shù)碼管第四位</p><p><b>  P2=0x08;</b></p><p><b>  wela=0;</b></p><p>  P0=table[ge];</p><p><b>  

39、delay(1);</b></p><p><b>  }</b></p><p>  4.61初始化子程序設(shè)計(jì)</p><p>  void init()//初始化子程序</p><p><b>  {</b></p><p><b&

40、gt;  wela=0;</b></p><p><b>  temp=0;</b></p><p>  TMOD=0x01; //設(shè)置定時(shí)器0為工作方式1</p><p><b>  TH0=0xc8;</b></p><p><b>  TL0=0xf0;&

41、lt;/b></p><p>  EA=1;//開總中斷</p><p>  ET0=1; //開定時(shí)器0中斷</p><p>  TR0=1; //啟動(dòng)定時(shí)器0</p><p><b>  EX0=1;</b></p><p><

42、;b>  IT0=1;</b></p><p><b>  }</b></p><p><b>  5 仿真結(jié)果</b></p><p><b>  仿真環(huán)境</b></p><p>  Proteus 是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟

43、件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。</p><p> ?、谥С种髁鲉纹瑱C(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類

44、型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2、MPLAB等軟件。</p><p> ?、芫哂袕?qiáng)大的

45、原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。</p><p>  本實(shí)驗(yàn)采用protues7.4版本。</p><p>  運(yùn)行開始前,數(shù)碼顯示管顯示為00.00。</p><p>  按下開關(guān),秒表程序運(yùn)行,數(shù)碼管開始跑動(dòng)。</p><p>  再次按下開關(guān),秒表程序運(yùn)行停止,數(shù)碼管顯示時(shí)間不變

46、。</p><p>  第三次按鍵,數(shù)碼管清零。</p><p><b>  圖10仿真圖</b></p><p><b>  總結(jié)</b></p><p>  通過本次設(shè)計(jì),復(fù)習(xí)鞏固我們以前所學(xué)習(xí)的單片機(jī)原理及應(yīng)用等課程知識(shí),加深對(duì)各門課程及相互關(guān)系的理解,使理論知識(shí)系統(tǒng)化、實(shí)用化,系統(tǒng)地掌握微機(jī)

47、應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法,培養(yǎng)較強(qiáng)的編程能力、開發(fā)能力。同時(shí),在設(shè)計(jì)的過程中,我也發(fā)現(xiàn)了本系統(tǒng)的許多不足和可以改進(jìn)的地方。本設(shè)計(jì)的數(shù)字電子秒表缺少對(duì)多次計(jì)時(shí)時(shí)間進(jìn)行記錄的功能。應(yīng)給在單片機(jī)的內(nèi)部存儲(chǔ)區(qū)多設(shè)置一些存儲(chǔ)空間,用來存儲(chǔ)多次計(jì)時(shí)時(shí)間。并在程序中編入對(duì)多次計(jì)時(shí)時(shí)間的調(diào)用顯示。雖然存在不足,但本設(shè)計(jì)的數(shù)字電子秒表仍具有它的實(shí)用性。</p><p>  本設(shè)計(jì)的數(shù)字電子秒表是由89C52單片機(jī)、共陽數(shù)碼顯示管、控

48、制按鍵等器件構(gòu)成的,設(shè)有四位計(jì)時(shí)顯示,復(fù)位按鍵以及一個(gè)開始、暫停、清零按鈕。計(jì)時(shí)精度能到達(dá)10ms,設(shè)計(jì)精簡(jiǎn),使用簡(jiǎn)單易懂。系統(tǒng)設(shè)計(jì)合理,線路簡(jiǎn)單、功能先進(jìn),性能穩(wěn)定,程序精簡(jiǎn)。并給出了詳細(xì)的電路設(shè)計(jì)方法。在此,感謝老師對(duì)我們的精心指導(dǎo),耐心講解,才能夠使我們較成功地完成這次課程設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李華,王

49、思明,張金敏.單片機(jī)原理及應(yīng)用[M].蘭州:蘭州大學(xué)出版社,2001.5.</p><p>  [2]吳蓉,梁龍學(xué),崔用明.數(shù)字電子技術(shù)[M].蘭州:蘭州大學(xué)出版社,2006.7.</p><p>  [3] 顧濱,李勛.單片微計(jì)算機(jī)原理開發(fā)與應(yīng)用[M].北京:高等教育出版社,2000.2.</p><p><b>  附錄1</b></

50、p><p><b>  程序代碼</b></p><p>  #include<reg52.h></p><p>  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  uint temp,ba

51、i,shi,ge,qian;</p><p>  sbit wela=P1^0;//定義驅(qū)動(dòng)控制端口</p><p>  static uint k=0;//聲明全局變量</p><p>  uchar code table[]={//數(shù)碼管顯示0到9</p><p>  0xc0,0xf9

52、,0xa4,0xb0,</p><p>  0x99,0x92,0x82,0xf8,</p><p>  0x80,0x90};</p><p>  uchar code table1[]={//第二位數(shù)碼管顯示(包含小數(shù)</p><p>  0x40,0x79,0x24,0x30,//點(diǎn))</p>

53、<p>  0x19,0x12,0x02,0x78,</p><p>  0x00,0x10};</p><p>  void display(uint qian,uint bai,uint shi,uint ge);//聲明顯示函數(shù)</p><p>  void delay(uint z);//聲明延時(shí)函數(shù)</p><

54、;p>  void init();</p><p>  void main()</p><p><b>  {</b></p><p>  init();//初始化子程序</p><p><b>  while(1)</b></p><p><

55、;b>  {</b></p><p><b>  if(k==0)</b></p><p>  {init();//初始化子程序</p><p>  wela=1;//初始設(shè)置顯示00.00</p><p><b>  P2=0XFF;</b>

56、;</p><p><b>  wela=0;</b></p><p>  P0=0xc0; </p><p><b>  } </b></p><p>  if(k==1)//第二次按鍵開始計(jì)數(shù)</p><p><b>  {</b&g

57、t;</p><p>  if(temp==9999)//當(dāng)計(jì)數(shù)超過99.99秒時(shí)清零</p><p><b>  {</b></p><p><b>  temp=0;</b></p><p><b>  }</b></p><p>  q

58、ian=temp/1000;//計(jì)算數(shù)碼管第一位</p><p>  bai=temp%1000/100;//計(jì)算數(shù)碼管第二位</p><p>  shi=temp%1000%100/10;//計(jì)算數(shù)碼管第三位</p><p>  ge=temp%10;//計(jì)算數(shù)碼管第四位</p><p>  displa

59、y(qian,bai,shi,ge);//顯示時(shí)間</p><p><b>  }</b></p><p>  Else//第二次按鍵時(shí)停止</p><p><b>  {</b></p><p>  qian=temp/1000;</p><p>

60、;  bai=temp%1000/100;</p><p>  shi=temp%1000%100/10;</p><p>  ge=temp%10;</p><p>  display(qian,bai,shi,ge); </p><p>  if(k==3)//第三次按鍵時(shí)清零</p><p>&

61、lt;b>  k=0; </b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void delay(uint z)//延時(shí)子函數(shù)</p>

62、<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--);}</p><p>  void display(uint qian,ui

63、nt bai,uint shi,uint ge)//顯示子函數(shù)</p><p><b>  {</b></p><p>  wela=1;//顯示數(shù)碼管第一位</p><p><b>  P2=0x01;</b></p><p><b>  wela=0;</b

64、></p><p>  P0=table[qian];</p><p><b>  delay(1);</b></p><p>  wela=1;//顯示數(shù)碼管第二位</p><p><b>  P2=0x02;</b></p><p><b&g

65、t;  wela=0;</b></p><p>  P0=table1[bai];</p><p><b>  delay(1);</b></p><p>  wela=1;//顯示數(shù)碼管第三位</p><p><b>  P2=0x04;</b></p>

66、<p><b>  wela=0;</b></p><p>  P0=table[shi];</p><p><b>  delay(1);</b></p><p>  wela=1;//顯示數(shù)碼管第四位</p><p><b>  P2=0x08;</

67、b></p><p><b>  wela=0;</b></p><p>  P0=table[ge];</p><p>  delay(1);}</p><p>  void init()//初始化子程序</p><p><b>  {</b>&

68、lt;/p><p><b>  wela=0;</b></p><p><b>  temp=0;</b></p><p>  TMOD=0x01; //設(shè)置定時(shí)器0為工作方式1</p><p><b>  TH0=0xc8;</b></p><

69、p><b>  TL0=0xf0;</b></p><p>  EA=1;//開總中斷</p><p>  ET0=1; //開定時(shí)器0中斷</p><p>  TR0=1; //啟動(dòng)定時(shí)器0</p><p><b>  EX0=1;</b&g

70、t;</p><p><b>  IT0=1;}</b></p><p>  void timer0() interrupt 1//定時(shí)器設(shè)置時(shí)間10毫秒</p><p><b>  {</b></p><p><b>  TH0=0xc8;</b></p&

71、gt;<p><b>  TL0=0xf0;</b></p><p>  if(k==1)//第一次按鍵加一</p><p><b>  temp++;</b></p><p><b>  else</b></p><p>  if(k==2)

72、//第二次按鍵保持</p><p>  temp=temp;</p><p><b>  }</b></p><p>  void time0() interrupt 0//中斷子程序</p><p><b>  {</b></p><p>&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論