版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的</p><p> 各個(gè)領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)</p><p> 品性
2、能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。</p><p> 現(xiàn)代生活的人們越來越重視起了時(shí)間觀念,可以說是時(shí)間和金錢劃上了等號。對于那些</p><p> 對時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時(shí)間的不準(zhǔn)確會帶來非常大的麻煩,所以以數(shù)碼</p><p> 管為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的時(shí)間簡單明了而且讀</p>
3、<p> 數(shù)快、時(shí)間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會導(dǎo)致誤差。</p><p> 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字鐘的精度、</p><p> 穩(wěn)定度遠(yuǎn)遠(yuǎn)超過老式機(jī)械鐘。在這次設(shè)計(jì)中,我們采用LED數(shù)碼管顯示時(shí)、分、秒,以24</p><p> 小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進(jìn)行顯示
4、,用12MHz的晶振產(chǎn)生振蕩脈沖,定</p><p> 時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時(shí)間的其本功能,還可以實(shí)現(xiàn)對時(shí)間的調(diào)整。數(shù)字</p><p> 鐘是其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛,</p><p> 因此得到了廣泛的使用。</p><p> 關(guān)鍵字:數(shù)字電子鐘 單片機(jī)<
5、;/p><p> 1.1數(shù)字電子鐘的背景 </p><p> 20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個(gè)領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時(shí)間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種
6、遺忘無傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。</p><p> 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟
7、件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。</p><p> 單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。</p><p> 1.2數(shù)字電子鐘的意義</p><p> 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對.時(shí),分
8、,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動報(bào)警、按時(shí)自動打鈴、時(shí)間程序自動控制、定時(shí)廣播、自動起閉路燈、定時(shí)開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時(shí)電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)
9、的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。</p><p> 1.3數(shù)字電子鐘的應(yīng)用 </p><p> 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個(gè)人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動報(bào)時(shí)及
10、自動控制等各個(gè)領(lǐng)域。 </p><p> 1.4電路及功能說明:</p><p><b> 電路圖如圖所示:</b></p><p><b> 圖A</b&
11、gt;</p><p><b> 圖B</b></p><p><b> 圖C</b></p><p> 該數(shù)字鐘是用一片AT89C51A單片機(jī)通過編程去驅(qū)動8個(gè)數(shù)碼管實(shí)現(xiàn)的。通過6個(gè)開關(guān)控制,從上到下6個(gè)開關(guān)KEY1~KEY6的功能分別為:KEY1,切換至秒表;KEY2,調(diào)節(jié)時(shí)間,每調(diào)一次時(shí)加1;KEY3, 調(diào)節(jié)時(shí)
12、間,每調(diào)一次分加1;KEY4,從其它狀態(tài)切換至?xí)r鐘狀態(tài);KEY5,切換至鬧鐘設(shè)置狀態(tài),也可以對秒表清零;KEY6,秒表暫停.控制鍵分別與P1.0~P1.5口連接.其中:</p><p> A.通過P2口和P3口去控制數(shù)碼管的顯示如圖所示P2口接數(shù)碼管的a——g端,是控制輸出編碼,P3口接數(shù)碼管的1——8端,是控制動態(tài)掃描輸出.</p><p> B.從P0.0輸出一個(gè)信號使二極管發(fā)光,
13、二極管在設(shè)置的鬧鐘時(shí)間到了時(shí)候發(fā)光,若有樂曲可以去驅(qū)動揚(yáng)聲器實(shí)現(xiàn)。</p><p> ?。▓DA是時(shí)鐘運(yùn)行狀態(tài),圖B是鬧鐘運(yùn)行狀態(tài),圖C是秒表運(yùn)行狀態(tài))</p><p><b> 功能說明:</b></p><p> 各個(gè)控制鍵的功能:可對時(shí)間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加1);按下設(shè)置鍵數(shù)字時(shí)鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時(shí)間;時(shí)加1、分加1鍵是在校
14、準(zhǔn)時(shí)間時(shí)或設(shè)置鬧鐘時(shí)間對小時(shí)數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進(jìn)入秒表模式,同時(shí)秒表也開始計(jì)時(shí),按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對秒計(jì)時(shí)則可以按秒表開始、復(fù)位;清零鍵可以對鬧鐘清零。</p><p> AT89C51單片機(jī),通過編寫程序?qū)?shù)碼顯示進(jìn)行控制。</p><p> 八個(gè)7段數(shù)碼管顯示時(shí)鐘和秒表信號。</p><p><b>
15、; 實(shí)驗(yàn)程序流程圖:</b></p><p><b> 主程序流程圖:</b></p><p> 2. 中斷程序流程圖</p><p> 秒表中斷程序流程圖:</p><p><b> 按鍵程序流程圖:</b></p><p> 第一圖為時(shí)鐘和鬧鐘的
16、調(diào)節(jié).</p><p> 第二圖為進(jìn)入中斷和清零</p><p> 第三章 數(shù)字鐘的硬件設(shè)計(jì)</p><p> 3.1 最小系統(tǒng)設(shè)計(jì)</p><p> 圖3-1 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)圖 </p><p> 單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、晶振、/EA=1組成,下面介紹一下每一個(gè)組成部分。</p&
17、gt;<p> 1.電源引腳 </p><p> Vcc 40 電源端</p><p> GND 20 接地端</p><p> 工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。 </p><p><b> 2.外接晶體引腳</b></p>&
18、lt;p> 圖3-2 晶振連接的內(nèi)部、外部方式圖</p><p><b> XTAL1 19</b></p><p><b> XTAL2 18</b></p><p> XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部
19、方式時(shí),時(shí)鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放
20、大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22μF。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。</p><p> 3. 復(fù)位 RST 9</p><
21、;p> 在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0-P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為ROM的00H處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)機(jī)器
22、周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時(shí)鐘頻率選用6MHz時(shí),C取22μF,Rs約為200Ω,Rk約為1K。復(fù)位操作不會對內(nèi)部RAM有所影響。</p><p> 常用的復(fù)位電路如下圖所示:</p><p> 圖3-3 常用復(fù)位電路圖</p><p><b> 4.輸
23、入輸出引腳</b></p><p> (1) P0端口[P0.0-P0.7] P0是一個(gè)8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時(shí)作高阻抗輸入端。作為輸出口時(shí)能驅(qū)動8個(gè)TTL。</p><p> 對內(nèi)部Flash程序存儲器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上拉電阻。</p><p> 在訪問外部程序和外部數(shù)據(jù)存儲器時(shí)
24、,P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。</p><p> (2) P1端口[P1.0-P1.7] P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p> 對內(nèi)部Flash程序存儲器編程時(shí),接收低8位地址信息。</p><p> (3)
25、P2端口[P2.0-P2.7] P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時(shí),接收高8位地址和控制信息。</p><p> 在訪問外部程序和16位外部數(shù)據(jù)存儲器時(shí),P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時(shí)其引腳上的內(nèi)容在此期間不會改變。</p><p> (4
26、) P3端口[P3.0-P3.7] P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p> 對內(nèi)部Flash程序存儲器編程時(shí),接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。</p><p> 表3-1 P3端口引腳兼用功能表</p><p> 3.2 LED
27、顯示電路</p><p> 顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運(yùn)行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機(jī)應(yīng)用系統(tǒng)中常用的顯示器有: 發(fā)光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等。LED顯示器是現(xiàn)在最常用的顯示器之一,如下圖所示。</p><p> 圖3-4 LED顯示器的符號圖</p><p> 發(fā)光二極管(LED)由特殊的半導(dǎo)體材料砷化鎵、
28、磷砷化鎵等制成,可以單獨(dú)使用,也可以組裝成分段式或點(diǎn)陣式LED顯示器件(半導(dǎo)體顯示器)。分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每一段包含一個(gè)發(fā)光二極管。外加正向電壓時(shí)二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式LED數(shù)碼管的原理圖和符號.</p><p> 圖3-5 共陽式、共陰式LED數(shù)碼管的原理圖和數(shù)碼管的符號
29、圖</p><p> 顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、秒,因此需要6個(gè)數(shù)碼管,另需兩個(gè)數(shù)碼管來顯示橫。采用動態(tài)顯示方式顯示時(shí)間,硬件連接如下圖所示,時(shí)的十位和個(gè)位分別顯示在第一個(gè)和第二個(gè)數(shù)碼管,分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)數(shù)碼管,秒的十位和個(gè)位分別顯示在第七個(gè)和第八個(gè)數(shù)碼管,其余數(shù)碼管顯示橫線。LED顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方式和動態(tài)顯示方式兩種。對于多位LED顯
30、示器,通常</p><p> 都是采用動態(tài)掃描的方法進(jìn)行顯示,其硬件連接方式如下圖所示。</p><p> 圖3-6 數(shù)碼管的硬件連接示意圖</p><p><b> 數(shù)碼管使用條件:</b></p><p> a、段及小數(shù)點(diǎn)上加限流電阻 </p><p> b、使用電壓:段
31、:根據(jù)發(fā)光顏色決定; 小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定</p><p> c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動態(tài):平均電流 4-5mA 峰值電流 100mA</p><p> 數(shù)碼管使用注意事項(xiàng)說明:</p><p> ?。ǎ保?shù)碼管表面不要用手觸摸,不要用手去弄引角;</p><p> (2)焊接溫度:260度;焊接時(shí)間
32、:5S</p><p> ?。ǎ常┍砻嬗斜Wo(hù)膜的產(chǎn)品,可以在使用前撕下來。</p><p><b> 數(shù)字鐘的軟件設(shè)計(jì)</b></p><p> 系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問題:</p><p
33、> ?。?)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;</p><p> (2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;</p><p> ?。?)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);</p><p>
34、(4)繪制程序流程圖;</p><p> ?。?)合理分配系統(tǒng)資源;</p><p> ?。?)為程序加入注釋,提高可讀性,實(shí)施軟件工程;</p><p> ?。?)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。</p><p> 4.1 系統(tǒng)軟件設(shè)計(jì)流程圖</p><p> 這次的數(shù)字電子鐘設(shè)計(jì)用到很多子程序,它們的流
35、程圖如下所示。</p><p> 主程序是先開始,然后啟動定時(shí)器,定時(shí)器啟動后在進(jìn)行按鍵檢測,檢測完后,就可以顯示時(shí)間。</p><p> 圖4-1 主程序流程圖</p><p> 按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1
36、;如果沒有按下,就把時(shí)間顯示出來。 </p><p> 圖4-2 按鍵處理流程圖</p><p> 定時(shí)器中斷時(shí)是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時(shí)是否到,1小時(shí)如果到,時(shí)單元就加1,如果沒到,就顯示時(shí)間。</p><p> 圖4-3 定時(shí)器中斷流程圖</p>
37、;<p> 時(shí)間顯示是先秒個(gè)位計(jì)算顯示,然后是秒十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再就是時(shí)個(gè)位計(jì)算顯示,最后是時(shí)十位顯示。</p><p> 圖4-4 時(shí)間顯示流程圖</p><p> 4.2 數(shù)字鐘的原理圖</p><p> 用PROTUES軟件,根據(jù)要求畫出數(shù)字電子鐘的原理圖如下所示。</p><p&
38、gt; 圖4-5 數(shù)字鐘的原理圖 </p><p> 在此有必要介紹一下數(shù)字電子鐘的工作原理。</p><p> 工作原理 : </p><p> 數(shù)字電子鐘是一個(gè)將“ 時(shí)”,“分”,“秒”顯示于人的視覺器官的計(jì)時(shí)裝置。它的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59秒,另外還有校時(shí)功能。因此,一個(gè)基本的數(shù)字鐘電路主要由顯示器“時(shí)”,“分”,
39、“秒”和單片機(jī),還有校時(shí)電路組成。8個(gè)數(shù)碼管的段選接到單片機(jī)的P0口,位選接到單片機(jī)的P2口。數(shù)碼管按照數(shù)碼管動態(tài)顯示的工作原理工作,將標(biāo)準(zhǔn)秒信號送入“秒單元”,“秒單元”采用60進(jìn)制計(jì)數(shù)器,每累計(jì)60秒發(fā)出一個(gè)“分脈沖”信號,該信號將作為“分單元”的時(shí)鐘脈沖?!胺謫卧币膊捎?0進(jìn)制計(jì)數(shù)器,每累計(jì)60分鐘,發(fā)出一個(gè)“時(shí)脈沖”信號,該信號將被送到“時(shí)單元”?!皶r(shí)單元”采用24進(jìn)制計(jì)時(shí)器,可實(shí)現(xiàn)對一天24小時(shí)的累計(jì)。顯示電路將“時(shí)”、“分
40、”、“秒”通過七段顯示器顯示出來。</p><p> 4.3 設(shè)計(jì)主程序。(本次設(shè)計(jì)我們采用匯編語言編寫程序簡單明了)</p><p> ; P0.0-7口 為數(shù)碼管段選,采用共陽顯示管。</p><p> ; P2.1-6為數(shù)碼管位選。</p><p> ; 70-71H 秒計(jì)時(shí)和顯示單元 </p><p&
41、gt; ; 72-73H 分顯示單元 注意:72H放個(gè)位數(shù) 73H放十位數(shù)</p><p> ; 74-75H 小時(shí)顯示單元</p><p> ; 76-77H 分計(jì)時(shí)單元</p><p> ; 78-79H 小時(shí)計(jì)時(shí)單元</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
42、;;;;;;;</p><p> ;; 中斷入口程序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;</b></p><p> ORG 0000H ;程序執(zhí)行開始地
43、址</p><p> LJMP START ;跳到標(biāo)號START執(zhí)行</p><p> ORG 0003H ;外中斷0中斷程序入口</p><p> RETI ;外中斷0中斷返回</p><p> ORG 000BH ;定時(shí)器T0中斷程序入口</p><p&g
44、t; LJMP INTT0 ;跳至INTTO執(zhí)行</p><p> ORG 0013H ;外中斷1中斷程序入口</p><p> RETI ;外中斷1中斷返回</p><p> ORG 001BH ;定時(shí)器T1中斷程序入口</p><p> LJMP INTT1 ;跳至IN
45、TT1執(zhí)行</p><p> ORG 0023H ;串行中斷程序入口地址</p><p> RETI ;串行中斷程序返回</p><p><b> ;</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p>
46、;<p> ;; 主 程 序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;</b></p><p> START: MOV R0,#70H ;清70H-7AH共11個(gè)
47、內(nèi)存單元</p><p> MOV R7,#0BH ;</p><p> CLEARDISP: MOV @R0,#00H ;</p><p> INC R0 ;</p><p> DJNZ R7,CLEARDISP ;</p><p> MO
48、V 20H,#00H ;清20H(標(biāo)志用)</p><p> MOV 7AH,#0AH ;放入"熄滅符"數(shù)據(jù)</p><p> MOV TMOD,#11H ;設(shè)T0、T1為16位定時(shí)器</p><p> ;用11.0592M初值是4C00H;用12M初值是3CB0H</p><
49、p> MOV TL0,#00H ;50MS定時(shí)初值(T0計(jì)時(shí)用)</p><p> MOV TH0,#4cH ;50MS定時(shí)初值</p><p> MOV TL1,#00H ;50MS定時(shí)初值(T1閃爍定時(shí)用)</p><p> MOV TH1,#4cH ;50MS定時(shí)初值</p><p&g
50、t; SETB EA ;總中斷開放</p><p> SETB ET0 ;允許T0中斷</p><p> SETB TR0 ;開啟T0定時(shí)器</p><p> MOV R4,#14H ;1秒定時(shí)用初值(50MS×20)</p><p>
51、; START1: LCALL DISPLAY ;調(diào)用顯示子程序</p><p> jnb P1.1,set_h ;此按鍵是小時(shí)加1</p><p> jnb P1.2,set_M ;此按鍵是分鐘加1 </p><p> SJMP START1 ;P1.0口為1時(shí)跳回START1</p><p>
52、 set_h: ljmp set_hh</p><p> set_m: ljmp set_mm</p><p><b> ;</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 1秒計(jì)時(shí)程序
53、 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;T0中斷服務(wù)程序</b></p><p> INTT0: PUSH ACC ;累加器入棧保護(hù)</p><p> PUSH PSW
54、 ;狀態(tài)字入棧保護(hù)</p><p> CLR ET0 ;關(guān)T0中斷允許</p><p> CLR TR0 ;關(guān)閉定時(shí)器T0</p><p> ;用11.0592M初值是4C00H;用12M初值是3CB0H</p><p> MOV A,#00H ;中斷響應(yīng)時(shí)間同步修正,
55、要精確調(diào)整在這里?。?!</p><p> ADD A,TL0 ;低8位初值修正</p><p> MOV TL0,A ;重裝初值(低8位修正值)</p><p> MOV A,#4CH ;高8位初值修正</p><p> ADDC A,TH0 ;</p&
56、gt;<p> MOV TH0,A ;重裝初值(高8位修正值)</p><p> SETB TR0 ;開啟定時(shí)器T0</p><p> DJNZ R4, OUTT0 ;20次中斷未到中斷退出</p><p> ADDSS: MOV R4,#014H ;20次中斷
57、到(1秒)重賦初值 14h</p><p> MOV R0,#71H ;指向秒計(jì)時(shí)單元(70H-71H)</p><p> ACALL ADD1 ;調(diào)用加1程序(加1秒操作)</p><p> MOV A,R3 ;秒數(shù)據(jù)放入A(R3為2位十進(jìn)制數(shù)組合)</p><
58、;p> CLR C ;清進(jìn)位標(biāo)志</p><p> CJNE A,#60H,ADDMM ;</p><p> ADDMM: JC OUTT0 ;小于60秒時(shí)中斷退出</p><p> ACALL CLR0 ;大于或等于60秒時(shí)對秒計(jì)時(shí)單元清0<
59、/p><p> MOV R0,#77H ;指向分計(jì)時(shí)單元(76H-77H)</p><p> ACALL ADD1 ;分計(jì)時(shí)單元加1分鐘</p><p> MOV A,R3 ;分?jǐn)?shù)據(jù)放入A</p><p> CLR C ;清進(jìn)
60、位標(biāo)志</p><p> CJNE A,#60H,ADDHH ;</p><p> ADDHH: JC OUTT0 ;小于60分時(shí)中斷退出</p><p> ACALL CLR0 ;大于或等于60分時(shí)分計(jì)時(shí)單元清0</p><p> MOV R0,#79H
61、 ;指向小時(shí)計(jì)時(shí)單元(78H-79H)</p><p> ACALL ADD1 ;小時(shí)計(jì)時(shí)單元加1小時(shí)</p><p> MOV A,R3 ;時(shí)數(shù)據(jù)放入A</p><p> CLR C ;清進(jìn)位標(biāo)志</p><p> CJNE A,#2
62、4H,HOUR ;</p><p> HOUR: JC OUTT0 ;小于24小時(shí)中斷退出</p><p> ACALL CLR0 ;大于或等于24小時(shí)小時(shí)計(jì)時(shí)單元清0</p><p> OUTT0: MOV 72H,76H ;中斷退出時(shí)將分、時(shí)計(jì)時(shí)單元數(shù)據(jù)移</
63、p><p> MOV 73H,77H ;入對應(yīng)顯示單元</p><p> MOV 74H,78H ;</p><p> MOV 75H,79H ;</p><p> POP PSW ;恢復(fù)狀態(tài)字(出棧)</p><p
64、> POP ACC ;恢復(fù)累加器</p><p> SETB ET0 ;開放T0中斷</p><p> RETI ;中斷返回</p><p><b> ;</b></p><p> ;;;;;;;;;;;;
65、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 加1子 程 序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;</b></p><p> AD
66、D1: MOV A,@R0 ;取當(dāng)前計(jì)時(shí)單元數(shù)據(jù)到A</p><p> DEC R0 ;指向前一地址</p><p> SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p> ORL A,@R0 ;前一地址中數(shù)據(jù)放入A中低四位</p><p> ADD A
67、,#01H ;A加1操作</p><p> DA A ;十進(jìn)制調(diào)整</p><p> MOV R3,A ;移入R3寄存器</p><p> ANL A,#0FH ;高四位變0</p><p> MOV @R0,A ;放回前一地址單元</p>
68、<p> MOV A,R3 ;取回R3中暫存數(shù)據(jù)</p><p> INC R0 ;指向當(dāng)前地址單元</p><p> SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p> ANL A,#0FH ;高四位變0</p><p> MOV @R
69、0,A ;數(shù)據(jù)放入當(dāng)削地址單元中</p><p> RET ;子程序返回</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; 清零程序 ;;</p><p> ;
70、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;對計(jì)時(shí)單元復(fù)零用</b></p><p> CLR0: CLR A ;清累加器</p><p> MOV @R0,A ;清當(dāng)前地址單元</p><p> DEC
71、 R0 ;指向前一地址</p><p> MOV @R0,A ;前一地址單元清0</p><p> RET ;子程序返回</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;
72、 顯示程序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ; 顯示數(shù)據(jù)在70H-75H單元內(nèi),用六位LED共陽數(shù)碼管顯示,P1口輸出段碼數(shù)據(jù),P2口作</p><p> ; 掃描控制,每個(gè)LED數(shù)碼管亮1MS時(shí)間再逐位循環(huán)。</p>
73、;<p> DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址</p><p> MOV R5,#11011111B ;掃描控制字初值</p><p> PLAY: MOV a,r5 </p><p> MOV P2,A ;從P2口輸出</p><p>
74、 MOV A,@R1 ;取顯示數(shù)據(jù)到A</p><p> MOV DPTR,#TAB ;取段碼表地址</p><p> MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對應(yīng)段碼</p><p> CJNE R5,#0FEH,PLAY_1 ;不是秒低位則轉(zhuǎn)移PLAY_1</p><p> ANL A,
75、#7FH ;是,則點(diǎn)亮</p><p> AJMP PLAY_3</p><p> PLAY_1: CJNE R5,#0FBH,PLAY_2 ;分低位?</p><p> ANL A,#7FH</p><p> AJMP PLAY_3</p><p> PLAY_2: CJNE R5,#0EFH,PLAY_
76、3 ;時(shí)低位?</p><p> ANL A,#7FH</p><p> PLAY_3:MOV dptr,#00ffh ;將要顯示的字型碼送74LS273</p><p> MOVX @dptr,a ;段碼放入P0口</p><p> LCALL DL1MS ;顯示1MS</p><p&
77、gt; INC R1 ;指向下一地址</p><p> MOV A,R5 ;掃描控制字放入A</p><p> JNB ACC.0,ENDOUT ;ACC.5=0時(shí)一次顯示結(jié)束</p><p> RR A ;A中數(shù)據(jù)循環(huán)左移</p><p>
78、 MOV R5,A ;放回R5內(nèi)</p><p> AJMP PLAY ;跳回PLAY循環(huán)</p><p> ENDOUT: SETB P2.0 ;一次顯示結(jié)束,P2口復(fù)位</p><p> ;MOV P1,#0FFH ;P1口復(fù)位</p><p&g
79、t; RET ;子程序返回</p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH</p><p> ;共陽段碼表 "0" "1" "2" "3" "
80、4" "5" "6" "7" "8" "9" "不亮"</p><p><b> ;</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>
81、; ;; 延時(shí)程序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;</b></p><p> ;1MS延時(shí)程序,LED顯示程序用</p><p> DL1MS: MOV
82、 R6,#14H</p><p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET</b></p><p> ;20MS延時(shí)程序,采用調(diào)用顯示子程序以改善LE
83、D的顯示閃爍現(xiàn)象</p><p> DS20MS: ACALL DISPLAY</p><p> ACALL DISPLAY</p><p> ACALL DISPLAY</p><p><b> RET</b></p><p> ;延時(shí)程序,用作按鍵時(shí)間的長短判斷</p&
84、gt;<p> DL1S: LCALL DL05S</p><p> LCALL DL05S</p><p><b> RET</b></p><p> DL05S: MOV R3,#20H ;8毫秒*32=0.256秒</p><p> DL0
85、5S1: LCALL DISPLAY</p><p> DJNZ R3,DL05S1</p><p><b> RET</b></p><p><b> ;</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&
86、lt;/p><p> ;; 閃動調(diào)時(shí) 程 序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;T1中斷服務(wù)程序,用作時(shí)間調(diào)整時(shí)調(diào)整單元閃爍指示</p><p> INTT1: PUSH ACC
87、 ;中斷現(xiàn)場保護(hù)</p><p> PUSH PSW ;</p><p> MOV TL1, #00H ;裝定時(shí)器T1定時(shí)初值</p><p> MOV TH1, #4CH ;</p><p> DJNZ R2,INTT1
88、OUT ;0.3秒未到退出中斷(50MS中斷6次)</p><p> MOV R2,#06H ;重裝0.3秒定時(shí)用初值</p><p> CPL 02H ;0.3秒定時(shí)到對閃爍標(biāo)志取反</p><p> JB 02H,FLASH1 ;02H位為1時(shí)顯示單元"熄滅&qu
89、ot;</p><p> MOV 72H,76H ;02H位為0時(shí)正常顯示</p><p> MOV 73H,77H ;</p><p> MOV 74H,78H ;</p><p> MOV 75H,79H ;</p><p>
90、 INTT1OUT: POP PSW ;恢復(fù)現(xiàn)場</p><p> POP ACC ;</p><p> RETI ;中斷退出</p><p> FLASH1: JB 01H,FLASH2 ;01H位為1時(shí),轉(zhuǎn)小時(shí)熄滅控制<
91、/p><p> MOV 72H,7AH ;01H位為0時(shí),"熄滅符"數(shù)據(jù)放入分</p><p> MOV 73H,7AH ;顯示單元(72H-73H),將不顯示分?jǐn)?shù)據(jù)</p><p> MOV 74H,78H ;</p><p> MOV 75H,79
92、H ;</p><p> AJMP INTT1OUT ;轉(zhuǎn)中斷退出</p><p> FLASH2: MOV 72H,76H ;01H位為1時(shí),"熄滅符"數(shù)據(jù)放入小時(shí)</p><p> MOV 73H,77H ;顯示單元(74H-75H),小時(shí)數(shù)據(jù)將不顯示&
93、lt;/p><p> MOV 74H,7AH ;</p><p> MOV 75H,7AH ;</p><p> AJMP INTT1OUT ;轉(zhuǎn)中斷退出</p><p><b> ;</b></p><p> ;;;;;;;;;;;;
94、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; P1.1 小時(shí)加1調(diào)整程序 ;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;當(dāng)調(diào)小時(shí)時(shí)P1.1按鍵按下時(shí)進(jìn)入此程序</p><p>
95、; SET_hh: CLR ET0 ;關(guān)定時(shí)器T0中斷</p><p> CLR TR0 ;關(guān)閉定時(shí)器T0</p><p> MOV R2,#06H ;進(jìn)入調(diào)時(shí)間的狀態(tài),賦閃爍定時(shí)初值</p><p> SETB ET1 ;允許T1中斷</p><
96、;p> SETB TR1 ;開啟定時(shí)器T1</p><p> SETHH1: JNB P1.1,SET5 ;等待鍵釋放</p><p> CLR 00H ;清調(diào)分標(biāo)志</p><p> SETB 01H ;小時(shí)調(diào)整標(biāo)志置1</p>&
97、lt;p> SET6: JB P1.1,SET7 ;等待按鍵按下</p><p> LCALL DL05S ;有鍵按下延時(shí)0.5秒</p><p> JNB P1.1,SETOUT ;按下時(shí)間大于0.5秒退出時(shí)間調(diào)整</p><p> MOV R0,#79H ;按下時(shí)間小于0.5秒
98、加1小時(shí)操作</p><p> LCALL ADD1 ;調(diào)加1子程序</p><p> MOV A,R3 ;取調(diào)整單元數(shù)據(jù)</p><p> CLR C ;清進(jìn)位標(biāo)志</p><p> CJNE A,#24H,HOUU ;計(jì)時(shí)單元數(shù)據(jù)與2
99、4比較</p><p> HOUU: JC SET6 ;小于24轉(zhuǎn)SET6循環(huán)</p><p> LCALL CLR0 ;大于或等于24時(shí)清0操作</p><p> AJMP SET6 ;跳轉(zhuǎn)到SET6循環(huán)</p><p> SETOUT: JNB
100、 P1.0,SETOUT1 ;調(diào)時(shí)退出程序。等待鍵釋放</p><p> LCALL DISPLAY ;延時(shí)削抖</p><p> JNB P1.1,SETOUT ;是抖動,返回SETOUT再等待</p><p> CLR 01H ;清調(diào)小時(shí)標(biāo)志</p><p&g
101、t; CLR 00H ;清調(diào)分標(biāo)志</p><p> CLR 02H ;清閃爍標(biāo)志</p><p> CLR TR1 ;關(guān)閉定時(shí)器T1</p><p> CLR ET1 ;關(guān)定時(shí)器T1中斷</p><p>
102、 SETB TR0 ;開啟定時(shí)器T0</p><p> SETB ET0 ;開定時(shí)器T0中斷(計(jì)時(shí)開始)</p><p> LJMP START1 ;跳回主程序</p><p> SET5: LCALL DISPLAY ;鍵釋放等待時(shí)調(diào)用顯示程序(調(diào)小時(shí)
103、)</p><p> AJMP SETHH1 ;防止鍵按下時(shí)無時(shí)鐘顯示</p><p> SET7: LCALL DISPLAY ;等待調(diào)小時(shí)按鍵時(shí)時(shí)鐘顯示用</p><p> AJMP SET6</p><p> SETOUT1: LCALL DISPLAY
104、 ;退出時(shí)鐘調(diào)整時(shí)鍵釋放等待</p><p> AJMP SETOUT ;防止鍵按下時(shí)無時(shí)鐘顯示</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;; P1.2 分鐘加1調(diào)整程序 ;;</p>
105、<p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;當(dāng)調(diào)分鐘時(shí)P1.2按鍵按下時(shí)進(jìn)入此程序</p><p> SET_MM: CLR ET0 ;關(guān)定時(shí)器T0中斷</p><p> CLR TR0 ;關(guān)閉定時(shí)器T0</p>
106、<p> MOV R2,#06H ;進(jìn)入調(diào)時(shí)間的狀態(tài),賦閃爍定時(shí)初值</p><p> SETB ET1 ;允許T1中斷</p><p> SETB TR1 ;開啟定時(shí)器T1</p><p> SET2: JNB P1.2,SET1 ;P1.2口為0(鍵未釋放),
107、等待</p><p> SETB 00H ;鍵釋放,分調(diào)整閃爍標(biāo)志置1</p><p> SET4: JB P1.2,SET3 ;等待鍵按下</p><p> LCALL DL05S ;有鍵按下,延時(shí)0.5秒</p><p> JNB P1.2,SETout_
108、m ;按下時(shí)間大于0.5秒轉(zhuǎn)退出程序</p><p> MOV R0,#77H ;按下時(shí)間小于0.5秒加1分鐘操作</p><p> LCALL ADD1 ;調(diào)用加1子程序</p><p> MOV A,R3 ;取調(diào)整單元數(shù)據(jù)</p><p> CLR C
109、 ;清進(jìn)位標(biāo)志</p><p> CJNE A,#60H,HHH ;調(diào)整單元數(shù)據(jù)與60比較</p><p> HHH: JC SET4 ;調(diào)整單元數(shù)據(jù)小于60轉(zhuǎn)SET4循環(huán)</p><p> LCALL CLR0 ;調(diào)整單元數(shù)據(jù)大于或等于60時(shí)清0</p><p&
110、gt; CLR C ;清進(jìn)位標(biāo)志</p><p> AJMP SET4 ;跳轉(zhuǎn)到SET4循環(huán)</p><p> SETOUT_m: JNB P1.2,SETOUT1_m ;調(diào)時(shí)退出程序。等待鍵釋放</p><p> LCALL DISPLAY ;延時(shí)削抖</p>
111、;<p> JNB P1.2,SETOUT_m ;是抖動,返回SETOUT再等待</p><p> CLR 01H ;清調(diào)小時(shí)標(biāo)志</p><p> CLR 00H ;清調(diào)分標(biāo)志</p><p> CLR 02H ;清閃爍標(biāo)志<
112、/p><p> CLR TR1 ;關(guān)閉定時(shí)器T1</p><p> CLR ET1 ;關(guān)定時(shí)器T1中斷</p><p> SETB TR0 ;開啟定時(shí)器T0</p><p> SETB ET0 ;開定時(shí)器T0中斷(計(jì)
113、時(shí)開始)</p><p> LJMP START1 ;跳回主程序</p><p> SET1: LCALL DISPLAY ;鍵釋放等待時(shí)調(diào)用顯示程序(調(diào)分)</p><p> AJMP SET2 ;防止鍵按下時(shí)無時(shí)鐘顯示</p><p> SET3:
114、LCALL DISPLAY ;等待調(diào)分按鍵時(shí)時(shí)鐘顯示用</p><p> AJMP SET4</p><p> SETOUT1_m: LCALL DISPLAY ;退出分鐘調(diào)整時(shí)鍵釋放等待</p><p> AJMP SETOUT_m ;防止鍵按下時(shí)無時(shí)鐘顯示</p>
115、;<p> END ;程序結(jié)束</p><p> 在這里,我們有必要介紹一下單片機(jī)的中斷系統(tǒng),以利于我們的學(xué)習(xí)。</p><p> 中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機(jī)CPU的效率,也可以對突發(fā)事件處理。所謂中斷就是當(dāng)CPU正在執(zhí)行程序A時(shí),發(fā)生了另一個(gè)急需處理的事件B,這是CPU暫停當(dāng)前執(zhí)行的程序A,立即
116、轉(zhuǎn)去執(zhí)行處理事件B的程序,處理完事件B后,再返回到程序A繼續(xù)執(zhí)行,這個(gè)過程被叫做中斷。關(guān)于中斷的概念有下列幾個(gè)名詞:(1)程序A稱為主程序,(2)處理事件B的程序稱為中斷服務(wù)程序,(3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點(diǎn),(4)引起中斷的原因即事件B稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個(gè)如下的比喻。領(lǐng)導(dǎo)(CPU)在自己的房間辦公(執(zhí)行主程序),下屬(外設(shè))有問題打電話來請示(中斷源),領(lǐng)導(dǎo)停下正在
117、進(jìn)行的工作,通過電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)行)。</p><p> 中斷是一個(gè)過程,當(dāng)中央處理器CPU在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請求CPU暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來被中斷的地方,繼續(xù)原來的工作。引起中斷的原因或發(fā)出中斷請求的來源,稱為中斷源。</p><p> 單片
118、機(jī)一般允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向CPU請求中斷時(shí),就存在CPU優(yōu)先響應(yīng)哪一個(gè)中斷請求源的問題(優(yōu)先級問題),一般根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請求,于是便規(guī)定每一個(gè)中斷源都有一個(gè)中斷優(yōu)先級別,并且CPU總是響應(yīng)級別最高的中斷請求。</p><p> 當(dāng)CPU正在處理一個(gè)中斷源請求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級比它高的中斷源請求,如果CPU能夠暫時(shí)中止對原來中斷處理程序的執(zhí)行,轉(zhuǎn)而去處
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的電子鐘設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的電子鐘設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的電子鐘的設(shè)計(jì)畢業(yè)論文
- 基于51單片機(jī)的電子鐘設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的電子鐘設(shè)計(jì)畢業(yè)論文 (2)
- 基于單片機(jī)的lcd數(shù)字電子鐘畢業(yè)論文
- 【畢業(yè)論文】基于單片機(jī)系統(tǒng)的電子鐘設(shè)計(jì)與仿真
- 【畢業(yè)論文】基于單片機(jī)系統(tǒng)的電子鐘設(shè)計(jì)與仿真
- 單片機(jī)數(shù)字電子鐘的設(shè)計(jì)與研究畢業(yè)論文
- 單片機(jī)數(shù)字電子鐘的設(shè)計(jì)與研究畢業(yè)論文
- 單片機(jī)數(shù)字電子鐘的設(shè)計(jì)與研究畢業(yè)論文
- 電子鐘課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 基于單片機(jī)的電子鐘設(shè)計(jì)
- 畢業(yè)論文-基于單片機(jī)的數(shù)字電子鐘【精校排版】
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的電子鐘設(shè)計(jì)
- 單片機(jī)課程論文設(shè)計(jì)-電子鐘設(shè)計(jì)
- 單片機(jī)課程論文設(shè)計(jì)電子鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文-基于51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì)論文
- 單片機(jī)多功能電子鐘畢業(yè)設(shè)計(jì)論文
評論
0/150
提交評論