• 大小: 1.65MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-21
  • 语言: C/C++
  • 标签: STM32  51  C程序  

资源简介

BMP180气压计STM32例程+51例程+数据手册,C语言代码,程序调试好的,能用!

资源截图

代码片段和文件信息

#include  
#include “bmp180.h“
#include “delay.h“
//#include “bmpi2c.h“
#include “LQ12864.h“
 
#include      //Keil library 
#include    //Keil library 
#include     //Keil library
#include   //Keil library
 
#define   uchar unsigned char
#define   uint unsigned int
 
 
#defineBMP085_SlaveAddress   0xee  //定义器件在IIC总线中的从地址                              
#define OSS 0// Oversampling Setting (note: code is not set up to use other OSS values)
 
 
typedef unsigned char  BYTE;
typedef unsigned short WORD;
 
long  temperature;//温度值
long  pressure;//压力值
long  height;//相对海拔高度值
 
//uchar geshibaiqianwanshiwan;           //显示变量
int  dis_data;                              //变量
 
short ac1;
short ac2;
short ac3;
unsigned short ac4;
unsigned short ac5;
unsigned short ac6;
short b1;
short b2;
short mb;
short mc;
short md;
 
/**************************************
延时5毫秒(STC90C52RC@12M)
不同的工作环境需要调整此函数
当改用1T的MCU时请调整此延时函数
**************************************/
void Delay5ms()
{
 
    WORD n = 560;
 
    while (n--);
 
}
 
 
/**************************************
起始信号
**************************************/
void BMP085_Start()
{
 
    SDA = 1;                    //拉高数据线
    SCL = 1;                    //拉高时钟线
    Delay5us();                 //延时
    SDA = 0;                    //产生下降沿
    Delay5us();                 //延时
    SCL = 0;                    //拉低时钟线
 
}
 
/**************************************
停止信号
**************************************/
void BMP085_Stop()
{
 
    SDA = 0;                    //拉低数据线
    SCL = 1;                    //拉高时钟线
    Delay5us();                 //延时
    SDA = 1;                    //产生上升沿
    Delay5us();                 //延时
 
}
 
/**************************************
发送应答信号
入口参数:ack (0:ACK 1:NAK)
**************************************/
void BMP085_SendACK(bit ack)
{
 
    SDA = ack;                  //写应答信号
    SCL = 1;                    //拉高时钟线
    Delay5us();                 //延时
    SCL = 0;                    //拉低时钟线
    Delay5us();                 //延时
 
}
 
/**************************************
接收应答信号
**************************************/
bit BMP085_RecvACK()
{
 
    SCL = 1;                    //拉高时钟线
    Delay5us();                 //延时
    CY = SDA;                   //读应答信号
    SCL = 0;                    //拉低时钟线
    Delay5us();                 //延时
 
    return CY;
 
}
 
/**************************************
向IIC总线发送一个字节数据
**************************************/
void BMP085_SendByte(BYTE dat)
{
 
    BYTE i;
 
    for (i=0; i<8; i++)         //8位计数器
    {
 
        dat <<= 1;              //移出数据的最高位
        SDA = CY;               //送数据口
        SCL = 1;                //拉高时钟线
        Delay5us();             //延时
        SCL = 0;                //拉低时钟线
        Delay5us();             //延时
     
}
    BMP085_RecvACK();
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-08-17 14:48  BMP180数据手册+STM32例程+51例程\
     目录           0  2015-08-17 10:38  BMP180数据手册+STM32例程+51例程\51单片机BMP180气压计例程\
     文件        9733  2015-08-17 10:35  BMP180数据手册+STM32例程+51例程\51单片机BMP180气压计例程\bmp180.c
     文件        1254  2015-08-17 10:36  BMP180数据手册+STM32例程+51例程\51单片机BMP180气压计例程\bmp180.h
     文件     1987423  2015-08-17 10:42  BMP180数据手册+STM32例程+51例程\BST-BMP180-DS000-07.pdf
     目录           0  2015-08-17 11:13  BMP180数据手册+STM32例程+51例程\STM32F103气压计BMP180例程\
     文件        5533  2015-08-17 11:12  BMP180数据手册+STM32例程+51例程\STM32F103气压计BMP180例程\bmp.c
     文件        1292  2015-08-17 11:09  BMP180数据手册+STM32例程+51例程\STM32F103气压计BMP180例程\bmp.h
     目录           0  2015-08-17 14:46  BMP180数据手册+STM32例程+51例程\STM32_bmp180例程\
     文件        9230  2015-08-17 11:42  BMP180数据手册+STM32例程+51例程\STM32_bmp180例程\bmp.c

评论

共有 条评论