<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 基于ATmega128的DHT11溫濕度傳感器的使用

          基于ATmega128的DHT11溫濕度傳感器的使用

          作者: 時間:2012-08-14 來源:網(wǎng)絡(luò) 收藏

          #define LCK_1 PORTB|=(1

          #define SDI_0 PORTB=~(1

          #define SDI_1 PORTB|=(1

          void init(void);

          void send_595(unsigned char dat);

          void digitron_show(unsigned int int_part,unsigned int float_part);

          #endif

          ================================================

          //這里是xianshi.c

          #includexianshi.h

          #ifndef __DELAY_H

          #includedelay.h

          #endif

          #ifndef ___H

          #includedht11.h

          #endif

          //數(shù)碼管顯示數(shù)組定義

          const unsigned char table[]=

          {

          0x3F,// 0

          0x06,// 1

          0x5B,// 2

          0x4F,// 3

          0x66,// 4

          0x6D,// 5

          0x7D,// 6

          0x07,// 7

          0x7F,// 8

          0x6F,// 9

          0x3F+0x80,// 0.

          0x06+0x80,// 1.

          0x5B+0x80,// 2.

          0x4F+0x80,// 3.

          0x66+0x80,// 4.

          0x6D+0x80,// 5.

          0x7D+0x80,// 6.

          0x07+0x80,// 7.

          0x7F+0x80,// 8.

          0x6F+0x80// 9.

          };

          unsigned int s,t,st,int_part,float_part,temp,SH;

          //發(fā)送一字節(jié)數(shù)據(jù)到595

          void send_595(unsigned char dat)

          {

          unsigned char i;

          LCK_0;

          SDI_1;

          SCK_0;

          //上面的三條語句為了初始化端口狀態(tài)

          for(i=0;i8;i++)

          {

          LCK_0;//時鐘線拉低

          if(dat0x80)

          SDI_1;

          else SDI_0;

          dat=dat1;

          delay_us(100);

          LCK_1; //時鐘線拉高將數(shù)據(jù)讀入595的移位寄存器

          delay_us(100);

          }

          SCK_1; //發(fā)送數(shù)據(jù)到并行端口

          SCK_0;

          }

          void show(void)

          {

          unsigned char temp_shi,temp_ge,SH_shi,SH_ge,x,y;

          unsigned int i;

          st=dht();

          t=st0x0000ffff;

          s=st0xffff0000;

          s=s>>16;

          //下面為把溫度和濕度換算成十進制并且四舍五入

          temp=(t>>8);

          temp_shi=temp/10;

          temp_ge=temp%10;

          SH=(s>>8);

          SH_shi=SH/10;

          SH_ge=SH%10;

          int_part=SH_shi*10+SH_ge;

          float_part=0;

          for(i=0;i50;i++)

          {

          digitron_show(int_part,float_part);

          }

          }

          void digitron_show(unsigned int int_part,unsigned int float_part)

          {

          PORTA=0x01;

          send_595(table[float_part/10]);

          send_595(0x00);

          delay_ms(5);

          PORTA=0x02;

          send_595(table[(int_part%10)+10]);

          send_595(0x00);

          delay_ms(5);

          PORTA=0x04;

          send_595(table[int_part/10]);

          send_595(0x00);

          delay_ms(5);

          }

          ================================================

          //這里是MAIN.C

          #include

          #include

          #includedelay.h

          #includedht11.h

          #includexianshi.h

          #pragma interrupt_handler Timer0_COMP:16

          #define uchar unsigned char

          uchar k=0;

          void init(void);

          void main()

          {

          init();//初始化

          TCCR0=0X0F;

          DDRA=0XFF;

          TCCR0=0X0f;//CTC模式

          OCR0=145;//10ms

          TIMSK=0X02;

          SEI();

          while(1);

          }

          //初始化子函數(shù)

          void init(void)

          {

          DDRA=0XFF;

          DDRB=0XFF;

          }

          void Timer0_COMP(void)

          {

          TCCR0=0X08;

          CLI();

          k++;

          if(k==255)

          {

          k=0;

          show();

          }

          TCCR0=0X0f;//重置初值

          SEI();

          }

          電磁爐相關(guān)文章:電磁爐原理


          上拉電阻相關(guān)文章:上拉電阻原理
          土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();