久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6799|回復: 4
打印 上一主題 下一主題
收起左側

GY-39溫濕度傳感器

[復制鏈接]
跳轉到指定樓層
樓主
ID:453596 發表于 2018-12-24 22:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
溫濕度檢測
  要求:能夠將溫度 濕度解析并且顯示
   數碼管 最高位 顯示 C or H  C表示溫度 H表示濕度
       后三位顯示數據 保留1位小數
   溫濕度交替顯示 每個顯示1s鐘
   ex:
    C 09.2 = >當前溫度為 9.2攝氏度
    H 52.6 => 當前濕度為 52.6%
  實現同煙霧 只是指令不同
   溫濕度采集指令 0xa5 0x82 0x27 發送這三個數據即可
   然后中斷接收數據!
   注意:GY-39是循環發送 也就當你接收到數據后需要 將串口中斷 關閉
     再去解析 否則一直后中斷

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:277550 發表于 2018-12-24 23:52 | 只看該作者

樓主這本質就是串口通訊+數碼管哦,最簡單的單片機入門知識
回復

使用道具 舉報

板凳
ID:453596 發表于 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;
        }                                         

}
回復

使用道具 舉報

地板
ID:277876 發表于 2019-7-29 23:20 | 只看該作者
崇拜。好好學習。
回復

使用道具 舉報

5#
ID:636676 發表于 2019-11-6 13:45 | 只看該作者
樓主,能否講一下GY-39的各個引腳的功能?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级视频 | 欧美色成人 | 久久久久久久久91 | 成人婷婷| 综合久久网 | 欧美一级欧美一级在线播放 | 狠狠狠| 精品国产一区二区三区日日嗨 | 国产日韩免费观看 | 久久蜜桃av一区二区天堂 | 99国内精品| 91短视频网址 | 奇米四色在线观看 | 亚洲国产精品人人爽夜夜爽 | 女女百合av大片一区二区三区九县 | 九九看片 | 国产美女久久 | 爱草在线 | 日韩欧美二区 | 国产成人午夜电影网 | 亚州无限乱码 | 亚洲www| 欧美一区在线视频 | 亚洲成人一区 | 亚洲高清视频在线观看 | 极品粉嫩国产48尤物在线播放 | 国产伊人久久久 | 欧美一区二区三区视频 | 国产精品成人品 | 特级黄一级播放 | 一级片在线观看 | av福利网站 | 九九精品热 | 国产精品一区一区 | 爱爱免费视频网站 | 亚洲国产精品视频 | 成人在线电影网站 | 国产激情网站 | 日韩福利在线 | 91精品久久久久久久久 | 91综合在线观看 |