多功能智能化溫度測(cè)量?jī)x設(shè)計(jì)-有電路圖_第1頁
多功能智能化溫度測(cè)量?jī)x設(shè)計(jì)-有電路圖_第2頁
多功能智能化溫度測(cè)量?jī)x設(shè)計(jì)-有電路圖_第3頁
多功能智能化溫度測(cè)量?jī)x設(shè)計(jì)-有電路圖_第4頁
多功能智能化溫度測(cè)量?jī)x設(shè)計(jì)-有電路圖_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目 錄一、多功能智能化溫度測(cè)量?jī)x簡(jiǎn)介.2二、設(shè)計(jì)任務(wù)和設(shè)計(jì)要求.2 2.1 功能要求.2 2.2 主要技術(shù)指標(biāo).2三、總體方案論證與選擇.2四、各單元電路設(shè)計(jì).3 4.1 選擇溫度傳感器器件.3 4.2 選擇單片機(jī)器件.3 4.3 時(shí)鐘電路設(shè)計(jì)、接口設(shè)計(jì).3 4.4 放大器的設(shè)計(jì).4 4.5 A/D和D/A轉(zhuǎn)換器設(shè)計(jì).4 4.6 顯示器及鍵盤的設(shè)計(jì).5 4.7 抗干擾措施.5五、系統(tǒng)軟件設(shè)計(jì).5 5.1 系統(tǒng)軟件總體設(shè)計(jì).5 5.2 主程序設(shè)計(jì).6 5.3 數(shù)據(jù)采集及處理子程序設(shè)計(jì).6 5.4 鍵盤/顯示程序設(shè)計(jì).6六、總結(jié).8七、參考文獻(xiàn).8八、附錄.8一、多功能智能化溫度測(cè)量?jī)x簡(jiǎn)介 溫度測(cè)

2、量是現(xiàn)代檢測(cè)技術(shù)的重要組成部分,在保證產(chǎn)品質(zhì)量、節(jié)約能源和安全生產(chǎn)等方面起著關(guān)鍵的作用。因此,能夠確保快速、準(zhǔn)確地測(cè)量溫度的技術(shù)及其裝置普遍受到各國的重視。近年來,利用智能化數(shù)字式溫度傳感器以實(shí)現(xiàn)溫度信息的在線檢測(cè)已成為溫度檢測(cè)技術(shù)的一種發(fā)展趨勢(shì)。本文介紹的智能溫度檢測(cè)系統(tǒng),以智能化數(shù)字式溫度傳感器與PIC 微處理器有機(jī)結(jié)合,構(gòu)成了一種新型智能化溫度檢測(cè)系統(tǒng)。該系統(tǒng)具有性能可靠、測(cè)溫準(zhǔn)確、結(jié)構(gòu)簡(jiǎn)單、造價(jià)低廉等特點(diǎn),并兼具線路簡(jiǎn)捷、使用靈活、抗干擾性好、可移植性強(qiáng)等優(yōu)點(diǎn),可在工程實(shí)際中得到廣泛應(yīng)用。二、設(shè)計(jì)任務(wù)和設(shè)計(jì)要求功能要求配合電阻溫度傳感器,實(shí)現(xiàn)溫度的測(cè)量;具有開機(jī)自檢、自動(dòng)調(diào)零功能;具有

3、克服隨機(jī)誤差的數(shù)字濾波功能;. 使用220V/50Hz交流電源,設(shè)置電源開關(guān)、電源指示燈和電源保護(hù)功能。主要技術(shù)指標(biāo)測(cè)量溫度范圍:0200測(cè)量誤差:1%顯示方式:4位LED數(shù)碼管顯示被測(cè)溫度值。三、總體方案論證與選擇溫度檢測(cè)的主要方法溫度檢測(cè)方法一般可以分為兩大類,即接觸測(cè)量法和非接觸測(cè)量法。各種溫度測(cè)量方法各有自己的特點(diǎn)和各自的測(cè)量范圍,常用的測(cè)溫方法、類型及特點(diǎn)如表2.1所示。測(cè)量方式溫 度 計(jì) 或 傳 感 器 類 型測(cè)量范圍/精度/%特 點(diǎn)接觸式熱膨脹式水 銀-506500.11簡(jiǎn)單方便,易損壞(水銀污染)雙 金 屬03000.11結(jié)構(gòu)緊湊,牢固可靠壓力液 體-306001耐振,堅(jiān)固,價(jià)

4、格低廉氣 體-20350熱電偶鉑銠鉑01600種類多,適應(yīng)性強(qiáng),結(jié)構(gòu)簡(jiǎn)單,經(jīng)濟(jì)方便,應(yīng)用廣泛。需注意寄生熱電勢(shì)及動(dòng)圈式儀表電阻對(duì)測(cè)量結(jié)果的影響其 他-201100熱電阻鉑-260600精度及靈敏度均較好,需注意環(huán)境溫度的影響鎳-150300銅0180熱敏電阻-50350體積小,響應(yīng)快,靈敏度高,線性差,需注意環(huán)境溫度影響 非接觸式輻射溫度計(jì)80035001非接觸測(cè)量,不干擾被測(cè)量度場(chǎng),輻射率影響小,應(yīng)用簡(jiǎn)便光高溫度計(jì)70030001熱探測(cè)器20020001非接觸測(cè)溫,不干擾被測(cè)溫度場(chǎng),響應(yīng)快,測(cè)溫范圍大,適于測(cè)量溫度分布,易受外界干擾,標(biāo)定困難熱敏電阻探測(cè)器-5032001光子探測(cè)器03500

5、1其他示溫涂料碘化銀,二碘化貢,氯化鐵,液晶等-352000<1測(cè)溫范圍大,經(jīng)濟(jì)方便,特別適于大面積連續(xù)運(yùn)轉(zhuǎn)零件上的測(cè)量,精度低,人為誤差大 利用熱電效應(yīng)技術(shù)制成的溫度檢測(cè)元件。利用此技術(shù)制成的溫度檢測(cè)元件主要是熱電偶。熱電偶發(fā)展較早,比較成熟,至今仍為應(yīng)用最廣泛檢測(cè)元件之一。 熱電偶具有結(jié)構(gòu)簡(jiǎn)單、制作方便、測(cè)量范圍寬、精度高、熱慣性小等特點(diǎn),因此廣泛作為溫度傳感器的敏感元件。 利用熱輻射原理制成的高溫計(jì)。熱輻射高溫計(jì)通常分為兩種:一種是單色輻射高 溫 計(jì) ,一般稱光學(xué)高溫計(jì);一種是全輻射高溫計(jì),它的原理是物體吸收熱輻射后 ,視物體本身的性質(zhì),能將它吸收、透過或反射。 綜上我們選擇具有結(jié)

6、構(gòu)簡(jiǎn)單、制作方便、測(cè)量范圍寬、精度高、熱慣性小等特點(diǎn)被作為廣泛作為溫度傳感器的敏感元件。四、各單元電路設(shè)計(jì)4.1 選擇溫度傳感器器件 常用的熱電傳感器有熱電阻、熱電偶、集成溫度傳感器等。AD590測(cè)量熱力學(xué)溫度、攝氏溫度、兩點(diǎn)溫度差、多點(diǎn)最低溫度、多點(diǎn)平均溫度的具體電路,廣泛應(yīng)用于不同的溫度控制場(chǎng)合。由于AD590精度高、價(jià)格低、不需輔助電源、線性好,常用于測(cè)溫和熱電偶的冷端補(bǔ)償。4.2 選擇單片機(jī)器件 在大多情況下,理應(yīng)選擇性價(jià)比高的單片機(jī)及其它器件,但在某些特殊場(chǎng)合,當(dāng)性能成為決定需測(cè)量現(xiàn)場(chǎng)集成溫度傳感器共射極放大器多路開關(guān)轉(zhuǎn)換采樣保持A/D單片機(jī)系統(tǒng)顯示打印控制因素時(shí),應(yīng)以性能優(yōu)先原則選

7、擇所需的單片機(jī)或其它器件。單片機(jī)一般分為51系列和52系列,本次設(shè)計(jì)用到的是52系列即8051單片機(jī)。4.3 時(shí)鐘電路設(shè)計(jì)、接口設(shè)計(jì) 本系統(tǒng)采用一片DALLAS公司生產(chǎn)的串行實(shí)時(shí)時(shí)鐘芯片DS13 02和兩片Intel公司的E2PR OM2 864芯片。DS1302是一個(gè)實(shí)時(shí)時(shí)鐘芯片,附加31字節(jié)靜態(tài)RAM,可通過簡(jiǎn)單的串行總線與單片機(jī)進(jìn)行通訊,實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小于31天時(shí)可自動(dòng)調(diào)整,包括閏年,有效期至2100年。可采用12h或24h方式計(jì)時(shí),采用雙電源(主電源和備用電源)供電,可設(shè)置備用電源充電方式,芯片為8引腳小型DIP封裝。包括A/D接口、D/A接口、LE

8、D顯示器接口等。單片機(jī)各部分是通過內(nèi)部的總線有機(jī)地連接起來的4.4 放大器的設(shè)計(jì) 溫度傳感器的輸出電壓經(jīng)過ISO100隔離放大(單增益)后,將輸出電壓送給測(cè)量放大器進(jìn)行放大,以便放大后的輸出電壓和A/D轉(zhuǎn)換器的量程相匹配。測(cè)量放大器的輸入阻抗高,易于與各種信號(hào)源相匹配。它的輸入失調(diào)電壓、輸入失調(diào)電流及輸入偏置電流小,時(shí)間漂移小,因而穩(wěn)定性好。它的共模抑制比大,適用于在大的共模電壓背景下對(duì)微小差模信號(hào)的放大。它是一種高性能的放大器,常用于熱電偶、應(yīng)變電橋、流量計(jì)量、生物測(cè)量以及其它有較大共模干擾下的本質(zhì)上是直流緩變的微弱差模信號(hào)放大。本設(shè)計(jì)中選用了AD521,它是美國AD公司生產(chǎn)的第二代單片集成

9、精密儀表放大器。AD521的特性參數(shù)如下(1) 可調(diào)范圍為0.110000(2) 溫度穩(wěn)定性為士(3士0.05G) PPM/(3) 失調(diào)電壓為0.5mV(4) 差模輸入電阻為3×109(5) 共模輸入電壓為6×4.5 A/D和D/A轉(zhuǎn)換器設(shè)計(jì) 通常嵌入式單片機(jī)(MCU),由于設(shè)計(jì)用途的不同,并不是每一種都有A/D轉(zhuǎn)換,即使有的帶A/D轉(zhuǎn)換,一般都是8位或10位分辨率,用戶在使用這些芯片而又需要較高分辨率的A/D功能時(shí),一般要外接專用的A/D芯片,如MAX110等。這些芯片雖然具有精度好、分辨率高,使用方便等優(yōu)點(diǎn),但價(jià)格很高,增大了系統(tǒng)成本,為此可使用各種A/D轉(zhuǎn)換技術(shù)構(gòu)成廉

10、價(jià)的A/D。一般A/D轉(zhuǎn)換常用以下A/D轉(zhuǎn)換器硬件與單片機(jī)連接的方式如圖2.4。8位A/D啟動(dòng)轉(zhuǎn)換轉(zhuǎn)換結(jié)束P1 單片機(jī) 8031 8051 8751P20 INT 鎖存器VINN圖2.4 A/D轉(zhuǎn)換器硬件與單片機(jī)連接的方式 若A/D轉(zhuǎn)換器中帶鎖存器,可與單片機(jī)直連;若A/D片中不帶鎖存器,則在單片機(jī)與A/D之間要家鎖存器(如圖2.3中顯示),如74LS373等。至于進(jìn)入單片機(jī)后的信號(hào)如何處理,則要根據(jù)測(cè)試控制要求來決定。控制可用位控方式,也可用D/A轉(zhuǎn)換方式等。圖2.5 A/D轉(zhuǎn)換與51單片機(jī)的接口4.6 顯示器及鍵盤的設(shè)計(jì) 在本設(shè)計(jì)中采用8279可編程鍵盤、顯示器接口芯片。8279芯片是一種

11、專用于鍵盤、顯示器的接口器件,它能對(duì)顯示器自動(dòng)掃描,能識(shí)別鍵盤上閉合鍵的鍵號(hào),提高CPU的工作效率。8279包括鍵盤輸入和輸出兩部分。鍵盤部分提供掃描工作方式,可以和具有64個(gè)按鍵和傳感器的陣列相連。能自動(dòng)消除抖動(dòng)以及對(duì)n鍵同時(shí)按下采取保護(hù)。顯示部分為發(fā)光二極管、熒光管及其它顯示器提供了按掃描方式工作的顯示接口,它為顯示器提供多路復(fù)用信號(hào)可顯示多達(dá)16位的字符或數(shù)字由于顯示所需電流比8279輸出的電流要大,所以在顯示器前端用7407驅(qū)動(dòng)器對(duì)8279的輸出電流進(jìn)行放大。8279的中斷請(qǐng)求信號(hào)線IRQ經(jīng)反向驅(qū)動(dòng)器74F04接至8031外部中斷,這樣,可通過中斷方式對(duì)按鍵進(jìn)行處理4.7 抗干擾措施

12、根據(jù)干擾源引入的途徑,抗干擾措施可以從以下方面考慮。1)電源供電系統(tǒng) 為了克服電網(wǎng)以及自本系統(tǒng)其他元件的干擾,可采用隔離變壓器、交流穩(wěn)壓、線濾波器、穩(wěn)壓電路各級(jí)濾波等防干擾措施。2) 電路上的考慮為了進(jìn)一步提高系統(tǒng)的可靠性,在硬件電路設(shè)計(jì)時(shí),應(yīng)采取一系列防干擾措施:(1) 大規(guī)模IC芯片電源供電端都應(yīng)加高頻濾波電容,根據(jù)負(fù)載電流的情況,在各級(jí)供電節(jié)點(diǎn)還應(yīng)加足夠容量的退藕電容;(2) 開關(guān)量I/O通道與外界的隔離可采用光電耦合器件,特別是與繼電器、可控硅等連接的通道,一定要采取隔離措施;(3) 可采用CMOS器件提高工作電壓(如+15V),這樣干擾門限也相應(yīng)提高;(4) 傳感器后級(jí)的變送器盡量采

13、用電流型傳輸方式,因電流型比電壓型抗干擾能力強(qiáng);(5) 電路應(yīng)有合理的布線及接地方法;(6) 與環(huán)境干擾的隔離可采用屏蔽措施。五、系統(tǒng)軟件設(shè)計(jì)5.1 系統(tǒng)軟件總體設(shè)計(jì) 整個(gè)溫度檢測(cè)系統(tǒng)是在程序控制下工作的,該系統(tǒng)的軟件全部采用匯編語言編寫,以提高系統(tǒng)的快速性和實(shí)時(shí)性。其設(shè)計(jì)方法與硬件設(shè)計(jì)相對(duì)應(yīng),同樣采用模塊化的設(shè)計(jì)思想,將該部分設(shè)計(jì)劃分為相應(yīng)的程序模塊,分別進(jìn)行設(shè)計(jì)、編制和調(diào)試,最后通過主程序和中斷處理程序?qū)⒏鞒绦蚰K連接起來。這樣有利于程序修改和調(diào)試,增強(qiáng)了程序的可移植性。整個(gè)軟件系統(tǒng)主要有以下幾部分:主程序、數(shù)據(jù)采集、數(shù)據(jù)標(biāo)度變換處理及鍵盤顯示等程序。5.2 主程序設(shè)計(jì) 系統(tǒng)的主程序設(shè)計(jì)主

14、要完成系統(tǒng)初始化、中斷優(yōu)先級(jí)設(shè)定以及判斷調(diào)用各模塊程序,即主要實(shí)現(xiàn)各程序模塊的連接。整個(gè)控制系統(tǒng)軟件設(shè)計(jì)按照兩種控制方式設(shè)計(jì):一種采用鍵盤控制方式,另一種采用微機(jī)(上位機(jī))控制方式。 (2)微機(jī)控制方式微機(jī)控制方式是采用微機(jī)通過通訊接口向單片機(jī)發(fā)出命令,單片機(jī)按其要求實(shí)現(xiàn)控制系統(tǒng)的動(dòng)作要求圖5.1 鍵盤控制流程5.3 數(shù)據(jù)采集及處理子程序設(shè)計(jì) 該部分主要實(shí)現(xiàn)將來自熱電偶傳感器的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的功能。由電路連接圖可知,AM轉(zhuǎn)換器工作于中斷方式。當(dāng)AM轉(zhuǎn)換完畢時(shí),STS由高電平變?yōu)榈碗娖剑ㄟ^IN而向8051請(qǐng)求中斷。該程序主要有A/D轉(zhuǎn)換器啟動(dòng)程序、中斷等待轉(zhuǎn)換結(jié)束、讀取轉(zhuǎn)換結(jié)果并存入R

15、AM等幾步。被測(cè)信號(hào)經(jīng)過AM 轉(zhuǎn)換后變?yōu)閿?shù)字信號(hào),必須通過數(shù)據(jù)處理后才能變?yōu)榭芍苯语@示的溫度值5.4 鍵盤/顯示程序設(shè)計(jì) 8279的基本程序有三大塊:一塊是8279的初始化,一塊是顯示程序,另一塊是鍵盤處理程序。初始化程序主要送入各種命令字,放在主程序中,顯示程序編為顯示子程序,鍵盤處理程序放在中斷服務(wù)程序中。程序主要功能是將要顯示的8個(gè)數(shù)的字段碼送顯示RAM進(jìn)行循環(huán)顯示,相應(yīng)的程序框圖如圖4.84.10所示,其中鍵盤處理程序采用中斷方式,通過外部中斷1實(shí)現(xiàn)。整個(gè)程序是通過設(shè)定命令字,實(shí)現(xiàn)鍵盤和LED顯示器的工作方式的設(shè)定,并完成對(duì)各種數(shù)據(jù)的讀、寫操作。對(duì)于8279相關(guān)的命令格式分述如下:5.

16、4.1 鍵盤/顯示方式設(shè)置命令字命令格式:D7D6D5D4D3D2D1D0000DDKKK其中:D7 D6 D5 =000為方式設(shè)置命令的特征位;D4 D3 =D D:用來設(shè)置顯示方式;D2 Dl DO =KKK:用來設(shè)定鍵盤工作方式。在本設(shè)計(jì)中采用編碼掃描鍵盤,顯示是從右入口,8字符顯示。因此該命令為10H。5.4.2 編程時(shí)鐘命令命令格式:D7D6D5D4D3D2D1D0001PPPPP其中: D7 D6 D5 =001為時(shí)鐘命令特征位; D4 D3 D2 DIDO=PPPPP是用來對(duì)外部輸入時(shí)鐘CLK進(jìn)行分頻的分?jǐn)?shù)N。通過對(duì)N的設(shè)定以獲得內(nèi)部的工作頻率100KHz。由以前章節(jié)8279的電

17、路連接圖可知CLK引腳接在8031A LE引腳上,8031的時(shí)鐘頻率是12MH的,因此接入8279的外部時(shí)鐘頻率是2MH。為了獲取8279內(nèi)部要求的100KH的基本頻率,應(yīng)對(duì)輸入的外部時(shí)鐘進(jìn)行20分頻,即PPPPP被設(shè)置成為10100.5.4.3 讀顯示RAM命令命令 格式:D7D6D5D4D3D2D1D0011AIAAAA其中: D7D6D5=001為讀顯示RAM命令特征位,該命令用來設(shè)定將要讀出顯示RAM的地址; D3D2D1D0=AAAA用來顯示RAM的存儲(chǔ)單元; D4 =A1為自動(dòng)增量特征位,當(dāng)Al=l時(shí),則每次讀出之后地址自動(dòng)加1,指向下一個(gè)地址。5.4.4 寫顯示RAM命令命令格式

18、:D7D6D5D4D3D2D1D0100AIAAAA其中: D7D6D5=10。為寫顯示RAM命令特征字,用來設(shè)定將要寫入的顯示RAM地址; D3D2D1 D O=AAAA用來尋址顯示RAM的存儲(chǔ)單元; D4 =A 1 為自動(dòng)增量特征位,AI=1時(shí),每次寫入后地址自動(dòng)加I,指向下一次寫入的RAM的地址。5.4.5 清除命令命令格式:D7D6D5D4D3D2D1D0110CDCDCDYCFCAD7D6D5=110為清除命令特征位,用來清除FIFO RAM和顯示RAM;D4D3D2=CD CD CDY用來設(shè)定清除顯示RAM的方式;D1=CF用來置空FIFO存儲(chǔ)器;DO=CA為總清零的特征位。6、

19、總結(jié)本設(shè)計(jì)所研制的多功能智能化溫度測(cè)量?jī)x是單片機(jī)控制的智能化儀表,它的主要特點(diǎn)如下:(1) 該儀表適用于-55+150溫度范圍的測(cè)量可以進(jìn)行溫度的實(shí)時(shí)顯示。(2) 該儀表選用了集成溫度傳感器AD590作為測(cè)溫元件,該元件體積小,精度高重要的是它的價(jià)格低廉。這樣該儀表的成本就低,可以大規(guī)模生產(chǎn)。(3) 該儀器可以進(jìn)行溫度的實(shí)時(shí)顯示還有時(shí)間顯示及報(bào)警功能并且使用方便。(4) 元器件經(jīng)仔細(xì)挑選,抗干擾能力強(qiáng)。七、參考文獻(xiàn)單片機(jī)原理與接口技術(shù) 李朝青 北京航空航天大學(xué)出版社單片機(jī)原理與應(yīng)用 李建忠 西安電子科技大學(xué)出版社智能儀器原理,設(shè)計(jì)及調(diào)試 季建華等 華東理工大學(xué)出版社單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)應(yīng)用 何立

20、民主編 北京航空航天大學(xué)出版社 智能化儀器原理及應(yīng)用 曹建平 西安電子科技大學(xué)出版社 智能儀器原理與設(shè)計(jì) 趙新民 哈爾濱工業(yè)大學(xué)出版社智能儀器原理及應(yīng)用 趙茂泰 電子工業(yè)出版社現(xiàn)代科學(xué)儀器 中國分析測(cè)試協(xié)會(huì)主辦自動(dòng)化儀表 中國儀器儀表學(xué)會(huì) 上海工業(yè)自動(dòng)化儀表研究所主辦儀器儀表學(xué)報(bào) 中國儀器儀表學(xué)會(huì)主辦儀器儀表網(wǎng) ( :/ china_meter )儀器商城網(wǎng) ( :/ 17web.八、附錄 (1) 時(shí)鐘電路主程序清單如下:ORG 0000H LJMP MAIN ;轉(zhuǎn)主程序ORG 0003H;外部中斷0中斷服務(wù)程序入口地址LJMP T0SEV ;轉(zhuǎn)外部中斷0中斷服務(wù)程序ORG 000BH;T0定

21、時(shí)中斷服務(wù)程序入口地址LJMP INTB ;轉(zhuǎn)T0定時(shí)中斷服務(wù)程序ORG 0013H;外部中斷1中斷服務(wù)程序入口地址LJMP INTB; 轉(zhuǎn)外部中斷1中斷服務(wù)程序 ORG 001BH ;T1定時(shí)中斷服務(wù)程序入口地址LJMP T1SEV ;轉(zhuǎn)T1定時(shí)中斷服務(wù)程序ORG 0030H;設(shè)置主程序起始地址=0030HMAIN:MOV SP,#60H ;設(shè)置堆棧指針 MOV A,#00H MOV 3OH,A MOV 31H,A MOV 32H,A MOV 33H,#0CH MOV 34H,A MOC 35H,A MOV 44H,#80H ;LED位選擇碼 MOV 45H,#40H MOV 46H,#20

22、H MOV 47H,#10H CLR RS0 CLR RS1 ;選擇0組工作寄存器 MOV R2,#0 MOV R3,#0 ;設(shè)置時(shí)間初值=12:00 MOV R4,#0 MOV R5,#12MOV TMOD,#11H ;設(shè)置T1、T0的工作方式:定時(shí)器。工作方式1 MOV TH1,#3CH MOV TL1,#0B0H;T1計(jì)數(shù)初值=3CB0H MOV TH0,#0ECH ;T0計(jì)數(shù)初值=EC78H MOV TL0,#78H MOV IP,#08H ;設(shè)置中斷優(yōu)先級(jí) MOV TCON,#50H ;啟動(dòng)定時(shí)器T0、T1 MOV IE,#8FH ;開中斷LOP: MOV B,#10;將二進(jìn)制數(shù)轉(zhuǎn)換

23、為十進(jìn)制數(shù)(BCD碼) MOV A,33H ;并送到顯示緩沖區(qū)40H43H DIV AB MOV 40H,A MOV 41H,B MOV B,#10 MOV A,32H DIV AB MOV 42H,AAA: MOV 43H,B SETB RS2 CLR RS0A1: MOV R2,35H;判斷是否有定時(shí)時(shí)間 CJNE R2,#0,NT MOV R2,34H CJNE R2,#0,NT SJMP BBNT: MOV A,35H CJNE A,33H,BB ;判斷定時(shí)時(shí)間到否 MOV A,34H CJNE A,32H,BB CLR P3.7 ;時(shí)間到,發(fā)出報(bào)警 SJMP LOP SJMP LOP

24、(2) T0定時(shí)器中斷服務(wù)程序清單如下:TOSEV:PUSH A ;LED定時(shí)掃描程序 PUSH PSW ;保護(hù)現(xiàn)場(chǎng) SETB RS1 ;RS1、RS0=11H SETB RS0 ;選擇3組工作寄存器 CLR TR0 ;停止T0定時(shí)器 MOV R2,#04H ;設(shè)置顯示器位數(shù) MOV R0,#40H ;設(shè)置段碼首地址 MOV R1,#44H ;設(shè)置位碼首地址 GOON: MOV A,R2 ;送顯示位數(shù)到A CJNE A,31H,NOFLASH ;判斷是閃爍位否,不是則轉(zhuǎn)NO、FLASHDJNZ 30H,F(xiàn)LASH;是閃爍位則轉(zhuǎn)移到FLASHNOFLASH:MOV A,R1;送位碼地址到A累加器

25、ADD A,R0 ;將段碼和位碼組成8位二進(jìn)制數(shù) MOV P1,A ;輸出段碼、位碼數(shù)據(jù)到P1口LCALL DELAY1 ;調(diào)延時(shí)子程序,延時(shí)1ms FLASH: INC R0 ;段碼地址+1INC R1 ;位碼地址+1DJNZ R2,GOON ;判斷4位都顯示完否;沒完繼續(xù)顯示下一位 MOV TH0,#0ECH MOV TL0,#78H;重置T0計(jì)數(shù)初值POP A ;恢復(fù)現(xiàn)場(chǎng) SETB ET0 ;允許T0中斷 SETB TR0 ;啟動(dòng)T0開始定時(shí)SETB EA ;開中斷 RETI ;中斷返回DELAY1: MOV R3,#02H ;延時(shí)1ms子程序 AGAIN: MOV R4,#0F8H D

26、ELAY: DJNZ R3,AGAIN RET 注意:在T0中斷服務(wù)程序中,有調(diào)用了延時(shí)1ms子程序,因此,T0中斷服務(wù)程序有是延時(shí)1ms子程序的主程序。(3) 中斷服務(wù)程序如下:T1_SEV:MOV TH1,#3CH ;重置T1計(jì)數(shù)初值MOV TL1,#0B0H CLR EA ;關(guān)中斷 PUSH A ;保護(hù)現(xiàn)場(chǎng) PUSH B PUSH PSW CLR RS1 CLR RS0 ;選擇0區(qū)工作寄存器 INC R2 ;中斷次數(shù)加1CJNE R2,#0AH,EN ;判斷中斷10次否,否則轉(zhuǎn)EN MOV R2,#0 ;T1中斷10次的累計(jì)時(shí)1s,計(jì)數(shù)寄存器R2清零 INC R3;秒計(jì)時(shí)單元R3+1CJ

27、NE R3,#3CH,EN判斷R3=60s否,否則轉(zhuǎn)EN MOVR3,#0 ;60s時(shí)間到。R3=0 INC R4 ;分計(jì)時(shí)單元R4+1 MOV 32H,R4 ;分值送32H單元CJNE R4,#3CH,EN;判斷R4=60min否,否則轉(zhuǎn)ENMOV R4,#0 ;60min時(shí)間到,R4=0 MOV 32H,R4;分值送32H單元INC R5 ;小時(shí)單元R5+1 MOV 33H,R5 ;小時(shí)值送33HCJNE R5,#18H,EN ;判斷R5=24h否,否則轉(zhuǎn)EN標(biāo)號(hào)地址 MOV R5,#0 ;24h時(shí)間到。R5=0MOV 33H,R5 ;小時(shí)值送33H單元 EN:POP PSW ;恢復(fù)現(xiàn)場(chǎng)

28、POP B POP A SETB EA ;開中斷 RET1 ;中斷返回(4)鍵盤接收子程序1)設(shè)置當(dāng)前時(shí)間程序如下: CLR TR1 ;T1停止定時(shí) CLR ET1 ;T1禁止中斷 CLR EX0 ;INT0禁止中斷 CLR EX1 ;INT1禁止中斷 SETB EA ;開中斷 SETB ET0 ;允許T0中斷 SETB PT0 PUSH A ;保護(hù)現(xiàn)場(chǎng) PUSH B PUSH PSW MOV 31H,#04H ;(31H)=04H(LED的位數(shù)) MOV 29H,#00H ;(29H)=00H LP0: JB P3.0,NEXT0 ;判斷P3.0鍵(+1鍵)按下否,否則轉(zhuǎn)NEXT0 LCAL

29、L DELAY1 ;有鍵按下,延遲1msJB P3.0,LP0 ;判斷是否松開,否則轉(zhuǎn)LP0 LP1: JNB P3.0,LP1 ;等待鍵松開 INC 29H ;鍵松開后,(29H)+1 MOV 30H,#1HSJMP LO1 ;轉(zhuǎn)LO1標(biāo)號(hào)地址 NEXT0: JB P3.1,L1 ;判斷P3.1是否按下,否則轉(zhuǎn)L1LCALL DELAY1 ;有鍵按下,延遲1ms JB P3.1,NEXT0 ;是否松開,否則轉(zhuǎn)NEXT0 LD1 JNB P3.1,LD1 ;是否松開,否則轉(zhuǎn)LD1 MOV 29H,#0 MOV 30H,#1 DJNZ 31H,LO1 SJMP LL LO1: MOV A,31H

30、 CJNE A,#04H,LO2;是時(shí)針的十位嗎否則轉(zhuǎn)LO2 MOV A,29HCJNE A,#03H,LA1;十位大于3嗎?否則轉(zhuǎn)LA1 MOV 29H,#00H ;是的,清0 LA1: MOV 40H,29H ;(29H)(40H)SJMP L1 ;轉(zhuǎn)L1 LO2: MOV A,31H CJNE A,#03H,LO3 ;是時(shí)針的個(gè)位嗎?否則轉(zhuǎn)LO3 MOV A,40H CJNE A,#4,LA2 MOV 29H,#0 SJMP LA2 A1: MOV A,29HCJNE A,#0AH,LA2 ;判斷是否大于9,否則轉(zhuǎn)LA2 MOV 29H,#00H ;(29H)清零 LA2: MOV 41

31、H,29H ;(29H)(41H) SJMP L1 ;轉(zhuǎn)到L1 LO3: MOV A,31H CJNE A,#02H,LO4 ;是分針的十位嗎?否則轉(zhuǎn)LA3 MOV A,29H CJNE A,#06H,LA3 ;大于6嗎?否則轉(zhuǎn)LA4 MOV 29H,#00H ;(29H)清零 LA3: MOV 42H,29H ;(29H)(42H) SJMP L1 ;轉(zhuǎn)L1 LO4: MOV A,29H CJNE A,#0AH,LA4 ;分針個(gè)位大于9嗎?否則轉(zhuǎn)LA4MOV 29H,#00H ;(29H) LA4: MOV 43H,29H ;(29H)(43H) L1: MOV A,31H CJNE A,#

32、00H,LP0 ;31H=0則返回,否則轉(zhuǎn)LP0 LL: MOV A,40H ;將輸入的當(dāng)前時(shí)間值BCD碼轉(zhuǎn)換為二進(jìn)制數(shù) MOV B,#10 MUL AB ADD A,41H MOV 33H,A MOV A,42H MOV B,#10 MUL AB ADD A,43H MOV 32H,A PUSH PSW CLR RS0 CLR RS1MOV R4,32H ;將當(dāng)前時(shí)間置入R4、R5寄存器 MOV R5,33H POP PSW ;恢復(fù)現(xiàn)場(chǎng) POP PSW POP B POP A MOV TH1,#3CH;重置T1計(jì)數(shù)初值 MOV TL1,#0B0H SETB TR1 ;啟動(dòng)T1定時(shí)器 SETB

33、 ET1 ;開中斷 SETB PT1 SETB EX0 SETB EX1 CLR TR0 MOV TH0,#0FFH MOV TL0,#00H SETB TR0 SETB XT0 RETI ;中斷返回2)設(shè)置定時(shí)(鬧鐘)時(shí)間程序清單如下: CLR EX0 ;關(guān)INT0、INT1中斷 CLR EX1 SETB EA SETB ET0 SETB ET1 SETB PT0 PUSH A ;保護(hù)現(xiàn)場(chǎng) PUSH B PUSH PSW MOV 31H,#04H ;(31H)=04H MOV 29H,#00H ;(29H)=00H LPOB: JB P3.0,NEXTB ;判斷P3.0鍵,無鍵按下則轉(zhuǎn)NEX

34、TB LCALL DELAY1;有鍵按下,延遲1ms JB P3.0,LP0 ;判斷是否松開,否則轉(zhuǎn)LP0 LP1B: JNB P3.0,LP1B ;判斷是否松開,否則再判斷 INC 29H ;P3.0松開后,(29H)+1 MOV 30H,#1H SJMP LO1BNEXTB: JB P3.1,L1B ;判斷P3.1是否按下,否則轉(zhuǎn)NEXT0 LCALL DELAY1 ;有鍵按下,延遲1ms JB P3.1,NEXTB ;是否松開?否則轉(zhuǎn)LP0 LD1B: JNB P3.1,LD1B MOV 29H,#0 ;是否松開?否則轉(zhuǎn)LD1再判斷MOV 30H,#1 DJNZ 31H,LO1B ;是,

35、(31)1 SJMP LLB LO1B: MOV A,31HCJNE A,#04H,LO2B ;是時(shí)針的十位嗎?否則轉(zhuǎn)LO2MOV A,29HCJNE A,#03H,LA1B;十位大于3嗎?否則轉(zhuǎn)LA1MOV 29H,#00H ;是的,清0 LA1B: MOV 40H,29H ;(29H)(40H) SJMP L1B ;轉(zhuǎn)L1 LO2B: MOV A,31H CJNE A,#03H,LO3B ;是時(shí)針的個(gè)位嗎?否則轉(zhuǎn)LO3 MOV A,40H CJNE A,#2,A1B MOV A,29H CJNE A,#4,LA2B MOV 29H,#0 SJMP LA2B A1B: MOV A,29HCJ

36、NE A,#0AH,LA2B ;是否大于9?否則轉(zhuǎn)LA2 MOV 29H,#00H ;(29H)清零 LA2B: MOV 41H,29H ;(29H)(41H) SJMP L1B ;轉(zhuǎn)到L1 LO3B: MOV A,31H CJNE A,#02H,LO4B ;是分針的十位嗎?否則轉(zhuǎn)LO4 MOV A,29HCJNE A,#06H,LA3B ;大于6嗎?否則轉(zhuǎn)LA3 MOV 29H,#00H ;(29H)清零 LA3B: MOV 42H,29H ;(29H)(42H) SJMP L1B ;轉(zhuǎn)L1 LO4B: MOV A,29H CJNE A,#0AH,LA4B ;分針個(gè)位大于9嗎?否則轉(zhuǎn)LA4MOV 29H,#00H ;(29)清零 LA4B:MOV 43H,29H ;(29H)(43H)L1B: MOV A,31HCJNE A,#00H,LP0B ;31H=0返回否則轉(zhuǎn)LP0LLB: MOV A,40H;將輸入的鬧鐘時(shí)間值BCD碼轉(zhuǎn)換為二進(jìn)制數(shù) MOV B,#10 MUL AB ADD A,41H MOV 35H,A MOV A,42H MOV B,#10 MUL AB ADD A,43H MOV 34H,A POP PSW ;恢復(fù)現(xiàn)場(chǎng) POP

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論