• 大小: 98KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: 其他
  • 标签: KEIL代码  51单片机  

资源简介

基于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


评论

共有 条评论