资源简介
基于51单片机的SHT10温度湿度采样和显示,含有整个keil代码 和protues电路图。
基于51单片机的SHT10温度湿度采样和显示,含有整个keil代码 和protues电路图。
基于51单片机的SHT10温度湿度采样和显示,含有整个keil代码 和protues电路图。
基于51单片机的SHT10温度湿度采样和显示,含有整个keil代码 和protues电路图。
基于51单片机的SHT10温度湿度采样和显示,含有整个keil代码 和protues电路图。

代码片段和文件信息
#include
#include
#define NOP _nop_()
#define noACK 0
#define ACK 1
#define uint unsigned int
#define uchar unsigned char
#define uchar unsigned char
#define STATUS_REG_W 0x06 //000 0011 0
#define STATUS_REG_R 0x07 //000 0011 1
#define MEASURE_TEMP 0x03 //000 0001 1
#define MEASURE_HUMI 0x05 //000 0010 1
#define RESET 0x1e //000 1111 0
enum {TEMPHUMI};
sbit DATA = P1^2;
sbit SCK = P1^1;
sbit E=P3^0; //LCD使能端口定义
sbit RW=P3^1; //LCD读写使能端口定义
sbit RS=P3^2; //LCD数据/命令选择方式端口定义
sbit bflag=P2^7; //LCD忙指示端口,高电平为忙
unsigned char idata data_res[14]={‘ ‘0x310x320x33‘ ‘‘+‘0x340x350x36‘ ‘0x370x380x39‘ ‘};
void s_connectionreset(void);
char s_measure(unsigned char *p_value unsigned char *p_checksum unsigned char mode);
void calc_sth10(float *p_humidity float *p_temperature);
typedef union //定义共用同类型
{
unsigned int i;
float f;
} value;
//延时函数
void delay(int z) //z为毫秒数
{
int xy;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
char s_write_byte(unsigned char value)
{
unsigned char ierror=0;
for (i=0x80;i>0;i>>=1) //高位为1,循环右移
{
if (i&value) DATA=1; //和要发送的数相与,结果为发送的位
else DATA=0;
SCK=1;
_nop_();_nop_();_nop_(); //延时3us
SCK=0;
}
DATA=1; //释放数据线
SCK=1;
error=DATA; //检查应答信号,确认通讯正常
_nop_();_nop_();_nop_(); //延时3us
SCK=0;
DATA=1;
return error; //error=1 通讯错误
}
//读字节程序
char s_read_byte(unsigned char ack)
//----------------------------------------------------------------------------------
{
unsigned char ival=0;
DATA=1; //释放数据线
for(i=0x80;i>0;i>>=1) //高位为1,循环右移
{
SCK=1;
if(DATA) val=(val|i); //读一位数据线的值
SCK=0;
}
DATA=!ack; //如果是校验,读取完后结束通讯;
SCK=1;
_nop_();_nop_();_nop_(); //延时3us
SCK=0;
_nop_();_nop_();_nop_(); //延时3us
DATA=1; //释放数据线
return val;
}
//启动传输
void s_transstart(void)
// generates a transmission start
// _____ ________
// DATA: |_______|
// ___ ___
// SCK : ___| |___| |______
{
DATA=1; SCK=0; //准备
_nop_();
SCK=1;
_nop_();
DATA=0;
_nop_();
SCK=0;
_nop_();_nop_();_nop_();
SCK=1;
_nop_();
DATA=1;
_nop_();
SCK=0;
}
//连接复位
void s_connectionreset(void)
// communication reset: DATA-line=1 and at least 9 SCK cycles followed by transstart
// _____________________________________________________ ________
// DATA: |_______|
// _ _ _ _
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 32789 2020-04-15 10:37 SHT10\Last Loaded LCD_demo.pdsbak
.CA.... 31823 2020-04-15 10:40 SHT10\LCD_demo.pdsprj
.CA.... 2200 2020-04-15 10:40 SHT10\LCD_demo.pdsprj.LAPTOP.Laptop.workspace
.CA.... 10536 2020-04-15 10:39 SHT10\main.c
.CA.... 19268 2020-04-15 10:39 SHT10\main.LST
.CA.... 18293 2020-04-15 10:39 SHT10\main.OBJ
.CA.... 17564 2020-04-15 10:39 SHT10\shiyan1
.CA.... 7415 2020-04-15 10:39 SHT10\shiyan1.hex
.CA.... 21881 2020-04-15 10:39 SHT10\shiyan1.M51
.CA.... 1240 2020-04-15 10:40 SHT10\shiyan1.Opt
.CA.... 2984 2020-04-15 10:39 SHT10\shiyan1.plg
.CA.... 2067 2020-04-15 10:37 SHT10\shiyan1.Uv2
.C..... 1240 2020-04-15 10:37 SHT10\shiyan1_Opt.Bak
.CA.... 0 2020-04-15 10:31 SHT10\shiyan1_Uv2.Bak
.CA.... 5115 2019-02-15 09:49 SHT10\STARTUP.A51
.CA.... 11776 2020-04-15 10:39 SHT10\STARTUP.lst
.CA.... 887 2020-04-15 10:39 SHT10\STARTUP.obj
.C.D... 0 2020-04-15 10:40 SHT10
----------- --------- ---------- ----- ----
187078 18
相关资源
- 51单片机基于protues的几个仿真实例
- 步进电机protues仿真
- 毕业设计 单片机 对讲机 protues仿真
- 数据采集系统——ADC0808的应用,单片
- protues万年历仿真
- 数字电压表(源程序 protues仿真)
- 基于51单片机的计算器(C51编写,有
- 数据采集系统——ADC0808的应用
- 基于protues的信号发生器,protues详细教
- 微机原理 十字路口交通灯控制 prot
- 红绿灯protues仿真
- 基于51单片机的十字路口交通灯Protu
- PROTUES 7.10
- 16x128LED点阵显示屏横向滚动.zip
- TLC2543程序+protues仿真
- 基于MCS51系列单片机的十字路口交通灯
- 超声波车速测量系统设计
- protues元器件名称
- 点阵12864 protues仿真+源码
- protues仿真stm32f103r6输出正弦波
- protues仿真stm32f103输出PWM
- Protues 增加元件库
- 基于AD1674的模数转换电路及程序
- Protues仿真8051-PWM控制LED的亮度仿真程
- 单片机 PROTUES仿真大全(附带原理图)
- 51单片机出租车计价器
- DS18B20 AT89C51 单片机 protus keil 温度传感
- 16*16点阵汉字滚动显示C51程序,仿真,
- AT89S51单片机试验及实践教程(含有大
- 基于51单片机串口温湿度采集和传输仿
评论
共有 条评论