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

正文內(nèi)容

基于單片機(jī)的智能溫度報(bào)警系統(tǒng)(參考版)

2024-10-27 08:08本頁(yè)面
  

【正文】 1MS延時(shí)(按12MHZ算)。250次沒(méi)完循環(huán) DJNZ R0,DPL1 。開(kāi)十位顯示 ACALL D1MS 。查十位數(shù)的7段代碼 MOV P1,A 。顯示1MS SETB MOV DPTR,NUMTAB MOV A,B_BIT 。送出個(gè)位的7段代碼 CLR 。取個(gè)位數(shù) MOVC A,A+DPTR 。個(gè)位在B MOV R0,4 DPL1: MOV R1,250 。10進(jìn)制/10=10進(jìn)制 DIV AB MOV B_BIT,A 。數(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。 將溫度高位和低位從DS18B20中讀出 MOV R1,29H 。 讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù) 。***********************************************************WRITE_1820: MOV R2,8。 將讀出的溫度數(shù)據(jù)保存到35H/36H RET。 跳過(guò)ROM匹配 LCALL WRITE_1820 MOV A,0BEH 。這里通過(guò)調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒 LCALL DISPLAY LCALL INIT_1820。 跳過(guò)ROM匹配 LCALL WRITE_1820 MOV A,44H 。先復(fù)位DS18B20 JB FLAG1,TSS2 RET 。 讀出轉(zhuǎn)換后的溫度值。 清標(biāo)志位,表示DS1820不存在 LJMP TSR7TSR5: MOV R0,117TSR6: DJNZ R0,TSR6 。 延時(shí)TSR3: SETB FLAG1 。然后拉高數(shù)據(jù)線 NOP NOP NOP MOV R0,25HTSR2: JNB ,TSR3。******************************************************************INIT_1820: SETB NOP CLR 。調(diào)用數(shù)碼管顯示子程序 AJMP MAIN。調(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。**************************第五段完 mov ms500,00h ljmp main。mov a,ms500still4: cjne a,15,begin setb 。關(guān)放音 lcall d10ms 。取個(gè)位數(shù) movc a,a+dptr mov p0,a clr 。關(guān)放音 lcall d10ms 。**************************第二段完 mov p0,70h clr 。關(guān)定時(shí)器 setb 。mov a,ms500still1: cjne a,11,still2 。取十位數(shù) movc a,a+dptr mov p0,a clr 。關(guān)放音 lcall d10ms 。clr tr0。開(kāi)定時(shí)器 mov p0,00h clr 。lcall d10ms 。錄音數(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。錄音地址加一 mov a,r5 inc r5 movc a,a+dptr mov p0,a clr 。顯示溫度 setb 。JNB ,XSWD。時(shí)間累積單元 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ù)碼管個(gè)位數(shù)存放內(nèi)存位置 B_BIT EQU 21H 。80C51的RD連接ADC0804的RD;; EQU 29H TEMPER_H EQU 28H FLAG1 EQU 38H。在此謹(jǐn)向張老師致以誠(chéng)摯的謝意和崇高的敬意。雖歷時(shí)三個(gè)月,卻不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想上給我以無(wú)微不至的關(guān)懷,給以終生受益的影響。張老師多次詢(xún)問(wèn)研究進(jìn)程,并為我們指點(diǎn)迷津,幫助我們開(kāi)拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。他一絲不茍、嚴(yán)肅的科學(xué)態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神、精益求精的工作作風(fēng)是我工作、學(xué)習(xí)中的榜樣,深深地感染和激勵(lì)著我。致謝本課題在研究和寫(xiě)學(xué)位論文過(guò)程中得到張慶輝導(dǎo)師的親切關(guān)懷和悉心指導(dǎo)。最終,系統(tǒng)設(shè)計(jì)的硬件與軟件均正確無(wú)誤,系統(tǒng)調(diào)試成功,該智能溫度報(bào)警系統(tǒng)工作正常。控制系統(tǒng)的程序編寫(xiě)也是很重要的一環(huán)。溫度報(bào)警系統(tǒng)的正常工作還需要單片機(jī)軟件的支持。通過(guò)電子線路將這些硬件電路模塊連接起來(lái)。在模擬運(yùn)行的基礎(chǔ)之上,還應(yīng)使各系統(tǒng)經(jīng)過(guò)長(zhǎng)時(shí)間的運(yùn)行考驗(yàn)。在完成系統(tǒng)的軟硬件調(diào)試后,將系統(tǒng)脫離仿真環(huán)境,用下載器把工作程序?qū)懭階T89S51的FLASH存儲(chǔ)器中。當(dāng)經(jīng)過(guò)反復(fù)的軟件調(diào)試之后,運(yùn)行內(nèi)置的編譯程序,將單片機(jī)調(diào)試成功的匯編語(yǔ)言格式工作程序編譯成HEX格式的文件即可。所以能夠十分方便地檢查程序的正確與否。在我們編寫(xiě)出工作程序之后,即可以利用它進(jìn)行程序的調(diào)試運(yùn)行工作。它具有代碼編輯、模擬仿真等各種功能。(3)模擬仿真AT89S51單片機(jī)的工作程序編輯和調(diào)試工作,均可以在相關(guān)軟件支持下進(jìn)行。若整體調(diào)試通過(guò),則說(shuō)明軟件系統(tǒng)基本正確。(2)主程序調(diào)試在子程序調(diào)試完畢后,還需要用主程序?qū)⑺鼈冞B接在一起,進(jìn)行整體調(diào)試,檢查各個(gè)模塊之間、各中斷服務(wù)程序之間是否存在相互影響,是否會(huì)出現(xiàn)程序之間的交叉錯(cuò)誤。運(yùn)行下載軟件(如雙龍公司的MCU下載軟件等),設(shè)置好下載參數(shù),將HEX格式的目標(biāo)文件下載到單片機(jī)中的flash memory中即可。(3)使用方法使用任何編譯器(匯編器或C編譯器)產(chǎn)生芯片之HEX格式目標(biāo)文件;首先關(guān)斷目標(biāo)板的電源開(kāi)關(guān),將下載器的25針插座連接到PC機(jī)的打印并口上,然后將下載器電纜另一端的插頭插至目標(biāo)板的下載插座上,打開(kāi)目標(biāo)板電源。(1)軟硬件運(yùn)行環(huán)境軟件:for WIN9X/2000(2000以上操作系統(tǒng)請(qǐng)用Administrator身份登錄)硬件:能運(yùn)行WINDOWS9x及以上操作系統(tǒng)且有一可使用LPT口(打印口)之PC機(jī)。本設(shè)計(jì)中采用的AT89S51芯片支持并口下載方式,具有成本低廉、使用簡(jiǎn)單、下載速度快捷的優(yōu)點(diǎn)。單片機(jī)的工作程序的下載方式有許多種不同的形式。在調(diào)試前首先要將程序下載到硬件上,所以我們?cè)谲浖y(cè)試前先要介紹一下程序下載的有關(guān)知識(shí)。若有高壓,聯(lián)機(jī)仿真器調(diào)試時(shí),將會(huì)損壞仿真器等,有時(shí)會(huì)使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。   在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。在保證安裝無(wú)誤后,用替換方法排除錯(cuò)誤。   造成這類(lèi)錯(cuò)誤的原因有兩個(gè):一個(gè)是元器件買(mǎi)來(lái)時(shí)就已壞了;另一個(gè)是由于安裝錯(cuò)誤,造成器件燒壞。必要時(shí)利用數(shù)字萬(wàn)用表的短路測(cè)試功能,可以縮短排錯(cuò)時(shí)間。排除的方法是首先將加工的印制板認(rèn)真對(duì)照原理圖,看兩者是否一致。   這類(lèi)故障往往由于設(shè)計(jì)和加工制板過(guò)程中工藝性錯(cuò)誤所造成的。程序流程圖如圖46。 計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖45所示。 溫度轉(zhuǎn)化命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。Y發(fā)DS18B20復(fù)位命令發(fā)跳過(guò)ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗(yàn)9字節(jié)完?CRC校驗(yàn)正?確?移入溫度暫存器結(jié)束 NNY初始化調(diào)用顯示子程序1S到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開(kāi)始命令NYNY 圖42 主程序流程圖 圖43 讀溫度流程圖讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。 主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次??傊?,系統(tǒng)設(shè)計(jì)時(shí)要協(xié)調(diào)這種時(shí)間滯后,使系統(tǒng)滿(mǎn)足實(shí)時(shí)性要求。例如在播放語(yǔ)音時(shí),需要調(diào)用一段延時(shí),在本程序中,利用 CPU 執(zhí)行溫度轉(zhuǎn)換這段代碼占有的時(shí)間代替這段延時(shí)。(10) 測(cè)溫電纜線在這里采用屏蔽4雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接Vcc和地線,屏蔽層在源端點(diǎn)單點(diǎn)接地。[15](9)在DS18B20測(cè)溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號(hào),一旦某個(gè)DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。(7)要嚴(yán)格的按照時(shí)隙圖對(duì)DS18B20進(jìn)行復(fù)位和讀寫(xiě)操作。(5)當(dāng)主機(jī)發(fā)數(shù)值拷貝命令使DS18B20將溫度寄存器的數(shù)值拷貝到EERAM中時(shí),數(shù)據(jù)線保持高電平時(shí)間至少為10ms。(3)初始化時(shí),當(dāng)主機(jī)受到DS18B20回應(yīng)的低電平信號(hào)后等到單總線恢復(fù)高電平后,主機(jī)才能接著對(duì)DS18B20進(jìn)行操作。(2)在實(shí)際使用時(shí)發(fā)現(xiàn),應(yīng)使電源保持在5V左右。減法計(jì)數(shù)器斜坡累加器減到0減法計(jì)數(shù)器預(yù) 置低溫度系數(shù)振 蕩 器高溫度系數(shù)振 蕩 器計(jì)數(shù)比較器預(yù) 置溫度寄存器減到0圖312 測(cè)溫原理內(nèi)部裝置 測(cè)溫系統(tǒng)的硬件工作原理對(duì)DS18B20初始化后,主機(jī)發(fā)出SKIP ROM命令,此命令執(zhí)行后的存儲(chǔ)器操作命令將對(duì)所在線的DS18B20,在發(fā)出溫度轉(zhuǎn)換啟動(dòng)碼44H,等待750ms后,先發(fā)出匹配ROM命令(55H),緊接著主機(jī)提供一片DS18B20的64位序列號(hào),讀取其溫度存儲(chǔ)器值,存入數(shù)據(jù)緩存。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值,這就是DS18B20的測(cè)溫原理。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將55 ℃所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在55 ℃所對(duì)應(yīng)的一個(gè)基數(shù)值。程序可以先跳過(guò)ROM,啟動(dòng)所有DSl8B20進(jìn)行溫度變換,之后通過(guò)匹配ROM,再逐一地讀回每個(gè)DSl8B20的溫度數(shù)據(jù)。 DS18B20的測(cè)溫原理每一片DSl8B20在其ROM中都存有其唯一的48位序列號(hào),在出廠前已寫(xiě)入片內(nèi)ROM 中。(2)手工建立傳感器地址與其序列號(hào)的關(guān)系表,并將其固化在程序中。其中6字節(jié)共48位的器件序列號(hào)可看成是每個(gè)傳感器固有的地址編碼而在多點(diǎn)測(cè)溫中作為識(shí)別標(biāo)志。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1