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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

dth11溫濕度傳感器的單片機程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年12月17日   【字體:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
typedef bit BOOL  ;
sbit io = P1^0 ;
sbit rs = P2^4 ;
sbit rw = P2^5 ;
sbit ep = P2^6 ;
uchar data_byte;
uchar RH,RL,TH,TL;
/
************************************************延時模塊***************************************************/
void delay(uchar ms)
{       // 延時子程序
  uchar i ;
  while(ms--)
  {
    for(i = 0 ; i<250;i++) ;
  }
}
void delay1()//延時10us
{
 uchar i;
 i--;
 i--;
 i--;
 i--;
 i--;
 i--;
}
void longdelay(uchar s) //長延時
{
  while(s--)
  {
    delay(60) ;
  }
}
/
***********************************************LCD模塊********************************************************/
BOOL lcd_bz()//測試LCD忙碌狀態
{     
  BOOL result ;
  rs = 0 ;
  rw = 1 ;
  ep = 1 ;
  result = (BOOL)(P0 & 0x80) ;
  ep = 0 ;
  return result ;
}
void write_cmd(uchar cmd)// 寫指令
{      
  while(lcd_bz()) ;
 rs = 0 ;
 rw = 0 ;
 ep = 0 ;
 P0 = cmd ;
 ep = 1 ;
 ep = 0 ; 
}
void write_addr(uchar addr)//寫地址
{      
  write_cmd(addr|0x80) ;
}
void write_byte(uchar dat)//寫字節
{     
  while(lcd_bz()) ;
   rs = 1 ;
   rw = 0 ;
   ep = 0 ;
   P0 = dat ;
   ep = 1 ;
   ep = 0 ;
}
void lcd_init()// 初始化
{      
  write_cmd(0x38) ;
  delay(1);
  write_cmd(0x08) ; 
  delay(1);
  write_cmd(0x01) ;
  delay(1);
  write_cmd(0x06) ;
  delay(1);
  write_cmd(0x0c) ;
  delay(1);
}
void display(uchar addr, uchar q)//在某一地址上顯示一字節
{  
  delay(10) ;
  write_addr(addr) ;
     write_byte(q) ;
  longdelay(2) ;
 
}
/
************************************************ DHT11測試模塊***********************************************/
void start()//開始信號
{
 io=1;
 delay1();
 io=0;
 delay(20);//>18ms
 io=1;
 delay1();//20-40us
 delay1();
 delay1();
 delay1();
 delay1();
}
uchar receive_byte()//接收一個字節
{
 uchar i,temp,count;
 for(i=0;i<8;i++)
 {
  count=2;
  while((!io)&&count++)//等待50us低電平結束
  temp=0;
  delay1();delay1();delay1();delay1();
  if(io==1)temp=1;
  count=2;
  while((io)&&count++);
  if(count==1)break;
  data_byte<<=1; 
  data_byte|=temp;
 }
 return data_byte;
}
void receive()//接收數據
{
 uchar T_H,T_L,R_H,R_L,check,num_check;
 uchar count;
 start();//開始信號
 io=1;
 if(!io)//讀取DHT11響應信號
 {
 count=2;
 while((!io)&&count++);//DHT11高電平80us是否結束
 count=2;
 while((io)&&count++);
 R_H=receive_byte();
 R_L=receive_byte();
 T_H=receive_byte();
 T_L=receive_byte();
 check=receive_byte();
 io=0;//拉低延時50us
 delay1();delay1();delay1();delay1();delay1();
 io=1;
 num_check=R_H+R_L+T_H+T_L;
 if(num_check=check)
 {
  RH=R_H;
  RL=R_L;
  TH=T_H;
  TL=T_L;
  check=num_check;
 }
 }
}
/*******
*************************************************主函數****/
void main()
{
 lcd_init();
 delay(10);
 while(1)
 {
   receive();
   delay(100);
   display(0x00,'R') ;
   display(0x01,':');
   display(0x02,RH/10+0x30);
   display(0x03,RH%10+0x30);
   display(0x04,'%');
   display(0x40,'T') ;
   display(0x41,':');
   display(0x42,TH/10+0x30);
   display(0x43,TH%10+0x30);
   display(0x44,0xdf);
   display(0x45,0x43);
  
 }
}/**********************************************/
關閉窗口

相關文章

主站蜘蛛池模板: 国精产品一品二品国精在线观看 | 可以免费观看的av片 | 欧美在线视频观看 | 国产视频三级 | 亚洲精品美女在线观看 | 97色伦网 | 国产精品国产三级国产aⅴ入口 | 国产在线视频99 | 久久婷婷国产麻豆91 | 久久99精品国产99久久6男男 | 亚洲91视频 | 操视频网站 | 日韩视频观看 | 欧美一区二区三区在线观看 | 久久久视频在线 | 91高清视频在线观看 | 亚洲欧美国产毛片在线 | 亚洲欧美高清 | 亚洲视频二区 | 久久精品国产一区二区三区不卡 | 亚洲综合视频 | 91传媒在线播放 | 久久婷婷国产麻豆91 | 中文日韩在线视频 | 久久久精品一区 | 日本在线一区二区 | 一级全黄少妇性色生活免费看 | 国产精品视频一区二区三区, | 本地毛片| 亚洲欧美激情视频 | 黄色毛片免费 | 欧美在线 | 日韩一区二区在线视频 | 久久伊人操 | xxx视频| 做a视频| 亚洲国产成人在线视频 | 最近中文字幕在线视频1 | 国产成人精品一区二三区在线观看 | 天天综合久久 | 午夜在线 |