2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩41頁(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>  畢業(yè)設(shè)計(jì)論文</b></p><p><b>  自動(dòng)打鈴系統(tǒng)設(shè)計(jì)</b></p><p>  系 電子信息工程系 </p><p>  專業(yè) 電子信息工程 姓名   </p><p>  班級(jí) 學(xué)號(hào) <

2、;/p><p>  指導(dǎo)教師 職稱 實(shí)驗(yàn)師 </p><p>  設(shè)計(jì)時(shí)間 2010.11.22-2011.1.8 </p><p><b>  目錄</b></p><p><b>  摘要- 3 -</b></p><p><b

3、>  關(guān)鍵詞- 3 -</b></p><p><b>  引言- 4 -</b></p><p>  第一章 設(shè)計(jì)方案論證- 5 -</p><p>  1.1 設(shè)計(jì)要求- 5 -</p><p>  1.2 設(shè)計(jì)方案選擇- 5 -</p><p>  1.2.1

4、方案一:數(shù)字電路設(shè)計(jì)的自動(dòng)打鈴系統(tǒng)- 5 -</p><p>  1.2.2 方案二:基于單片機(jī)的自動(dòng)打鈴系統(tǒng)設(shè)計(jì)- 6 -</p><p>  1.2.3 方案確定- 6 -</p><p>  1.3 基本方案- 6 -</p><p>  1.3.1 設(shè)計(jì)課題簡(jiǎn)要概述- 6 -</p><p>  1.

5、3.2 系統(tǒng)軟硬件劃分- 6 -</p><p>  1.3.3 單片機(jī)選型- 7 -</p><p>  1.4 總體設(shè)計(jì)框圖- 7 -</p><p>  第二章 硬件電路設(shè)計(jì)- 8 -</p><p>  2.1 基本原理概述- 8 -</p><p>  2.2 主要原件參數(shù)及功能簡(jiǎn)介- 8 -&

6、lt;/p><p>  2.2.1 主控器AT89C51- 8 -</p><p>  2.2.2 時(shí)鐘電路DS1302- 9 -</p><p>  2.3 單元電路的設(shè)計(jì)- 10 -</p><p>  2.3.1顯示電路設(shè)計(jì)- 10 -</p><p>  2.3.2 鍵盤接口電路設(shè)計(jì)- 11 -</

7、p><p>  2.3.3 響鈴電路設(shè)計(jì)- 12 -</p><p>  2.4 總體運(yùn)行進(jìn)程- 12 -</p><p>  第三章 軟件電路設(shè)計(jì)及流程圖- 13 -</p><p>  3.1 基本原理概述- 13 -</p><p>  3.1.1 中斷服務(wù)程序設(shè)計(jì)- 13 -</p>&l

8、t;p>  3.1.2 顯示程序設(shè)計(jì)和按鍵判斷與按鍵處理程序設(shè)計(jì)- 13 -</p><p>  3.2 流程圖- 14 -</p><p>  3.2.1 系統(tǒng)主程序流程圖- 14 -</p><p>  3.2.2 系統(tǒng)定時(shí)中斷流程圖- 15 -</p><p>  第四章 系統(tǒng)程序設(shè)計(jì)- 16 -</p>

9、<p>  4.1 程序設(shè)計(jì)概要- 16 -</p><p>  4.2 源程序清單- 17 -</p><p>  第五章 自動(dòng)打鈴硬件原理圖- 37 -</p><p>  第六章 畢業(yè)設(shè)計(jì)總結(jié)- 38 -</p><p><b>  致謝- 39 -</b></p><p

10、>  參考文獻(xiàn)- 40 -</p><p><b>  摘要</b></p><p>  自動(dòng)打鈴系統(tǒng),是以一片8位單片機(jī)為核心的實(shí)時(shí)時(shí)鐘及控制系統(tǒng)。我們知道單片機(jī)的外接石英晶體振蕩器能提供穩(wěn)定、準(zhǔn)確的基準(zhǔn)頻率,并經(jīng)12分頻后向內(nèi)部定時(shí)器提供實(shí)時(shí)基準(zhǔn)頻率信號(hào),設(shè)定定時(shí)器工作在中斷方式下,連續(xù)對(duì)此頻率信號(hào)進(jìn)行分頻計(jì)數(shù),便可得秒信號(hào),再對(duì)秒信號(hào)進(jìn)行計(jì)數(shù)便可得到分、

11、時(shí)等實(shí)時(shí)時(shí)鐘信息。如果石英晶體振蕩器的頻率信號(hào)為6MHZ,設(shè)定定時(shí)器定時(shí)工作方式1下,定時(shí)器為3CBOH,則定時(shí)器每100ms產(chǎn)生1次中斷,在定時(shí)器的中斷定時(shí)處理程序中,每10次中斷,則向秒計(jì)數(shù)器加1,秒計(jì)數(shù)器計(jì)數(shù)到60則向分計(jì)數(shù)器進(jìn)位(并建立分進(jìn)位標(biāo)志),分計(jì)數(shù)器計(jì)數(shù)到60,則向時(shí)計(jì)數(shù)器進(jìn)位,如此周而復(fù)始的連續(xù)計(jì)數(shù),便可獲得時(shí)、分、秒的信號(hào),建立一個(gè)實(shí)時(shí)時(shí)鐘。接下來(lái)便可以進(jìn)行定時(shí)處理和打鈴輸出,當(dāng)主程序檢測(cè)到有分進(jìn)位標(biāo)志時(shí),便開始比較

12、當(dāng)前時(shí)間(小時(shí)與分、存放在RAM中)與信息時(shí)間表上的作息時(shí)間(小時(shí)與分,存放在ROM)是否相同,如有相同者,則進(jìn)行報(bào)時(shí)處理并控制打鈴,如有不相同則返回主程序,如此便實(shí)現(xiàn)了報(bào)時(shí)控制的要求。</p><p><b>  關(guān)鍵詞</b></p><p>  單片機(jī);時(shí)間設(shè)置電路;計(jì)時(shí)電路;顯示電路;定時(shí)打鈴控制電路</p><p><b>

13、  引言</b></p><p>  隨著科技的不斷發(fā)展,各種芯片都得到了很好的發(fā)展,80C51 同樣如此,從開始的無(wú)人問(wèn)津到現(xiàn)在的隨處可見(jiàn),紅綠燈,記分牌,電子秒表,遙控器,電飯煲,電視等只要是電子產(chǎn)品,都會(huì)和芯片有關(guān),其實(shí)芯片并不是什么神秘的高科技,它只是里面裝了一些己編好的程序而己.而這里要介紹的是用匯編語(yǔ)言來(lái)編程的一個(gè)系統(tǒng),它能夠讓一個(gè)學(xué)?;蚱髽I(yè)集團(tuán)實(shí)現(xiàn)打鈴自動(dòng)化,總之,一個(gè)需要時(shí)間系統(tǒng)的機(jī)構(gòu)

14、實(shí)現(xiàn)自動(dòng)提醒功能。</p><p>  當(dāng)今時(shí)代是一個(gè)新技術(shù)層出不窮的時(shí)代,在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未有的速度被單片機(jī)智能控制系統(tǒng)所取代。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說(shuō),智能控制與自動(dòng)控制的核心就是單片機(jī)。目前,一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的高潮正在工廠、學(xué)校及企事業(yè)單位大規(guī)模地興起。而本文是用AT89C51單片機(jī)設(shè)計(jì)的一個(gè)自動(dòng)打鈴

15、系統(tǒng)。</p><p>  第一章 設(shè)計(jì)方案論證</p><p><b>  1.1 設(shè)計(jì)要求</b></p><p>  它可以作為時(shí)鐘電路來(lái)顯示時(shí)間,進(jìn)行設(shè)置,定時(shí)打鈴。按照自頂向下設(shè)計(jì)方法劃分自動(dòng)打鈴系統(tǒng)的功能??煞譃椋簳r(shí)間設(shè)置電路,計(jì)時(shí)電路,顯示電路和定時(shí)打鈴控制電路等。</p><p>  以江蘇信息職業(yè)技術(shù)

16、學(xué)院的打鈴情況設(shè)計(jì)</p><p>  1.2 設(shè)計(jì)方案選擇</p><p>  1.2.1 方案一:數(shù)字電路設(shè)計(jì)的自動(dòng)打鈴系統(tǒng)</p><p>  利用函數(shù)信號(hào)發(fā)生器來(lái)進(jìn)行脈沖信號(hào)輸出,利用74160N來(lái)設(shè)置十進(jìn)制和六進(jìn)制的進(jìn)位輸出。利用數(shù)碼顯示器來(lái)顯示時(shí)間,利用或門、與門、非門、與非門、等電路元件進(jìn)行組合實(shí)現(xiàn)打鈴的控制。</p><p>

17、  1.2.2 方案二:基于單片機(jī)的自動(dòng)打鈴系統(tǒng)設(shè)計(jì)</p><p>  單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1秒定時(shí)中斷,沒(méi)產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到60,則清零分字節(jié),并將時(shí)字節(jié)值加1;若時(shí)值達(dá)到24,則將時(shí)字節(jié)清零。建立完一個(gè)實(shí)時(shí)時(shí)鐘后接下來(lái)進(jìn)行定時(shí)處理和打鈴輸出,當(dāng)主程序檢測(cè)到有分進(jìn)位標(biāo)志

18、時(shí),便開始比較當(dāng)前時(shí)間與信息時(shí)間表上的作息時(shí)間是否相同,相同者,則進(jìn)行報(bào)時(shí)處理并控制打鈴,不相同則返回主程序。</p><p>  1.2.3 方案確定</p><p>  方案一的設(shè)計(jì)只能事先設(shè)定打鈴時(shí)間不能完全自動(dòng)打鈴,且在修改打鈴時(shí)間上存在一定的困難。而方案二中的設(shè)計(jì)能完全實(shí)現(xiàn)自動(dòng)化,詮釋了我們這次畢業(yè)設(shè)計(jì)的主題。并在修改打鈴時(shí)間上有了很大的方便,只需修改一部分程序便能實(shí)現(xiàn)不同的需要

19、。</p><p>  因此我選擇方案二進(jìn)行設(shè)計(jì)。</p><p><b>  1.3 基本方案</b></p><p>  1.3.1 設(shè)計(jì)課題簡(jiǎn)要概述</p><p>  自動(dòng)打鈴裝置用于工廠、學(xué)校等地的時(shí)間控制,本設(shè)計(jì)是按照學(xué)校作息時(shí)問(wèn)設(shè)定的,模擬了電了鐘顯示時(shí)、分、秒。還根據(jù)學(xué)校的作息時(shí)間按時(shí)打鈴,本系統(tǒng)有4 個(gè)

20、按鈕,分別用來(lái)調(diào)時(shí)、調(diào)分、秒和強(qiáng)制打鈴及強(qiáng)制關(guān)鈴,以保證始終與標(biāo)準(zhǔn)時(shí)間相吻合。</p><p>  首先設(shè)計(jì)出本系統(tǒng)的硬件基本框圖,根據(jù)框圖設(shè)計(jì)電氣原理圖,簡(jiǎn)要概述基本原理,按照設(shè)計(jì)技術(shù)參數(shù)設(shè)計(jì)出各部分程序。</p><p>  1.3.2 系統(tǒng)軟硬件劃分</p><p>  由于需要最小系統(tǒng)設(shè)計(jì),因此,極大地介于系統(tǒng)的硬件成本,所有能用軟件實(shí)現(xiàn)的功能都用軟件完成,

21、如按鍵的去抖,采用延時(shí),顯示部分用動(dòng)態(tài)顯示等,這樣硬件部分的設(shè)計(jì)可以采用單片機(jī)最小系統(tǒng),所謂最小系統(tǒng)時(shí)僅有程序存儲(chǔ)器和時(shí)鐘及復(fù)位電路的單片機(jī)系統(tǒng)。</p><p>  1.3.3 單片機(jī)選型</p><p>  根據(jù)課題的具體內(nèi)容,任務(wù)要求,計(jì)時(shí)、校時(shí)、定時(shí)、鍵盤顯示等功能,經(jīng)多方面考慮,所選系統(tǒng)選項(xiàng)用.與MSC-51單片機(jī)完全兼容的AT89C51 低功耗單片機(jī)。</p>&

22、lt;p>  1.4 總體設(shè)計(jì)框圖</p><p><b>  圖一 整體框圖</b></p><p>  第二章 硬件電路設(shè)計(jì)</p><p>  2.1 基本原理概述</p><p>  本系統(tǒng)主要由主控模塊,時(shí)鐘模塊,顯示模塊,鍵盤接口模塊等4 部分構(gòu)成。通過(guò)內(nèi)部定時(shí)產(chǎn)生中斷,從而使驅(qū)動(dòng)電鈴打鈴。設(shè)定51

23、單片機(jī)工作在定時(shí)器工作方式1 ,每100ms產(chǎn)生一次中斷,利用軟件將基準(zhǔn)100ms 單元進(jìn)行累加,當(dāng)定時(shí)器產(chǎn)生10 次中斷就產(chǎn)生lS 信號(hào),這是秒單元加1 。同理,對(duì)分單元和時(shí)單元計(jì)數(shù)從而產(chǎn)生秒,分,時(shí)的值,通過(guò)六位七段顯示器進(jìn)行顯示。由于動(dòng)態(tài)顯示法需要數(shù)據(jù)所存等硬件,接口較復(fù)雜,考慮顯示只有六位,且系統(tǒng)沒(méi)有其他浮躁的處理程序,所有采用動(dòng)態(tài)掃描LED 的顯示。</p><p>  本系統(tǒng)采用四個(gè)按鍵,當(dāng)時(shí)鐘時(shí)間和

24、設(shè)置時(shí)間一直時(shí),驅(qū)動(dòng)程序動(dòng)作,進(jìn)行打鈴,每次打鈴30S</p><p>  2.2 主要原件參數(shù)及功能簡(jiǎn)介</p><p>  2.2.1 主控器AT89C51</p><p>  AT89C51 公司生產(chǎn)的AT89C51 單片機(jī)用高性能的靜態(tài)89C51 設(shè)計(jì),由先進(jìn)工藝制造,并帶有非易失性FLASH 程序存儲(chǔ)器,它是· 種高性能、低功耗的8 位CMOS

25、微處理芯片,市場(chǎng)應(yīng)用最多,主要特點(diǎn)有:</p><p>  有4K 的FLASH 程序存儲(chǔ)器</p><p>  256 字節(jié)內(nèi)部RAM</p><p>  電源控制模式:時(shí)鐘可停止和恢復(fù),空閑模式,掉電模式</p><p><b>  6個(gè)中斷源</b></p><p><b>  4

26、個(gè)中斷優(yōu)先級(jí)</b></p><p><b>  4個(gè)8位I/O口</b></p><p>  全雙工增強(qiáng)型UART</p><p>  2個(gè)16位定時(shí)、計(jì)數(shù)器</p><p>  圖二 AT89C51</p><p>  2.2.2 DS1302時(shí)鐘電路DS1302</p&g

27、t;<p><b> ?。?)性能特性</b></p><p>  實(shí)時(shí)時(shí)鐘可對(duì)秒,分,時(shí)等進(jìn)行計(jì)數(shù),存在高速數(shù)據(jù)暫存的31*8位RAM,最少引腳的串行I/O口;2.5~~5.5V電壓工作范圍;2.5V耗電小于300nA;用于時(shí)鐘或RAM數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)數(shù)據(jù)傳送方式;簡(jiǎn)單的3線接口;可選的慢速充電的能力。</p><p>  DS1302時(shí)鐘芯

28、片包括實(shí)時(shí)時(shí)鐘和31字節(jié)的靜態(tài)RAM,它經(jīng)過(guò)一個(gè)簡(jiǎn)單的串行接口與微處理器通信,實(shí)時(shí)時(shí)鐘提供秒,分,時(shí)等信息,時(shí)鐘運(yùn)行可以采用24H,或帶AM/PM的12H格式,采用三線接口與CPU進(jìn)行同眇通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302有主電源/后備電源雙電源引腳;</p><p><b>  1)性能特性</b></p><p>  DS1

29、302與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線:1.RSE復(fù)位,2.I/O數(shù)據(jù)線,3.SCLK 串行時(shí)鐘。時(shí)鐘/RAM 的讀/寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31 個(gè)字節(jié)的字符組方式通信。DS1302 工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小十1mW 。提供秒分時(shí)日日期。月年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘,操作可通過(guò)AM/PM 指示決定采用24 或12 小時(shí)格式。 </p><p>

30、<b>  2)管腳描述</b></p><p>  XI XZ 32.768KHz 晶振管腳</p><p><b>  GND 接地</b></p><p><b>  RST 復(fù)位腳</b></p><p>  I/O 數(shù)據(jù)輸入/輸出引腳</p><p

31、><b>  SCLK 串行時(shí)鐘</b></p><p>  Vcc1,Vcc2 電源供電管腳</p><p>  DS1302 串行時(shí)鐘芯片8 腳 DIP</p><p>  DS1302S 串行時(shí)鐘芯片8 腳 SOIC 200mil</p><p>  DS1302Z 串行時(shí)鐘芯片8 腳 SOIC 150mil

32、</p><p>  圖三 DS1302</p><p>  2.3 單元電路的設(shè)計(jì)</p><p>  2.3.1時(shí)鐘電路設(shè)計(jì)</p><p><b>  (2)工作原理</b></p><p>  DS1302在任何數(shù)據(jù)傳送時(shí)必須先初始化,把RST引腳置為高電平,然后把8位地址和命令裝入移位

33、寄存器,數(shù)據(jù)在SCLK的上升沿被輸入,無(wú)論是讀周期還是寫周期開始8位指定40個(gè)寄存器中哪個(gè)將被訪問(wèn)到,在開始8個(gè)時(shí)鐘周期,把命令字節(jié)裝入撳位寄存器之后,另外的時(shí)鐘周期在闈時(shí)操作時(shí)輸出數(shù)據(jù),在寫操作時(shí)寫入數(shù)據(jù),時(shí)鐘脈沖的個(gè)數(shù)在單位字節(jié)下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達(dá)248字節(jié)數(shù)。</p><p>  為了提高對(duì)32個(gè)地址的尋址能力,可以把時(shí)鐘或RAM寄存器規(guī)定為多字節(jié)方式,在多字節(jié)方式中,讀或?qū)憦牡?/p>

34、址0的位0開始,必須管按數(shù)據(jù)傳送的次序電先的8個(gè)寄存器。但是當(dāng)以多個(gè)字節(jié)寫RAM時(shí),為了傳送數(shù)據(jù)不必寫所有31字節(jié),不管是否寫了全部31字節(jié),所寫的每個(gè)字節(jié)都將傳送至RAM。</p><p>  時(shí)鐘暫停:秒寄存器的位7定義位時(shí)鐘暫停位,當(dāng)它為1時(shí),DS1302停止振蕩,進(jìn)入低功耗的備份方式,通常在對(duì)DS1302進(jìn)行寫操作時(shí),停止振蕩,當(dāng)它為0時(shí)時(shí)鐘將開始啟動(dòng)。</p><p>  805

35、1通過(guò)串口向DS1302寫數(shù)據(jù)的程序框圖如圖3.2,其中,Px可以是8051單片機(jī)的任何一位I/O口,注意因?yàn)镈S1302的數(shù)據(jù)發(fā)送或接收時(shí)序和8051的串行口不完全一致,因此,需要在TXD的輸出端加反相器,另外,接收數(shù)據(jù)時(shí),不能以串行口的接收方式接收,必須將串行口當(dāng)作普通I/O口進(jìn)行數(shù)據(jù)接收.</p><p>  DS1302的晶振選用32.768KHZ,電容推薦值為6PF,因?yàn)檎袷庮l率較低,也可以不接電容,

36、對(duì)計(jì)時(shí)精度影響不大。</p><p>  圖3.2 DS1302寫數(shù)據(jù)的程序框圖</p><p>  2.3.1顯示電路設(shè)計(jì)</p><p>  顯示部分采用普通的共陽(yáng)數(shù)碼管顯示,采用動(dòng)態(tài)掃描,以減少硬件電路,數(shù)碼管分別為十時(shí),時(shí),十分,分,十秒,秒顯示,顯示時(shí)采用串行口輸出段碼,用74LS164 來(lái)驅(qū)動(dòng)數(shù)碼管掃描只需7ms 。</p><p&

37、gt;  4LS164 內(nèi)部位8 個(gè)D 觸發(fā)器,用以實(shí)現(xiàn)數(shù)據(jù)的串行移位,74LS164 位TTL 單向8 位移位寄存器,可實(shí)現(xiàn)串行輸入并行輸出,CPU 位時(shí)鐘輸入端,可接到串行口TXD 端。每個(gè)時(shí)鐘信號(hào)的上升沿加到CP 端時(shí),移位寄存器移一位,8 個(gè)時(shí)鐘脈沖過(guò)后,8 為二進(jìn)制數(shù)個(gè)部移入74LS164中,MR 為復(fù)位端,當(dāng)該位為低電平時(shí),移位寄存器各位復(fù)O 。當(dāng)它為高電平時(shí)時(shí)鐘脈沖才起作用。</p><p><

38、;b>  圖四 顯示電路</b></p><p>  2.3.2 鍵盤接口電路設(shè)計(jì)</p><p>  由于鍵盤只有四個(gè),采用獨(dú)立式按鈕,分別與8051 的P1.0, P1.1, P1.2 相連,用普通按鈕10K 上拉電阻,用查詢法完成讀健功能。</p><p><b>  圖五 按鍵電路</b></p>&

39、lt;p>  2.3.3 響鈴電路設(shè)計(jì)</p><p>  響鈴電路用到了蜂鳴器、三極管、1K電阻。蜂鳴器兩端分別接地和三極管。三極管一段電源另一端與電阻相連并接入AT89C51的P3.7接口。</p><p><b>  圖六 響鈴電路</b></p><p>  2.4 總體運(yùn)行進(jìn)程</p><p>  首先

40、實(shí)現(xiàn)24小時(shí)制電子鐘,在8位數(shù)碼管顯示,顯示為時(shí)分秒,實(shí)現(xiàn)的格式為:23-59-59。到達(dá)預(yù)定時(shí)間啟動(dòng)蜂鳴器開始打鈴,打鈴的方式分為起床、熄燈和上下課鈴兩種。系統(tǒng)使用了4個(gè)按鍵,3只按鍵用來(lái)調(diào)整時(shí)間,另一只為強(qiáng)制打鈴按鈕。通過(guò)選擇鍵選擇調(diào)整位,選中位閃爍,按增加鍵為選中位加1,按減少鍵為選中位減1。按強(qiáng)制打鈴按鈕是實(shí)現(xiàn)強(qiáng)制打鈴或者強(qiáng)制關(guān)閉打鈴。</p><p>  第三章 軟件電路設(shè)計(jì)及流程圖</p>

41、;<p>  3.1 基本原理概述</p><p>  主程序首先是初始化部分,主要是計(jì)時(shí)單元清零,中斷初始化,堆棧指針初始化,啟動(dòng)定時(shí)器工作,然后是調(diào)用顯示子程序。主程序的起始存儲(chǔ)地址是0000H單元,但由于本系統(tǒng)用了定時(shí)器T0的中斷,中斷服務(wù)程序入口地址為000BH,因此從0000H單元起存放一條短調(diào)轉(zhuǎn)指令A(yù)JMP,使真正的主程序從0300H單元開始存放。</p><p>

42、;  3.1.1 中斷服務(wù)程序設(shè)計(jì)</p><p>  單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器T0定時(shí)100ms,即0.1s,10次中斷即為1秒,60秒為1分,60分為1小時(shí),24小時(shí)為一天,如此循環(huán),從而實(shí)現(xiàn)計(jì)時(shí)功能。</p><p>  編寫中斷服務(wù)程序關(guān)鍵要注意:1.現(xiàn)場(chǎng)保護(hù),本系統(tǒng)中是累加器A和程序狀態(tài)字PSW值的保護(hù)。2.計(jì)時(shí)處理時(shí)采用的確十進(jìn)制,因此時(shí),分,秒單元加1后要進(jìn)行十進(jìn)制調(diào)整,即要

43、執(zhí)行DAA指令,還要注意的是時(shí)計(jì)到24就回零,分和秒計(jì)到60就回零。3.中斷返回前的現(xiàn)場(chǎng)恢復(fù)。</p><p>  3.1.2 顯示程序設(shè)計(jì)和按鍵判斷與按鍵處理程序設(shè)計(jì)</p><p>  顯示采用的是動(dòng)態(tài)顯示,段控和位控都經(jīng)過(guò)反相器,顯示的字形代碼是共陽(yáng)的顯示代碼,位控信號(hào)輸出時(shí)是高電平有效,在校時(shí)時(shí),采用的是點(diǎn)亮小數(shù)點(diǎn)信位調(diào)節(jié)器標(biāo)志,哪位小數(shù)點(diǎn)亮表示調(diào)整的是該為的值。</p>

44、;<p>  顯示子程序的第一部分是拆字,顯示緩沖區(qū)是2FH—2AH;第二部分是查字型碼,輸出段控和位控信號(hào),由于采用的是動(dòng)態(tài)顯示,所以每出輸出一位的段控和位控信號(hào)要延時(shí)一定的時(shí)間,使LED顯示器顯示的字符時(shí)穩(wěn)定的。</p><p>  按鍵判斷程序有編寫時(shí)應(yīng)注意按鍵的去抖動(dòng),該系統(tǒng)采用的是延時(shí)去抖動(dòng)的方法,延時(shí)是通過(guò)調(diào)用子程序來(lái)實(shí)現(xiàn)的,每個(gè)按鍵按下后都要等待釋放后再返回。</p>&

45、lt;p>  按鍵處理程序中的按鍵式校時(shí)的,所以進(jìn)入按鍵處理程序后就關(guān)閉定時(shí)中斷,對(duì)于動(dòng)能鍵注意設(shè)置顯示標(biāo)志。</p><p><b>  3.2 流程圖</b></p><p>  3.2.1 系統(tǒng)主程序流程圖</p><p>  3.2.2 系統(tǒng)定時(shí)中斷流程圖</p><p>  第四章 系統(tǒng)程序設(shè)計(jì)</

46、p><p>  4.1 程序設(shè)計(jì)概要</p><p>  程序名稱:51 單片機(jī)自動(dòng)掃鈴機(jī)控制系統(tǒng)</p><p>  說(shuō)明:實(shí)現(xiàn)24 小時(shí)制電子鐘,8 位數(shù)碼管顯示,顯示時(shí)分秒顯示格式:23-59-59(小時(shí)十位如果為0 則不顯示)。</p><p>  到預(yù)定時(shí)問(wèn)啟動(dòng)蜂鳴器模擬打鈴,蜂鳴器BEEP: P3.7。</p><

47、p>  打鈴方式分起床、熄幻鈴和上、下課鈴兩種。</p><p>  系統(tǒng)使用4 只按鍵,3 只按鍵用來(lái)調(diào)整時(shí)間,另一只為鬧鐘按鈕即定時(shí)掃鈴。</p><p>  鍵SET_KFY: PI.0;通過(guò)選擇鍵選擇調(diào)整位,選中位閃爍。</p><p>  增加鍵ADD_KEY:PI.1;按一次使選中位加1。</p><p>  減少鍵DEC_

48、KEY: PI.2;按一次使選中位位。1</p><p>  如果長(zhǎng)按ADD_KEY 或DEC_KEY,識(shí)別后則進(jìn)行調(diào)時(shí)快進(jìn),此時(shí)停止閃爍。</p><p>  如果選中位是秒,則按增加鍵或減少鍵都是將秒清零。</p><p>  定時(shí)掃鈴鍵DALING_KEY: P1.3;用來(lái)強(qiáng)制打鈴或強(qiáng)制關(guān)閉鈴聲PO 口輸出數(shù)碼管段選信號(hào),P2 口輸出數(shù)碼管位選信號(hào)。晶振12M

49、</p><p><b>  4.2 源程序清單</b></p><p>  根據(jù)以上流程圖思想,現(xiàn)設(shè)計(jì)系統(tǒng)程序思路描寫如下系統(tǒng)的主程序如下所示:</p><p>  BEEP EQU P3.7 ;定義蜂l 鳴器(電鈴)控制信號(hào)輸出口</p><p>  ORG 0000H ;程序入日地址</p><

50、p>  LJMP START</p><p>  ORG 000BH ;定時(shí)器0中斷入日地址</p><p>  LJMP TIMER_O</p><p><b>  ORG 0300H</b></p><p>  / * * * * *程序開始,初始化** * * * /</p><p>

51、<b>  START :</b></p><p>  SETB BEEP ;關(guān)閉蜂鳴器(電鈴)</p><p>  SETB 48H ;使用一個(gè)bit 位用于調(diào)時(shí)閃爍標(biāo)志</p><p>  SETB 47H ;使用一個(gè)bit 位用十產(chǎn)生脈沖用十調(diào)時(shí)快進(jìn)時(shí)基</p><p>  CLR 45H ;關(guān)閉響鈴方式標(biāo)志<

52、;/p><p>  MOV RI,#0 調(diào)整選擇鍵功能標(biāo)志:0正常走時(shí)、1 調(diào)時(shí)、2 調(diào)分、3 調(diào)秒</p><p>  MOV 20H,#00H;用于控制秒基準(zhǔn)時(shí)鐘源的產(chǎn)生</p><p>  MOV 21H,#00H;清零秒寄存器</p><p>  MOV 22H,#00H;清零分寄存器</p><p>  MOV

53、23H,#00H;清零時(shí)寄存器</p><p>  MOV 24H,#00H;用于控制調(diào)時(shí)閃爍的基準(zhǔn)時(shí)鐘的產(chǎn)生</p><p>  MOV IP, #02H; IP,IE 初始化</p><p>  MOV IE, #82H</p><p>  MOV TMOD, #olH;設(shè)定定時(shí)器01 作方式1</p><p> 

54、 MOV THO, #3CH</p><p>  MOV TLO, #oBoH;賦定時(shí)初值,定時(shí)50ms</p><p>  SETB TRO;啟動(dòng)定時(shí)器0</p><p>  MOV SP, #4OH;重設(shè)堆棧指針</p><p>  / * * * * *主程序** * * * /</p><p><b>

55、;  MAIN :</b></p><p>  CJNE R1, #00H, MAINl;是否為正常走時(shí)狀態(tài)</p><p>  LCALL BIJIAO1;調(diào)用起床、熄燈打鈴比較子程序</p><p>  LCALL BIJIAO2;調(diào)用上、下課少打鈴比較子程序</p><p>  LCALL DALING ;調(diào)用響鈴方式執(zhí)行子

56、程序</p><p><b>  MAIN1 :</b></p><p>  LCALL DlSPLAY;調(diào)用顯示子程序</p><p>  LCALL KEY_SCAN;調(diào)用按鍵檢測(cè)子程序</p><p>  JZ MAIN;無(wú)鍵按下則返回重新循環(huán)</p><p>  LCALL SET_KEY

57、;調(diào)用選擇鍵處理子程序</p><p>  JB 46H, MAIN ;如果已進(jìn)行長(zhǎng)按調(diào)招(調(diào)時(shí)快進(jìn)),則不再執(zhí)行下面的單步調(diào)整</p><p>  LCALL ADD_KEY;調(diào)用增加鍵處理子程序</p><p>  LCALL DEC_KEY; 躺用減少鍵處理子程序</p><p>  LCALL DALING_KEY;處理強(qiáng)制打鈴/強(qiáng)制

58、關(guān)閉鈴聲鍵</p><p>  LJMP MAIN;重新循環(huán)</p><p><b>  程序結(jié)束</b></p><p>  (主程序中引用到的字程序如下)</p><p>  / * * * * *定時(shí)中斷服務(wù)程序* * * * * /</p><p><b>  TIMER_O:

59、</b></p><p><b>  PUCH ACC </b></p><p>  PUCH PSW;保護(hù)現(xiàn)場(chǎng)</p><p>  MOV THO,#3CH</p><p>  MOV TLO, #0B0H;重新賦定時(shí)初值</p><p>  CPL 47H;產(chǎn)生脈沖用于調(diào)時(shí)快進(jìn)時(shí)基

60、</p><p><b>  INC 24H</b></p><p>  MOV A, 24H</p><p>  CJNEA, #l0, ADD_TIME;產(chǎn)0.5秒基準(zhǔn)時(shí)鐘,用于調(diào)時(shí)閃爍</p><p>  CPL 48H;取反調(diào)時(shí)閃爍標(biāo)志位</p><p>  MOV 24IJ, #00H&

61、lt;/p><p><b>  ADD_TIME:</b></p><p><b>  INC 20H</b></p><p><b>  MOV A,20H</b></p><p>  CJNEA, #20, RETI1;產(chǎn)生l秒基準(zhǔn)時(shí)鐘</p><p>

62、  MOV 20H, #O0H;一秒鐘時(shí)間到,清零20H</p><p>  MOV A ,21H</p><p>  ADD A,#01H</p><p>  DA A ;做十進(jìn)制調(diào)整</p><p>  MOV 21H, A</p><p>  CJNEA, #60H, RETIl</p><

63、p>  MOV 21H,#00H;一分鐘到</p><p><b>  MOV A,22H</b></p><p>  ADD A,#01H</p><p><b>  DA A</b></p><p><b>  MOV 22H,A</b></p><

64、;p>  CJNE A,#60H,RETI1</p><p>  MOV 22H,#00H;一小時(shí)到</p><p><b>  MOV A,23H</b></p><p>  ADD A,#01H</p><p><b>  DA A</b></p><p><

65、b>  MOV 23H,A</b></p><p>  CJNE A,#24H,RETI1</p><p>  MOV 23H,#00H;到24點(diǎn),清零小時(shí)</p><p><b>  RETI1:</b></p><p><b>  POP PSW</b></p>

66、<p>  POP ACC;恢復(fù)現(xiàn)場(chǎng)</p><p><b>  RET1;中斷返回</b></p><p>  / * * * * *顯示處理** * * * /</p><p><b>  DISPLAY:</b></p><p>  MOV A,#21H;秒</p>&

67、lt;p>  ANL A,#0FH</p><p>  MOV 2FH,A;轉(zhuǎn)換出秒個(gè)位,存入2FH</p><p><b>  MOV A,21H</b></p><p>  ANL A, #OFOH</p><p><b>  SWAP A</b></p><p>

68、  MOV 2EH, A;轉(zhuǎn)換出秒十位,存入2EH</p><p>  JB 46H, MIN;如果長(zhǎng)按按鍵(調(diào)時(shí)快進(jìn)),則跳過(guò)閃爍處理</p><p>  CJNE R1, #3, MIN;如果R1為3,閃爍秒位待調(diào)整</p><p>  JB 48H,MIN</p><p>  MOV ZFH, #OAH;使該位為10 ,查表得到使該位不

69、顯示的輸出</p><p>  MOV 2EH,#0AH</p><p><b>  MIN:</b></p><p>  MOV A,#22H;分</p><p>  ANL A,#0FH</p><p>  MOV 2DH,A;轉(zhuǎn)換出分個(gè)位,存入2DH</p><p>

70、<b>  MOV A,22H</b></p><p>  ANL A, #OFOH</p><p><b>  SWAP A</b></p><p>  MOV 2CH, A;轉(zhuǎn)換出分十位,存入2CH</p><p>  JB 46H, HOUR;如果長(zhǎng)按按鍵(調(diào)時(shí)快進(jìn)),則跳過(guò)閃爍處理</

71、p><p>  CJNE R1, #2, HOUR;如果R1為2,閃爍秒位待調(diào)整</p><p>  JB 48H,HOUR</p><p>  MOV ZDH, #OAH;使該位為10 ,查表得到使該位不顯示的輸出</p><p>  MOV 2CH,#0AH</p><p><b>  HOUR:</b

72、></p><p>  MOV A,#23H;時(shí)</p><p>  ANL A,#0FH</p><p>  MOV 2BH,A;轉(zhuǎn)換出時(shí)個(gè)位,存入2BH</p><p><b>  MOV A,23H</b></p><p>  ANLA, #OFOH</p><p&

73、gt;<b>  SWAP A</b></p><p>  MOV 2AH, A;轉(zhuǎn)換出時(shí)十位,存入2AH</p><p>  JB 46H, DISP;如果長(zhǎng)按按鍵(調(diào)時(shí)快進(jìn)),則跳過(guò)閃爍處理</p><p>  CJNE R1, #1, DISP;如果R1為1,閃爍秒位待調(diào)整</p><p>  JB 48H,DIS

74、P</p><p>  MOV ZBH, #OAH;使該位為10 ,查表得到使該位不顯示的輸出</p><p>  MOV 2AH,#0AH</p><p>  / * * * * *數(shù)碼管動(dòng)態(tài)掃描顯示** * * * /</p><p><b>  DISP:</b></p><p>  MOV

75、 DPTR,#TABLE</p><p><b>  MOV A,2FH</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  CLR P2.7</b></p><p>

76、;  LCALL DELAY</p><p>  SETB P2.7;顯示秒個(gè)位</p><p><b>  MOV A,2EH</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>

77、  CLR P2.6</b></p><p>  LCALL DELAY</p><p>  SETB P2.6;顯示秒十位</p><p>  MOV A,#0BFH</p><p><b>  MOV P0,A</b></p><p><b>  CLR P2.5<

78、/b></p><p>  LCALL DELAY</p><p>  SETB P2.5;顯示“-”</p><p><b>  MOV A,2DH</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b><

79、/p><p><b>  CLR P2.4</b></p><p>  LCALL DELAY</p><p>  SETB P2.4;顯示分個(gè)位</p><p><b>  MOV A,2CH</b></p><p>  MOVC A,@A+DPTR</p>&l

80、t;p><b>  MOV P0,A</b></p><p><b>  CLR P2.3</b></p><p>  LCALL DELAY</p><p>  SETB P2.3;顯示分十位</p><p>  MOV A,#0BFH</p><p><b&g

81、t;  MOV P0,A</b></p><p><b>  CLR P2.2</b></p><p>  LCALL DELAY</p><p>  SETB P2.2;顯示“-”</p><p><b>  MOV A,2BH</b></p><p>  MO

82、VC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  CLR P2.1</b></p><p>  LCALL DELAY</p><p>  SETB P2.1;顯示時(shí)個(gè)位</p><p>  MOV DPTR,#TAB

83、LE1;該位使用TABLE1以消除前置0</p><p><b>  MOV A,2AH</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  CLR P2.0</b></p>

84、<p>  LCALL DELAY</p><p>  SETB P2.0;顯示時(shí)十位</p><p><b>  RET</b></p><p>  / * * * * *按鍵檢測(cè)子程序** * * * /</p><p>  KEY_SCAN :</p><p>  CLR 46H;

85、關(guān)閉長(zhǎng)按調(diào)整(調(diào)時(shí)快進(jìn))標(biāo)志</p><p>  MOV P1, #OFFH;將P1口設(shè)置成輸入狀態(tài)</p><p><b>  MOV A,P1</b></p><p><b>  CPL A</b></p><p>  ANLA, #OFH;P1口低4位連接4個(gè)按鍵,只判斷該4位</p&g

86、t;<p>  JZ FXIT_KFY;無(wú)鍵按下則返回</p><p>  LCALL DELAY;延時(shí)去抖動(dòng)</p><p>  MOV A, P1;重新判斷</p><p><b>  CPL A</b></p><p>  ANL A,#OFH</p><p>  JZ EXI

87、T_KEY;鍵盤去抖動(dòng)</p><p>  MOV R5, A;臨時(shí)將鍵值存入R5</p><p>  MOV R4, #0OH;用于控制調(diào)時(shí)快進(jìn)速度</p><p> ??;設(shè)置為OOH 是為了在進(jìn)入長(zhǎng)按處理前加長(zhǎng)延時(shí)區(qū)分用戶的長(zhǎng)按與短按,防止誤快進(jìn)</p><p>  LOOP: ;進(jìn)入長(zhǎng)按處理</p><p>  

88、LCALL DISPLAY;使長(zhǎng)按時(shí)顯示正常</p><p><b>  MOV A, Pl</b></p><p><b>  CPL A</b></p><p>  ANLA, #OFH</p><p>  JB 47H, LOOP1</p><p>  INC R4;調(diào)

89、時(shí)快進(jìn)間隔時(shí)間基準(zhǔn)加l</p><p><b>  LOOP1:</b></p><p>  CJNE R1, #03H, LOOP2;如果調(diào)秒時(shí)長(zhǎng)按,則不處理</p><p>  LJMP LOOP3</p><p><b>  LOOP2:</b></p><p>  C

90、JNE R4, #99H, LOOP3</p><p>  MOV R4, #7OH;確認(rèn)用戶長(zhǎng)按后,重新設(shè)定起始值,加快調(diào)時(shí)快進(jìn)速度</p><p>  SETB 46H;長(zhǎng)按調(diào)整〔 調(diào)時(shí)快進(jìn))標(biāo)志</p><p>  LCALL ADD KEY</p><p>  LCALL DEC KEY</p><p><

91、;b>  LOOP3:</b></p><p>  JNZ LOOP;等待鍵釋放</p><p>  MOV A, R5;輸出鍵值</p><p><b>  RET</b></p><p><b>  EXIT_KEY;</b></p><p><b

92、>  RET</b></p><p>  / * * * * *延時(shí)子程序** * * * /</p><p><b>  DELAY:</b></p><p>  MOV R7, #150</p><p>  DJNZ R7, $</p><p><b>  RET&

93、lt;/b></p><p>  / * * * * *選擇鍵處理子程序** * * * /</p><p><b>  SET_KEY:</b></p><p>  CJNE R5,#01H,EXIT;選擇鍵鍵值</p><p>  INC R1;調(diào)整選擇功能標(biāo)識(shí)加一</p><p>&l

94、t;b>  SETB BEEP</b></p><p>  CJNE R1,#4,EXIT</p><p><b>  MOV R1,#0</b></p><p>  MOV 24H,#00H;調(diào)時(shí)閃爍基準(zhǔn)清零</p><p><b>  RET</b></p>&l

95、t;p>  / * * * * *增加鍵處理子程序** * * * /</p><p><b>  ADD_KEY:</b></p><p>  CJNE R5, #02H, EXIT;增加鍵鍵值</p><p>  CJNE R1,#01H, NEXT1;選擇鍵功能標(biāo)志為l,調(diào)時(shí),否則跳出</p><p><

96、;b>  MOV A,23H</b></p><p>  ADD A,#01H</p><p><b>  DA A</b></p><p><b>  MOV 23H,A</b></p><p>  CJNE A,#24H,EXIT</p><p>  M

97、OV 23H,#00H</p><p><b>  NEXT1:</b></p><p>  CJNE R1,#02H, NEXT2;選擇鍵功能標(biāo)志為2,調(diào)分,否則跳出</p><p><b>  MOV A,22H</b></p><p>  ADD A,#01H</p><p

98、><b>  DA A</b></p><p><b>  MOV 22H,A</b></p><p>  CJNE A,#260H,EXIT</p><p>  MOV 22H,#00H</p><p><b>  NEXT2:</b></p><p

99、>  CJNE R1,#03H, EXIT;選擇鍵功能標(biāo)志為3,調(diào)秒,否則跳出</p><p>  MOV 21H, #00H;如增加鍵按下一自接清零秒</p><p><b>  RET</b></p><p>  / * * * * *減少鍵處理子程序** * * * /</p><p><b>  

100、DEC KEY:</b></p><p>  CJNE R5,#04H, EXIT;減少鍵鍵值</p><p>  CJNE R1, #01H, NEXT3;選擇鍵功能標(biāo)志為l,調(diào)時(shí),古則跳出</p><p>  MOV A, 23H</p><p>  ADD A, #99H</p><p><b&

101、gt;  DA A</b></p><p>  MOV 23H, A</p><p>  CJNE A, #99H ,EXIT</p><p>  MOV 23H, #23H</p><p><b>  NEXT3:</b></p><p>  CJNE R1,#02H,NEXT4;選

102、擇鍵功能標(biāo)志為2 ,調(diào)分,否則跳出</p><p><b>  MOV A,22H</b></p><p>  ADD A,#99H</p><p><b>  DA A</b></p><p><b>  MOV 22H,A</b></p><p> 

103、 CJNE A,#99H,EXIT</p><p>  MOV 22H,#59H</p><p><b>  NEXT4:</b></p><p>  CJNE R1,#03H,EXIT;選擇鍵功能標(biāo)志為3,條秒,否則跳出</p><p>  MOV 21H,#00H;如較少鍵按下直接清零秒</p><

104、;p><b>  RET</b></p><p>  / * * * * *強(qiáng)制響鈴鍵處理子程序** * * * /</p><p>  DALING_KEY:</p><p>  CJNE R5,#08H,EXIT;選擇鍵鍵值</p><p><b>  CPL BEEP</b></p

105、><p><b>  RET</b></p><p>  / * * * * *萬(wàn)用返回程序** * * * /</p><p><b>  EXIT:</b></p><p><b>  RET</b></p><p>  / * * * * *數(shù)碼管字形

106、編碼表** * * * /</p><p><b>  TABLE:</b></p><p>  DB OCOH, OFGH, OA4H, OBOH, 99H, 92H, 82H, OFSH, 80H, 90H, OFFH;字型顯示編碼</p><p><b>  TABLE1:</b></p><p&

107、gt;  DB OFFH, OFGH, OA4H, OBOH, 99H, 92H, 82H, OFSH, 80H, 90H, OFFH;小時(shí)位的十位數(shù)編碼,該位如果為0則不顯示</p><p>  / * * * * *打鈴時(shí)間對(duì)比程序(起床、熄燈)* * * * * /</p><p><b>  BIJIA01:</b></p><p>&

108、lt;b>  MOV A,23H</b></p><p>  CJNE A,#06H,B0</p><p><b>  MOV A,22H</b></p><p>  CJNE A,#30H,B0;6:30到</p><p>  SETB 45H;開啟響鈴方式1</p><p>

109、<b>  RET</b></p><p>  BO: MOV A, 23H</p><p>  CJNEA, #22H, EXIT_1</p><p>  MOV A, 22H</p><p>  CJNE A, #30H, EXIT_l;22:30到</p><p>  SETB 45H;開啟

110、響鈴方式l</p><p><b>  RET</b></p><p><b>  EXIT_1:</b></p><p><b>  CLR 45H</b></p><p><b>  RET</b></p><p>  / *

111、* * * 打鈴時(shí)間對(duì)比程序(上、下課)* * * * /</p><p><b>  BIJIAO2:</b></p><p><b>  MOVA, 23H</b></p><p>  CJNE A, #07H, B1</p><p><b>  MOV A,22H</b>

112、</p><p>  CJNE A,#30H,B1;7:30</p><p>  SETB 44H:開啟響鈴方式2</p><p><b>  RET</b></p><p>  B1: MOV A, 23H</p><p>  CJNE A, #08H, B2</p><p&

113、gt;  MOV A, 22H</p><p>  CJNE A,#10H,B2;8:10</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B2: MOV A, 23H</p><p>  CJNE A,

114、#08H, B3</p><p>  MOV A, 22H</p><p>  CJNE A,#20H,B3;8:20</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B3: MOV A, 23H</

115、p><p>  CJNE A, #09H, B4</p><p>  MOV A, 22H</p><p>  CJNE A,#00H,B4;9:00</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><

116、p>  B4: MOV A, 23H</p><p>  CJNE A, #09H, B5</p><p>  MOV A, 22H</p><p>  CJNE A,#10H,B5;9:10</p><p><b>  SETB 44H</b></p><p><b>  RET

117、</b></p><p>  B5: MOV A, 23H</p><p>  CJNE A, #09H, B6</p><p>  MOV A, 22H</p><p>  CJNE A,#50H,B6;9:50</p><p><b>  SETB 44H</b></p>

118、;<p><b>  RET</b></p><p>  B6: MOV A, 23H</p><p>  CJNE A, #10H, B7</p><p>  MOV A, 22H</p><p>  CJNE A,#00H,B6;10:00</p><p><b>  

119、SETB 44H</b></p><p><b>  RET</b></p><p>  B7: MOV A, 23H</p><p>  CJNE A, #10H, B8</p><p>  MOV A, 22H</p><p>  CJNE A,#40H,B8;10:40</

120、p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B8: MOV A, 23H</p><p>  CJNE A, #10H, B9</p><p>  MOV A, 22H</p><p>

121、  CJNE A, #50H, B9; 10:50</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B9: MOV A, 23H</p><p>  CJNE A, #11H, B10</p><p>  

122、MOV A, 22H</p><p>  CJNE A, #30H, B10; 11:30</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B10: MOV A, 23H</p><p>  CJNE A,

123、 #13H, B11</p><p>  MOV A, 22H</p><p>  CJNE A, #30H, B11; 13:30</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B11: MOV A,

124、23H</p><p>  CJNE A, #14H, B12</p><p>  MOV A, 22H</p><p>  CJNE A, #10H, B12; 14:10</p><p><b>  SETB 44H</b></p><p><b>  RET</b>&l

125、t;/p><p>  B12: MOV A, 23H</p><p>  CJNE A, #14H, B13</p><p>  MOV A, 22H</p><p>  CJNE A, #20H, B13; 14:20</p><p><b>  SETB 44H</b></p>&l

126、t;p><b>  RET</b></p><p>  B13: MOV A, 23H</p><p>  CJNE A, #15H, B14</p><p>  MOV A, 22H</p><p>  CJNE A, #00H, B14; 15:00</p><p><b> 

127、 SETB 44H</b></p><p><b>  RET</b></p><p>  B14: MOV A, 23H</p><p>  CJNE A, #15H, B15</p><p>  MOV A, 22H</p><p>  CJNE A, #20H, B15; 15:

128、20</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B15: MOV A, 23H</p><p>  CJNE A, #16H, B16</p><p>  MOV A, 22H</p>

129、<p>  CJNE A, #00H, B16; 16:00</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B16: MOV A, 23H</p><p>  CJNE A, #16H, B17</p>

130、<p>  MOV A, 22H</p><p>  CJNE A, #04H, B17; 16:10</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B17: MOV A, 23H</p><p&g

131、t;  CJNE A, #16H, B18</p><p>  MOV A, 22H</p><p>  CJNE A, #50H, B18; 16:50</p><p><b>  SETB 44H</b></p><p><b>  RET</b></p><p>  B

132、18: MOV A, 23H</p><p>  CJNE A, #19H, B19</p><p>  MOV A, 22H</p><p>  CJNE A, #00H, B19; 19:00</p><p><b>  SETB 44H</b></p><p><b>  RET&

133、lt;/b></p><p>  B19: MOV A, 23H</p><p>  CJNE A, #20H, EXIT_2</p><p>  MOV A, 22H</p><p>  CJNE A, #30H, EXIT_2; 20:30</p><p><b>  SETB 44H</b&

134、gt;</p><p><b>  RET</b></p><p><b>  EXIT_2:</b></p><p><b>  CLR 44H</b></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)論