资源简介
基于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
相关资源
- protuesADC083X补丁.zip
- protues+ 8086 +8259仿真
- 课程设计题十一:拔河游戏机设计.
- 51单片机外部中断流水灯汇编语言
- 8086 花式跑马灯 protuse仿真
- protues的51指纹考勤机仿真
- RT12232B液晶程序带protuse仿真文件
- keil实现0到100累加
- mmc卡protues仿真
- 矩阵键盘数码管显示+protues仿真源程序
- protues中AMPIRE12864液晶数据手册及程序
- 在Protues中怎样更改51单片机默认RAM大
- 全自动洗衣机PROTUES仿真+源程序+完整
- STM32 F103R6 寄存器方式读写GPIO源代码
- 四按键控制四个LED亮灭的源程序和P
- protues 太阳能LED路灯充电控制器模拟充
- protues下仿真红外发射电路
- 用protues仿真的按键式波形发生器
- protues标准交通灯设计
- PROTUS数字电压表程序
- 交通灯单片机课程设计
- protues 仿真直流电机控制系统
- protues仿真 数字时钟的课程设计
- 51单片机 矩阵键盘 protues ISIS 源码和仿
- 低频信号发生器protues仿真与C程序
- 基于单片机的交通灯keil仿真程序和
- protues成功仿真AD(TLC549)采集系统.
- 微机原理课程设计 --汽车信号灯控制
- 微机原理课程设计(亲测可用)--吉利
- 课程设计题五:汽车尾灯控制器设计
评论
共有 条评论