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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1862|回復: 0
收起左側

找到的一些單片機sht11傳感器溫控代碼

[復制鏈接]
ID:280173 發表于 2018-1-27 15:56 | 顯示全部樓層 |閱讀模式
基于51單片機   sht11傳感器   

#include<reg52.h>     //包含單片機寄存器的頭文件
#define uchar unsigned char
#define uint unsigned int  
sbit P10=P1^0;
sbit ADD=P1^1;
sbit SUB=P1^2;
sbit P13=P1^3;  
uint yatempnum=0aath=180tl=90;


//uchar aath=200tl=100;  
unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

sbit CS=P2^3;       //CS位定義為P3.4引腳
sbit CLK=P2^4;      //CLK位定義為P1.0引腳
sbit DIO=P2^5;       //DIO位定義為P1.1引腳
void delay(uint z);
void display(uint a);
void displayth(uint b);
void displaytl(uint c);  
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; }
void key()
{
if(P10==0)   
{
        delay(5);        
if(P10==0)         
{
                       num++;
if(num==3)
{
num=0;  
}
}
  while(!P10)
display(temp);
delay(5);  
while(!P10) display(temp);     }  
if(num!=0)
    {
        if(ADD==0)
         {
            delay(5);
if(ADD==0)
{
                if(num==1)
{  
th++;  
if(th==250)
th=tl+10;
}
if(num==2)
{         
  if(tl<(th-10))
tl++;
Else

tl=90;
                }
}
while(!ADD)
display(th);

        }
        if(SUB==0)
         {
            delay(5);
             if(SUB==0)
            {
                if(num==1)
  {  
                   th--;
                  if(th==(tl+10))
                        th=250;
  }
                if(num==2)
                {
                     tl--;
                    if(tl==90)
                         tl=th-10;
                 }  
           }
            while(!SUB) display(tl);  
       }
    }
}  
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}  
void display(uint a)
{  

P2=0xfe;
P0=table[a/100];
delay(5);

P2=0xfd;
P0=table[a%100/10];
delay(5);  

P2=0xfb;
P0=table[a%100%10];
delay(5);
}  
void displayth(uint b)
{  

P2=0xfe;
P0=table[b/100];

delay(5);
P2=0xfb;
P0=table[c/100];
delay(5);
}
void display(uint c)
{

P2=0xfd;
P0=table[c%100/10];
delay(5);
P2=0xfb;
P0=table[c%100%10]; delay(5);
}  
unsigned char  A_D()
{

unsigned char idat;
   CS=1;       //一個轉換周期開始
CLK=0;     //為第一個脈沖作準備
CS=0;      //CS置0,片選有效  
   DIO=1;        //DIO1,規定的起始信號
      CLK=1;       //第一個脈沖
   CLK=0;      //第一個脈沖的下降沿,此前DIO必須是高電平  
   DIO=1;       //DIO1 通道選擇信號   
   CLK=1;        //第二個脈沖,第23個脈沖下沉之前,DI必須跟別輸入兩位數據用于選擇通道,這里選通道CH0  
   CLK=0;      //第二個脈沖下降沿   
   DIO=0;      //DI0,選擇通道0
CLK=1;        //第三個脈沖
CLK=0;       //第三個脈沖下降沿   
  DIO=1;       //第三個脈沖下沉之后,輸入端DIO失去作用,應置1
CLK=1;      //第四個脈沖
   for(i=0;i<8;i++)     //高位在前
     {
      CLK=1;     //第四個脈沖
       CLK=0;  
      dat<<=1;       //將下面儲存的低位數據向右移
dat|=(unsigned char)DIO;     //將輸出數據DIO通過或運算儲存在dat最低位
     }     

CS=1;            //片選無效  
return dat;        //將讀書的數據返回
       }

/***************************************************** 函數功能:主函數
***************************************************/
main(void)
{
init();
while(1)
{  
key();
if((temp<tl)||(temp>th))
P13=0;
else
P13=1;
  if(num==0)
         {
             display(temp);
        }
        if(num==1)         {
            displayth(th);
        }
        if(num==2)  
       {
            displaytl(tl);
       }   
}
}  
void timer0()
interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256
aa++;
if(aa==20)
{
ya=A_D();
temp=(ya*100/51);//((ya*5)*100/255);
aa=0;
}

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成年网站在线观看 | 国产精品视频在线观看 | 羞羞视频在线观看 | 成人在线精品 | 999观看免费高清www | av免费看片 | www日日日 | 老司机久久 | 国产欧美一区二区久久性色99 | 免费成人高清 | 亚洲高清视频在线观看 | 成人av一区二区三区 | caoporn免费 | 日韩久久成人 | 日韩综合网 | 欧美一区二区在线观看 | 国产一区久久 | 久久久久久久网 | 国产欧美精品区一区二区三区 | 久草成人网| 丁香一区二区 | 日韩三级电影在线看 | 中文字幕欧美在线观看 | 久草视频观看 | 日韩国产三区 | 高清人人天天夜夜曰狠狠狠狠 | 国产高清一区二区 | 特级毛片爽www免费版 | 在线色网 | 国产精品波多野结衣 | 亚洲精品日韩在线 | 日韩在线不卡视频 | 国内精品久久久久久久影视简单 | 91精品观看 | 极品粉嫩国产48尤物在线播放 | 色播视频在线观看 | 人人干免费 | 亚洲va在线va天堂va狼色在线 | 一区二区精品视频 | 欧美成年黄网站色视频 | 日本高清不卡视频 |