标题:
GY-39温湿度传感器
[打印本页]
作者:
1004846693
时间:
2018-12-24 22:32
标题:
GY-39温湿度传感器
温湿度检测
要求:能够将温度 湿度解析并且显示
数码管 最高位 显示 C or H C表示温度 H表示湿度
后三位显示数据 保留1位小数
温湿度交替显示 每个显示1s钟
ex:
C 09.2 = >当前温度为 9.2摄氏度
H 52.6 => 当前湿度为 52.6%
实现同烟雾 只是指令不同
温湿度采集指令 0xa5 0x82 0x27 发送这三个数据即可
然后中断接收数据!
注意:GY-39是循环发送 也就当你接收到数据后需要 将串口中断 关闭
再去解析 否则一直后中断
作者:
devcang
时间:
2018-12-24 23:52
楼主这本质就是串口通讯+数码管哦,最简单的单片机入门知识
作者:
1004846693
时间:
2018-12-25 12:38
devcang 发表于 2018-12-24 23:52
楼主这本质就是串口通讯+数码管哦,最简单的单片机入门知识
温度显示的时候数码管数字显示不对
#include<reg52.h>
unsigned char recv_flag;
unsigned char send_flag;
unsigned char c;
unsigned char num;
unsigned char table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char table2[]={0xc6,0x89};
unsigned char table3[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
unsigned char table4[];
unsigned char buf[15];
void dingshi(void)
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
count++;
if(count==20)
{
count=0;
}
}
void delay(int n)
{
int i,j;
for(i=n;i>0;i--)
for(j=114;j>0;j--);
}
void uart_init()
{
// 第一步:配置波特率的产生
// 1、定时器T1的工作方式2
TMOD = 0x20;
// 2、装初值:
TH1= TL1= 0xFD;//一般使用9600
// 3、启动定时器
TR1 = 1;
// 第二步:串口工作方式确定
SM0 = 0;
SM1 = 1;
REN = 1;
//或者将以上三句话替换为 SCON = 0x50;
// 第三步:开启总中断
EA = 1;
// 第四步:开启串口中断
ES = 1;
}
void send_char(char c)
{
SBUF = c;
while(!TI);
TI = 0;
}
void main()
{ float w,s;
uart_init();
while(1)
{
if(recv_flag == 1)
{
recv_flag = 0;
w=(buf[4]<<8)|buf[5];
s=(buf[10]<<8)|buf[11];
ES = 1;
}
P1=0xf7;
P0=table2[0];
delay(5);
P1 = 0xfb;
P0=table1[(int)(w*100/1000)];
delay(5);
P1 = 0xfd;
P0=table3[(int)(w*100/100)%10];
delay(5);
P1 = 0xfe;
P0=table1[(int)(w*100/10)%10];
delay(5);
dingshi(1)
// P1=0xf7;
// P0=table2[1];
// delay(5);
// P1 = 0xfb;
// P0=table1[(int)(s*100/1000)];
// delay(5);
// P1 = 0xfd;
// P0=table3[(int)(s*100/100)%10];
// delay(5);
// P1 = 0xfe;
// P0=table1[(int)(s*100/10)%10];
// delay(5);
}
}
void UART_ISR(void) interrupt 4 using 2
{
buf[num++] = SBUF;
RI = 0;
if(num == 15)
{
recv_flag = 1;
num = 0;
ES = 0;
}
}
作者:
yiran100
时间:
2019-7-29 23:20
崇拜。好好学习。
作者:
az5433789
时间:
2019-11-6 13:45
楼主,能否讲一下GY-39的各个引脚的功能?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1