版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)-基于單片機(jī)的數(shù)字秒表的設(shè)計(jì)
- 單片機(jī)數(shù)字秒表課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字秒表
- 單片機(jī)課程設(shè)計(jì)-數(shù)字秒表
- 單片機(jī)課程設(shè)計(jì)-數(shù)字秒表系統(tǒng)設(shè)計(jì)
- 單片機(jī)的數(shù)字秒表課程設(shè)計(jì)
- 基于單片機(jī)控制的數(shù)字秒表課程設(shè)計(jì)
- 單片機(jī)秒表系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)--基于8051的單片機(jī)秒表系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的秒表系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)--基于51單片機(jī)的數(shù)字秒表設(shè)計(jì)
- 基于單片機(jī)的秒表設(shè)計(jì)單片機(jī)課程設(shè)計(jì)
- 數(shù)字式秒表單片機(jī)數(shù)字秒表課程設(shè)計(jì)
- 基于單片機(jī)的秒表課程設(shè)計(jì)
- 單片機(jī)秒表系統(tǒng)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---單片機(jī)秒表系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字式秒表
- 單片機(jī)秒表課程設(shè)計(jì)
- 單片機(jī)秒表課程設(shè)計(jì)
- 單片機(jī)秒表課程設(shè)計(jì)
- 課程設(shè)計(jì)--基于單片機(jī)的(秒表)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論