资源简介
基于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单片机的AD7705模块电压检测
- sht30 基于C51单片机的驱动程序,可能
- 步进电机c程序 针对51单片机 两相56线
- 基于51单片机&GPS;的导航系统设计含详
- 51单片机驱动74hc595去控制8位数码管
- 基于AT89C51单片机的温度自动监控系统
- 基于51单片机计算器课程设计
- C51单片机T9输入法
- 51单片机外部中断流水灯汇编语言
- 原创最全51单片机函数库 IO DAC Timer
- 51单片机lcd多级菜单
- 基于51单片机的GSM短信收发系统设计
- 基于51单片机的MPU6050程序
- 51单片机程序设计编程思路
- BMP180博世气压传感器驱动程序
- 51与adc0832 信号发生器 可产生正弦波
- 51单片机LCD160128驱动程序
- GPS语音导游
- 控制51单片机灯亮度渐变
- 基于51单片机电流电压采集
- 基于51单片机的篮球计分牌的设计
- 51单片机设计交通灯仿真C程序.rar
- 基于51单片机和lm371的发射机程序
- 51单片机与PC间的WIFI通信
- 基于AT89C51单片机的温度测量设计
- 原创自己动手写实时操作系统能够在
- 51单片机到TC35(GSM)发送接收程序
- MSC51单片机 汇编语言 循环显示0到99程
- 三字节乘以三字节mcs-51单片机
- 51单片机Ds1302及温度Ds18B20+1602液晶显示
评论
共有 条评论