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

正文內(nèi)容

數(shù)字溫度計論文ds18b20單片機副本-文庫吧資料

2025-06-30 21:25本頁面
  

【正文】 的重視。這種情況主要由總線分布電容使信號波形產(chǎn)生畸變造成的。(5)連接DS18B20的總線電纜是有長度限制的。(3)較小的硬件開銷需要相對復雜的軟件進行補償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS18B20進行讀寫編程時,必須嚴格保證讀寫時序,否則將無法讀取測溫結(jié)果,在使用PL/M、C等高級語言進行系統(tǒng)程序設計時,對DS18B20操作部分最好采用匯編語言實現(xiàn)?!?DS18B20使用中的注意事項 DS18B20溫度計還可以在高低溫報警、遠距離多點溫度控制等方面開發(fā)應用,但在實際應用中也應注意以下幾方面的問題:(1)DS18B20從測量溫度結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時間,這是必須保證的,不然會出現(xiàn)轉(zhuǎn)換錯誤的現(xiàn)象,使溫度輸出總是顯示85℃。性能測試可用制作的溫度計和已有的成品溫度計來同時測量比較,由于DS18B20的精確度很高,℃以內(nèi),另外-55℃~+125℃的測量范圍使得該溫度計完全適合一般的應用場合,其低電壓供電特性可做成電池供電的手持電子溫度計。軟件調(diào)試可以先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、測溫子程序、預置數(shù)、報警子程序等的編程及調(diào)試,由于DS18B20與單片機采用串行數(shù)據(jù)傳送,因此,對DS18B20進行編程時必須嚴格地保證讀寫時序,否則將無法讀取測量結(jié)果?!?調(diào)試性能分析系統(tǒng)的調(diào)試以程序為主。 (05) (06) (07) (08) (09) DB 06DH, 07DH, 007H, 07FH, 06FH;延時子程序DELAY1: MOV R1, 0A0HDEL11: NOP DJNZ R1, DEL11RETEND;工作內(nèi)存定義:DISBUF0 EQU 10HDISBUF1 EQU DISBUF0+1DISBUF2 EQU DISBUF1+1……………………………………………..DISBUF9 EQU DISBUF8+1167?!? 顯示子程序DISPLAY: MOV A, DISBUF0 MOV DPTR, SEG MOVC A, A+DPTR MOV P1, A MOV P2, 00000001B LCALL DELAY1MOV P2, 00000000B MOV A, DISBUF1 MOV DPTR, SEG MOVC A, A+DPTR ORL A, 80H MOV P1, A MOV P2, 00000010B LCALL DELAY1MOV P2, 00000000B MOV A, DISBUF2 MOV DPTR, SEG MOVC A, A+DPTR MOV P1, A MOV P2, 00000100B LCALL DELAY1MOV P2, 00000000B……………………… ……………………… MOV A, DISBUF7 MOV DPTR, SEG MOVC A, A+DPTR MOV P1, A MOV P2, 00000000B LCALL DELAY1MOV P2, 00000000B RET ?!?比較報警子程序CMP: MOV A,DISBUF0 ;實際測量溫度值放在DISBUF8中 SWAP A MOV DISBUF8, A MOV A, DISBUF1 ORL A, DISBUF8 MOV DISBUF8, AMOV A,DISBUF4 ;預置溫度值放在DISBUF9中 SWAP A MOV DISBUF9, A MOV A, DISBUF5 ORL A, DISBUF9 MOV DISBUF9, A CLR C MOV A, DISBUF8 SUBB A, DISBUF9JNC KK ;沒有借位,即實際溫度值大于;預置溫度值轉(zhuǎn)KKCLR ;有借位,即實際溫度值小于預置溫度值;,不發(fā)報警信號RETKK: SETB ;,即發(fā)出報警標志發(fā)光二極管亮 RET167。  讀DS18B20子程序READ: MOV R6,8 ;循環(huán)8次,讀一個字節(jié)RE1: CLR MOV R4, 6NOPNOPSETB RE2: DJNZ R4,RE2 ;等待8USMOV C, ;讀DS18B20的數(shù)據(jù)RRC A ;讀取的數(shù)據(jù)移入AMOV R5, 30DJNZ R6,RE1 ;讀完一個字節(jié)的數(shù)據(jù)MOV 3DH,A ;數(shù)據(jù)存入3DH中SETB ;把數(shù)據(jù)線拉高RET開始返回 設循環(huán)次數(shù)為8延時600us=0延時1us以上 =1等待8us存入3DH中 =1讀DS18B20的數(shù)據(jù)讀完? N Y 圖33讀DS18B20子程序流程圖167。在這一部分只給出程序流程圖,然后給出根據(jù)流程圖所編寫的DS18B20復位子程序。167。系統(tǒng)對DS18B20的各種操作都是按時序進行的?!?主程序 ORG 0000H LJMP STARTSTART: MOV DISBUF4,00H ;開始,初始化 MOV DISBUF5, 00HMAIN: ;主程序 LCAAL KEY ;調(diào)按鍵預置數(shù)子程序CLR RS1CLR RS0LCALL RESET ;調(diào)復位子程序MOV A,0CCH ;跳過ROM匹配0CCHLCALL WRITE ;調(diào)DS18B20寫子程序MOV A,44H ;發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE ;調(diào)DS18B20寫子程序LCALL RESET ;調(diào)復位子程序MOV A,0CCH ;跳過ROM匹配LCALL WRITE ;調(diào)DS18B20寫子程序MOV A,0BEH ;發(fā)出讀取溫度值命令LCALL WRITE ;調(diào)DS18B20寫子程序LCALL READ ;調(diào)DS18B20讀子程序MOV A, 3DHMOV 29H,ALCALL READMOV A, 3DHMOV 28H, AMOV R0, 34HMOV A, 28HRLC AMOV 47H, C JNB 47H, BTOD1 ;28H中的最高位是否為1(溫度0);小于0的溫度值不處理,大于0順序執(zhí)行BTOD1: MOV A, 28HRRC AMOV 40H, CRRC AMOV 41H, CRRC AMOV 42H, CRRC AMOV 43H, CMOV A, 29H MOV 27H, AMOV C,40H ;將28H中的最低位移入C,40H41H42H;43H為28H中的位地址RRC A ;將28H中的低4位移到A的高4位MOV C, 41HRRC AMOV C, 42HRRC AMOV C, 43HRRC AMOV 29H,A ;將28H中的低4位放入29H中MOV A, 29H ;將29H中的十六進制數(shù)轉(zhuǎn)換成10進制 MOV B, 100 DIV AB MOV R0, A ;百位存于34HMOV R0, 11H ;百位不顯示DEC R0MOV A, 10XCH A, BDIV ABMOV R0, A ;十位存于33H DEC R0 MOV R0, B ;個位存于32HDEC R0ANL 27H, 0FH ;小數(shù)點后一位進制轉(zhuǎn)換MOV A, 27HMOV B, 06H MUL ABMOV B, 10DIV ABMOV R0, A ;小數(shù)點后一位存于31HMOV DISBUF0,33H ;十位MOV DISBUF1,32H ;個位MOV DISBUF2,31H ;小數(shù)位MOV DISBUF3, 0H ;置0MOV DISBUF6, 0HMOV DISBUF7, 0HLCALL CMP ;調(diào)比較報警子程序LCALL DISPLAY ;調(diào)用顯示子程序LJMP MAIN ;轉(zhuǎn)到MAIN167。第4章  軟件編程調(diào)試及性能分析167。通過網(wǎng)絡標號C0C7與驅(qū)動芯片ULN2803A相連,以此為橋梁與AT89C52相連,實現(xiàn)位控制功能。顯示時采用循環(huán)移位法,即八位數(shù)碼管依次循環(huán)點亮,利用人眼睛的視覺暫留效果達到連續(xù)顯示,主程序每運行一遍便調(diào)用一次顯示子程序,將數(shù)據(jù)顯示出來。圖22 驅(qū)動電路原理圖圖23 顯示電路原理圖167?!?驅(qū)動電路模塊原理圖驅(qū)動電路由ULN2803A組成,通過網(wǎng)絡標號P20P27與單片機相連,通過網(wǎng)絡標號C0C7與顯示電路數(shù)碼管相連,實現(xiàn)位控制功能。具體電路原理圖如下圖21所示。報警電路很簡單,只有一個發(fā)光二極管,若實際測量的溫度值大于預置溫度值,則發(fā)光二極管亮,即為報警標志。AT89C52是此硬件電路設計的核心,控制溫度的讀出和顯示。第3章  系統(tǒng)硬件電路的設計167。若在這條命令之后發(fā)出讀數(shù)據(jù)隙,器件會輸出溫度轉(zhuǎn)換忙的標識:0為忙,1為完成。(10) Read E[0B8H]這條命令把 觸發(fā)器里的值拷貝回暫存器。如果控制器在這條命令之后跟著發(fā)出時間隙,而DS18B20有忙于做時間轉(zhuǎn)換的話,DS18B20將在總線上輸出一個0,若溫度轉(zhuǎn)換完,則輸出1。(9) Convert T[44H] 這個命令啟動一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。如果控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于把暫存器拷貝到E存儲器,DS18B20就會輸出一個0,如果拷貝結(jié)束的話,DS18B20輸出1。如果不想讀完所有字節(jié),控制器可以在任何時刻發(fā)出復位命令來中止讀取。(7) Read Scratchpad[0BEH] 這個命令讀取暫存器的內(nèi)容。(6) Write Scratchpad[4EH]這個命令向DS18B20的暫存器TH和TL中寫入數(shù)據(jù)。報警條件定義為溫度高于TH或低于TL。(5) Alarm Search [0ECH] 這條命令的流程和Search ROM相同。(4) Search ROM [0F0H]當一個系統(tǒng)初次啟動時,總線控制器并不知道單線總線上有多少個器件或它們的64位ROM編碼。如果總線上不止一個從機,在命令之后緊跟著發(fā)一條讀命令,由于多個從機同時傳信號。這條命令在總線上有單個或多個器件時都可以使用。只有和64位ROM序列完全匹配的DS18B20才能響應隨后的存儲器操作。如果總線上有不止一個從機,當所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成“與”的效果)。  DS18B20的各個ROM命令(1) Read ROM [33H]這個命令允許總線控制器讀到DS18B20的8位系列編碼,惟一的序列號的8位CRC碼。圖45(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地,圖45(b)中DS18B20采用外接電源方式,其VDD端用3V~。 主機寫“0”時隙 主機寫“1”時隙 VCC 60usTX120us 1ustxcc∞1Wire Bus GND DS18B20采樣 1us DS18B20采樣
點擊復制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1