电子时钟+测温+红外遥控调时程序

发布者:创客1992最新更新时间:2015-07-24 来源: 51hei关键字:电子时钟  测温  红外遥控  调时程序 手机看文章 扫描二维码
随时随地手机看文章
/*****************************************************************************************************
   作者:徐仁俊
   2011.5.12,采用1602液晶显示器.
   红外调时采用“海尔”遥控码 CH+(0xb0),  CH-(0xa0) ,  MENU(0x9c) 分别调节时间
******************************************************************************************************/
#include
sbit dula=P2^6;
sbit wela=P2^7;
sbit lcdwr=P3^6;
sbit lcdrs=P3^5;
sbit lcden=P3^4;
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^3;
sbit DQ=P2^2;
sbit ir=P3^2;
#define uchar unsigned char
#define uint unsigned int
uchar code table0[]=" 2011-04-03 SUN";//16
uchar code table1[]="       00:00:00";//10
uchar code table9[]="0123456789";
uchar code table2[]="MON";
uchar code table3[]="TUE";
uchar code table4[]="WED";
uchar code table5[]="THU";
uchar code table6[]="FRI";
uchar code table7[]="SAT";
uchar code table8[]="SUN";
uchar num,m,n,aa,bb,cc,dd,kk,flag,i,j,flag1,pp,flag2;
uchar ss[4];
char shi,fen,miao,ee,ff,gg;
uchar dat=0;
uint dd1,temp;
void delay(uchar z)
{
 uint x,y;
  for(x=z;x>0;x--)
   for(y=110;y>0;y--);
}
void delay1(uchar i)
{
 while(i--);
}
void write_com(uchar com)
{
 lcdrs=0;
 delay(5);
 P0=com;
 delay(5);
 lcden=1;
 delay(5);
 lcden=0; 
}
void write_data(uchar date)
{
 lcdrs=1;
 delay(5);
 P0=date;
 delay(5);
 lcden=1;
 delay(5);
 lcden=0;
}
void init()
{
 dula=0;
 wela=0;
 lcdwr=0;
 lcdrs=1;
 lcden=0;
 shi=00;
 fen=00;
 miao=00;
 bb=0;
 cc=0;
 dd=0;
 ee=03;
 ff=04;
 gg=11;
 write_com(0x38);
 write_com(0x0c);
 write_com(0x06);
 write_com(0x80);
 write_com(0x01);
 for(num=0;num<15;num++)
  { 
   write_data(table0[num]);
   delay(5);
  }
 write_com(0x80+0x40);
 for(num=0;num<15;num++)
  { 
   write_data(table1[num]);
   delay(5);
  }
 ss[0]=0;
 ss[1]=0;
 ss[2]=0;
 ss[3]=0;
 TMOD=0x11;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 TH1=0;
 TL1=0;
 EA=1;
 ET0=1;
 TR0=1;
 TR1=0;
 write_com(0x80+0x40+4);
    write_data(0xdf);
    write_com(0x80+0x40+5);
 write_data('C'); 
}
uint low_ir_time()
{
 TH1=0;
 TL1=0;
 TR1=1;
 while(!ir);
 TR1=0;
 return TH1*256+TL1;
}
uint high_ir_time()
{
 TH1=0;
 TL1=0;
 TR1=1;
 while(ir);
 TR1=0;
 return TH1*256+TL1;
}
void init_DS18B20()
{
 uchar x;
 DQ=1;
 delay1(8);
 DQ=0;
 delay1(80);
 DQ=1;
 delay1(14);
 x=DQ;
 delay1(20);  
}
void sfm_date(uchar add,uchar date1)
{ 
 uchar shi,ge;
 shi=date1/10;
 ge=date1%10;
 write_com(0x80+0x40+add);
 write_data(0x30+shi);
 write_data(0x30+ge); 
}
void nyr_date1(uchar add,uchar date1)
{ 
 uchar shi,ge;
 shi=date1/10;
 ge=date1%10;
 write_com(0x80+add);
 write_data(0x30+shi);
 write_data(0x30+ge); 
}
read_DS18B20(void)
{
 uchar i=0;
 uchar dat=0;
 for(i=8;i>0;i--)
  {
   DQ=0;
   dat=dat>>1;
   DQ=1;
   if(DQ==1)
    {
     dat=dat|0x80;
    }
   delay1(4);
  }
 return (dat); 
}
write_DS18B20(uchar dat)
{
 uchar i=0;
 for(i=8;i>0;i--)
  {
   DQ=0;
   DQ=dat&0x01;
   delay1(5);
   DQ=1;
   dat=dat>>1;
  }
 delay1(4);  
}
chuli_dat(void)
{
 uchar aa=0;
 uchar bb=0;
 uchar cc=0;
 init_DS18B20();
 write_DS18B20(0xCC);
 write_DS18B20(0x44);
 init_DS18B20();
 write_DS18B20(0xCC);
 write_DS18B20(0xBE);
 aa=read_DS18B20();
 bb=read_DS18B20();
 cc=(aa>>4)|(bb<<4);
 if(cc>128)
  {
   cc=~cc+1;
   write_com(0x80+0x40+0x4a);
   write_data(0x2d);
  }
 return(cc);
}
void ir_key()
{
 if(pp==0x9c)
  {
   bb++;
   pp=0;
   if(bb==1)
   {
    TR0=0;
    write_com(0x80+0x40+13);
    write_com(0x0f);
   }
   if(bb==2)
   {
    write_com(0x80+0x40+10);
   }
   if(bb==3)
   {
    write_com(0x80+0x40+7);
   }
   if(bb==4)
   {
    write_com(0x80+12); 
   }
   if(bb==5)
   {
    write_com(0x80+9);
   }
   if(bb==6)
   {
    write_com(0x80+6);
   }
    if(bb==7)
   {
    write_com(0x80+3);
   }
   if(bb==8)
   {
    bb=0;
    TR0=1;
    write_com(0x0c);
   }

  }
  if(bb==1)
   {
    if(pp==0xb0)
     {
      miao++;
      pp=0;
      if(miao==60)
       {
        miao=0;
       }
       sfm_date(13,miao);
       write_com(0x80+0x40+13); 
     }
    if(pp==0xa0)
     {
      miao--;
      pp=0;
      if(miao==-1)
       {
        miao=59;
       }
       sfm_date(13,miao);
       write_com(0x80+0x40+13); 
     }
   }
  if(bb==2)
   {
    if(pp==0xb0)
      {
      fen++;
      pp=0;
      if(fen==60)
       {
        fen=0;
       }
       sfm_date(10,fen);
       write_com(0x80+0x40+10); 
     }
    if(pp==0xa0)
      {
      fen--;
      pp=0;
      if(fen==-1)
       {
        fen=59;
       }
       sfm_date(10,fen);
       write_com(0x80+0x40+10); 
     }
   }
  if(bb==3)
   {
    if(pp==0xb0)
     {
      shi++;
      pp=0;
      if(shi==24)
       {
        shi=0;
       }
      sfm_date(7,shi);
      write_com(0x80+0x40+7); 
     }
    if(pp==0xa0)
     {
      shi--;
      pp=0;
      if(shi==-1)
       {
        shi=23;
       }
      sfm_date(7,shi);
      write_com(0x80+0x40+7); 
     }
   }
  if(bb==4)
   {
    if(pp==0xb0)
     {
      dd++;
      pp=0;
      if(dd==1)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table2[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==2)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table3[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==3)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table4[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==4)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table5[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==5)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table6[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==6)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table7[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==7)
       {
        dd=0;
        for(cc=0;cc<3;cc++)
         {
          write_data(table8[cc]);
         }
       }
      write_com(0x80+12);
     }
    if(pp==0xa0)
     {
      dd++;
      pp=0;
      if(dd==1)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table8[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==2)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table7[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==3)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table6[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==4)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table5[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==5)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table4[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==6)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table3[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==7)
       {
        dd=0;
        for(cc=0;cc<3;cc++)
         {
          write_data(table2[cc]);
         }
       }
      write_com(0x80+12);
     }
   }
  if(bb==5)
   {
    if(pp==0xb0)
     {
      ee++;
      pp=0;
      if(ee==32)
       {
        ee=1;
       }
      nyr_date1(9,ee);
      write_com(0x80+9); 
     }
    if(pp==0xa0)
     {
      ee--;
      pp=0;
      if(ee==0)
       {
        ee=31;
       }
      nyr_date1(9,ee);
      write_com(0x80+9); 
     } 
   }
  if(bb==6)
   {
    if(pp==0xb0)
     {
      ff++;
      pp=0;
      if(ff==13)
       {
        ff=1;
       }
      nyr_date1(6,ff);
      write_com(0x80+6); 
     }
    if(pp==0xa0)
     {
      ff--;
      pp=0;
      if(ff==0)
       {
        ff=12;
       }
      nyr_date1(6,ff);
      write_com(0x80+6); 
     } 
   }
  if(bb==7)
   {
    if(pp==0xb0)
     {
      gg++;
      pp=0;
      if(gg==41)
       {
        gg=11;
       }
      nyr_date1(3,gg);
      write_com(0x80+3); 
     }
    if(pp==0xa0)
     {
      gg--;
      pp=0;
      if(gg==10)
       {
        gg=41;
       }
      nyr_date1(3,gg);
      write_com(0x80+3); 
     } 
   }
}[page]
void set_key()
{
 if(key1==0)
  {
   bb++;
   delay(8);
   if(key1==0)
    {
     if(bb==1)
      {
       while(!key1);
       TR0=0;
       write_com(0x80+0x40+13);
       write_com(0x0f);
      }
     if(bb==2)
      {
       while(!key1);
       write_com(0x80+0x40+10);
      }
     if(bb==3)
      {
       while(!key1);
       write_com(0x80+0x40+7);
      }
     if(bb==4)
      {
       while(!key1);
       write_com(0x80+12);
       
      }
       if(bb==5)
      {
       while(!key1);
       write_com(0x80+9);
      }
       if(bb==6)
      {
       while(!key1);
       write_com(0x80+6);
      }
       if(bb==7)
      {
       while(!key1);
       write_com(0x80+3);
      }
       if(bb==8)
      {
       bb=0;
       while(!key1);
       TR0=1;
       write_com(0x0c);
      }
    }
  }
  if(bb==1)
   {
    if(key2==0)
     {
      delay(8);
      while(!key2);
      miao++;
      if(miao==60)
       {
        miao=0;
       }
       sfm_date(13,miao);
       write_com(0x80+0x40+13); 
     }
    if(key3==0)
     {
      delay(8);
      while(!key3);
      miao--;
      if(miao==-1)
       {
        miao=59;
       }
       sfm_date(13,miao);
       write_com(0x80+0x40+13); 
     }
   }
  if(bb==2)
   {
    if(key2==0)
      {
      delay(8);
      while(!key2);
      fen++;
      if(fen==60)
       {
        fen=0;
       }
       sfm_date(10,fen);
       write_com(0x80+0x40+10); 
     }
    if(key3==0)
      {
      delay(8);
      while(!key3);
      fen--;
      if(fen==-1)
       {
        fen=59;
       }
       sfm_date(10,fen);
       write_com(0x80+0x40+10); 
     }
   }
  if(bb==3)
   {
    if(key2==0)
     {
      delay(8);
      while(!key2);
      shi++;
      if(shi==24)
       {
        shi=0;
       }
      sfm_date(7,shi);
      write_com(0x80+0x40+7); 
     }
    if(key3==0)
     {
      delay(8);
      while(!key3);
      shi--;
      if(shi==-1)
       {
        shi=23;
       }
      sfm_date(7,shi);
      write_com(0x80+0x40+7); 
     }
   }
  if(bb==4)
   {
    if(key2==0)
     {
      delay(8);
      dd++;
      while(!key2);
      if(dd==1)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table2[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==2)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table3[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==3)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table4[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==4)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table5[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==5)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table6[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==6)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table7[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==7)
       {
        dd=0;
        for(cc=0;cc<3;cc++)
         {
          write_data(table8[cc]);
         }
       }
      write_com(0x80+12);
     }
    if(key3==0)
     {
      dd++;
      delay(8);
      while(!key3);
      if(dd==1)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table8[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==2)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table7[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==3)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table6[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==4)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table5[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==5)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table4[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==6)
       {
        for(cc=0;cc<3;cc++)
         {
          write_data(table3[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==7)
       {
        dd=0;
        for(cc=0;cc<3;cc++)
         {
          write_data(table2[cc]);
         }
       }
      write_com(0x80+12);
     }
   }
  if(bb==5)
   {
    if(key2==0)
     {
      delay(8);
      while(!key2);
      ee++;
      if(ee==32)
       {
        ee=1;
       }
      nyr_date1(9,ee);
      write_com(0x80+9); 
     }
    if(key3==0)
     {
      delay(8);
      while(!key3);
      ee--;
      if(ee==0)
       {
        ee=31;
       }
      nyr_date1(9,ee);
      write_com(0x80+9); 
     } 
   }
   if(bb==6)
   {
    if(key2==0)
     {
      delay(8);
      while(!key2);
      ff++;
      if(ff==13)
       {
        ff=1;
       }
      nyr_date1(6,ff);
      write_com(0x80+6); 
     }
    if(key3==0)
     {
      delay(8);
      while(!key3);
      ff--;
      if(ff==0)
       {
        ff=12;
       }
      nyr_date1(6,ff);
      write_com(0x80+6); 
     } 
   }
   if(bb==7)
   {
    if(key2==0)
     {
      delay(8);
      while(!key2);
      gg++;
      if(gg==41)
       {
        gg=11;
       }
      nyr_date1(3,gg);
      write_com(0x80+3); 
     }
    if(key3==0)
     {
      delay(8);
      while(!key3);
      gg--;
      if(gg==10)
       {
        gg=41;
       }
      nyr_date1(3,gg);
      write_com(0x80+3); 
     } 
   }
}
void check_DS18B20()
{
 dd1=chuli_dat();
    m=dd1/10;
 n=dd1%10;
    write_com(0x80+0x40+2);
 write_data(table9);
 write_com(0x80+0x40+3); 
 write_data(table9[n]);
}
void main()
{
 init();
 while(1)
 {
  if(ir==0)
    {
         restart:
   while(ir);
   temp=low_ir_time();
   if((temp<8500)||(temp>9500)) continue;
   temp=high_ir_time();
   if((temp<4000)&&(temp>5000)) continue;
   for(i=0;i<4;i++)
    {
     for(j=0;j<8;j++)
      {
       temp=low_ir_time();
       if((temp<200)||(temp>800)) goto restart;
       temp=high_ir_time();
       if((temp<200)||(temp>2000)) goto restart;
       ss[i]=ss[i]>>1;
       if(temp>1120)
        {
         ss[i]=ss[i]|0x80;
        }
        
      }
    }
   if(ss[2]=~ss[3])
   {
    pp=ss[2];  
   }
   }
   set_key();
   ir_key();
 }
}
void timer0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 aa++;
 if(aa==20)
  {
   aa=0;
   miao++;
   check_DS18B20();
   if(miao==60)
   {
    miao=0;
    fen++;
    if(fen==60)
    {
     fen=0;
     shi++;
     if(shi==24)
     {
      shi=0;
      flag=1;
     }
     sfm_date(7,shi);
    }
    sfm_date(10,fen);
   }
  sfm_date(13,miao); 
  }
 if(flag==1)
  {
   flag=0;
   ee++;
   if(ee==32)
    {
     ee=1;
     flag1=1;
    }
   nyr_date1(9,ee);
   //write_com(0x80+9);
   dd++;
   if(dd==8)
    {
     dd=0;
    }
              if(dd==1)
       {
        write_com(0x80+12);
        for(cc=0;cc<3;cc++)
         {
          write_data(table2[cc]);
         }
       }
      write_com(0x80+12);
      if(dd==2)
       {
        write_com(0x80+12);
        for(cc=0;cc<3;cc++)
         {
          write_data(table3[cc]);
         }
       }
      //write_com(0x80+12);
      if(dd==3)
       {
        write_com(0x80+12);
        for(cc=0;cc<3;cc++)
         {
          write_data(table4[cc]);
         }
       }
      //write_com(0x80+12);
      if(dd==4)
       {
        write_com(0x80+12);
        for(cc=0;cc<3;cc++)
         {
          write_data(table5[cc]);
         }
       }
      //write_com(0x80+12);
      if(dd==5)
       {
        write_com(0x80+12);
        for(cc=0;cc<3;cc++)
         {
          write_data(table6[cc]);
         }
       }
      //write_com(0x80+12);
      if(dd==6)
       {
        write_com(0x80+12);
        for(cc=0;cc<3;cc++)
         {
          write_data(table7[cc]);
         }
       }
      //write_com(0x80+12);
      if(dd==7)
       {
        dd=0;
        write_com(0x80+12);
        for(cc=0;cc<3;cc++)
         {
          write_data(table8[cc]);
         }
       }
     // write_com(0x80+12);
  }
 if(flag1==1)
  {
   flag1=0;
   ff++;
   if(ff==13)
    {
     ff=1;
     flag2=1;
    }
   nyr_date1(6,ff);
   write_com(0x80+6); 
  }
 if(flag2==1)
  {
   flag2=0;
   gg++;
   if(gg==41)
    {
     gg=11;
    }
   nyr_date1(3,gg);
   write_com(0x80+3); 
  }
}
关键字:电子时钟  测温  红外遥控  调时程序 引用地址:电子时钟+测温+红外遥控调时程序

上一篇:STC让数码管更亮了!
下一篇:用EM78P153S给同事写流水灯

推荐阅读最新更新时间:2024-03-16 14:26

智能红外遥控开关原理及设计
0 引言     红外遥控是当前使用最为广泛的通信和控制手段之一,由于其结构简单、体积小、功耗低、抗干扰能力强、可靠性高及成本低等优点而广泛应用于家电产品、工业控制和智能仪器系统中。然而市场上的绝大部分遥控器都是针对各自特定的遥控对象设计的,不能直接应用于通用的智能仪器研发及其更一般的控制场合。通常情况下,一般家庭所使用的电视机、空调、VCD/DVD等家用电器都使用了红外遥控器,而这些红外遥控器都是针对各自产品所设计的,从而导致了一般家庭中拥有数个遥控器,那么,能否将这些遥控器的功能进行复用,进而减少遥控器的数量,使遥控器的功能更加强大,就显得十分必要了。     电源开关广泛应用于家庭、工厂、仓库、以及办公室等场所。
[嵌入式]
百度人体温度补偿方案 实现了远距离群体测温
2020年2月,北京清河火车站落地应用了百度的AI多人体温快速检测解决方案,以助力遏制疫情在公共场所的的传播。 具体而言,百度提供了一种基于AI技术的多人体温快速检测解决方案,采用非接触、可靠、高效且无感知的方式,系统会捕捉体温超出一定阈值的流动人员,并快速展示出体温不在正常范围的人员及温度,以遏制新型冠状病毒的传播。 而这套方案的实施难点,则在于红外成像仪模块,因红外热像仪是基于人体热辐射原理实现对人体测温的,随着待测温人体与红外热像仪的距离增加,热量传输中会有部分热成像损失以及热量损耗,导致测量结果失准。为了提供测量结果的准确性,现有技术中需要根据待测温人体与红外热像仪之间的距离对红外热像仪所测定的温度结果进行温度补偿。 这些
[手机便携]
百度人体温度补偿方案 实现了远距离群体<font color='red'>测温</font>
基于单片机DS1302电子时钟闹钟控制系统
一、系统方案 本设计采用STC89C52作为主控制器,DS1302计时,液晶1602显示,按键设置时分秒,闹钟,实际时间走时达到闹钟时间,蜂鸣器报警提醒。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化: /*************定时器0初始化程序***************/ void init_time0() { EA = 1; //开总中断 TMOD = 0X12; //定时器0、工作方式1 TH1= 0X3C; TL1 = 0XB0; //50ms ET1 = 1; //开定时器0中断 TR1 = 1; //允许定时器0定时 TH0=0x00; //重载值 TL0=0x00; //初始化
[单片机]
基于单片机DS1302<font color='red'>电子时钟</font>闹钟控制系统
基于拉曼散射的测温系统的改善和方案设计
1 引言 光纤具有测距,可复用,非破坏性报警,报警温度可调,传感器输出为光信号,抗电磁干扰等优点。所以现代通信中使用光纤作为信号的传导介质,而在信号的传输过程中,由于温度过高或过低引起的通信中断也时有发生,造成了很大的经济损失,使得对光纤沿线的温度进行实时监测具有很大的实用意义。基于拉曼散射的分布式光纤测温技术,是近十几年来迅速发展的新型测温技术。利用光纤作为温度信息的传感和传输介质。随着光纤的增长,测量点数的增加,单位信息的获取成本大大降低,这是分布式光纤温度传感器相对于其他温度传感器的显著优点。在数据采集和处理方面,通过改善分布式光纤测温系统的信号处理方式,来提高整个系统的测温精度和空间定位精度。能使分布式光纤测温系统实现真正
[测试测量]
基于拉曼散射的<font color='red'>测温</font>系统的改善和方案设计
基于单片机的宽范围高精度光纤传感测温仪的研制
    摘要: 一种基于单片机的大动态范围、高精度的光纤温度传感器的设计研制,用双光路、可编程增益放大系统来实现大动态范围的温度测量,并利用12位ADC将被测温度信号由模拟量转换为数字量,利用单片机系统达到高精度的要求,整个系统有非线性校正、多点温度被偿、我种测量方式可选、LCD显示和键盘输入等功能,且系统可与计算机通过RS-232接口通讯,将采样数据传输到上位机处理。     关键词: 光纤传感 温度 单片机 光纤传感器测温仪是一种非接触式测温方式与光纤传感技术结合,实现高精度、高重复性、快速响应、非接触式测量和高性价比的新型光纤传感类测温系统。该类测温仪利用光纤的空间滤波效应,使入射光波从空间瞬态变为空间稳
[应用]
8位数码管显示电子时钟c51单片机程序
/* 8位数码管显示 时间格式 05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include reg52.h sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char
[单片机]
红外机芯的测温范围和测温精度
NETD:噪声等效温差是红外探测器的输出信噪比为1时,目标与背景的温差,是衡量红外探测器灵敏度的一个客观指标。红外探测器的NETD越小,热灵敏度越高,输出的红外图像质量也相应越高。通常在挑选红外热成像设备时候,我们需要探测的目标与背景的温差越小,对探测器的热灵敏度的要求也就越高。 测温范围和测温精度:用户可根据被测物体的温度范围来选择合适的红外机芯的测温精度和范围。测温精度是测温温度值与绝对温度的温差。一般工业级红外机芯支持-20℃-150℃和-20℃-550℃测温范围,测温精度在±2℃或者2%(两者取较大值);人体测温机芯的测温范围在32-42℃,精度在±0.5℃。 帧频:红外机芯每秒产生的完整图像的画面数量。如果被测物
[测试测量]
红外机芯的<font color='red'>测温</font>范围和<font color='red'>测温</font>精度
51单片机红外遥控解码
红外遥控发射芯片采用PPM编码方式,当发射器按键按下后,将发射一组108ms的编码脉冲。遥控编码脉冲由前导码、8位用户码、8位用户码的反码、8位操作码以及8位操作码的反码组成。通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前导码是一个遥控码的起始部分,由一个9ms的低电平(起始码)和一个4. 5ms的高电平(结果码)组成,作为接受数据的准备脉冲。以脉宽为0. 56ms、周期为1. 12ms的组合表示二进制的“0”;以脉宽为1. 68ms、周期为2. 24ms的组合表示二进制的“1”。如果按键按下超过108m
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved