數(shù)字電子時(shí)鐘課程設(shè)計(jì) (2)_第1頁(yè)
已閱讀1頁(yè),還剩17頁(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>  課程設(shè)計(jì)說(shuō)明書</b></p><p>  設(shè)計(jì)名稱: 單片機(jī)原理與應(yīng)用課程設(shè)計(jì) </p><p>  題 目: 數(shù)字電子鐘課程設(shè)計(jì) </p><p>  學(xué)生姓名: </p><p>  專 業(yè):

2、 09電氣自動(dòng)化技術(shù) </p><p>  班 級(jí): </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p>  日 期: 2011 年 6

3、 月 20 日</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  電氣自動(dòng)化技術(shù) 專 業(yè) 2009 年級(jí) 一 班</p><p><b>  一、設(shè)計(jì)題目</b></p><p><b>  數(shù)字電子時(shí)鐘設(shè)計(jì)</b><

4、/p><p><b>  二、主要內(nèi)容</b></p><p>  1、利用CPU的定時(shí)器定時(shí),設(shè)計(jì)一個(gè)電子時(shí)鐘,使七段數(shù)碼管輸出記時(shí)值,格式如下:</p><p>  XX XX XX 由左向右分別為:時(shí)、分、秒</p><p>  2、利用蜂鳴器實(shí)現(xiàn)整點(diǎn)報(bào)時(shí)功能</p><p>  3、利用AN

5、1~AN4實(shí)現(xiàn)時(shí),分的分別加減。</p><p><b>  三、具體要求</b></p><p>  1、硬件電路實(shí)驗(yàn)連線板上已經(jīng)接好,無(wú)需另外接線。</p><p> ?、俦菊n程設(shè)計(jì)中要把跳線JP1(板子右上角,LED燈正上方)跳到DIG上,J23(在黃色繼電器右上方)接到右端。</p><p> ?、诒菊n程設(shè)計(jì)中要

6、把跳線J9(緊貼51插座右方,蜂鳴器下方,RST復(fù)位鍵上方)跳到右端</p><p> ?、郾菊n程設(shè)計(jì)要把跳線J6跳到AN端,AN1(P0.0)~ AN4(P0.4),J6在51插座右下方,4×4鍵盤左上方。</p><p><b>  2、課程設(shè)計(jì)說(shuō)明</b></p><p>  ① 與定時(shí)器有關(guān)的寄存器有工作方式寄存器TMOD和控

7、制寄存器TCON。TMOD用于設(shè)置定時(shí)器/計(jì)數(shù)器的工作方式0-3,并確定用于定時(shí)還是用于計(jì)數(shù)。TCON主要功能是為定時(shí)器在溢出時(shí)設(shè)定標(biāo)志位,并控制定時(shí)器的運(yùn)行或停止等。本課程設(shè)計(jì)中用定時(shí)器T0產(chǎn)生1秒鐘基本時(shí)間單位,本系統(tǒng)fosc=11.0592MHz,當(dāng)定時(shí)器T0工作在方式1(16位)時(shí),最大定時(shí)時(shí)間為:</p><p>  216* 0.9216μs= 60397.9776μs</p><

8、p>  再利用軟件記數(shù),當(dāng)T0中斷17次時(shí),所用時(shí)間為</p><p>  60397.9776*17=1026765.6192μs≈1s</p><p>  因此在T0中斷處理程序中,要判斷中斷次數(shù)是否到17次,若不到17次,則只使中斷次數(shù)加1,然后返回,若到了17次,則使電子秒表記時(shí)值加1(十進(jìn)制),請(qǐng)參考硬件實(shí)驗(yàn)四有關(guān)內(nèi)容。</p><p> ?、?電路

9、中共陰極數(shù)碼管的段碼a、b、c、d、e、f、g、dp分別與單片機(jī)的P2.0~ P2.7依次相連,控制數(shù)碼管中顯示的字型;6個(gè)數(shù)碼管的位選通信號(hào)由6個(gè)非門控制,分別接到單片機(jī)的P1.0~ P1.5端口上。程序中通過(guò)</p><p>  P1.0~ P1.5輸出高低電平控制數(shù)碼管的顯示和關(guān)閉,高電平時(shí)對(duì)應(yīng)數(shù)碼管顯示,顯示內(nèi)容由P2.0~ P2.7輸出的段碼控制。要將實(shí)時(shí)時(shí)鐘值送到6個(gè)共陰極數(shù)碼管中顯示,這可通過(guò)調(diào)用編

10、寫的顯示子程序來(lái)實(shí)現(xiàn),實(shí)現(xiàn)過(guò)程是:先將(時(shí)、分、秒)3個(gè)記時(shí)值按個(gè)位和十位拆開(kāi)成6個(gè)數(shù)字,然后查(0~9)段碼表,再將段碼分別送到顯示緩沖區(qū)(片內(nèi)數(shù)據(jù)存儲(chǔ)30H~35H設(shè)定為顯示緩沖區(qū), 用于存放段碼)中去,最調(diào)用顯示子程序送到6個(gè)共陰極數(shù)碼管中顯示。</p><p>  ③ 蜂鳴器由單片機(jī)的P0.7口控制:當(dāng)P0.7輸出高電平時(shí),三極管截止,沒(méi)有電流流過(guò)線圈,蜂鳴器不發(fā)聲;當(dāng)P0.7輸出低電平時(shí),三極管導(dǎo)通,有

11、電流流過(guò)線圈,蜂鳴器發(fā)出聲音。</p><p>  ④ 使用獨(dú)立式按鍵AN1(P0.0)~AN4(P0.3)時(shí)要注意采用軟件消抖動(dòng)的方法,一般采用軟件延時(shí)(10ms)的方法,通過(guò)P0.0~P0.4的變化控制時(shí),分的分別加減(手動(dòng)調(diào)整時(shí)間)。</p><p>  3、實(shí)驗(yàn)儀器和設(shè)備:PC機(jī)、WAVE軟件、Proteus軟件、51超級(jí)板等。</p><p><b&

12、gt;  4、參考資料見(jiàn)附件</b></p><p><b>  四、進(jìn)度安排</b></p><p>  第1天:查閱資料,繪制硬件電路原理圖;</p><p>  第2天:編寫顯示子程序; </p><p>  第3天:編寫主程序和T0中斷子程序</p><p>  第4天:完成硬

13、件仿真調(diào)試</p><p>  第5天:實(shí)現(xiàn)課程設(shè)計(jì)題目要求,完成課程設(shè)計(jì)</p><p><b>  五、成績(jī)?cè)u(píng)定</b></p><p>  指導(dǎo)教師 簽名 日期 年 月 日</p><p>  系主任 審核 日期 年 月 日</p&g

14、t;<p><b>  目 錄</b></p><p>  設(shè)計(jì)任務(wù)分析 ………………………………………………………1</p><p>  總體方案設(shè)計(jì) ………………………………………………………1</p><p>  三、數(shù)字電子鐘硬件方案的設(shè)計(jì) ………………………………………1</p><p>  

15、3. 1時(shí)鐘電路的設(shè)計(jì) ………………………………………………1</p><p>  3. 2復(fù)位電路的設(shè)計(jì) ………………………………………………2</p><p>  3. 3按鍵電路的設(shè)計(jì) ………………………………………………2</p><p>  3. 4蜂鳴報(bào)時(shí)電路的計(jì) ……………………………………………2</p><p>  3. 5

16、顯示電路的設(shè)計(jì) ………………………………………………3</p><p>  數(shù)字電子鐘軟件件方案的設(shè)計(jì)………………………………………3</p><p>  4、1軟件內(nèi)容………………………………………………………………3</p><p>  4、2按鍵程序設(shè)計(jì)…………………………………………………………4</p><p>  4、3顯示程序設(shè)

17、計(jì)…………………………………………………………4</p><p>  4、4蜂鳴報(bào)時(shí)程序設(shè)計(jì)……………………………………………………5</p><p>  五、數(shù)字電子鐘的系統(tǒng)調(diào)試………………………………………………5</p><p>  六、設(shè)計(jì)總結(jié)及心得………………………………………………………5</p><p>  參考文獻(xiàn) ……………

18、…………………………………………………5</p><p>  附件一 …………………………………………………………………6</p><p>  附件二 …………………………………………………………………6</p><p><b>  一、設(shè)計(jì)任務(wù)分析</b></p><p>  1、本課題主要的目的是</p>

19、<p>  本課題主要的目的是為了通過(guò)親自的實(shí)踐,深入的了解單片機(jī)程序設(shè)計(jì)的方法,提高同學(xué)的思維和創(chuàng)新能力,讓同學(xué)在做的過(guò)程中進(jìn)一步掌握理論知識(shí)。在實(shí)踐中運(yùn)用理論知識(shí),同時(shí)提高我們的動(dòng)手能力。</p><p>  1、通過(guò)本次課程設(shè)計(jì)加深對(duì)單片機(jī)課程的全面認(rèn)識(shí)復(fù)習(xí)、了解和掌握。</p><p>  2、掌握定時(shí)器、外部中斷的設(shè)置和編程原理。</p><p&

20、gt;  3、通過(guò)此次課程設(shè)計(jì)能夠?qū)纹瑱C(jī)軟硬件結(jié)合起來(lái),對(duì)程序進(jìn)行編輯,校驗(yàn)。</p><p>  4、學(xué)會(huì)畫單片機(jī)程序設(shè)計(jì)流程圖。</p><p>  5、能夠熟練的用proteus或者M(jìn)ultisim仿真軟件的使用。</p><p>  2、本課題的內(nèi)容分析</p><p>  1、利用CPU的定時(shí)器定時(shí),設(shè)計(jì)一個(gè)電子時(shí)鐘,使七段數(shù)碼管

21、輸出記時(shí)值,格式如下:</p><p>  XX XX XX 由左向右分別為:時(shí)、分、秒</p><p>  2、利用蜂鳴器實(shí)現(xiàn)整點(diǎn)報(bào)時(shí)功能</p><p>  3、利用AN1~AN4實(shí)現(xiàn)時(shí),分的分別加減。</p><p><b>  二、總體方案設(shè)計(jì)</b></p><p>  本次設(shè)計(jì)時(shí)鐘電

22、路,使用了AT89C51單片機(jī)芯片控制電路,單片機(jī)控制電路簡(jiǎn)單且省去了很多復(fù)雜的線路,使得電路簡(jiǎn)明易懂, 使用鍵盤上的按鍵來(lái)調(diào)整時(shí)鐘的時(shí)、分加減,用一蜂鳴器來(lái)進(jìn)行定時(shí)提醒,同時(shí)使用匯編語(yǔ)言程序來(lái)控制整個(gè)時(shí)鐘顯示,這樣通過(guò)五個(gè)模塊:按鍵電路、復(fù)位電路、時(shí)鐘電路、蜂鳴電路、顯示電路即可滿足設(shè)計(jì)要求。系統(tǒng)框圖如下:</p><p>  軟件程序包含:中斷程序、定時(shí)程序、查表程序、顯示程序、判斷程序、</p>

23、<p>  計(jì)數(shù)程序、延時(shí)程序等。</p><p>  三、數(shù)字電子鐘硬件方案的設(shè)計(jì)</p><p>  3.1時(shí)鐘電路的設(shè)計(jì)</p><p>  時(shí)鐘是單片機(jī)的心臟,單片機(jī)個(gè)功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊的一拍一拍的工作。因此,時(shí)鐘頻率直接影響到單片機(jī)的運(yùn)行速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種

24、是內(nèi)部時(shí)鐘方式,另一種為外部時(shí)鐘方式。本次設(shè)計(jì)用的是內(nèi)部時(shí)鐘方式。電路圖如下:</p><p>  單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2 。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。</p><p>  3.2復(fù)位電路的設(shè)計(jì)</p><p>  單片機(jī)的復(fù)位電路分為

25、上電復(fù)位和手動(dòng)復(fù)位,本次設(shè)計(jì)采用的是上電復(fù)位。上電復(fù)位:上電復(fù)位電路是一種簡(jiǎn)單的復(fù)位電路,只要在RST復(fù)位引腳接一個(gè)電容到VCC,接一個(gè)電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過(guò)電容加到RST引腳一個(gè)短暫的高電平信號(hào),這個(gè)信號(hào)隨著VCC對(duì)電容的充電過(guò)程而回落,所以RST引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平必須維持足夠長(zhǎng)的時(shí)間。電路圖如下:</p>&l

26、t;p>  3.3按鍵調(diào)時(shí)電路的設(shè)計(jì)</p><p>  按鍵的開(kāi)關(guān)狀態(tài)通過(guò)一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過(guò)程在相應(yīng)的I/O端口形成一個(gè)負(fù)脈沖。為了避免CPU多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動(dòng)。本次設(shè)計(jì)采用的是獨(dú)立式按鍵,直接用I/O口線構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵占用一條I/O口線,每個(gè)按鍵的工作狀態(tài)不會(huì)產(chǎn)生相互影響。當(dāng)需要計(jì)時(shí)暫停又或者計(jì)時(shí)的數(shù)值與實(shí)際的時(shí)間不同時(shí),就可以通過(guò)按按鍵調(diào)節(jié)校

27、準(zhǔn)時(shí)間,本電路可以進(jìn)行小時(shí)和分鐘的加減極具人性化;按鍵與單片機(jī)連接的一端是由上拉電阻構(gòu)成的高電平,然后通過(guò)按鍵,將另一端接到地(低電平)當(dāng)按下按鍵,按鍵將單片機(jī)的一端強(qiáng)制為低低電平,然后按鍵恢復(fù),又恢復(fù)高電位,這就單片機(jī)接收到一個(gè)負(fù)脈沖。電路圖如下:</p><p>  3.4蜂鳴報(bào)時(shí)電路的設(shè)計(jì)</p><p>  使用蜂鳴器來(lái)實(shí)現(xiàn)報(bào)時(shí),蜂鳴器的原理就是電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)

28、來(lái)驅(qū)動(dòng)振動(dòng)膜發(fā)聲。 該電路有P0.7口外接20歐,2.2K電阻,三極管以及蜂鳴器組成。當(dāng)P0.7輸出高電平時(shí),三極管截止,沒(méi)有電流流過(guò)線圈,蜂鳴器不發(fā)聲;當(dāng)P0.7輸出低電平時(shí),三極管導(dǎo)通,有電流流過(guò)線圈,蜂鳴器發(fā)出聲音。電路圖如下:</p><p><b>  3.5顯示電路設(shè)計(jì)</b></p><p>  本次設(shè)計(jì)選用的是六位數(shù)碼管的動(dòng)態(tài)顯示驅(qū)動(dòng)。通過(guò)單片機(jī)對(duì)數(shù)碼

29、管位選通COM端電路的控制,只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,是各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。動(dòng)態(tài)顯示可以大幅度地降低硬件成本和電源的功耗。動(dòng)態(tài)顯示方式設(shè)計(jì)上如果處理不當(dāng),易造成亮度低,閃爍問(wèn)題。因此合理的設(shè)計(jì)既要保護(hù)驅(qū)動(dòng)電路易實(shí)現(xiàn),又要保證顯示后的數(shù)據(jù)穩(wěn)定,無(wú)閃爍。</p><p>  電路中共陰極數(shù)碼管的段碼a、b

30、、c、d、e、f、g、dp分別與單片機(jī)的P2.0~ P2.7依次相連,控制數(shù)碼管中顯示的字型;6個(gè)數(shù)碼管的位選通信號(hào)由6個(gè)非門控制,分別接到單片機(jī)的P1.0~P1.5端口上。程序中通過(guò)P1.0~P1.5輸出高低電平控制數(shù)碼管的顯示和關(guān)閉,高電平時(shí)對(duì)應(yīng)數(shù)碼管顯示,顯示內(nèi)容由P2.0~ P2.7輸出的段碼控制。要將實(shí)時(shí)時(shí)鐘值送到6個(gè)共陰極數(shù)碼管中顯示,這可通過(guò)調(diào)用編寫的顯示子程序來(lái)實(shí)現(xiàn),實(shí)現(xiàn)過(guò)程是:先將(時(shí)、分、秒)3個(gè)記時(shí)值按個(gè)位和十位拆

31、開(kāi)成6個(gè)數(shù)字,然后查(0~9)段碼表,再將段碼分別送到顯示緩沖區(qū)(片內(nèi)數(shù)據(jù)存儲(chǔ)30H~35H設(shè)定為顯示緩沖區(qū), 用于存放段碼)中去,最調(diào)用顯示子程序送到6個(gè)共陰極數(shù)碼管中顯示。部分電路圖如下:</p><p>  四、數(shù)字電子鐘的軟件設(shè)計(jì)方案</p><p><b>  4、1軟件程序內(nèi)容</b></p><p>  本設(shè)計(jì)的軟件程序包括主程序

32、、定時(shí)中斷程序、蜂鳴報(bào)時(shí)程序、時(shí)鐘顯示子程序、延時(shí)子程序等。另外,由于電路中有四個(gè)按鍵,用來(lái)調(diào)整時(shí)、分的加減。下圖是總程序流程圖</p><p><b>  總程序流程圖</b></p><p>  4、2按鍵中斷程 序(含定時(shí))</p><p>  中斷定時(shí)用來(lái)判斷按鍵是否按下,然后做出反應(yīng)調(diào)時(shí)還是調(diào)分。具體首先判斷是否按下,然后再定時(shí),開(kāi)定

33、時(shí)器。作出相應(yīng)輸出,最后中斷返回。按鍵處理是可以調(diào)試,如果檢測(cè)到分按鍵的加按下,分就加1,如果檢測(cè)到時(shí)按鍵的加按下,時(shí)就加1。</p><p>  4、3 顯示程序設(shè)計(jì)</p><p>  顯示程序在程序中期著非常重要的作用,它是數(shù)碼管能否正確顯示的保證,此程序首先是初始化,賦值為零點(diǎn)。然后還有建立存儲(chǔ)單元將要顯示的數(shù)值放入其中,再將這些數(shù)分出來(lái),最后送入與數(shù)碼管連接的口。</p&g

34、t;<p>  4、4整點(diǎn)報(bào)時(shí)程序設(shè)計(jì)</p><p>  每到了整點(diǎn)就讓蜂鳴器響,此程序是先判斷是否是整點(diǎn),如果到了整點(diǎn),則判斷是,則執(zhí)行相應(yīng)的命令。</p><p><b>  部分程序如下:</b></p><p>  baoshi:</p><p>  CJNE R4,#1,tiaos

35、hi</p><p>  CLR baojing ;開(kāi)啟蜂鳴器 </p><p>  MOV A,miao1</p><p>  CJNE A,#2,tiaoshi ;報(bào)時(shí)2秒</p><p>  SETB baojing ;關(guān)閉蜂鳴器</p><p><b>  

36、MOV R4,#0</b></p><p>  數(shù)字電子鐘的系統(tǒng)調(diào)試</p><p>  軟件調(diào)試的調(diào)試一般可以重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)試最后一個(gè)環(huán)節(jié)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次設(shè)計(jì)中,選用Keil軟件來(lái)調(diào)試程序通過(guò)的單步或跟蹤調(diào)試,使程序逐漸滿足要求。仿真部分采用protus7.

37、5軟件,打開(kāi)protus7.5軟件后,在元件中找到要用的所有元件,然后進(jìn)行原理圖的繪制;繪制好以后在選擇Keil中已經(jīng)編譯好的*.hex文件,選擇運(yùn)行,觀察結(jié)果,根據(jù)顯示的結(jié)果和課題的要求在修改程序,在運(yùn)行檢查,直到滿足要求為止。</p><p><b>  設(shè)計(jì)總結(jié)和心得</b></p><p>  通過(guò)一周的實(shí)訓(xùn),才深深感到自己?jiǎn)纹瑱C(jī)知識(shí)的匱乏,有一種書到用時(shí)方恨

38、少的感覺(jué)。雖然在研究室比起其他同學(xué)先接觸單片機(jī),但是也只是皮毛。開(kāi)始接觸的時(shí)候覺(jué)得好耍,可能是對(duì)單片機(jī)的了解不多,才會(huì)產(chǎn)生相對(duì)不難的錯(cuò)誤認(rèn)識(shí)?,F(xiàn)在用它來(lái)設(shè)計(jì)自己的電路,才知道知識(shí)的欠缺。也許對(duì)某些同學(xué)來(lái)說(shuō)已經(jīng)是輕車熟路了,可是對(duì)于初學(xué)硬件設(shè)計(jì)的同學(xué)來(lái)說(shuō),相對(duì)在選擇的思路上走的彎路多些,也許我們到最后可能沒(méi)有終點(diǎn),但這對(duì)我們是一筆難能可貴的財(cái)富,因?yàn)槲覀冊(cè)谇壑袑W(xué)到的不僅僅是書本上的知識(shí),更多的是我們與硬件設(shè)計(jì)比較好的同學(xué)交流之間的思考。

39、在別人的原有的程序設(shè)計(jì)上添加自己的成分,并不是一件易事,我們要對(duì)原有電路十分了解。題目要求的嚴(yán)格性才出現(xiàn)了比較困難的局面,不的不像他人和老師請(qǐng)教。一周的實(shí)習(xí)雖然出現(xiàn)了不少問(wèn)題,感覺(jué)到自己不論是做電路,還是調(diào)試程序都能在犯錯(cuò)后學(xué)到不少知識(shí),這與老師的諄諄教誨分不開(kāi)的。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 單片機(jī)原理及應(yīng)用教材及單片機(jī)

40、實(shí)驗(yàn)教程</p><p>  [2] Keil軟件、protus7.5軟件、億圖軟件的使用說(shuō)明</p><p>  [3] 7404非門資料、學(xué)習(xí)電路圖的方法與技巧</p><p>  附件一 硬件原理圖</p><p>  附件二 源程序</p><p>  miao1 DATA 30H

41、 </p><p>  miao2 DATA 31H</p><p>  fen1 DATA 32H</p><p>  fen2 DATA 33H</p><p>  shi1 DATA 34H</p><p>  shi2 DATA 35H</p>&l

42、t;p>  shuju_0 DATA 36H</p><p>  xian_zhi EQU P2</p><p>  baojing EQU P0.7</p><p>  xian_kai EQU P1 </p><p>  K1 bit p0.0</p>&

43、lt;p>  K2 bit p0.1</p><p>  K3 bit p0.2</p><p>  K4 bit p0.3</p><p>  ORG 0000H</p><p><b>  JMP main</b></p><p>  ORG 000BH</p>&l

44、t;p>  JMP dingshi</p><p><b>  main:</b></p><p><b>  MOV P1,#0</b></p><p>  SETB baojing</p><p>  MOV R2,#0 ;R2決定是調(diào)時(shí) 還是調(diào)分</p&g

45、t;<p>  MOV R3,#0 ;R3決定K1是否按下</p><p>  MOV R4,#0 ;R4用于報(bào)時(shí)控制</p><p>  MOV R5,#0 ;R5為定時(shí)器17次判斷</p><p>  MOV DPTR,#TAB </p><p>  MOV miao1,#0 ;上電顯示00:0

46、0:00</p><p>  MOV miao2,#0</p><p>  MOV fen1,#0</p><p>  MOV fen2,#0</p><p>  MOV shi1,#0</p><p>  MOV shi2,#0</p><p>  MOV TMOD,#01H

47、 ;16位定時(shí)</p><p>  MOV TL0,#3CH</p><p>  MOV TH0,#2CH</p><p>  MOV IE,#82H</p><p>  SETB TR0 ;開(kāi)定時(shí)器</p><p>  kaitou: </p&

48、gt;<p>  MOV A,#1 ;顯示程序</p><p>  MOV shuju_0,A</p><p>  MOV R0,#35H</p><p><b>  xian_1:</b></p><p><b>  MOV A,@R0</b></p><

49、p>  MOVC A,@A+DPTR</p><p>  MOV R1,shuju_0</p><p>  CJNE R1,#02H,xian_2</p><p>  ORL A,#80H</p><p><b>  xian_2:</b></p><p>  CJNE R1,#08h,xi

50、an_3</p><p>  ORL A,#80H</p><p><b>  xian_3:</b></p><p>  MOV xian_zhi,A</p><p>  MOV xian_kai,shuju_0 </p><p>  call DELAY</p><p&

51、gt;  MOV xian_kai,#0</p><p>  MOV A,shuju_0</p><p><b>  RL A</b></p><p>  MOV shuju_0,A</p><p><b>  DEC R0</b></p><p>  CJNE A,#40H

52、,xian_1</p><p>  baoshi:</p><p>  CJNE R4,#1,tiaoshi</p><p>  CLR baojing ;開(kāi)啟蜂鳴器 </p><p>  MOV A,miao1</p><p>  CJNE A,#2,tiaoshi

53、;報(bào)時(shí)2秒</p><p>  SETB baojing ;關(guān)閉蜂鳴器</p><p><b>  MOV R4,#0</b></p><p><b>  tiaoshi:</b></p><p>  CJNE R3,#0,tiao_1 ;R3為1的話就不檢查 K1</p>

54、;<p>  JB K1,LL ;判斷是否按下 K1</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JB K1,LL</b></p><p><b>  JMP QQ</b></p><p&g

55、t;  LL:JMP kaitou</p><p><b>  QQ:</b></p><p>  JNB K1,QQ;判斷是否抬起</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JNB K1,QQ</b&

56、gt;</p><p>  MOV R3,#1 </p><p><b>  tiao_1:</b></p><p>  JB K2,tiao_2 ;判斷是否按下 K2</p><p>  CALL DELAY</p><p>  CALL DELAY</p><

57、;p>  JB K2,tiao_2</p><p><b>  YY:</b></p><p>  JNB K2,YY ;判斷是否抬起</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JNB K2,YY<

58、;/b></p><p><b>  MOV R3,#1</b></p><p><b>  MOV A,R2</b></p><p><b>  CPL A</b></p><p><b>  MOV R2,A</b></p><

59、;p><b>  tiao_2: </b></p><p>  CJNE R2,#0,WW ;R2決定是調(diào)時(shí) 還是調(diào)分</p><p><b>  JMP XX</b></p><p>  WW: JMP shi_tiao</p><p><b>  XX:</b>&

60、lt;/p><p>  CALL xian_fen ;分位調(diào)節(jié)</p><p>  JB K3,fen_2;判斷是否加1</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p>  JB K3,fen_2</p><p><b>

61、  FF:</b></p><p>  JNB K3,FF ;判斷是否抬起</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JNB K3,FF</b></p><p>  fen_1: </p>

62、<p>  MOV A,fen1</p><p><b>  INC A</b></p><p>  CJNE A,#10,fen_1_1</p><p>  MOV fen1,#0</p><p>  MOV A,fen2</p><p><b>  INC A</

63、b></p><p>  CJNE A,#6,fen_1_2</p><p>  MOV fen2,#0</p><p>  JMP jieshu</p><p><b>  fen_1_1:</b></p><p>  MOV fen1,A</p><p>  JM

64、P jieshu</p><p><b>  fen_1_2:</b></p><p>  MOV fen2,A</p><p>  JMP jieshu</p><p>  fen_2: ;判斷是否減1 </p><p>  JB K4,KK &l

65、t;/p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JB K4,KK</b></p><p><b>  JMP EE</b></p><p><b>  KK:</b></p>&

66、lt;p>  JMP jieshu</p><p><b>  EE:</b></p><p>  JNB K4,EE;判斷是否抬起</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JNB K4,EE</

67、b></p><p>  MOV A,fen1</p><p><b>  DEC A</b></p><p>  CJNE A,#0FFH,fen_2_1</p><p>  MOV fen1,#9</p><p>  MOV A,fen2</p><p><

68、b>  DEC A</b></p><p>  CJNE A,#0FFH,fen_2_2</p><p>  MOV fen2,#5</p><p>  JMP jieshu</p><p><b>  fen_2_1:</b></p><p>  MOV fen1,A</

69、p><p>  JMP jieshu</p><p><b>  fen_2_2:</b></p><p>  MOV fen2,A</p><p>  JMP jieshu</p><p>  shi_tiao: ;時(shí)位調(diào)節(jié)</p><p>

70、  CALL xian_shi</p><p>  JB K3,shi_jian ;判斷是否加1</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p>  JB K3,shi_jian</p><p><b>  GG:</b></p

71、><p>  JNB K3,GG ;判斷是否抬起</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JNB K3,GG</b></p><p>  MOV A,shi2</p><p>  CJNE A,

72、#2,shi_1 ;shi_1表十位不是2的數(shù)處理</p><p>  MOV A,shi1</p><p><b>  INC A</b></p><p>  CJNE A,#4,shi_0 ;shi_0表沒(méi)加到5</p><p>  MOV shi1,#0</p><

73、p>  MOV shi2,#0</p><p>  JMP jieshu</p><p><b>  shi_0:</b></p><p>  MOV shi1,A</p><p>  JMP jieshu</p><p><b>  shi_1:</b></p&

74、gt;<p>  MOV A,shi1</p><p><b>  INC A</b></p><p>  CJNE A,#10,shi_1_1 ;shi_1_1是表個(gè)位沒(méi)加到10的</p><p>  MOV shi1,#0</p><p>  MOV A,shi2</p><

75、;p><b>  INC A</b></p><p>  MOV shi2,A</p><p>  JMP jieshu</p><p><b>  shi_1_1:</b></p><p>  MOV shi1,A</p><p>  JMP jieshu</p

76、><p>  shi_jian: </p><p>  JB K4,jieshu;判斷是否減1</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p>  JB K4,jieshu</p><p><b>  DD:<

77、;/b></p><p>  JNB K4,DD ;判斷是否抬起</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JNB K4,DD</b></p><p>  MOV A,shi1</p><p

78、><b>  DEC A</b></p><p>  CJNE A,#0FFH,shijian_1</p><p>  MOV shi1,#9</p><p>  MOV A,shi2</p><p><b>  DEC A</b></p><p>  CJNE A,#

79、0FFH,shijian_0</p><p>  MOV shi1,#3</p><p>  MOV shi2,#2</p><p>  JMP jieshu</p><p>  shijian_0:</p><p>  MOV shi2,A</p><p>  JMP jieshu <

80、/p><p>  shijian_1:</p><p>  MOV shi1,A</p><p>  jieshu:;調(diào)時(shí)結(jié)束判斷</p><p>  JB K1,NN ;判斷是否按下 K1</p><p>  CALL DELAY</p><p>  CALL DELAY&

81、lt;/p><p><b>  JB K1,NN</b></p><p><b>  JMP TT</b></p><p><b>  NN:</b></p><p>  JMP tiaoshi</p><p><b>  TT:</b>

82、;</p><p>  JNB K1,TT ;判斷是否抬起</p><p>  CALL DELAY</p><p>  CALL DELAY</p><p><b>  JNB K1,TT</b></p><p><b>  MOV R5,#0</b></

83、p><p><b>  MOV R3,#0</b></p><p>  MOV R2,#0 </p><p>  JMP kaitou </p><p>  xian_fen: ;只顯示分位</p><p>  MOV A,fen1</p><p>  MOVC

84、 A,@A+DPTR</p><p>  MOV xian_zhi,A</p><p>  SETB p1.3</p><p>  CALL DELAY</p><p>  CLR p1.3 </p><p>  MOV A,fen2</p><p>  MOVC A,@A+DPTR&l

85、t;/p><p>  MOV xian_zhi,A</p><p>  SETB p1.2</p><p>  CALL DELAY</p><p>  CLR p1.2</p><p><b>  RET</b></p><p>  xian_shi:

86、 ;只顯示十位</p><p>  MOV A,shi1</p><p>  MOVC A,@A+DPTR</p><p>  MOV xian_zhi,A</p><p>  SETB p1.1</p><p>  CALL DELAY</p><p>  CLR p1.1</p

87、><p>  MOV A,shi2</p><p>  MOVC A,@A+DPTR</p><p>  MOV xian_zhi,A</p><p>  SETB p1.0</p><p>  CALL DELAY</p><p>  CLR p1.0 </p><

88、;p><b>  RET</b></p><p>  dingshi: MOV TL0,#3CH</p><p>  MOV TH0,#2CH</p><p><b>  INC R5</b></p><p>  CJNE R5,#18,JJ ;相等進(jìn)行秒加1處理</p>&

89、lt;p><b>  MOV R5,#0</b></p><p><b>  INC miao1</b></p><p>  MOV A,miao1</p><p>  CJNE A,#10,JJ</p><p>  MOV miao1,#0</p><p><b

90、>  INC miao2</b></p><p>  MOV A,miao2</p><p>  CJNE A,#6,JJ</p><p>  MOV miao2,#0</p><p><b>  INC fen1</b></p><p>  MOV A,fen1</p&g

91、t;<p>  CJNE A,#10,JJ</p><p>  MOV fen1,#0</p><p><b>  INC fen2</b></p><p>  MOV A,fen2</p><p>  CJNE A,#6,JJ</p><p>  MOV fen2,#0</p

92、><p>  MOV R4,#1 </p><p>  MOV A,shi2</p><p>  CJNE A,#2,LOOP</p><p><b>  INC shi1</b></p><p>  MOV A,shi1</p><p>  CJNE A,#5

93、,JJ</p><p>  MOV shi1,#0</p><p>  MOV shi2,#0</p><p>  LOOP:INC shi1</p><p>  MOV A,shi1</p><p>  CJNE A,#10,JJ</p><p>  MOV shi1,#0</p>

94、;<p>  INC shi2 </p><p><b>  JJ:RETI</b></p><p>  DELAY:MOV r7,#6 </p><p>  D2: MOV R6,#100</p><p><b>  D1: NOP</b><

95、;/p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R6,D1</p><p>  DJNZ R7,D2</p><p><b>  RET</b></p><p> 

溫馨提示

  • 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)論