欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

MPL3115A2測(cè)出數(shù)據(jù)不準(zhǔn)確問(wèn)題

查看數(shù): 3054 | 評(píng)論數(shù): 5 | 收藏 0
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2020-11-18 09:43

正文摘要:

這是又買(mǎi)一個(gè)MPL3115A2傳感器模塊測(cè)量。結(jié)果都是這樣,海拔測(cè)出120米,我這實(shí)際海拔73米左右,后邊78 是16進(jìn)制顯示 溫度還是很準(zhǔn)確的,手摸反應(yīng)靈敏 氣壓測(cè)出高的離譜, 不是說(shuō)這模塊測(cè)出數(shù)據(jù)是補(bǔ)償過(guò)的嗎?

回復(fù)

ID:72088 發(fā)表于 2020-11-21 16:39
Y_G_G 發(fā)表于 2020-11-20 14:26
沒(méi)有完整的代碼,看不明白,最主要的數(shù)據(jù)轉(zhuǎn)換部分沒(méi)有
以下是我改了你的代碼,你參照一下
;============== ...

我試試
ID:401564 發(fā)表于 2020-11-20 14:26
新鄉(xiāng)家電維修 發(fā)表于 2020-11-19 19:31
sda  BIT        p1.0   ;SDA數(shù)據(jù)信號(hào)
        scl  BIT        p1.1   ;SCL時(shí)鐘信號(hào)
           address        equ        31h    ;地址數(shù)

沒(méi)有完整的代碼,看不明白,最主要的數(shù)據(jù)轉(zhuǎn)換部分沒(méi)有
以下是我改了你的代碼,你參照一下
;=================BMPM3PR讀程序==============================
read_M3PR:
        mov         r0,#21h         ;
        mov         address,#01H    ;
        mov         r5,#5         
ss:     mov         r2,#11000000b        ;      
        mov         r4,#11000001b        ;
        Lcall         read            ;
        inc         address
        inc     r0
        djnz         r5,ss
ret
/*                讀取數(shù)據(jù)這一塊,最好是直接用 OUT_P_MSB  DATA                030H
                                                                        OUT_P_CSB  DATA                031H
                                                                        OUT_P_LSB  DATA                032H
                專門(mén)用來(lái)存放海拔三個(gè)數(shù)據(jù),用R0指向容易混亂*/
;==========================================================
read:        lcall         start        ;
        mov     a,r2        ;
        lcall         send
        lcall         ack         ;
        jc      read        ;沒(méi)有完整代碼,看不明白這什么意思?               
        mov     a,address
        lcall         send
        lcall         ack
read_a:        lcall         start
        mov     a,r4
        lcall         send
        lcall         ack
        jc      read_a
rece:        lcall         receive
        mov     @r0,a        
        lcall         ack                 ;讀取一個(gè)地址的數(shù)據(jù)之后,這里應(yīng)該是要發(fā)送一個(gè)不應(yīng)答信號(hào),而不是應(yīng)答,這條指令不要了
/*                CLR                SCL
                延時(shí)
                SETB        SDA
                延時(shí)
                SETB        SCL
                延時(shí)
                CLR                SCSL
                延時(shí)
                CLR                SDA
這要發(fā)送一個(gè)不應(yīng)答信號(hào)*/
        lcall         stop
ret
;===========================================================
ID:72088 發(fā)表于 2020-11-19 19:31
        sda  BIT        p1.0   ;SDA數(shù)據(jù)信號(hào)
        scl  BIT        p1.1   ;SCL時(shí)鐘信號(hào)
           address        equ        31h    ;地址數(shù)

        CTRL_REG1 EQU 27H        ;壓力傳感器控制寄存器(測(cè)高測(cè)壓和復(fù)位)
        DIZHI_X        EQU        5AH        ;列地址
        DIZHI_Y        EQU        5BH        ;頁(yè)地址(B0-B7)
        SSDDADA EQU 5CH        ;一字節(jié)暫存地址

        ORG  00H
        ORG  60H

MAIN:
           CLR A
        MOV P0M1,A       ;00--->準(zhǔn)雙向口,  01--->推挽輸出
        MOV P0M0,A          ;10--->高阻輸入,  11--->開(kāi)漏輸出
        MOV P1M1,A    ;
        MOV P1M0,A
        MOV P2M1,A    ;設(shè)置準(zhǔn)雙向口
        MOV P2M0,A
        MOV P3M1,A    ;設(shè)置準(zhǔn)雙向口
        MOV P3M0,A          ;
        MOV P5M1,A    ;設(shè)置準(zhǔn)雙向口
        MOV P5M0,A         
        MOV SP, #70H;修改堆棧指針
        MOV A,#0
        MOV 20H,A
        MOV 21H,A
        MOV 22H,A
        MOV R7,#0

        MOV IE,#10000000B        ;不允許總中斷,不允許定時(shí)器0
        MOV TMOD,#00000001B        ;定時(shí)器0=模式1,定時(shí)模式
        MOV AUXR,#00000010B        ;定時(shí)器0/2都工作12分頻模式

        MOV        SP,#60H
        LCALL RESET                ;初始化OLED0.91
        LCALL QPCX                ;清屏程序
;===================主程序===============================================
ST:
           LCALL reset_M3PR        ;復(fù)位M3PR程序
        mov 20h,#10111001b        ;海拔檢測(cè)
        LCALL shezhi_M3PR
        LCALL DELAY1S               
        lcall read_M3PR                 ;讀溫度和海拔程序
        LCALL ZHUAN                  ;數(shù)據(jù)轉(zhuǎn)換
        lcall DISP_A                ;第一排顯示程序

           LCALL reset_M3PR        ;復(fù)位M3PR程序

        mov 20h,#00111001b        ;氣壓檢測(cè)
        LCALL shezhi_M3PR
        LCALL DELAY1S
        lcall read_M3PR                 ;讀溫度和氣壓程序
        LCALL ZHUAN_0                  ;數(shù)據(jù)轉(zhuǎn)換
        lcall DISP_B                ;第二排顯示程序
        JMP ST


;=====================復(fù)位M3PR程序===================================
reset_M3PR:
        lcall start
        mov        a,#11000000B        ;M3PR識(shí)別ID
        lcall send
        lcall ack
        jc         write
       
        mov        a,#26h        ;復(fù)位地址
        lcall send
        lcall ack
        mov        a,#04H        ;04H寫(xiě)入26H就完成復(fù)位
        lcall send
        lcall ack
        lcall stop
        ret

;=================設(shè)置BMPM3PR功能=================================
shezhi_M3PR:

        mov        r6,        #11000000b        ;id        =C0H
        mov r0,#20h                ;r0作為間接尋址
        mov address,#26h        ;開(kāi)始地址
        mov        r5,        #1
        lcall write
        ret

write:
        lcall start
        mov        a,        r6
        lcall send
        lcall ack
        jc         write
       
        mov        a,        address
        lcall send
        lcall ack
        mov        a,        @r0                ;
        lcall send
        lcall ack
        lcall stop
        inc r0
        inc address
        djnz        r5,        write ;減1后不為0轉(zhuǎn)移,存儲(chǔ)6位
        ret
       
;=================身份識(shí)別BMPM3PR================================
shibie:
        mov r0,#1Ah                        ;r0作為間接尋址
        mov address,#0Ch        ;指向身份寄存器
        mov 1Ah,#0        ;清零
        mov r5,        #1        ;讀出1字節(jié)數(shù)據(jù)          
        mov r2,        #11000000b;寫(xiě)B(tài)MPM3PR識(shí)別地址C0H,最后一位是讀寫(xiě)位       
        mov r4,        #11000001b;讀BMPM3PR識(shí)別地址C1H
        Lcall read                ;調(diào)用讀I2C程序
        ret
;=================BMPM3PR讀程序==============================
read_M3PR:

        mov r0,#21h                        ;欲讀數(shù)據(jù)存放地址指針
        mov address,#01H        ;指向數(shù)據(jù)地址
        mov r5,        #5          
ss:        mov r2,        #11000000b;寫(xiě)B(tài)MPM3PR識(shí)別地址       
        mov r4,        #11000001b;讀BMPM3PR
        Lcall read                ;調(diào)用讀程序
        inc address
        inc        r0
        djnz r5,ss
        ret
;----------------------------------
read:
        lcall start                ;啟動(dòng)總線
        mov         a,        r2        ;發(fā)送芯片識(shí)別碼
        lcall send
        lcall ack                ; 芯片應(yīng)答
        jc         read                ;
               
        mov         a,        address
        lcall send
        lcall ack
read_a:
        lcall start
        mov         a,r4
        lcall send
        lcall ack
        jc         read_a
rece:
        lcall receive
        mov         @r0,a        ;讀到數(shù)據(jù)存儲(chǔ)到@R0指定地址
        lcall ack
        lcall stop
        ret

ID:72088 發(fā)表于 2020-11-19 19:23
Y_G_G 發(fā)表于 2020-11-19 08:35
這個(gè)是IIC通訊協(xié)議的,只要有一個(gè)數(shù)據(jù)能讀寫(xiě),那么IIC的讀寫(xiě)就是對(duì)的
現(xiàn)在的問(wèn)題就是你數(shù)據(jù)處理的問(wèn)題了,你 ...

匯編程序,大家沒(méi)耐心看到最好的
ID:401564 發(fā)表于 2020-11-19 08:35
這個(gè)是IIC通訊協(xié)議的,只要有一個(gè)數(shù)據(jù)能讀寫(xiě),那么IIC的讀寫(xiě)就是對(duì)的
現(xiàn)在的問(wèn)題就是你數(shù)據(jù)處理的問(wèn)題了,你整了好幾天,都是靠猜,難道不是應(yīng)該把代碼上傳上來(lái)看一下嗎?
不要去懷疑去元件本身的精度,就算是會(huì)有元件本身的問(wèn)題,但這確實(shí)少之又少,更何況你手頭上已經(jīng)有兩個(gè)了,換一下就知道結(jié)果了
其實(shí)就是數(shù)據(jù)處理的問(wèn)題而已

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表