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

標題: 光敏電阻和濕度傳感器都通過ad轉換,光照可以正常顯示,濕度從大到小,什么情況? [打印本頁]

作者: 小草228    時間: 2017-7-3 22:44
標題: 光敏電阻和濕度傳感器都通過ad轉換,光照可以正常顯示,濕度從大到小,什么情況?
// ad讀取函數////////////////////////////////////////////////////
uchar ad0832read(uchar channel)
{
        uchar i=0,value1=0,value2=0;               
                SCL=0;
                delay_1ms(2);
                DO=1;
            delay_1ms(2);
                CS=0;                //開始
            delay_1ms(2);
                SCL=1;                //第一個上升沿       
                   delay_1ms(2);
                SCL=0;
            delay_1ms(2);
                DO=1;
        delay_1ms(2);
                SCL=1;          //第二個上升沿
                   delay_1ms(2);
                SCL=0;
                   delay_1ms(2);
                DO=channel;
                   delay_1ms(2);
                SCL=1;         //第三個上升沿
                   delay_1ms(2);
                SCL=0;            
            delay_1ms(2);
                DO=1;
                delay_1ms(2);
                for(i=0;i<8;i++)        //從高位到低位
                {
                        SCL=1;
                        delay_1ms(2);
                        SCL=0;
                        delay_1ms(2);
                        if(DO)
                        {  
                                value1|=0x80>>i;
                                delay_1ms(2);
                        }
                                                               
                }
               
               
                for(i=0;i<8;i++)        //從低位到        高位
                {
                        if(DO)
                        {  
                          value2|=0x80<<i;
                          delay_1ms(2);
                        }
                        SCL=1;
                        delay_1ms(2);
                        SCL=0;
                        delay_1ms(2);                                               
                }       
                CS=1;
                SCL=1;
                delay_1ms(1);
                DO=1;//數據讀取完成,釋放總線
                delay_1ms(2);
        return (value1);

}


/********************獨立按鍵程序*****************/
uchar key_can;         //按鍵值

void key()         //獨立按鍵程序
{
        static uchar key_new;
        key_can = 20;                   //按鍵值還原
        P3 |= 0xf0;
        if((P3 & 0xf0) != 0xf0)                //按鍵按下
        {
                delay_1ms(1);                     //按鍵消抖動
                if(((P3 & 0xf0) != 0xf0) && (key_new == 1))
                {                                                //確認是按鍵按下
                        key_new = 0;
                        switch(P3 & 0xf0)
                        {
                                case 0xe0: key_can = 4; break;           //得到k1鍵值
                                case 0xd0: key_can = 3; break;           //得到k2鍵值
                                case 0xb0: key_can = 2; break;           //得到k3鍵值
                                case 0x70: key_can = 1; break;           //得到k4鍵值
                        }
                       
                                       
                }                       
        }
        else
                key_new = 1;       
}

void main()
{
          beep = 0;                                    //開機蜂鳴器叫一聲
        delay_1ms(1);
        P0 = P1 = P2 = P3 = 0xff;   //初始化IO口                          
        init_1602();                           //1602液晶初始化
        delay_1ms(750);       
        while(1)
        {
                key();                                        //獨立按鍵程序
                if(key_can!= 0)
                {
                        key_with();                        //按鍵按下要執行的程序
                }
       
                 flag_250ms ++;         
                if(flag_250ms >=250)
                {               
                        flag_250ms = 0;          
                        clock_h_l();         //報警函數
                        temperature =read_temp();  //讀取溫度值
                        delay_1ms(2);
                        if(menu_1 == 0)
                        {
                                guangxian = ad0832read(1);
                            guangxian = guangxian * 99 / 255;
                            shidu = ad0832read(0);          //讀出濕度
                            shidu=shidu * 99 / 255;
                                write_sfm2(1,8,shidu);   //顯示濕度       
                                write_sfm2(2,4,temperature);           //顯示溫度
                                write_sfm2(2,11,guangxian);          //顯示光線       
                        }
                }
                delay_1ms(1);
        }
}




作者: ahshmj    時間: 2017-7-4 09:41
不知道你說的是什么。
作者: 小草228    時間: 2017-7-4 16:15
ahshmj 發表于 2017-7-4 09:41
不知道你說的是什么。

經過adc0832轉換后,當濕度傳感器放在空氣中時是99%,當放在水里時是0%?為什么  
還有就是經過adc0832轉換后,被單片機讀取的是什么?怎么轉換為百分比?
非常感謝
作者: 我只是過于低調    時間: 2019-3-15 19:39
小草228 發表于 2017-7-4 16:15
**** 作者被禁止或刪除 內容自動屏蔽 ****

這個問題你解決沒有,我現在遇到的問題就是這樣,不知道該怎樣解決
作者: 春風十里吹    時間: 2019-3-16 07:28
都是一樣,都是將接收到的變化的信息轉換為電壓變化,然后單片機用AD檢測判斷顯示

作者: cyzMrbig    時間: 2019-5-21 14:57
樓主有實現光照顯示的代碼嗎...蟹蟹
作者: 幻劍心    時間: 2019-5-21 16:04
小草228 發表于 2017-7-4 16:15
**** 作者被禁止或刪除 內容自動屏蔽 ****

這個只能查看你用的濕度計的數據手冊才能確定。AD轉換出來的是濕度計某種變化(電壓、電流什么的)。所以是不一定電壓大就表示濕度大,有可能是放過來也不一定。如果你是執著于要了解程序出問題的原因,只能去查濕度計的數據手冊了。如果是要讓濕度反過來顯示,那么把得到的濕度(濕度顯示前面的)做一個1-shidu/100-shidu。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人1区2区| 亚洲国产精品视频 | 久久精品小视频 | 99精品一区二区三区 | 精品av天堂毛片久久久借种 | 亚洲欧美一区二区三区国产精品 | 九九在线视频 | 久久大陆 | 久久在线 | 亚洲精品一区二区二区 | 粉色午夜视频 | 日韩第一页 | 久久久久久久久久久成人 | 日韩一区二区福利 | 亚洲二区视频 | 91亚洲视频在线 | 成年人网站在线观看视频 | 久草中文在线 | 国产小视频在线 | 久草在线影| 激情网站 | 国产色婷婷 | 国产精品久久在线 | 日本小电影在线 | 国产精品99久久久久久久久久久久 | 国产婷婷色综合av蜜臀av | 夜夜操天天操 | 大陆一级毛片免费视频观看 | 在线观看国产 | 欧美一级久久 | 91精品国产综合久久精品 | 中文字幕在线免费观看 | 成人在线视频免费看 | 国产午夜精品一区二区三区四区 | 亚洲精品国产电影 | 久久91精品国产一区二区三区 | 国产区一区 | www.三级| 成人亚洲网 | 午夜成人免费视频 | 国产999精品久久久久久 |