久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14407|回復: 1
打印 上一主題 下一主題
收起左側

LM75A溫度傳感器的應用電路 程序 中文資料

[復制鏈接]
跳轉到指定樓層
樓主
ID:105323 發表于 2016-2-24 18:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 51黑黑黑 于 2016-3-3 00:55 編輯

(一)LM75A概述
LM75A 是一個高速I2C接口的溫度傳感器,可以在-55℃~+125℃的溫度范圍內將溫度直接轉換為數字信號,并可實現0.125℃的精度。MCU可以通過I2C總線直接讀取其內部寄存器中的數據,并可通過I2C對4 個數據寄存器進行操作,以設置成不同的工作模式。LM75A有3 個可選的邏輯地址管腳,使得同一總線上可同時連接8 個器件而不發生地址沖突。LM75A 可配置成不同的工作模式。它可設置成在正常工作模式下周期性地對環境溫度進行監控,或進入關斷模式來將器件功耗降至最低。OS輸出有2 種可選的工作模式:OS比較器模式和OS 中斷模式,OS 輸出可選擇高電平或低電平有效。正常工作模式下,當器件上電時,OS工作在比較器模式,溫度閾值為80℃,滯后閾值為75℃。低功耗設計,工作電流典型值為250uA,掉電模式為3.5uA;寬工作電壓范圍:2.8V~5.5V。
(二)  LM75A管腳

(三)LM75A內部寄存器
1、溫度寄存器Temp(地址0x00
溫度寄存器是一個只讀寄存器,包含2個8位的數據字節,由一個高數據字節(MS)和一個低數據字節(LS)組成。這兩個字節中只有11位用來存放分辨率為0.125℃的Temp數據(以二進制補碼數據的形式),如下表所示。對于8位的I2C總線來說,只要從LM75A的“00地址”連續讀兩個字節即可(溫度的高8位在前)。

下表給出了一些Temp數據和溫度值的例子。


2、配置寄存器(地址0x01

配置寄存器為8 位可讀寫寄存器,其位功能分配如下表所示。

B7-B5:保留,默認為0。
B4-B3:用來編程OS故障隊列。
0011代表的值為1、24、6,默認值為0
B2:用來選擇OS極性。
B2=0,OS低電平有效(默認);
B2=1,OS高電平有效。
B1:選擇OS工作模式。
B1=0,配置成比較器模式,直接控制外圍電路;
B1=1,OS控制輸出功能配置成中斷模式,以通知MCU進行相應處理。
B0:選擇器件工作模式。
B0=0LM75A處于正常工作模式(默認);
B0=1,LM75A進入關斷模式。
3、滯后寄存器Thyst0x02
滯后寄存器是讀/寫寄存器,也稱為設定點寄存器,提供了溫度控制范圍的下限溫度。每次轉換結束后,Temp數據(取其高9 位)將會與存放在該寄存器中的數據相比較,當環境溫度低于此溫度的時候,LM75A將根據當前模式(比較、中斷)控制OS 引腳作出相應反應。該寄存器都包含2 個8 位的數據字節,但2 個字節中,只有9 位用來存儲設定點數據(分辨率為0.5℃的二進制補碼),其數據格式如下表所示,默認為75℃。

4、超過溫關斷閾值寄存器Tos0x03
超溫關斷寄存器提供了溫度控制范圍的上限溫度。每次轉換結束后,Temp數據(取其高9位)將會與存放在該寄存器中的數據相比較,當環境溫度高于此溫度的時候,LM75A將根據當前模式(比較、中斷)控制OS引腳作出相應反應。其數據格式如表 4 所示,默認為80℃。
(四)OS輸出
OS輸出為開漏輸出口。為了觀察到這個輸出的狀態,需要接一個外部上拉電阻,其阻值應當足夠大(高達200kΩ),以減少溫度讀取誤差。OS輸出可通過編程配置寄存器的B2位設置為高或低有效。如下圖所示,為LM75A在不同模式下OS 引腳對溫度作出的響應。OS 設為低有效。

可以看出,當LM75A工作在比較器模式時,當溫度高于Tos時,OS輸出低電平。此時采取了降溫措施,啟動降溫設備(如風扇),直到溫度再降到Thyst,則停止降溫,因此在這種模式下,LM75A可以直接控制外部電路來保持環境溫度;而在中斷模式,則在溫度高于Tos或低于Thyst 時產生中斷。注意:在中斷模式下,只有當MCU 對LM75A 進行讀操作后,其中斷信號才會消失(圖中OS 變為高電平)。
(五)I2C串行接口
在主控器的控制下,LM75A可以通過SCL和SDA作為從器件連接到I2C總線上。主控器必須提供SCL時鐘信號,可以通過SDA讀出器件數據或將數據寫入到器件中。注意:必須在SCL和SDA端分別連接一個外部上拉電阻,阻值大約為10kΩ。LM75A從地址(7位地址)的低3位可由地址引腳A2、A1和A0的邏輯電平來決定。地址的高4位預先設置為‘1001’。下表給出了器件的完整地址,從表中可以看出,同一總線上可連接8個器件而不會產生地址沖突。由于輸入管腳SCL、SDA、A2-A0內部無偏置,因此在任何應用中它們都不能懸空(這一點很重要)。
(六)溫度測量電路

(七)51單片機源碼
ORG0000             ;
               AJMP  L0
               ORG   000BH
               ORG 0013H;外部中斷P3.3INT0入口地址
               ORG   001BH
               MOV P1,#0AAH
               RETI

               ORG 0025h
               T_SCL EQUP3.5;
               T_SDA EQUP3.4;

   L0:        MOV TMOD, #11H
              MOV 8CH, #3CH
               MOV 8AH,#0B0H
               CLREA               ; CPU總中斷請求
QL:          MOV A,#00H
               MOVR2,#66D     ;清數據區;;
               MOV R0,#18H
QRAM:     MOV  @R0,  A
               INC  R0
               DJNZ  R2,  QRAM
               MOV R2,#00H
               ACALL TMP
               AJMP QL
TMP:       PUSH PSW
           LCALLSTA
           MOV A,#90H   ;寫命令
           CALL I2C_SEND
           MOV  A,#00h               ; 溫度寄存器地址00
           CALL I2C_SEND
           CALL STOP
;溫度寄存器是一個只讀寄存器,包含2個8位的數據字節,由一個高數據字節(MS)和一個低數據字節(LS)組成。這兩個字節中只有11位用來存放分辨率為0.125℃的Temp數據
;(以二進制補碼數據的形式),如表1所示。對于8位的I2C總線來說,只要從LM75A的“00;地址”連續讀兩個字節即可(溫度的高8位在前)
           LCALLSTA
           MOV A,#91H   ;讀命令
           CALL I2C_SEND
           LCALLRDBYT
           MOV2FH,A
           LCALLMACK
           LCALLRDBYT
           MOV30H,A
           LCALLMNACK
           LCALLSTOP
           MOVA,2FH
           JNBACC.7,ZH1    ;最高位是0為零是正溫度轉ZH1
           SETB 20H.7      ;保存正負溫度標志 ;最高位是1為零下溫度取反加1                                   
           MOV A,2FH         ;例如溫度是-54.875度,源碼=1100 1001001XXXXX 例如溫度72.75,30h=48h,31h=40h,加在一起是01001000(=30H)010xxxxx=(31H)
           CPL A            ;00110110=(30H)
           MOV 2FH,A         ;高位取反
           MOV A,30H         ;低位取反110XXXXX
           CPL A            ;110XXXXXX=(31H)
           MOV30H,A
           MOV A,#01H     ;10110111=B7
           ADDA,30H
           MOV30H,A
           CLR A
           ADDC A,2FH     ;例如溫度是-54.875度=-439*.125,補碼649h,-649h=1 110 0100 1001
           MOV 2FH,A     ;結果是32h=01,33h=b7,合并成1b7h取反=00110110110,加1=00110110111為正碼1b7h=439,39*.125=54.875         
ZH1:       MOV R2,#5
ZH2:       MOV A,2FH
           CLR C
           RRC A        ;低位進C 01001000的0進C
           MOV2FH,A
           MOVA,30H
           RRC A         ;C進高位 0010xxxx
           MOV30H,A
           DJNZR2,ZH2
           MOVR1,#2FH            ;送顯示
           MOV R4,#2
           LCALL XS
           POPPSW
           RET

STA:       SETB SDA    ;啟動
           SETBSCL
           CALLWAIT;NOP
           NOP
           CLRSDA
           CALLWAIT;NOP
           NOP
           CLRSCL
           RET

STOP:      CLR SDA        ;停止
           SETBSCL
           CALLWAIT;NOP
           NOP
           SETBSDA
           CALLWAIT;NOP
           NOP
           CLRSCL
           RET

MACK:      CLR SDA        ;發送應答位
           SETBSCL
           CALLWAIT;NOP
           NOP
           CLRSCL
           SETBSDA
           RET

MNACK:     SETB SDA        ;發送非應答信號
           SETBSCL
           CALLWAIT
           NOP
           CLRSCL
           CLRSDA
           RET

RDBYT:         MOV R0,#08H        ;接收一個字節數據子程序,占用:R0,R2,C
RLP:           SETBSDA
RLP8:          SETB SCL
                  NOP           ;大于4微秒
              CALL WAIT
              MOV C,SDA
      RLC A
              CLR SCL
              CALL WAIT
              DJNZ R0,RLP8
RLP1:          RET
WAIT:
           MOV R6,#5
       again:
           DJNZ R6,again
           RET

I2C_SEND:
           MOV R1,#8      ;
      next_out:
           CLR  SCL             ;
           SETB SDA             ;
           RLC  A               ;
           JC   wr_one          ;
           CLR  SDA             ;
      wr_one:
           LCALL WAIT           ;
           SETB SCL             ;
           LCALL WAIT            ;
           DJNZ R1, next_out     ;
           CLR  SCL             ;
           CALL WAIT            ;
           SETB SDA             ;
           LCALL I2C_ACK
           RET

I2C_ACK:                        ;應答
           SETB SCL
           ACALLWAIT
NACK:
           JNB  SDA, YACK       ;
           JMP  NACK
YACK:
           ACALLWAIT
           CLR  SCL
          RET

XS:                  MOV R3, #9
XS1:                 MOV R5,#0FFH
  DIS                MOV DPTR, #0FC0H
                      MOV A, @R1
                      ANL A, #0F0H
                      SWAP A
                        MOVCA, @A+DPTR
                      MOV P0,A
                         SETB  P2.1
                      ACALL YS1
                      CLR p2.1
                      MOV A, @R1
                      ANL  A, #0FH
                        MOVCA, @A+DPTR
                      MOV P0,A
                     SETB  P2.0
                     ACALL YS1
                     CLR p2.0
J6:                  DJNZ R5,DIS
                      DJNZR3,DIS
                      INCR1
                      CLR P2.0
                      CLR P2.1
                      ACALLDELAY2
                      DJNZR4,XS
                     RET

YS1:                MOV     7FH,   #0FFH
YS22:               DJNZ    7FH,   YS22
                      RET

DELAY:          MOV   R5,#88H
DEL:               NOP
                     DJNZ  R5,DEL
                     RET

DELAY2:         MOV   R6, #0FFH
DE:                 ACALL DELAY
                     DJNZ R6,DE
                     RET
     ORG 0FC0H
DB 3FH
DB 03H
DB 6DH
DB 67H
DB 53H
DB 76H,7EH,23H
DB 7FH,77H,73H,5EH,3CH
DB 4FH,0FCH,78H
END

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:926716 發表于 2021-5-24 22:57 | 只看該作者
請問如果用51單片機只是單純的實時讀取LM75A數據,LM75A的SDA和SCL連接51單片機除P0外的引腳時,需要在他們之間串聯一個上拉電阻嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久手机在线视频 | 精品电影 | 成人欧美一区二区三区黑人孕妇 | 欧美a在线| 欧美日韩在线视频一区二区 | 亚洲婷婷六月天 | 欧美激情精品久久久久久 | 18成人在线观看 | 香蕉久久a毛片 | 欧美一区二区三区在线 | 国产一区二区三区久久久久久久久 | 国产美女久久 | 中文字幕不卡一区 | 亚洲精选一区二区 | 天天操天天射天天舔 | 视频一区二区三区中文字幕 | 中文字幕日韩在线观看 | 国产精品三级久久久久久电影 | 午夜久久久久久久久久一区二区 | 本道综合精品 | 久久国产激情视频 | 亚洲成人免费视频 | 国产传媒| 国产一区二区久久久 | 国产aⅴ | 欧美一二区 | 一区二区伦理电影 | 天天干视频在线 | 亚洲天堂一区 | 欧美精品一区二区三区四区五区 | 久久久久久国产 | 一区二区三区国产好 | 玖玖视频国产 | 国产激情毛片 | 免费激情 | 欧美11一13sex性hd | 欧美久操网 | 综合国产第二页 | 亚洲精品亚洲人成人网 | 日中文字幕在线 | 日韩在线一区二区 |