(一)LM75A概述
LM75A 是一個(gè)高速I2C接口的溫度傳感器,可以在-55℃~+125℃的溫度范圍內(nèi)將溫度直接轉(zhuǎn)換為數(shù)字信號(hào),并可實(shí)現(xiàn)0.125℃的精度。MCU可以通過(guò)I2C總線直接讀取其內(nèi)部寄存器中的數(shù)據(jù),并可通過(guò)I2C對(duì)4 個(gè)數(shù)據(jù)寄存器進(jìn)行操作,以設(shè)置成不同的工作模式。LM75A有3 個(gè)可選的邏輯地址管腳,使得同一總線上可同時(shí)連接8 個(gè)器件而不發(fā)生地址沖突。LM75A 可配置成不同的工作模式。它可設(shè)置成在正常工作模式下周期性地對(duì)環(huán)境溫度進(jìn)行監(jiān)控,或進(jìn)入關(guān)斷模式來(lái)將器件功耗降至最低。OS輸出有2 種可選的工作模式:OS比較器模式和OS 中斷模式,OS 輸出可選擇高電平或低電平有效。正常工作模式下,當(dāng)器件上電時(shí),OS工作在比較器模式,溫度閾值為80℃,滯后閾值為75℃。低功耗設(shè)計(jì),工作電流典型值為250uA,掉電模式為3.5uA;寬工作電壓范圍:2.8V~5.5V。
(二) LM75A管腳
(三)LM75A內(nèi)部寄存器
1、溫度寄存器Temp(地址0x00)
溫度寄存器是一個(gè)只讀寄存器,包含2個(gè)8位的數(shù)據(jù)字節(jié),由一個(gè)高數(shù)據(jù)字節(jié)(MS)和一個(gè)低數(shù)據(jù)字節(jié)(LS)組成。這兩個(gè)字節(jié)中只有11位用來(lái)存放分辨率為0.125℃的Temp數(shù)據(jù)(以二進(jìn)制補(bǔ)碼數(shù)據(jù)的形式),如下表所示。對(duì)于8位的I2C總線來(lái)說(shuō),只要從LM75A的“00地址”連續(xù)讀兩個(gè)字節(jié)即可(溫度的高8位在前)。
下表給出了一些Temp數(shù)據(jù)和溫度值的例子。
2、配置寄存器(地址0x01)
配置寄存器為8 位可讀寫(xiě)寄存器,其位功能分配如下表所示。
B7-B5:保留,默認(rèn)為0。
B4-B3:用來(lái)編程OS故障隊(duì)列。
00到11代表的值為1、2、4、6,默認(rèn)值為0。
B2:用來(lái)選擇OS極性。
B2=0,OS低電平有效(默認(rèn));
B2=1,OS高電平有效。
B1:選擇OS工作模式。
B1=0,配置成比較器模式,直接控制外圍電路;
B1=1,OS控制輸出功能配置成中斷模式,以通知MCU進(jìn)行相應(yīng)處理。
B0:選擇器件工作模式。
B0=0,LM75A處于正常工作模式(默認(rèn));
B0=1,LM75A進(jìn)入關(guān)斷模式。
3、滯后寄存器Thyst(0x02)
滯后寄存器是讀/寫(xiě)寄存器,也稱為設(shè)定點(diǎn)寄存器,提供了溫度控制范圍的下限溫度。每次轉(zhuǎn)換結(jié)束后,Temp數(shù)據(jù)(取其高9 位)將會(huì)與存放在該寄存器中的數(shù)據(jù)相比較,當(dāng)環(huán)境溫度低于此溫度的時(shí)候,LM75A將根據(jù)當(dāng)前模式(比較、中斷)控制OS 引腳作出相應(yīng)反應(yīng)。該寄存器都包含2 個(gè)8 位的數(shù)據(jù)字節(jié),但2 個(gè)字節(jié)中,只有9 位用來(lái)存儲(chǔ)設(shè)定點(diǎn)數(shù)據(jù)(分辨率為0.5℃的二進(jìn)制補(bǔ)碼),其數(shù)據(jù)格式如下表所示,默認(rèn)為75℃。
4、超過(guò)溫關(guān)斷閾值寄存器Tos(0x03)
超溫關(guān)斷寄存器提供了溫度控制范圍的上限溫度。每次轉(zhuǎn)換結(jié)束后,Temp數(shù)據(jù)(取其高9位)將會(huì)與存放在該寄存器中的數(shù)據(jù)相比較,當(dāng)環(huán)境溫度高于此溫度的時(shí)候,LM75A將根據(jù)當(dāng)前模式(比較、中斷)控制OS引腳作出相應(yīng)反應(yīng)。其數(shù)據(jù)格式如表 4 所示,默認(rèn)為80℃。
(四)OS輸出
OS輸出為開(kāi)漏輸出口。為了觀察到這個(gè)輸出的狀態(tài),需要接一個(gè)外部上拉電阻,其阻值應(yīng)當(dāng)足夠大(高達(dá)200kΩ),以減少溫度讀取誤差。OS輸出可通過(guò)編程配置寄存器的B2位設(shè)置為高或低有效。如下圖所示,為L(zhǎng)M75A在不同模式下OS 引腳對(duì)溫度作出的響應(yīng)。OS 設(shè)為低有效。
可以看出,當(dāng)LM75A工作在比較器模式時(shí),當(dāng)溫度高于Tos時(shí),OS輸出低電平。此時(shí)采取了降溫措施,啟動(dòng)降溫設(shè)備(如風(fēng)扇),直到溫度再降到Thyst,則停止降溫,因此在這種模式下,LM75A可以直接控制外部電路來(lái)保持環(huán)境溫度;而在中斷模式,則在溫度高于Tos或低于Thyst 時(shí)產(chǎn)生中斷。注意:在中斷模式下,只有當(dāng)MCU 對(duì)LM75A 進(jìn)行讀操作后,其中斷信號(hào)才會(huì)消失(圖中OS 變?yōu)楦唠娖剑?/div>
(五)I2C串行接口
在主控器的控制下,LM75A可以通過(guò)SCL和SDA作為從器件連接到I2C總線上。主控器必須提供SCL時(shí)鐘信號(hào),可以通過(guò)SDA讀出器件數(shù)據(jù)或?qū)?shù)據(jù)寫(xiě)入到器件中。注意:必須在SCL和SDA端分別連接一個(gè)外部上拉電阻,阻值大約為10kΩ。LM75A從地址(7位地址)的低3位可由地址引腳A2、A1和A0的邏輯電平來(lái)決定。地址的高4位預(yù)先設(shè)置為‘1001’。下表給出了器件的完整地址,從表中可以看出,同一總線上可連接8個(gè)器件而不會(huì)產(chǎn)生地址沖突。由于輸入管腳SCL、SDA、A2-A0內(nèi)部無(wú)偏置,因此在任何應(yīng)用中它們都不能懸空(這一點(diǎn)很重要)。
(六)溫度測(cè)量電路
(七)51單片機(jī)源碼
ORG0000 ;
AJMP L0
ORG 000BH
ORG 0013H;
外部中斷P3.3
腳INT0
入口地址
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
總中斷請(qǐng)求
QL: MOV A,#00H
MOVR2,#66D ;
清數(shù)據(jù)區(qū);;
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 ;寫(xiě)命令
CALL I2C_SEND
MOV A,#00h ; 溫度寄存器地址00
CALL I2C_SEND
CALL STOP
;溫度寄存器是一個(gè)只讀寄存器,包含2個(gè)8位的數(shù)據(jù)字節(jié),由一個(gè)高數(shù)據(jù)字節(jié)(MS)和一個(gè)低數(shù)據(jù)字節(jié)(LS)組成。這兩個(gè)字節(jié)中只有11位用來(lái)存放分辨率為0.125℃的Temp數(shù)據(jù)
;(以二進(jìn)制補(bǔ)碼數(shù)據(jù)的形式),如表1所示。對(duì)于8位的I2C總線來(lái)說(shuō),只要從LM75A的“00;地址”連續(xù)讀兩個(gè)字節(jié)即可(溫度的高8位在前)
LCALLSTA
MOV A,#91H ;讀命令
CALL I2C_SEND
LCALLRDBYT
MOV2FH,A
LCALLMACK
LCALLRDBYT
MOV30H,A
LCALLMNACK
LCALLSTOP
MOVA,2FH
JNBACC.7,ZH1 ;最高位是0為零是正溫度轉(zhuǎn)ZH1
SETB 20H.7 ;保存正負(fù)溫度標(biāo)志 ;最高位是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,補(bǔ)碼649h,-649h=1 110 0100 1001
MOV 2FH,A ;結(jié)果是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 ;低位進(jìn)C 01001000的0進(jìn)C
MOV2FH,A
MOVA,30H
RRC A ;C進(jìn)高位 0010xxxx
MOV30H,A
DJNZR2,ZH2
MOVR1,#2FH ;
送顯示
MOV R4,#2
LCALL XS
POPPSW
RET
STA: SETB SDA ;啟動(dòng)
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 ;發(fā)送應(yīng)答位
SETBSCL
CALLWAIT;NOP
NOP
CLRSCL
SETBSDA
RET
MNACK: SETB SDA ;發(fā)送非應(yīng)答信號(hào)
SETBSCL
CALLWAIT
NOP
CLRSCL
CLRSDA
RET
RDBYT: MOV R0,#08H ;接收一個(gè)字節(jié)數(shù)據(jù)子程序,占用: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: ;應(yīng)答
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
作者: Bestrong
時(shí)間: 2021-5-24 22:57
請(qǐng)問(wèn)如果用51單片機(jī)只是單純的實(shí)時(shí)讀取LM75A數(shù)據(jù),LM75A的SDA和SCL連接51單片機(jī)除P0外的引腳時(shí),需要在他們之間串聯(lián)一個(gè)上拉電阻嗎?
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
国产成人精品一区二区三区视频
|
91精品国产一区二区三区动漫
|
国产精品久久久久久久久动漫
|
日韩中文字幕在线视频
|
成人小视频在线观看
|
欧美日韩亚洲在线
|
久久国产一区二区三区
|
欧美中文字幕一区
|
久久精品久久久久久
|
天天操天天干天天爽
|
国产精品69毛片高清亚洲
|
国产精品日韩在线观看一区二区
|
91av在线免费看
|
亚洲国产成人精品一区二区
|
欧美色综合一区二区三区
|
亚洲日产精品
|
久久久亚洲成人
|
国产99视频精品免视看9
|
九九热免费视频在线观看
|
欧美国产精品一区二区
|
亚欧精品一区
|
亚洲不卡在线观看
|
免费黄色a视频
|
久久久久久天堂
|
日本在线免费视频
|
国产精品99久久久精品免费观看
|
日韩视频―中文字幕
|
国产精品成人在线
|
欧美淫片|
操操操日日日
|
www视频在线观看
|
亚洲国产成人精品女人久久久
|
成人深夜福利
|
国产精品视频免费观看
|
h视频在线免费
|
欧美三级在线
|
成人av一区二区亚洲精
|
一区二区三区视频在线免费观看
|
国产精品久久久久久久久免费软件
|
在线午夜
|
国产激情毛片
|