娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月27日(星期一)

正在發(fā)生

2018年01月27日 | EM78P468 NTC lcd測(cè)溫設(shè)計(jì)C語(yǔ)言源代碼

發(fā)布者:炫酷騎士 來(lái)源: eefocus關(guān)鍵字:EM78P468  NTC  lcd測(cè)溫 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

/********************************************************
 *  Description: 468N RC temperature                    *
 *  Company:     HANTA (suzhou) LTD.                  *
 *  Author:      Sunli                     *
 *  Date:        03/09/2007
 *  最后更新日期:13/09/2007                            *
 * Version:     v1.0                                   *
 *******************************************************/

#i nclude "em78x468xx.h"
#i nclude "table.h"

#define DISI() _asm{disi}
#define ENI() _asm{eni}
#define SLEP() _asm{slep}
#define NOP() _asm{nop}
#define WDTC() _asm{wdtc}

#define uchar unsigned char
#define ushort unsigned short
#define ulong unsigned long
#define Rp R55
#define Rc R61
#define Rm R60
#define SCL R63
#define SDA R62
#define LOW R65
#define MID R66
#define HI  R67
#define COOL R85
#define HOT  R86
#define COL_RST R87
#define LED R54
#define COOL_IF_L R57==0 //如果COOL關(guān)
#define COOL_IF_H R57==1 //如果COOL開(kāi)
#define HEAT_IF_L R56==0 //如果HEAT關(guān)
#define HEAT_IF_H R56==1 //如果HEAT開(kāi) 
#define SCL_L R63=0 //I2總線時(shí)鐘
#define SCL_H R63=1
#define SDA_L R62=0 //I2總線數(shù)據(jù)線
#define SDA_H R62=1
#define Rp_TO_IN P5CR|=0x20;NOP()
#define Rp_TO_OUT P5CR&=0xdf;NOP()
#define SDA_TO_IN P6CR|=0x04; NOP() //設(shè)數(shù)據(jù)線位輸入
#define SDA_TO_OUT P6CR&=0xfb; NOP() //設(shè)數(shù)據(jù)線位輸出
#define SDA_IF_L R62==0  //如果sda為低
#define SDA_IF_H R62==1   //如果sda為高
#define DELAY_us NOP();NOP();NOP();NOP()
#define PAGE_SIZE 8
#define SIZE 0x00ff
#define ON_OFF    0x1e
#define MODE      0x1d
#define FAN       0x1b
#define INCREASE  0x17
#define DECREASE  0x0f
#define W_ADD_COM 0xa0 //寫(xiě)字節(jié)命令及器件地址(根據(jù)地址實(shí)際情況改變), 1010 A2 A1 A0 0
#define R_ADD_COM 0xa1 //讀命令字節(jié)及器件地址(根據(jù)地址實(shí)際情況改變), 1010 A2 A1 A0 1
#define LCD_init(init_v) _asm{mov a,@init_v}\
       _asm{mov %LCDCR,a}


uchar lcd_ram[10]=
{ // 0  , 1  ,  2 , 3 ,  4  ,  5 , 6,   7  , 8 ,  9
 0xdf,0x0e,0xeb,0xaf,0x3e,0xbd,0xfd,0x0f,0xff,0xbf
};

ushort dly; 
ushort test_temp[6];
ushort Rm_t,Rc_t;

uchar RC_num,Rmin_p,Rmax_p;
ushort Rmin_t,Rmax_t;
ulong Ttmp;

uchar key_state = 0;//按鍵值
uchar new_key = 0;
uchar key_tCC = 0;
uchar key_temp= 0;
uchar timer_cnt=0;
uchar r_buf[2];
uchar w_buf[2];
uchar set_temper =0;
uchar fan_st   = 0;
uchar mode_on_off=0;
uchar timer1,times;
//ushort timer;
bit key_flag=0;
bit timer_2ms_ok=0;
bit COL_RST_FLAG=0;
/******************函數(shù)聲明********************/
void main(void);
void sys_init(void);
void tms(uchar i);
void i2cstart(void);
uchar i2cwt(uchar a);
uchar i2crd(void);
void i2cstop(void);
uchar wt24c(uchar *p, uchar ad, uchar n);
void rd24c(uchar *p_dst, uchar ad_rsc, uchar num);
uchar KeySCAN(void);
void KeyDo(uchar key);
//void   key_find(void);
void display(uchar v,uchar tamp_v,uchar set_tmp);
unsigned char test_temperature(void);
unsigned char Bin1toBcd(unsigned char Xbin1);
/*********************end*********************/

void sys_init(void)
{
 SBPCR=0x17; //rc 2.13mHz,sleep->Idle mode,sub-cLOCk run program
 IRCR=0;  //dISAble IR/PWM,port5 is general i/o
 ISR=0;  //clear count1 interrupt flag bit
 
 P5CR=0xc3;  //port7 is lcd segment,port8 is general i/o
 P6CR=0x00;
 P7CR=0;
 P8CR=0x1f;
 CNT12CR=0x06;
 CNT1PR=5;
 CNT1EN=1;
 HPWTPR=0;
 LPWTPR=0;
 IMR|=0x08;  //enable count1 interrupt
 
// WUCR=0x70; //enable p60~3 wake up
// TCCCR=0x0f; //disable main interrupt,TCC pre-scaler 1:256
 WDTCR=0xff; //0xf7; //disable WDT  
 HLPWTCR=0x77;
 P6PH=0xff;  //enable  port6 internal pull high
 P6OD=0;  //disable por6 open-drain
 P8PH=0xff;  //disable port8 internal pull high
 P6PL=0;  //disable port6 internal pull down

 PORT5=0x00;
 PORT6=0x00;
 PORT8=0x00;
 //變量清零
 COL_RST_FLAG=0;
 
}

void tms(uchar i)
{
 uchar j;
 for(;i>0;i--)
  {
   for(j=0;j<200;j++);
   WDTC();
   }
}


/**********************W/R EEPROM*******************************************/
//起始信號(hào)
void i2cstart(void)
{  
 SCL_L; DELAY_us;
    SDA_H; DELAY_us;
    SCL_H; DELAY_us;
    SDA_L; DELAY_us;
    SCL_L; DELAY_us;
}


//把一個(gè)字節(jié)數(shù)據(jù)輸入器件,并以收到應(yīng)答信號(hào)為止
//寫(xiě)入成功返回1,失敗返回0
uchar i2cwt(uchar a)
{   uchar i;
 
    for(i=0;i<8;i++)
    {   SCL_L; DELAY_us;
        if((a<     else SDA_L;
     DELAY_us;
        SCL_H; DELAY_us;
       
    }
    SCL_L; DELAY_us;
    SDA_H; DELAY_us;
    SCL_H; DELAY_us;
 
 SDA_TO_IN;   
 
    if(SDA_IF_L)  //測(cè)試有無(wú)應(yīng)答
    { SDA_TO_OUT;
     return(1);  //有應(yīng)答
    }
    else
    { SDA_TO_OUT;
     return(0);  //無(wú)應(yīng)答
    }
}


//i2c讀要調(diào)用的函數(shù)
//從器件讀出一個(gè)字節(jié)
uchar i2crd(void)
{   uchar i,temp;
           
    for(i=0;i<8;i++)
    {   SCL_L; DELAY_us; 
        SDA_H; DELAY_us;    //置數(shù)據(jù)線接上內(nèi)部上拉(數(shù)據(jù)輸入方式),此為必須
        SCL_H; DELAY_us;
        temp<<=1;
       
        SDA_TO_IN;   
       
  if(SDA_IF_H) temp+=1;
        DELAY_us;
       
        SDA_TO_OUT;   
 }
    SCL_L; DELAY_us;  //主器件應(yīng)答脈沖
    SDA_L; DELAY_us;
    SCL_H; DELAY_us;
    return(temp);
}
 

//停止信號(hào)
void i2cstop(void)
{   SCL_L; DELAY_us;
    SDA_L; DELAY_us;
    SCL_H; DELAY_us;
    SDA_H;
}


uchar wt24c(uchar *p, uchar ad, uchar n)
{ uchar t=0;
 
 i2cstart();     //發(fā)送起始信號(hào)
  
 if(i2cwt(W_ADD_COM))  //發(fā)送寫(xiě)字節(jié)命令及器件地址
 { 
  i2cwt(ad);    //ad_dst的低位到器件
   
  for(;n>0;n--)   //發(fā)送要寫(xiě)入的數(shù)據(jù)
  {   i2cwt(*p);
   p++;
  }
 }
// else syserr=I2C_ERR;  //寫(xiě)字節(jié)命令及器件地址錯(cuò)
 
 i2cstop();
    tms(6);      //延時(shí)6ms
 
 return(*p);
}

//從24cxx讀出數(shù)據(jù)
//參數(shù): *p_dst要讀入數(shù)據(jù)的主機(jī)內(nèi)存地址指針; ad_rsc要輸出數(shù)據(jù)的i2c的地址(整形); num數(shù)據(jù)個(gè)數(shù)(整形)
//參數(shù)條件:  ad_dst+(num-1)不能大于器件的最高地址; num必須>0;
void rd24c(uchar *p_dst, uchar ad_rsc, uchar num)

    uchar t=0;
 i2cstart();     //發(fā)送起始信號(hào)
  
 if(i2cwt(W_ADD_COM))  //發(fā)送寫(xiě)字節(jié)命令及器件地址
 { 
  i2cwt(ad_rsc);   //ad_rsc的低位
    
  i2cstart();    //再發(fā)送起始信號(hào)
  i2cwt(R_ADD_COM);  //發(fā)送SLA_R, 讀命令字節(jié)及器件地址
    
  for(;num>0;num--)
  {   *p_dst=i2crd();  //從器件讀出一個(gè)字節(jié)
   p_dst++;
  }
 }
// else syserr=I2C_ERR;  //寫(xiě)字節(jié)命令及器件地址錯(cuò)或?qū)Ψ綗o(wú)應(yīng)答
  
 i2cstop();

}

/***************************************************************************/
unsigned char Bin1toBcd(unsigned char Xbin1)
{
 unsigned short xBCD=0;
 do
 {
  //if(Xbin1>=100)
  //{
  // Xbin1-=100;
  // xBCD+=0x100;
  //}
  //else
  //{
   if(Xbin1>=10)
   {
    Xbin1-=10;
    xBCD+=0x10;
   }
   else
   {
    xBCD+=Xbin1;
    break;
   }
  //}
 }while(1);
 return xBCD;
}

unsigned char test_temperature(void)
{  
    uchar tamp=0;
    Ttmp=0;
 RC_num=0;
 do
 {
  P6CR&=0xfc;
  Rp_TO_OUT;
  Rm=0;
  Rc=0;
  Rp=0;
  for(dly=0xa00;dly;dly--)
  {
   WDTC();
  }
 
  Rm_t=0;
  P6CR|=0x02;
  Rp_TO_IN;
  Rm=1;      //用基準(zhǔn)電阻充電
  while(1)
  {
   if(Rp)
   {
    break;
   }
   Rm_t++;
  }
  WDTC();
  test_temp[RC_num]=Rm_t;
  RC_num++;
 }while(RC_num<6);
 
 RC_num=0;  
 Rmin_p=0;
 Rmax_p=5;
 Rmin_t=test_temp[0];
 Rmax_t=test_temp[5];
 do
 {
  if(test_temp[RC_num+1]  {
   Rmin_t=test_temp[RC_num+1];
   Rmin_p=RC_num+1;
  }
  if(test_temp[4-RC_num]>Rmax_t)
  {
   Rmax_t=test_temp[4-RC_num];
   Rmax_p=4-RC_num;
  }
  RC_num++;
 }while(RC_num<5);
 
 RC_num=0;
 Rm_t=0;
 do
 {
  if(RC_num!=Rmin_p)
  {
   if(RC_num!=Rmax_p)
   {
    Rm_t+=test_temp[RC_num];
   }
  }
  RC_num++;
 }while(RC_num<6);//去max,min,取平均值
 Rm_t>>=2;

 RC_num=0;
 do
 {
  P6CR&=0xfc;
  Rp_TO_OUT;
  Rm=0;
  Rc=0;
  Rp=0;
  for(dly=0xa00;dly;dly--)
  {
   WDTC();
  }
 
  Rc_t=0;
  P6CR|=0x01;//用NTC充電
  Rp_TO_IN;
  Rc=1;
  while(1)
  {
   if(Rp)
   {
    break;
   }
   Rc_t++;
  }
  WDTC();
  test_temp[RC_num]=Rc_t;
  RC_num++;
 }while(RC_num<6);
 
 RC_num=0;  
 Rmin_p=0;
 Rmax_p=5;
 Rmin_t=test_temp[0];
 Rmax_t=test_temp[5];
 do
 {
  if(test_temp[RC_num+1]  {
   Rmin_t=test_temp[RC_num+1];
   Rmin_p=RC_num+1;
  }
  if(test_temp[4-RC_num]>Rmax_t)
  {
   Rmax_t=test_temp[4-RC_num];
   Rmax_p=4-RC_num;
  }
  RC_num++;
 }while(RC_num<5);
 
 RC_num=0;
 Rc_t=0;
 do
 {
  if(RC_num!=Rmin_p)
  {
   if(RC_num!=Rmax_p)
   {
    Rc_t+=test_temp[RC_num];
   }
  }
  RC_num++;
 }while(RC_num<6);//去max,min,取平均值
 Rc_t>>=2;
 
 Ttmp=(unsigned long)Rc_t*9950;
 Ttmp=Ttmp/Rm_t;//求ntc值
 
 if(Ttmp>=32960)
 {
  return 0;
 }
 if(Ttmp<=3588)
 {
  return 0x50;
 }
 
 RC_num=0;
 Rm_t=Ttmp;

 do
 {
  if(Rm_t>=table[RC_num+1])//查表微調(diào)
  {
   /*Rm_t-=table[RC_num+1];
   Rc_t=table[RC_num]-table[RC_num+1];
   Rm_t*=10;
   Rm_t=Rm_t/Rc_t;
//   RC_num++;*/
   break;
  }
  RC_num++;
 }while(RC_num<48);

 tamp=Bin1toBcd(RC_num);
 //Rc_t<<=4;
 //Rm_t|=Rc_t;
 P6CR&=0xfC;
 PORT6&=0xfC;

 return tamp;
}

void display(uchar v,uchar tamp_v,uchar set_tmp)
{      
        uchar real_dep,tmp1;
       
        LCD_ADDR=6;
        LCD_DB=0x08;
        //風(fēng)速+冷熱
        LCD_ADDR=0;
        LCD_DB=tamp_v;
        LCD_ADDR=23;
      _asm
  {
   swap %tamp_v
  }
     LCD_DB=tamp_v;
     //當(dāng)時(shí)溫度
     real_dep=v;
     v>>=4;
  
     real_dep&=0x0f; 
  LCD_ADDR=4;
  tmp1=lcd_ram[real_dep];
  tmp1&=0xf7;
  LCD_DB=tmp1;
  
  LCD_ADDR=3;
  _asm
  {
   swap %tmp1
  }
  LCD_DB=tmp1;  
  
  tmp1=v&0x0f; 
  LCD_ADDR=2;
  tmp1=lcd_ram[tmp1];
  LCD_DB=tmp1;
  LCD_ADDR=1;
  _asm
  {
   swap %tmp1
  }
  LCD_DB=tmp1;
  //設(shè)置溫度
  real_dep=set_tmp;
     set_tmp>>=4;
  
     real_dep&=0x0f; 
  LCD_ADDR=10;
  tmp1=lcd_ram[real_dep];
  LCD_DB=tmp1;
  
  LCD_ADDR=9;
  _asm
  {
   swap %tmp1
  }
  LCD_DB=tmp1;  
  
  tmp1=set_tmp&0x0f; 
  LCD_ADDR=8;
  tmp1=lcd_ram[tmp1];
  LCD_DB=tmp1;
  LCD_ADDR=7;
  _asm
  {
   swap %tmp1
  }
  LCD_DB=tmp1;   
}

/*void lcd_on_off(void)
{  
    uchar i;
 for(i=0;i<32;i++)
 {
  LCD_ADDR=i;
  LCD_DB=0xff;
 }
 
 for(dly=0x00ff;dly;dly--)
 {
  WDTC();
 }
   
 for(i=32;i;i--)
 {
  LCD_ADDR=i;
  LCD_DB=0;
 }
 
 for(dly=0x1fff;dly;dly--)
 {
  WDTC(); 
 }
  
}*/

/******************************按鍵掃描************************/
/*****************************按鍵處理************************/
void KeyDo(uchar key)
{  
    uchar fan_temp;
    if (key == ON_OFF){
      if(mode_on_off==0)
        {
         key_flag=1;
         mode_on_off=1;
        }
      else
        {
         mode_on_off=0;
        }

    }
    else if (key == FAN)
    {
     timer1=0;
      key_flag=1;
        if(mode_on_off==1)
         {
         fan_temp=fan_st&0xe0;
         if(fan_temp==0x80)
          {
           fan_st|=0x40;
           fan_st&=0x7f;
          }
         else if(fan_temp==0x40)
          {
           fan_st|=0x20;
           fan_st&=0xbf;
          }
         else if(fan_temp==0x20)
          {
           fan_st|=0x80;
           fan_st&=0xdf;
          }
         }
    }
   else if (key == MODE)
   {
    timer1=0;
     key_flag=1;
     if(mode_on_off==1)
      {
        fan_temp=fan_st&0x03;
        if(fan_temp==0x01)
           fan_st++;
           else
           {
           fan_st|=0x01;
           fan_st&=0xfd;
           }     
      }
    }
    else if (key == DECREASE)
    {      
           timer1=0;
           key_flag=1;
            if (set_temper == 10)
            {
                set_temper = 10;
            }
            else
            {
                set_temper--;
            }
    }
    else if (key == INCREASE)
    {       timer1=0;
           key_flag=1;
            set_temper++;
            if (set_temper > 30)
            {
               set_temper = 30;
            }

    }

}
uchar KeyScan(void)
{
      uchar temp = 0;
      temp = PORT8;
      temp&=0x1f;
      if(temp!=0x1f)
      return temp;
    return 0x1f;
}

void _intcall counter1_l(void) @ 0x0C:low_int 3
{
 
}

void _intcall counter1(void) @ int 3
{
  //backup R4
  _asm
   {
     SWAPA 0x04
     MOV 0x1F,A
   }   
 
   //backup C system
  _asm
    {
    BS 0X4,6
    BS 0X4,7   
 MOV A,0X10 // USE 1 BYTE C TYPE,C SYSTEM BACKUP
 MOV 0X3C+1,A
 MOV A,0X14
 MOV 0X3B+1,A
 MOV A,0X18
 MOV 0X3A+1,A
 MOV A,0X1B
 MOV 0X39+1,A
 MOV A,0X1C
 MOV 0X38+1,A
    }
   
            ISR=0;
            timer_2ms_ok=1;
            if (key_state == 0)
           {
            new_key = KeyScan();
            if (new_key != 0x1f)
            {
                key_state++;
            }
           }
        else if (key_state < 5)
        {
            if (KeyScan() == new_key)
            {
                key_state++;
            }
            else
            {
                key_state = 0;
            }
        }
        else if (key_state == 5)
        {
            key_state++;
            KeyDo(new_key);
        }
        else if (key_state == 6)
        {
            key_temp = KeyScan();
            if (key_temp == 0x1f)
            {
                key_state ++;
            }
            else if (key_temp == DECREASE || key_temp == INCREASE)
            {
                if (key_tcc >= 10)
                {
                    key_tcc = 5;
                    KeyDo(key_temp);
                }
                else
                {
                    key_tcc++;
                }
            }
        }
        else if (key_state < 10)
        {
            if (KeyScan() == 0x1f)
            {
                key_state ++;
            }
            else
            {
                key_state = 6;
            }
        }
        else if (key_state == 10)
        {
            key_state = 0;
            key_tcc = 0;
       
        }
     if(mode_on_off)
     {
     times++;
     timer1++;
     //rst_tim++;
     }
 
  // Write your code (inline assembly or C) here
 
   //restore C system
  _asm
    { 
    BS 0X4,6
    BS 0X4,7
 MOV A,0X3C+1 // USE 1 BYTE C TYPE,C SYSTEM RESTORE
 MOV 0X10,A
 MOV A,0X3B+1
 MOV 0X14,A
 MOV A,0X3A+1
 MOV 0X18,A
 MOV A,0X39+1
 MOV 0X1B,A
 MOV A,0X38+1
 MOV 0X1C,A
    }


  //restore R4
  _asm
   {
     SWAPA 0x1F
     MOV 0X04,A
   }
  
}

void  main()
  {
  uchar temp1,temp2;
  uchar i,j;
  uchar *r;
     uchar b;
     uchar c;
     uchar stst;
     uchar *w;
     uchar x;
     uchar y;
       DISI(); 
    tms(10);
    sys_init();
    //lcd_init(0xf7);
       r_buf[0]=0;
       r_buf[1]=0;

     r=r_buf; //讀參數(shù)
     b=0x00;
     c=2;

     w=w_buf; //寫(xiě)參數(shù)
     x=0x00;
     y=2;
    
     //w_buf[0]=0x81;
     //w_buf[1]=0x19;
     // wt24c(w,x,y); //出廠寫(xiě)EEPROM

     rd24c(r,b,c); //初始讀EEPROM
     fan_st=r_buf[0];
     set_temper=r_buf[1];
     temp1=test_temperature();
  for(i=0;i<32;i++)// 清屏
 {
  LCD_ADDR=i;
  LCD_DB=0;
 }
  for(dly=0x1fff;dly;dly--)
 {
  WDTC(); 
 }
 //LED=1;
 ENI();
 while(1)
 {  
     //key_find();
   while(timer_2ms_ok)
   {
   timer_2ms_ok=0;
   if(mode_on_off==1)
    {
     lcd_init(0xf7);
     if(key_flag)
     {
     LED=1;
     if(timer1>=200)
      {
      timer1=0;
      LED=0;
      if((r_buf[0]!=fan_st)||(r_buf[1]!=set_temper))
      {
      r_buf[0]=fan_st;
      r_buf[1]=set_temper;
      w_buf[0]=fan_st;
      w_buf[1]=set_temper;
      wt24c(w,x,y); //寫(xiě)
      }
      key_flag=0;      
         }
      }
        if(times>=250)
         {
          temp1=test_temperature();
       times=0;
      }
       temp2=Bin1toBcd(set_temper);
    display(temp1,fan_st,temp2);
    PORT6=fan_st&0xe0;
    stst=fan_st&0x01;
    if(stst==0x01)
    { 
       COOL=1;
       HOT=0;
       tms(1);
       if((temp1>temp2)&&(COL_RST_FLAG==0))
         { 
            j=0;
          while((COOL_IF_L)&&(j<=3))
            {
             j++;
             COL_RST=1;
                   tms(10);
                   COL_RST=0;
             COL_RST_FLAG=1;                  
             }        
                   j=0;
          }
        else if((temp1         {  
            j=0;
        while((COOL_IF_H)&&(j<=3))
             {
             j++;  
             COL_RST=1;
                   tms(10);
                   COL_RST=0;
             COL_RST_FLAG=0;                  
             }        
                  j=0;
         }         
    }
        //stst=fan_st&0x02;
    else
     { 
        COOL=0;
         if((temp1         HOT=1;
         else
         HOT=0;
      }
       
    }
    else
    {
     LED=0;
     lcd_init(0x00);
     LOW=0;
     MID=0;
     HI=0;
     COOL=0;
     HOT=0;
     }

 WDTC(); 
   } 
 WDTC(); 
 }
  }


關(guān)鍵字:EM78P468  NTC  lcd測(cè)溫 引用地址:EM78P468 NTC lcd測(cè)溫設(shè)計(jì)C語(yǔ)言源代碼

上一篇:EMC單片機(jī)指令應(yīng)用的誤區(qū)與技巧
下一篇:EM78P153程序范例

推薦閱讀

集微網(wǎng)消息,美國(guó)達(dá)拉斯市郊一名男子,因走私集成電路離開(kāi)美國(guó),供中國(guó)及俄羅斯用于太空計(jì)劃,周三被法院判處監(jiān)禁近4年。62歲的祖卡雷利,于去年8月承認(rèn)串謀從美國(guó)走私及非法出口罪名,于周三判監(jiān)46個(gè)月。檢察官表示,祖卡雷利從2015年開(kāi)始,利用自己的公司向美國(guó)供應(yīng)商訂購(gòu)抗輻射加固集成電路,并把它們重新包裝為“觸屏部件”,再運(yùn)出美國(guó)。有關(guān)電路可應(yīng)...
今年的中國(guó)家電及消費(fèi)博覽會(huì)上,最搶眼的某過(guò)于智能化的清潔類(lèi)產(chǎn)品-掃地機(jī)器人。隨著科技日新月異的增長(zhǎng),越來(lái)越多人由于生活、工作壓力的原因,希望從繁瑣的家庭事務(wù)中得到解放,也正由于這樣的社會(huì)背景,掃地機(jī)器人以驚人的增速被普及應(yīng)用。 據(jù)公開(kāi)數(shù)據(jù)顯示,掃地機(jī)器人在最近五年內(nèi),復(fù)合增速在51%左右,截至2018年,中國(guó)掃地機(jī)器人零售量市場(chǎng)規(guī)...
三大核心零部件:難度最高,成本大頭工業(yè)機(jī)器人是一個(gè)典型的機(jī)電一體化產(chǎn)品,由三大部分、六個(gè)子系統(tǒng)組成,三大部分分別是機(jī)械部分、傳感部分、控制部分,六個(gè)子系統(tǒng)分別是:驅(qū)動(dòng)系統(tǒng)、機(jī)械結(jié)構(gòu)系統(tǒng)、控制系統(tǒng)、人—機(jī)交互系統(tǒng)、感受系統(tǒng)、機(jī)器人—環(huán)境交互系統(tǒng)。工業(yè)機(jī)器人最核心的三個(gè)零部件分別是伺服電機(jī)、減速機(jī)、控制器(包括運(yùn)動(dòng)控制),是工業(yè)機(jī)器...
文/陳根不論支持與否,陪伴機(jī)器人的到來(lái)都是必然的趨勢(shì)。事實(shí)上,“機(jī)器伴侶”作為未來(lái)智能機(jī)器人發(fā)展最廣闊的領(lǐng)域,已經(jīng)越來(lái)越多地介入人們的生活,扮演助手、朋友、伴侶甚至家人的角色。人們已經(jīng)不可避免要進(jìn)入人機(jī)共處的時(shí)代,不可避免地要與機(jī)器人“比鄰而居”。隨著科技的日益發(fā)展,基于人工智能的機(jī)器狗也開(kāi)始逐漸走入大眾的視野。事實(shí)上,機(jī)器狗已經(jīng)存在了...

史海拾趣

問(wèn)答坊 | AI 解惑

NSN杭州招聘RF Manager/RF Engineer

大家好, 我是人才咨詢(xún)顧問(wèn)Austin,我們現(xiàn)在在為NSN杭州尋找RF人才,做手機(jī),做直放站,做基站都可以的;但去NSN杭州是做3G基站的RF開(kāi)發(fā) RF Manager,需要10年以上的RF經(jīng)驗(yàn),要有基站或直放站RF經(jīng)驗(yàn),英文流利 RF Specialist,需要8年以上的RF經(jīng) ...…

查看全部問(wèn)答∨

什么是看門(mén)狗(watchdog)--小知識(shí)

剛?cè)ス镜臅r(shí)候,就聽(tīng)老員工在說(shuō)什么看門(mén)狗,因?yàn)樽龅暮瓦@個(gè)不相關(guān),所以特地搜了一下相關(guān)資料,分享給和我一樣需要充電的xdjm 什么是看門(mén)狗(watchdog) 看門(mén)狗,又叫 watchdog timer,是一個(gè)定時(shí)器電路, 一般有一個(gè)輸入,叫喂狗,一個(gè)輸出到MCU的RST ...…

查看全部問(wèn)答∨

生存經(jīng)典忠告38條!(ZT)

1、自尊、自強(qiáng)、自立是你一生必須要學(xué)好的功課,它們是根,是你能夠堅(jiān)持生存下來(lái)的唯一道理。想要提高生活的質(zhì)量,必要的心機(jī)和謀生的手段是必須的;要想不被狼吃了,就要練就一身打狼的本事,無(wú)論你走到哪里,狼是不敢吃你的。 2、任何時(shí)候相信 ...…

查看全部問(wèn)答∨

請(qǐng)教addr2lineppc如何使用

今天在論壇中看到帖子說(shuō)使用addr2lineppc.exe可以定位出代碼中哪一行出錯(cuò) 鏈接:http://topic.eeworld.net/u/20090228/22/7c632e53-5899-4205-adf7-21ab1ab9b763.html 但是沒(méi)有給出如何使用,還請(qǐng)會(huì)的大蝦幫助,謝謝…

查看全部問(wèn)答∨

ID卡讀頭干擾問(wèn)題!

我現(xiàn)在遇到個(gè)奇怪的問(wèn)題,不知如何解決,     我最近要改進(jìn)公司的POS售飯機(jī)的ID卡讀卡問(wèn)題,其實(shí)我手頭上的程序讀卡是很好使的,但是 當(dāng)兩個(gè)售飯機(jī)的讀頭離的很的時(shí),就不能連續(xù)在同一個(gè)讀頭上讀出卡號(hào)了,但是兩個(gè)讀頭輪流讀卡就沒(méi)有 ...…

查看全部問(wèn)答∨

MSP430開(kāi)發(fā)板申請(qǐng)。

因?yàn)橹坝玫亩际?位單片機(jī),希望涉足16位單片機(jī),早就聽(tīng)說(shuō)MSP430有諸多優(yōu)點(diǎn)如:功耗低等。所以選擇了TI 的片。  …

查看全部問(wèn)答∨

關(guān)于MSP430與EEPROM通信之間的問(wèn)題

關(guān)于MSP430與EEPROM通信之間的問(wèn)題 小弟我剛剛接觸MSP430, 準(zhǔn)備以后就在這個(gè)方向?qū)W習(xí)下去, 還希望貴地的單片機(jī)大神們能給予點(diǎn)滴指導(dǎo). 問(wèn)題如下: 在與EEPROM進(jìn)行IIC通信的時(shí)候, 向EEPROM寫(xiě)入字節(jié)的時(shí)候發(fā)現(xiàn)MSP430無(wú)法得到EEPROM的回應(yīng), 不知道問(wèn) ...…

查看全部問(wèn)答∨

想做個(gè)LM3S811的擴(kuò)展板,求建議

想在申請(qǐng)的LM3S811開(kāi)發(fā)板的基礎(chǔ)上做個(gè)擴(kuò)展板,大家有什么好的建議嗎?…

查看全部問(wèn)答∨

求助:欲制作Exynos 4212原理圖庫(kù),卻找不到引腳分配的資料

如題,本人最近想畫(huà)一個(gè)基于Exynos 4212的終端設(shè)備,于是到官網(wǎng)下載了User Manual,但里面卻沒(méi)有Pin Assignment,于是又到網(wǎng)上各種找,卻沒(méi)有找到,請(qǐng)問(wèn),有哪位朋友有相關(guān)資料,求一份,謝謝!…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車(chē)開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 科技| 新津县| 方山县| 岳普湖县| 林口县| 淮安市| 广东省| 巍山| 中卫市| 河间市| 朝阳区| 长沙市| 祁阳县| 栖霞市| 静安区| 永嘉县| 东乌珠穆沁旗| 英德市| 长岛县| 乌兰察布市| 凌源市| 昌黎县| 伽师县| 乌兰县| 清镇市| 新安县| 农安县| 五峰| 思南县| 成都市| 开化县| 吕梁市| 康马县| 浠水县| 喀喇沁旗| 中宁县| 竹溪县| 河曲县| 楚雄市| 响水县| 盐源县|