资源简介
基于51单片机的BMP180气压检测程序设计,通过51单片机实时检测气压,并且通过LCD160液晶实时显示。

代码片段和文件信息
#include
#include //Keil library
#include //Keil library
#include //Keil library
#include //Keil library
#define uchar unsigned char
#define uint unsigned int
#define DataPort P0 //LCD1602数据端口
sbit SCL=P1^0; //IIC时钟引脚定义
sbit SDA=P1^1; //IIC数据引脚定义
sbit LCM_RS=P2^6; //LCD1602命令端口
sbit LCM_RW=P2^5; //LCD1602命令端口
sbit LCM_EN=P2^7; //LCD1602命令端口
#define BMP180_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;
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;
void delay(unsigned int k);
void InitLcd(); //初始化lcd1602
void WriteDataLCM(uchar dataW);
void WriteCommandLCM(uchar CMDuchar Attribc);
void DisplayOneChar(uchar Xuchar Yuchar DData);
void conversion(long temp_data);
void Single_Write(uchar SlaveAddressuchar REG_Addressuchar REG_data); //单个写入数据
uchar Single_Read(uchar REG_Address); //单个读取内部寄存器数据
void Multiple_Read(ucharuchar); //连续的读取内部寄存器数据
//------------------------------------
void Delay5us();
void Delay5ms();
void BMP180_Start();
void BMP180_Stop();
void BMP180_SendACK(bit ack);
bit BMP180_RecvACK();
void BMP180_SendByte(BYTE dat);
BYTE BMP180_RecvByte();
void BMP180_ReadPage();
void BMP180_WritePage();
//-----------------------------------
//*********************************************************
void conversion(long temp_data)
{
shiwan=temp_data/100000+0x30 ;
temp_data=temp_data%100000; //取余运算
wan=temp_data/10000+0x30 ;
temp_data=temp_data%10000; //取余运算
qian=temp_data/1000+0x30 ;
temp_data=temp_data%1000; //取余运算
bai=temp_data/100+0x30 ;
temp_data=temp_data%100; //取余运算
shi=temp_data/10+0x30 ;
temp_data=temp_data%10; //取余运算
ge=temp_data+0x30;
}
/*******************************/
void delay(unsigned int k)
{
unsigned int ij;
for(i=0;i {
for(j=0;j<121;j++)
{;}}
}
/*******************************/
void WaitForEnable(void)
{
DataPort=0xff;
LCM_RS=0;
LCM_RW=1;
_nop_();
LCM_E
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 24799 2019-04-26 22:44 程序\BMP180
文件 982 2019-04-26 22:44 程序\BMP180.build_log.htm
文件 6901 2019-04-26 22:44 程序\BMP180.hex
文件 58 2019-04-26 22:44 程序\BMP180.lnp
文件 25787 2019-04-26 22:44 程序\BMP180.M51
文件 242 2019-01-10 14:58 程序\BMP180.plg
文件 85750 2019-04-26 22:45 程序\BMP180.uvgui.73959
文件 72404 2019-01-07 10:01 程序\BMP180.uvgui.Administrator
文件 73106 2019-01-10 14:58 程序\BMP180.uvgui.se
文件 73106 2019-01-10 14:50 程序\BMP180.uvgui_se.bak
文件 5445 2019-04-26 22:45 程序\BMP180.uvopt
文件 14015 2019-04-26 22:45 程序\BMP180.uvproj
文件 55657 2019-01-07 10:01 程序\BMP180_uvopt.bak
文件 0 2019-01-07 10:01 程序\BMP180_uvproj.bak
文件 13338 2019-04-26 22:43 程序\main.c
文件 21047 2019-04-26 22:43 程序\main.LST
文件 29157 2019-04-26 22:43 程序\main.OBJ
文件 62 2019-04-26 22:43 程序\main.__i
文件 6376 2019-01-07 10:01 程序\STARTUP.A51
文件 14049 2019-01-10 14:49 程序\STARTUP.LST
文件 749 2019-01-10 14:49 程序\STARTUP.OBJ
目录 0 2019-04-26 22:46 程序
----------- --------- ---------- ----- ----
523030 22
相关资源
- 51单片机通信采样proteus仿真方波转化
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 51单片机频率计(很简单)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
- 适用于STC单片机和51单片机的SX1262驱动
- 基于51单片机的计算器(C51编写,有
- 51单片机大量源码
- 基于51单片机的交通信号灯程序
- GSM监控系统51单片机设计
- 51单片机定时器/计数器的结构和原理
评论
共有 条评论