亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dht90與lcd1602的溫濕度顯示keilc程序.txt

?? 溫濕度顯示KeilC程序非常好用非常好用非常好用非常好用非常好用
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
/*********************************************************************************** 
;功能說明:DHT90與LCD1602的溫濕度顯示KeilC程序
;文件名稱:DHT90.c     
;微處理器:AT89S52
;編譯環境:Keil uVision V2.38a 
;作    者:Huang Yanxiang
;版    權:(c)Huang Yanxiang
;創建日期:2008.08.15    
;版    本:V1.2  
;修改日期:2008.08.26
;修改說明:添加了一個LCD_disp_str()函數,修改了延時函數的注釋。
;***********************************************************************************/

/*************定義接口********************
         P0------DB0~DB7  (LCD1602)     
         P2.0------RS      (LCD1602)
         P2.1------RW      (LCD1602)
         P2.2------E       (LCD1602)
   P2.6------SCK     (DHT90)
   P2.7------DATA    (DHT90)
*****************************************/

#include <AT89x51.h>
#include <intrins.h> 
#include <math.h>    //Keil library   
#include <stdio.h>   //Keil library 

//*********************第一部分LCD1602設置 START****************************************
#define LCD_DB        P0
        sbit         LCD_RS=P2^0;   //P2^0是p2.0的意思;LCD_RS與P2.0等效起來,對LCD_RS 讀寫,就是對P2.0讀寫 好處在于LCD_RS含義直接明了,寫程序多了就會知道有必要de
        sbit         LCD_RW=P2^1;   //P2^1是p2.1的意思
        sbit         LCD_E=P2^2;    //P2^2是p2.2的意思

/******定義函數****************/
#define uchar unsigned char
#define uint unsigned int
void LCD_init(void);                          //初始化函數
void LCD_write_command(uchar command);        //寫指令函數
void LCD_write_data(uchar dat);               //寫數據函數
void LCD_disp_char(uchar x,uchar y,uchar dat);//在某個屏幕位置上顯示一個字符,X(0-15),y(1-2)
void LCD_disp_str(uchar x,uchar y,uchar *str); //LCD1602顯示字符串函數
void delay_n10us(uint n);                     //延時函數

/*-------------------------------------- 
;模塊名稱:LCD_init(); 
;功    能:初始化LCD1602 
;占用資源:--
;參數說明:--
;創建日期:2008.08.15 
;版    本:FV1.0(函數版本Function Version)
;修改日期:--
;修改說明:--
;-------------------------------------*/ 
void LCD_init(void)
{
delay_n10us(10);
LCD_write_command(0x38);//設置8位格式,2行,5x7
delay_n10us(10);
LCD_write_command(0x0c);//整體顯示,關光標,不閃爍
delay_n10us(10);
LCD_write_command(0x06);//設定輸入方式,增量不移位
delay_n10us(10);
LCD_write_command(0x01);//清除屏幕顯示
delay_n10us(100);       //延時清屏,延時函數,延時約n個10us
}

/*-------------------------------------- 
;模塊名稱:LCD_write_command(); 
;功    能:LCD1602寫指令函數 
;占用資源: P2.0--RS(LCD_RS),P2.1--RW(LCD_RW),P2.2--E(LCD_E).
;參數說明:dat為寫命令參數
;創建日期:2008.08.15 
;版    本:FV1.0(函數版本Function Version)
;修改日期:--
;修改說明:--
;-------------------------------------*/ 
void LCD_write_command(uchar dat)
{
delay_n10us(10);
LCD_RS=0;         //指令
LCD_RW=0;         //寫入
LCD_E=1;          //允許
LCD_DB=dat;
delay_n10us(10);  //實踐證明,我的LCD1602上,用for循環1次就能完成普通寫指令。
LCD_E=0;
delay_n10us(10);  //實踐證明,我的LCD1602上,用for循環1次就能完成普通寫指令。
}

/*-------------------------------------- 
;模塊名稱:LCD_write_data(); 
;功    能:LCD1602寫數據函數 
;占用資源: P2.0--RS(LCD_RS),P2.1--RW(LCD_RW),P2.2--E(LCD_E).
;參數說明:dat為寫數據參數
;創建日期:2008.08.15 
;版    本:FV1.0(函數版本Function Version)
;修改日期:--
;修改說明:--
;-------------------------------------*/
void LCD_write_data(uchar dat)
{
delay_n10us(10);
LCD_RS=1;          //數據
LCD_RW=0;          //寫入
LCD_E=1;           //允許
LCD_DB=dat;
delay_n10us(10);
LCD_E=0;
delay_n10us(10);
}

/*-------------------------------------- 
;模塊名稱:LCD_disp_char(); 
;功    能:LCD1602顯示一個字符函數,在某個屏幕位置上顯示一個字符,X(0-15),y(1-2)。
;占用資源:--
;參數說明:X為1602的列值(取值范圍是0-15),y為1602的行值(取值范圍是1-2),dat為所要顯示字符對應的地址參數。
;創建日期:2008.08.15 
;版    本:FV1.0(函數版本Function Version)
;修改日期:--
;修改說明:--
;-------------------------------------*/
void LCD_disp_char(uchar x,uchar y,uchar dat)
{
  uchar address;
  if(y==1)
         address=0x80+x;
  else
         address=0xc0+x;
  LCD_write_command(address);
  LCD_write_data(dat);
}

/*-------------------------------------- 
;模塊名稱:LCD_disp_str(); 
;功    能:LCD1602顯示字符串函數,在某個屏幕起始位置{X(0-15),y(1-2)}上顯示一個字符串。
;占用資源:--
;參數說明:X為1602的列值(取值范圍是0-15),y為1602的行值(取值范圍是1-2),str為所要顯示字符串對應的指針參數。
;創建日期:2008.08.16 
;版    本:FV1.0(函數版本Function Version)
;修改日期:--
;修改說明:-- 
;-------------------------------------*/
void LCD_disp_str(uchar x,uchar y,uchar *str)
{
  uchar address;
  if(y==1)
         address=0x80+x;
  else
         address=0xc0+x;
  LCD_write_command(address);
  while(*str!='\0')
  { 
    LCD_write_data(*str);   
    str++;
  }
}

/*-------------------------------------- 
;模塊名稱:delay_n10us(); 
;功    能:延時函數,延時約n個10us
;占用資源:--
;參數說明:--
;創建日期:2008.08.15 
;版    本:FV1.1(函數版本Function Version)
;修改日期:2008.08.26
;修改說明:修改為較精確的延時函數,"_nop_()"延時1us@12M晶振
;-------------------------------------*/
void delay_n10us(uint n)  //延時n個10us@12M晶振
{       
        uint i;           
        for(i=n;i>0;i--)    
        {
        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); 
  }
}  

//*********************第一部分LCD1602設置 END****************************************

//*********************第二部分DHT90設置   START**************************************** 
sbit SCK  = P2^6;      //定義通訊時鐘端口
sbit DATA = P2^7;      //定義通訊數據端口

typedef union  
{ unsigned int i;      //定義了兩個共用體
  float f; 
} value; 

enum {TEMP,HUMI};      //TEMP=0,HUMI=1

#define noACK 0             //用于判斷是否結束通訊
#define ACK   1             //結束數據傳輸
                            //adr  command  r/w 
#define STATUS_REG_W 0x06   //000   0011    0 
#define STATUS_REG_R 0x07   //000   0011    1 
#define MEASURE_TEMP 0x03   //000   0001    1 
#define MEASURE_HUMI 0x05   //000   0010    1 
#define RESET        0x1e   //000   1111    0 

/****************定義函數****************/
void s_transstart(void);               //啟動傳輸函數
void s_connectionreset(void);          //連接復位函數
char s_write_byte(unsigned char value);//DHT90寫函數
char s_read_byte(unsigned char ack);   //DHT90讀函數
char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);//測量溫濕度函數
void calc_dht90(float *p_humidity ,float *p_temperature);//溫濕度補償

/*-------------------------------------- 
;模塊名稱:s_transstart(); 
;功    能:啟動傳輸函數
;占用資源:--
;參數說明:--
;創建日期:2008.08.15 
;版    本:FV1.0(函數版本Function Version)
;修改日期:--
;修改說明:--
;-------------------------------------*/  
void s_transstart(void) 
// generates a transmission start  
//       _____         ________ 
// DATA:      |_______| 
//           ___     ___ 
// SCK : ___|   |___|   |______ 
{   
   DATA=1; SCK=0;                   //Initial state 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线啊v一区| av一区二区三区| 亚洲成人免费看| 一区二区视频在线| 一区二区三区av电影| 亚洲少妇30p| 亚洲一区二区三区四区在线观看 | 99久久夜色精品国产网站| 国产精品中文欧美| 国产99久久久国产精品潘金| 国产91丝袜在线观看| 不卡的电视剧免费网站有什么| 9人人澡人人爽人人精品| 91香蕉视频污在线| 欧美日韩一区二区电影| 欧美精品亚洲二区| 精品久久一区二区| 国产精品久久三| 亚洲精品高清视频在线观看| 午夜国产精品影院在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 免费观看91视频大全| 国产成人8x视频一区二区| 91在线视频官网| 精品视频色一区| 精品久久久久一区二区国产| 亚洲国产精品成人久久综合一区| 成人免费在线播放视频| 亚洲成av人片在线观看| 国产伦精品一区二区三区免费迷| 99久久综合狠狠综合久久| 欧美视频第二页| 久久精品人人做人人综合 | 亚洲嫩草精品久久| 福利视频网站一区二区三区| 色婷婷综合五月| 欧美成人一区二区三区| 中文字幕综合网| 美女尤物国产一区| 色综合久久久久久久久久久| 日韩精品一区二区三区视频| 亚洲伦理在线精品| 国产福利精品导航| 91精品国产综合久久久久久| 亚洲国产精品成人综合| 蜜桃av一区二区三区电影| av中文字幕一区| 欧美tickling挠脚心丨vk| 亚洲美女电影在线| 国产福利电影一区二区三区| 欧美理论片在线| 亚洲另类一区二区| 国产成人福利片| 欧美r级电影在线观看| 一区二区久久久久| 成人美女视频在线看| 精品三级av在线| 午夜精品福利一区二区三区蜜桃| 99久久精品情趣| 国产日产欧美一区| 九色综合狠狠综合久久| 欧美精品18+| 亚洲午夜久久久久久久久电影网| av电影天堂一区二区在线 | 一本一道综合狠狠老| 久久久久久久久免费| 蜜桃一区二区三区在线观看| 555www色欧美视频| 性久久久久久久| 欧美日韩视频在线第一区 | 久久国产免费看| 日韩一区二区免费在线观看| 天堂影院一区二区| 欧美日韩综合一区| 午夜av一区二区| 欧美一区日本一区韩国一区| 日日摸夜夜添夜夜添国产精品| 欧美日韩在线一区二区| 亚洲一区二区三区自拍| 欧美日韩精品欧美日韩精品| 亚洲国产精品久久久久婷婷884 | 精品日本一线二线三线不卡| 蜜臀av一区二区在线免费观看 | 91在线视频免费观看| 亚洲男人天堂一区| 色婷婷久久综合| 亚洲第一综合色| 欧美一区二区美女| 国内精品伊人久久久久av一坑| 久久久久久久久岛国免费| 成人免费毛片片v| 亚洲欧美欧美一区二区三区| 在线观看日韩电影| 日韩高清不卡在线| 久久久三级国产网站| 成人a区在线观看| 一区二区三区在线高清| 5858s免费视频成人| 精品一区二区三区不卡| 国产精品三级久久久久三级| 91久久精品一区二区| 亚洲第一会所有码转帖| 欧美成人女星排名| 99精品偷自拍| 日韩成人精品在线| 中文字幕av一区二区三区| 欧洲人成人精品| 黄色日韩三级电影| 一区二区三区中文字幕电影| 日韩精品专区在线影院重磅| av一本久道久久综合久久鬼色| 亚洲高清不卡在线| 久久麻豆一区二区| 欧日韩精品视频| 国产精品一级二级三级| 一区二区三区四区乱视频| 日韩精品一区二区三区中文不卡 | 成人精品国产免费网站| 亚洲中国最大av网站| 精品剧情在线观看| 在线观看视频欧美| 高清av一区二区| 免费人成网站在线观看欧美高清| 国产精品乱码久久久久久| 欧美一区二区免费| 在线观看一区二区视频| 成人午夜看片网址| 蜜桃精品视频在线| 亚洲图片欧美视频| 亚洲欧美综合在线精品| 精品欧美久久久| 欧美日韩一区二区在线观看视频| 成人三级伦理片| 黑人巨大精品欧美黑白配亚洲| 亚洲一卡二卡三卡四卡五卡| 国产精品毛片大码女人| 欧美精品一区二区三区一线天视频 | 亚洲精品videosex极品| 亚洲国产精品成人久久综合一区 | 91首页免费视频| 国产麻豆视频精品| 久久99久久久欧美国产| 亚洲va国产va欧美va观看| 亚洲人快播电影网| 国产精品久久久久久一区二区三区| 久久久久国产免费免费| 精品国产乱码久久久久久闺蜜| 91精品一区二区三区久久久久久| 欧洲日韩一区二区三区| 欧美性三三影院| 91成人免费在线| 欧美网站一区二区| 欧美性色欧美a在线播放| 欧美午夜一区二区三区免费大片| 91蜜桃在线观看| 在线精品视频免费播放| 欧美三级电影在线观看| 欧美日韩免费高清一区色橹橹| 在线免费av一区| 欧美日精品一区视频| 9191国产精品| 日韩一级高清毛片| www国产精品av| 欧美国产视频在线| 中文字幕一区二区三区蜜月| 亚洲丝袜美腿综合| 亚洲一区二区三区精品在线| 五月天激情综合| 美国毛片一区二区| 国产成人亚洲综合a∨婷婷| 成人午夜碰碰视频| 欧美亚洲丝袜传媒另类| 欧美一区二区三区公司| 久久久亚洲精品石原莉奈| 国产精品久久久久aaaa樱花| 亚洲精品一二三| 麻豆精品蜜桃视频网站| 国内精品久久久久影院一蜜桃| 成人一二三区视频| 色美美综合视频| 日韩你懂的在线观看| 国产精品网站一区| 亚洲一区二区高清| 久久精品噜噜噜成人av农村| 风流少妇一区二区| 欧美日韩在线一区二区| 久久久久久久国产精品影院| 亚洲精品成人精品456| 强制捆绑调教一区二区| 99久久夜色精品国产网站| 这里只有精品视频在线观看| 国产欧美日韩综合| 亚洲精品高清在线观看| 日本不卡一区二区| 91猫先生在线| 久久亚洲精精品中文字幕早川悠里| 亚洲男女一区二区三区| 韩国午夜理伦三级不卡影院| 色视频一区二区| 国产欧美综合在线观看第十页 |