多功能智能化溫度測量儀設計有電路圖_第1頁
多功能智能化溫度測量儀設計有電路圖_第2頁
多功能智能化溫度測量儀設計有電路圖_第3頁
多功能智能化溫度測量儀設計有電路圖_第4頁
多功能智能化溫度測量儀設計有電路圖_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、量是現代檢測技術的重要組成局部,在保證產品質量、節約能源和平安生產等方面起著關鍵的作用。因此,能夠確保快速、準確地測量溫度的技術及其裝置普遍受到各國的重視。近年來,利用智能化數字式溫度傳感器以實現溫度信息的在線檢測已成為溫度檢測技術的一種開展趨勢。本文介紹的智能溫度檢測系統,以智能化數字式溫度傳感器與PIC 微處理器有機結合,構成了一種新型智能化溫度檢測系統。該系統具有性能可靠、測溫準確、結構簡單、造價低廉等特點,并兼具線路簡捷、使用靈活、抗干擾性好、可移植性強等優點,可在工程實際中得到廣泛應用。二、設計任務和設計要求功能要求配合電阻溫度傳感器,實現溫度的測量;具有開機自檢、自動調零功能;具有

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

4、廉氣 體-20350熱電偶鉑銠鉑01600種類多,適應性強,結構簡單,經濟方便,應用廣泛。需注意寄生熱電勢及動圈式儀表電阻對測量結果的影響其 他-201100熱電阻鉑-260600精度及靈敏度均較好,需注意環境溫度的影響鎳-150300銅0180熱敏電阻-50350體積小,響應快,靈敏度高,線性差,需注意環境溫度影響 非接觸式輻射溫度計80035001非接觸測量,不干擾被測量度場,輻射率影響小,應用簡便光高溫度計70030001熱探測器20020001非接觸測溫,不干擾被測溫度場,響應快,測溫范圍大,適于測量溫度分布,易受外界干擾,標定困難熱敏電阻探測器-5032001光子探測器035001其

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

6、單、制作方便、測量范圍寬、精度高、熱慣性小等特點被作為廣泛作為溫度傳感器的敏感元件。四、各單元電路設計4.1 選擇溫度傳感器器件 常用的熱電傳感器有熱電阻、熱電偶、集成溫度傳感器等。AD590測量熱力學溫度、攝氏溫度、兩點溫度差、多點最低溫度、多點平均溫度的具體電路,廣泛應用于不同的溫度控制場合。由于AD590精度高、價格低、不需輔助電源、線性好,常用于測溫和熱電偶的冷端補償。4.2 選擇單片機器件 在大多情況下,理應選擇性價比高的單片機及其它器件,但在某些特殊場合,當性能成為決定需測量現場集成溫度傳感器共射極放大器多路開關轉換采樣保持A/D單片機系統顯示打印控制因素時,應以性能優先原那么選擇

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

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

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

10、/D。一般A/D轉換常用以下A/D轉換器硬件與單片機連接的方式如圖2.4。8位A/D啟動轉換轉換結束P1 單片機 8031 8051 8751P20 INT 鎖存器VINN圖2.4 A/D轉換器硬件與單片機連接的方式 假設A/D轉換器中帶鎖存器,可與單片機直連;假設A/D片中不帶鎖存器,那么在單片機與A/D之間要家鎖存器如圖2.3中顯示,如74LS373等。至于進入單片機后的信號如何處理,那么要根據測試控制要求來決定。控制可用位控方式,也可用D/A轉換方式等。圖2.5 A/D轉換與51單片機的接口4.6 顯示器及鍵盤的設計 在本設計中采用8279可編程鍵盤、顯示器接口芯片。8279芯片是一種專

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

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

13、輸方式,因電流型比電壓型抗干擾能力強;(5) 電路應有合理的布線及接地方法;(6) 與環境干擾的隔離可采用屏蔽措施。五、系統軟件設計5.1 系統軟件總體設計 整個溫度檢測系統是在程序控制下工作的,該系統的軟件全部采用匯編語言編寫,以提高系統的快速性和實時性。其設計方法與硬件設計相對應,同樣采用模塊化的設計思想,將該局部設方案分為相應的程序模塊,分別進行設計、編制和調試,最后通過主程序和中斷處理程序將各程序模塊連接起來。這樣有利于程序修改和調試,增強了程序的可移植性。整個軟件系統主要有以下幾局部:主程序、數據采集、數據標度變換處理及鍵盤顯示等程序。5.2 主程序設計 系統的主程序設計主要完成系統

14、初始化、中斷優先級設定以及判斷調用各模塊程序,即主要實現各程序模塊的連接。整個控制系統軟件設計按照兩種控制方式設計:一種采用鍵盤控制方式,另一種采用微機(上位機)控制方式。 鍵盤控制方式(2)微機控制方式微機控制方式是采用微機通過通訊接口向單片機發出命令,單片機按其要求實現控制系統的動作要求圖5.1 鍵盤控制流程5.3 數據采集及處理子程序設計 該局部主要實現將來自熱電偶傳感器的模擬信號轉換為數字信號的功能。由電路連接圖可知,AM轉換器工作于中斷方式。當AM轉換完畢時,STS由高電平變為低電平,通過IN而向8051請求中斷。該程序主要有A/D轉換器啟動程序、中斷等待轉換結束、讀取轉換結果并存入

15、RAM等幾步。被測信號經過AM 轉換后變為數字信號,必須通過數據處理后才能變為可直接顯示的溫度值5.4 鍵盤/顯示程序設計 8279的根本程序有三大塊:一塊是8279的初始化,一塊是顯示程序,另一塊是鍵盤處理程序。初始化程序主要送入各種命令字,放在主程序中,顯示程序編為顯示子程序,鍵盤處理程序放在中斷效勞程序中。程序主要功能是將要顯示的8個數的字段碼送顯示RAM進行循環顯示,相應的程序框圖如圖4.84.10所示,其中鍵盤處理程序采用中斷方式,通過外部中斷1實現。整個程序是通過設定命令字,實現鍵盤和LED顯示器的工作方式的設定,并完成對各種數據的讀、寫操作。對于8279相關的命令格式分述如下:5

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

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

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

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

20、系統設計應用? 何立民主編 北京航空航天大學出版社 ?智能化儀器原理及應用? 曹建平 西安電子科技大學出版社 ?智能儀器原理與設計? 趙新民 哈爾濱工業大學出版社?智能儀器原理及應用? 趙茂泰 電子工業出版社?現代科學儀器? 中國分析測試協會主辦?自動化儀表? 中國儀器儀表學會 上海工業自動化儀表研究所主辦?儀器儀表學報? 中國儀器儀表學會主辦儀器儀表網 :/ china_meter 儀器商城網 :/ 17web.八、附錄 5(1) 時鐘電路主程序清單如下:ORG 0000H LJMP MAIN ;轉主程序ORG 0003H;外部中斷0中斷效勞程序入口地址LJMP T0SEV ;轉外部中斷0中

21、斷效勞程序ORG 000BH;T0定時中斷效勞程序入口地址LJMP INTB ;轉T0定時中斷效勞程序ORG 0013H;外部中斷1中斷效勞程序入口地址LJMP INTB; 轉外部中斷1中斷效勞程序 ORG 001BH ;T1定時中斷效勞程序入口地址LJMP T1SEV ;轉T1定時中斷效勞程序ORG 0030H;設置主程序起始地址=0030HMAIN:MOV SP,#60H ;設置堆棧指針 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 45

22、H,#40H MOV 46H,#20H MOV 47H,#10H CLR RS0 CLR RS1 ;選擇0組工作存放器 MOV R2,#0 MOV R3,#0 ;設置時間初值=12:00 MOV R4,#0 MOV R5,#12MOV TMOD,#11H ;設置T1、T0的工作方式:定時器。工作方式1 MOV TH1,#3CH MOV TL1,#0B0H;T1計數初值=3CB0H MOV TH0,#0ECH ;T0計數初值=EC78H MOV TL0,#78H MOV IP,#08H ;設置中斷優先級 MOV TCON,#50H ;啟動定時器T0、T1 MOV IE,#8FH ;開中斷LOP:

23、 MOV B,#10;將二進制數轉換為十進制數BCD碼 MOV A,33H ;并送到顯示緩沖區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;判斷是否有定時時間 CJNE R2,#0,NT MOV R2,34H CJNE R2,#0,NT SJMP BBNT: MOV A,35H CJNE A,33H,BB ;判斷定時時間到否 MOV A,34H CJNE A,32H,BB CLR P3.7 ;時間到,發出報警 S

24、JMP LOP SJMP LOP(2) T0定時器中斷效勞程序清單如下:TOSEV:PUSH A ;LED定時掃描程序 PUSH PSW ;保護現場 SETB RS1 ;RS1、RS0=11H SETB RS0 ;選擇3組工作存放器 CLR TR0 ;停止T0定時器 MOV R2,#04H ;設置顯示器位數 MOV R0,#40H ;設置段碼首地址 MOV R1,#44H ;設置位碼首地址 GOON: MOV A,R2 ;送顯示位數到A CJNE A,31H,NOFLASH ;判斷是閃爍位否,不是那么轉NO、FLASHDJNZ 30H,FLASH;是閃爍位那么轉移到FLASHNOFLASH:M

25、OV A,R1;送位碼地址到A累加器ADD A,R0 ;將段碼和位碼組成8位二進制數 MOV P1,A ;輸出段碼、位碼數據到P1口LCALL DELAY1 ;調延時子程序,延時1ms FLASH: INC R0 ;段碼地址+1INC R1 ;位碼地址+1DJNZ R2,GOON ;判斷4位都顯示完否;沒完繼續顯示下一位 MOV TH0,#0ECH MOV TL0,#78H;重置T0計數初值POP A ;恢復現場 SETB ET0 ;允許T0中斷 SETB TR0 ;啟動T0開始定時SETB EA ;開中斷 RETI ;中斷返回DELAY1: MOV R3,#02H ;延時1ms子程序 AGA

26、IN: MOV R4,#0F8H DELAY: DJNZ R3,AGAIN RET 注意:在T0中斷效勞程序中,有調用了延時1ms子程序,因此,T0中斷效勞程序有是延時1ms子程序的主程序。(3) 中斷效勞程序如下:T1_SEV:MOV TH1,#3CH ;重置T1計數初值MOV TL1,#0B0H CLR EA ;關中斷 PUSH A ;保護現場 PUSH B PUSH PSW CLR RS1 CLR RS0 ;選擇0區工作存放器 INC R2 ;中斷次數加1CJNE R2,#0AH,EN ;判斷中斷10次否,否那么轉EN MOV R2,#0 ;T1中斷10次的累計時1s,計數存放器R2清零

27、 INC R3;秒計時單元R3+1CJNE R3,#3CH,EN判斷R3=60s否,否那么轉EN MOVR3,#0 ;60s時間到。R3=0 INC R4 ;分計時單元R4+1 MOV 32H,R4 ;分值送32H單元CJNE R4,#3CH,EN;判斷R4=60min否,否那么轉ENMOV R4,#0 ;60min時間到,R4=0 MOV 32H,R4;分值送32H單元INC R5 ;小時單元R5+1 MOV 33H,R5 ;小時值送33HCJNE R5,#18H,EN ;判斷R5=24h否,否那么轉EN標號地址 MOV R5,#0 ;24h時間到。R5=0MOV 33H,R5 ;小時值送3

28、3H單元 EN:POP PSW ;恢復現場 POP B POP A SETB EA ;開中斷 RET1 ;中斷返回4鍵盤接收子程序1設置當前時間程序如下: CLR TR1 ;T1停止定時 CLR ET1 ;T1禁止中斷 CLR EX0 ;INT0禁止中斷 CLR EX1 ;INT1禁止中斷 SETB EA ;開中斷 SETB ET0 ;允許T0中斷 SETB PT0 PUSH A ;保護現場 PUSH B PUSH PSW MOV 31H,#04H ;31H=04HLED的位數 MOV 29H,#00H ;29H=00H LP0: JB P3.0,NEXT0 ;判斷P3.0鍵+1鍵按下否,否那

29、么轉NEXT0 LCALL DELAY1 ;有鍵按下,延遲1msJB P3.0,LP0 ;判斷是否松開,否那么轉LP0 LP1: JNB P3.0,LP1 ;等待鍵松開 INC 29H ;鍵松開后,29H+1 MOV 30H,#1HSJMP LO1 ;轉LO1標號地址 NEXT0: JB P3.1,L1 ;判斷P3.1是否按下,否那么轉L1LCALL DELAY1 ;有鍵按下,延遲1ms JB P3.1,NEXT0 ;是否松開,否那么轉NEXT0 LD1 JNB P3.1,LD1 ;是否松開,否那么轉LD1 MOV 29H,#0 MOV 30H,#1 DJNZ 31H,LO1 SJMP LL

30、LO1: MOV A,31H CJNE A,#04H,LO2;是時針的十位嗎?否那么轉LO2 MOV A,29HCJNE A,#03H,LA1;十位大于3嗎?否那么轉LA1 MOV 29H,#00H ;是的,清0 LA1: MOV 40H,29H ;29H40HSJMP L1 ;轉L1 LO2: MOV A,31H CJNE A,#03H,LO3 ;是時針的個位嗎?否那么轉LO3 MOV A,40H CJNE A,#4,LA2 MOV 29H,#0 SJMP LA2 A1: MOV A,29HCJNE A,#0AH,LA2 ;判斷是否大于9,否那么轉LA2 MOV 29H,#00H ;29H清

31、零 LA2: MOV 41H,29H ;29H41H SJMP L1 ;轉到L1 LO3: MOV A,31H CJNE A,#02H,LO4 ;是分針的十位嗎?否那么轉LA3 MOV A,29H CJNE A,#06H,LA3 ;大于6嗎?否那么轉LA4 MOV 29H,#00H ;29H清零 LA3: MOV 42H,29H ;29H42H SJMP L1 ;轉L1 LO4: MOV A,29H CJNE A,#0AH,LA4 ;分針個位大于9嗎?否那么轉LA4MOV 29H,#00H ;29H LA4: MOV 43H,29H ;29H43H L1: MOV A,31H CJNE A,#

32、00H,LP0 ;31H=0那么返回,否那么轉LP0 LL: MOV A,40H ;將輸入的當前時間值BCD碼轉換為二進制數 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 ;將當前時間置入R4、R5存放器 MOV R5,33H POP PSW ;恢復現場 POP PSW POP B POP A MOV TH1,#3CH;重置T1計數初值 MOV TL1,#0B0H SETB TR1 ;啟動T1定時器 SE

33、TB ET1 ;開中斷 SETB PT1 SETB EX0 SETB EX1 CLR TR0 MOV TH0,#0FFH MOV TL0,#00H SETB TR0 SETB XT0 RETI ;中斷返回2設置定時鬧鐘時間程序清單如下: CLR EX0 ;關INT0、INT1中斷 CLR EX1 SETB EA SETB ET0 SETB ET1 SETB PT0 PUSH A ;保護現場 PUSH B PUSH PSW MOV 31H,#04H ;31H=04H MOV 29H,#00H ;29H=00H LPOB: JB P3.0,NEXTB ;判斷P3.0鍵,無鍵按下那么轉NEXTB L

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

35、11 SJMP LLB LO1B: MOV A,31HCJNE A,#04H,LO2B ;是時針的十位嗎?否那么轉LO2MOV A,29HCJNE A,#03H,LA1B;十位大于3嗎?否那么轉LA1MOV 29H,#00H ;是的,清0 LA1B: MOV 40H,29H ;29H40H SJMP L1B ;轉L1 LO2B: MOV A,31H CJNE A,#03H,LO3B ;是時針的個位嗎?否那么轉LO3 MOV A,40H CJNE A,#2,A1B MOV A,29H CJNE A,#4,LA2B MOV 29H,#0 SJMP LA2B A1B: MOV A,29HCJNE A

36、,#0AH,LA2B ;是否大于9?否那么轉LA2 MOV 29H,#00H ;29H清零 LA2B: MOV 41H,29H ;29H41H SJMP L1B ;轉到L1 LO3B: MOV A,31H CJNE A,#02H,LO4B ;是分針的十位嗎?否那么轉LO4 MOV A,29HCJNE A,#06H,LA3B ;大于6嗎?否那么轉LA3 MOV 29H,#00H ;29H清零 LA3B: MOV 42H,29H ;29H42H SJMP L1B ;轉L1 LO4B: MOV A,29H CJNE A,#0AH,LA4B ;分針個位大于9嗎?否那么轉LA4MOV 29H,#00H ;29清零 LA4B:MOV 43H,29H ;29H43HL1B: MOV A,31HCJNE A,#00H,LP0B ;31H=0返回否那么轉LP0LLB: MOV A,40H;將輸入的鬧鐘時間值BCD碼轉換為二進制數 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 ;恢復現場 POP B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論