📄 dth add lcd.lst
字号:
C51 COMPILER V9.01 DTH_ADD_LCD 06/03/2013 17:36:27 PAGE 1
C51 COMPILER V9.01, COMPILATION OF MODULE DTH_ADD_LCD
OBJECT MODULE PLACED IN dth add lcd.OBJ
COMPILER INVOKED BY: D:\软件\keil\C51\BIN\C51.EXE dth add lcd.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //DHT11.c文件
2 #include<reg52.h>
3 #include<Time_Delay.h>
*** WARNING C318 IN LINE 3 OF dth add lcd.c: can't open file 'Time_Delay.h'
4 //the main only needs to call get DHT11(),then the temperature and huminity was got in F16T,F16RH as floa
-t
5 sbit bit11=P2^0;
6 unsigned char
7 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
8 float F16T,F16RH; //用于最终读取的温湿度数据
9 // read 8 bits onice
10 char COM(void)
11 {
12 1
13 1 char i,U8temp,U8comdata;
14 1 for(i=0;i<8;i++)
15 1 {
16 2
17 2
18 2
19 2 while(!bit11); //表示读取的高电位延时大于20多us 则读取的是1 否则读取的是0
20 2 Delay_us(35); //通过U8FLAG 可 bit11 显示数据的脉长
*** WARNING C206 IN LINE 20 OF DTH ADD LCD.C: 'Delay_us': missing function-prototype
*** ERROR C267 IN LINE 20 OF DTH ADD LCD.C: 'Delay_us': requires ANSI-style prototype
21 2 U8temp=0;
22 2
23 2 if(bit11)U8temp=1;
24 2
25 2 while(bit11);
26 2 U8comdata<<=1;
27 2 U8comdata|=U8temp; //0
28 2 }//rof
29 1 return U8comdata;
30 1 }
31
32 //--------------------------------
33 //-----温湿度读取子程序 ----------
34 //--------------------------------
35 //----以下变量均为全局变量--------
36 //----温度高8位== U8T_data_H------
37 //----温度低8位== U8T_data_L------
38 //----湿度高8位== U8RH_data_H-----
39 //----湿度低8位== U8RH_data_L-----
40 //----校验 8位 == U8checkdata-----
41 //----调用相关子程序如下----------
42 //---- Delay();, Delay_10us();,COM();
43 //--------------------------------
44
45 void getDHT11(void)
46 {
47 1 //主机拉低18ms
48 1 GO1: bit11=0;
49 1 Delay_ms(20);
50 1 bit11=1;
51 1 //总线由上拉电阻拉高 主机延时20us
C51 COMPILER V9.01 DTH_ADD_LCD 06/03/2013 17:36:27 PAGE 2
52 1 Delay_us(60);
53 1
54 1 //主机设为输入 判断从机响应信号
55 1 // bit11=1;
56 1 //判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行
57 1
58 1 if(!bit11) //T !
59 1 {
60 2
61 2 while(!bit11); //wait DHT goto high
62 2
63 2 while(bit11);
64 2 //数据接收状态
65 2
66 2 U8RH_data_H=COM();
67 2
68 2 U8RH_data_L=COM();
69 2
70 2 U8T_data_H=COM();
71 2
72 2 U8T_data_L=COM();
73 2
74 2 U8checkdata=COM();
75 2 bit11=1;
76 2 //数据校验
77 2
78 2
79 2 if((U8T_data_H+U8T_data_L+U8RH_data_H+U8RH_data_L)!
80 2 =U8checkdata) //if check wrong,read again
81 2 goto GO1;
82 2 }//fi
83 1 F16T=U8T_data_H+(float)U8T_data_L/256;
84 1 //change integer to float
85 1 F16RH=U8RH_data_H+(float)U8RH_data_L/256;
86 1 }
87
88
89
C51 COMPILATION COMPLETE. 2 WARNING(S), 1 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -