freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的智能溫度報警系統(tǒng)-資料下載頁

2024-10-23 08:08本頁面

【導(dǎo)讀】溫度的檢測與控制是工業(yè)生產(chǎn)過程中比較典型的應(yīng)用之一,隨著傳感器在生產(chǎn)和生活中的更加廣泛的應(yīng)用,利用新型單總線式數(shù)字溫度傳感器實現(xiàn)對溫度的測試與控制得到更快的開發(fā),本文設(shè)計了一種基于AT89S51的溫度檢測及報警系統(tǒng)。該系統(tǒng)將多個單總線溫度傳感器DS18B20并接在控制器的一個端口上,對各個傳感器溫度進行循環(huán)采集,將采集到的溫度值與設(shè)定值進行比較,當(dāng)超出設(shè)定的上限溫度時,通過ISD1420語音電路給出語音提示及報警信號。文中給出了單根數(shù)據(jù)線上擴展多個溫度傳感器的設(shè)計方法,并給出了系統(tǒng)實現(xiàn)的硬件原理圖及軟件流程圖。經(jīng)實驗測試表明,該系統(tǒng)測量精度高、抗干擾能力強、報警及時準(zhǔn)確,具有一定的參考價值。該系統(tǒng)設(shè)計和布線簡單,結(jié)構(gòu)緊湊,體積小,重量輕,抗干擾能力強,性價比高,擴展方便,在大型倉庫,工廠,智能化建筑等領(lǐng)域的多點溫度檢測中有廣闊的應(yīng)用前景。早期的單片機都是8位或4位的?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。

  

【正文】 48[9] 張志良等編.單片機原理與控制技術(shù).北京:機械電子工業(yè)出版社,2001[10] 徐仁貴主編,微型計算機接口技術(shù)及應(yīng)用.北京:機械工業(yè)出版社,2001[11] 周航慈等編. 單片機原理及應(yīng)用設(shè)計. 北京: 北京航空航天大學(xué)出版社, 2001[12] 張友德編. 單片微型機原理應(yīng)用與實驗. 上海: 復(fù)旦大學(xué)出版社, 1992 [13] . 自動化博覽, 2002, 4: 58[14] 凌陽科技. 凌陽16 位單片機開發(fā)實例[M]. 北京: 北京航空航天大學(xué)出版社, 2006.[15] 趙茂泰.智能儀器原理及應(yīng)用.北京:電子工業(yè)出版社,1997.[16] 李朝青 單片機原理及接口技術(shù) 北京航空航天大學(xué)出版社 2006.[17] MAXIM. + 3V Quad, 12 Bit voltageoutput DAC with serial interface MAX5253 [EB/ OL ]. . maximic. , 2002.[18] Analog Devices,Inc.CMOS Complete DDS AD9832 Datasheet,1999附錄 A 溫度檢測模塊圖附錄 B 語音報警模塊圖附錄 C 程序;80C51的WR連接ADC0804的WR;80C51的RD連接ADC0804的RD;; EQU 29H TEMPER_H EQU 28H FLAG1 EQU 38H。是否檢測到DS18B20標(biāo)志位 A_BIT EQU 20H 。數(shù)碼管個位數(shù)存放內(nèi)存位置 B_BIT EQU 21H 。數(shù)碼管十位數(shù)存放內(nèi)存位置 XS EQU 40H 。時間累積單元 ms500 equ 41hORG 0000H LJMP ZHUORG 0003H RETIORG 000BH RETIORG 0013H RETIORG 001BH LJMP DSHIORG 0030H ZHU: MOV A,00H MOV XS,A mov ms500,a mov tmod,10h MOV TH1,20H MOV TL1,00H SETB ET1 SETB EA MOV P1,A MOV p0,A MOV r5,A clr 。開第二個數(shù)碼管顯示1C MOV P1,3FH MOV A,02H 。JNB ,XSWD。顯示溫度LOOP: JNB ,LUYIN JNB ,XSWD。顯示溫度 setb 。關(guān)錄音 AJMP LOOPLUYIN: lcall d10ms jb ,loop mov dptr,lyadd。錄音地址加一 mov a,r5 inc r5 movc a,@a+dptr mov p0,a clr 。準(zhǔn)備錄音 mov dptr,numtab。錄音數(shù)碼管顯示加一 mov a,r5 movc a,@a+dptr mov p1,aly: jb ,loop sjmp ly XSWD: MOV A,00H MOV p0,A MOV R5,01HMAIN: JNB ,FYIN。播報語音 jb f0,fyinn SJMP BEGINFYIN: 。lcall d10ms 。JB ,MAIN jnb ,$ setb f0 setb tr1。開定時器 mov p0,00h clr 。開始放音fyinn: mov a,ms500 cjne a,9,still1 。clr tr0。關(guān)定時器 setb 。關(guān)放音 lcall d10ms 。**************************第一段完 mov dptr,lyadd MOV A,B_BIT 。取十位數(shù) movc a,@a+dptr mov p0,a clr 。setb tr0 。mov a,ms500still1: cjne a,11,still2 。clr tr0。關(guān)定時器 setb 。關(guān)放音 lcall d10ms 。**************************第二段完 mov p0,70h clr 。mov a,ms500still2: cjne a,13,still3 setb 。關(guān)放音 lcall d10ms 。**************************第三段完 mov dptr,lyadd MOV A,A_BIT 。取個位數(shù) movc a,@a+dptr mov p0,a clr 。mov a,ms500still3: cjne a,14,still4 setb 。關(guān)放音 lcall d10ms 。**************************第四段完 mov p0,78h clr 。mov a,ms500still4: cjne a,15,begin setb 。關(guān)放音 lcall d10ms clr tr1 clr f0 。**************************第五段完 mov ms500,00h ljmp main。***********************************************************BEGIN: LCALL GET_TEMPER。調(diào)用讀溫度子程序 MOV A,29H MOV B,A CLR C RLC A CLR C RLC A CLR C RLC A CLR C RLC A SWAP A MOV 31H,A MOV A,B MOV C,40H。將28H中的最低位移入C RRC A MOV C,41H RRC A MOV C,42H RRC A MOV C,43H RRC A MOV 29H,A LCALL DISPLAY。調(diào)用數(shù)碼管顯示子程序 AJMP MAIN。 這是DS18B20復(fù)位初始化子程序。******************************************************************INIT_1820: SETB NOP CLR 。主機發(fā)出延時537微秒的復(fù)位低脈沖 MOV R1,3TSR1: MOV R0,107 DJNZ R0,$ DJNZ R1,TSR1 SETB 。然后拉高數(shù)據(jù)線 NOP NOP NOP MOV R0,25HTSR2: JNB ,TSR3。等待DS18B20回應(yīng) DJNZ R0,TSR2 LJMP TSR4 。 延時TSR3: SETB FLAG1 。 置標(biāo)志位,表示DS1820存在 LJMP TSR5TSR4: CLR FLAG1 。 清標(biāo)志位,表示DS1820不存在 LJMP TSR7TSR5: MOV R0,117TSR6: DJNZ R0,TSR6 。 時序要求延時一段時間TSR7: SETB RET。 讀出轉(zhuǎn)換后的溫度值。***************************************************GET_TEMPER: SETB LCALL INIT_1820。先復(fù)位DS18B20 JB FLAG1,TSS2 RET 。 判斷DS1820是否存在?若DS18B20不存在則返回TSS2: MOV A,0CCH 。 跳過ROM匹配 LCALL WRITE_1820 MOV A,44H 。 發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE_1820。這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒 LCALL DISPLAY LCALL INIT_1820。準(zhǔn)備讀溫度前先復(fù)位 MOV A,0CCH 。 跳過ROM匹配 LCALL WRITE_1820 MOV A,0BEH 。 發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200。 將讀出的溫度數(shù)據(jù)保存到35H/36H RET。寫DS18B20的子程序(有具體的時序要求)。***********************************************************WRITE_1820: MOV R2,8。一共8位數(shù)據(jù) CLR CWR1: CLR MOV R3,6 DJNZ R3,$ RRC A MOV ,C MOV R3,23 DJNZ R3,$ SETB NOP DJNZ R2,WR1 RET。 讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數(shù)據(jù) 。****************************************************************READ_18200: MOV R4,2 。 將溫度高位和低位從DS18B20中讀出 MOV R1,29H 。 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00: MOV R2,8。數(shù)據(jù)一共有8位RE01: CLR C SETB NOP NOP CLR NOP NOP NOP SETB MOV R3,9RE10: DJNZ R3,RE10 MOV C, MOV R3,23RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET。**********************************************************************DISPLAY: MOV A,29H MOV B,10 。10進制/10=10進制 DIV AB MOV B_BIT,A 。十位在A MOV A_BIT,B 。個位在B MOV R0,4 DPL1: MOV R1,250 。顯示1000次DPLOP: MOV DPTR,NUMTAB MOV A,A_BIT 。取個位數(shù) MOVC A,@A+DPTR 。查個位數(shù)的7段代碼 MOV P1,A 。送出個位的7段代碼 CLR 。開個位顯示 ACALL D1MS 。顯示1MS SETB MOV DPTR,NUMTAB MOV A,B_BIT 。取十位數(shù) MOVC A,@A+DPTR 。查十位數(shù)的7段代碼 MOV P1,A 。送出十位的7段代碼 CLR 。開十位顯示 ACALL D1MS 。顯示1MS SETB DJNZ R1,DPLOP 。250次沒完循環(huán) DJNZ R0,DPL1 。4個250次沒完循環(huán) RET。1MS延時(按12MHZ算)。**********************************************************************D1MS: MOV R7,80 DJNZ R7,$ RETDSHI: INC XS mov a,xs cjne a,10,tguo mov xs,00h inc ms500tguo: MOV TH1,20H MOV TL1,00H RETId10ms: mov r3,20d1: mov r4,250 djnz r4,$ djnz r3,d1 retlyadd: db 00h,28h,30h,38h,40h,48h,50h,58h,60h,68h,70h,78h numtab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7fh,39h,3Fh,79h,71h END42
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1