dht21程序怎么写

1.急求DHT21/AM2301用51单片机驱动的程序

//****************************************************************// // DHT21使用范例 //单片机 : AT89S52 或 STC89C52RC // 功能 :串口发送温湿度数据 晶振 11.0592M 波特率 9600 //硬件连接: P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑 // 公司 :奥松电子 //****************************************************************// #include #include // typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */ typedef signed char S8; /* defined for signed 8-bits integer variable 有符号8位整型变量 */ typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 无符号16位整型变量 */ typedef signed int S16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */ typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 无符号32位整型变量 */ typedef signed long S32; /* defined for signed 32-bits integer variable 有符号32位整型变量 */ typedef float F32; /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */ typedef double F64; /* double precision floating point variable (64bits) 双精度浮点数(64位长度) */ // #define uchar unsigned char #define uint unsigned int #define Data_0_time 4 //----------------------------------------------// //----------------IO口定义区--------------------// //----------------------------------------------// sbit P2_0 = P2^0 ; //----------------------------------------------// //----------------定义区--------------------// //----------------------------------------------// U8 U8FLAG,k; U8 U8count,U8temp; U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata; U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp; U8 U8comdata; U8 outdata[5]; //定义发送的字节数 U8 indata[5]; U8 count, count_r=0; U8 str[5]={"RS232"}; U16 U16temp1,U16temp2; SendData(U8 *a) { outdata[0] = a[0]; outdata[1] = a[1]; outdata[2] = a[2]; outdata[3] = a[3]; outdata[4] = a[4]; count = 1; SBUF=outdata[0]; } void Delay(U16 j) { U8 i; for(;j>0;j--) { for(i=0;i<27;i++); } } void Delay_10us(void) { U8 i; i--; i--; i--; i--; i--; i--; } void COM(void) { U8 i; for(i=0;i<8;i++) { U8FLAG=2; while((!P2_0)&&U8FLAG++); Delay_10us(); Delay_10us(); Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while((P2_0)&&U8FLAG++); //超时则跳出for循环 if(U8FLAG==1)break; //判断数据位是0还是1 // 如果高电平高过预定0高电平值则数据位为 1 U8comdata<<=1; U8comdata|=U8temp; //0 }//rof } //-------------------------------- //-----湿度读取子程序 ------------ //-------------------------------- //----以下变量均为全局变量-------- //----温度高8位== U8T_data_H------ //----温度低8位== U8T_data_L------ //----湿度高8位== U8RH_data_H----- //----湿度低8位== U8RH_data_L----- //----校验 8位 == U8checkdata----- //----调用相关子程序如下---------- //---- Delay();, Delay_10us();,COM(); //-------------------------------- void RH(void) { //主机拉低18ms P2_0=0; Delay(180); P2_0=1; //总线由上拉电阻拉高 主机延时20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); //主机设为输入 判断从机响应信号 P2_0=1; //判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 if(!P2_0) //T ! { U8FLAG=2; //判断从机是否发出 80us 的低电平响应信号是否结束 while((!P2_0)&&U8FLAG++); U8FLAG=2; //判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 while((P2_0)&&U8FLAG++); //数据接收状态 COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; P2_0=1; //数据校验 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp==U8checkdata_temp) { U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; }//fi }//fi } //---------------------------------------------- //main()功能描述: AT89C51 11.0592MHz 串口发 //送温湿度数据,波特率 9600 //---------------------------------------------- void main() { U8 i,j; //uchar str[6]={"RS232"}; /* 系统初始化 */ TMOD = 0x20; //定时器T1使用工作方式2 TH1 = 253; // 设置初值 TL1 = 253; TR1 = 1; // 开始计时 SCON = 0x50; //工作方式1,波特率9600bps,允许接收 ES = 1; EA = 1; // 打开所以中断 TI = 0; RI = 0; SendData(str) ; //发送到串口 Delay(1); //延时100US(12M晶振) while(1) { //------------------------ //调用温湿度读取子程序 RH(); //串口显示程序 //-------------------------- str[0]=U8RH_data_H; 。

2.急求DHT21/AM2301用51单片机驱动的程序

//****************************************************************// // DHT21使用范例 //单片机 : AT89S52 或 STC89C52RC // 功能 :串口发送温湿度数据 晶振 11.0592M 波特率 9600 //硬件连接: P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑 // 公司 :奥松电子 //****************************************************************// #include #include // typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */ typedef signed char S8; /* defined for signed 8-bits integer variable 有符号8位整型变量 */ typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 无符号16位整型变量 */ typedef signed int S16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */ typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 无符号32位整型变量 */ typedef signed long S32; /* defined for signed 32-bits integer variable 有符号32位整型变量 */ typedef float F32; /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */ typedef double F64; /* double precision floating point variable (64bits) 双精度浮点数(64位长度) */ // #define uchar unsigned char #define uint unsigned int #define Data_0_time 4 //----------------------------------------------// //----------------IO口定义区--------------------// //----------------------------------------------// sbit P2_0 = P2^0 ; //----------------------------------------------// //----------------定义区--------------------// //----------------------------------------------// U8 U8FLAG,k; U8 U8count,U8temp; U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata; U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp; U8 U8comdata; U8 outdata[5]; //定义发送的字节数 U8 indata[5]; U8 count, count_r=0; U8 str[5]={"RS232"}; U16 U16temp1,U16temp2; SendData(U8 *a) { outdata[0] = a[0]; outdata[1] = a[1]; outdata[2] = a[2]; outdata[3] = a[3]; outdata[4] = a[4]; count = 1; SBUF=outdata[0]; } void Delay(U16 j) { U8 i; for(;j>0;j--) { for(i=0;i<27;i++); } } void Delay_10us(void) { U8 i; i--; i--; i--; i--; i--; i--; } void COM(void) { U8 i; for(i=0;i<8;i++) { U8FLAG=2; while((!P2_0)&&U8FLAG++); Delay_10us(); Delay_10us(); Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while((P2_0)&&U8FLAG++); //超时则跳出for循环 if(U8FLAG==1)break; //判断数据位是0还是1 // 如果高电平高过预定0高电平值则数据位为 1 U8comdata<<=1; U8comdata|=U8temp; //0 }//rof } //-------------------------------- //-----湿度读取子程序 ------------ //-------------------------------- //----以下变量均为全局变量-------- //----温度高8位== U8T_data_H------ //----温度低8位== U8T_data_L------ //----湿度高8位== U8RH_data_H----- //----湿度低8位== U8RH_data_L----- //----校验 8位 == U8checkdata----- //----调用相关子程序如下---------- //---- Delay();, Delay_10us();,COM(); //-------------------------------- void RH(void) { //主机拉低18ms P2_0=0; Delay(180); P2_0=1; //总线由上拉电阻拉高 主机延时20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); //主机设为输入 判断从机响应信号 P2_0=1; //判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 if(!P2_0) //T ! { U8FLAG=2; //判断从机是否发出 80us 的低电平响应信号是否结束 while((!P2_0)&&U8FLAG++); U8FLAG=2; //判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 while((P2_0)&&U8FLAG++); //数据接收状态 COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; P2_0=1; //数据校验 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp==U8checkdata_temp) { U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; }//fi }//fi } //---------------------------------------------- //main()功能描述: AT89C51 11.0592MHz 串口发 //送温湿度数据,波特率 9600 //---------------------------------------------- void main() { U8 i,j; //uchar str[6]={"RS232"}; /* 系统初始化 */ TMOD = 0x20; //定时器T1使用工作方式2 TH1 = 253; // 设置初值 TL1 = 253; TR1 = 1; // 开始计时 SCON = 0x50; //工作方式1,波特率9600bps,允许接收 ES = 1; EA = 1; // 打开所以中断 TI = 0; RI = 0; SendData(str) ; //发送到串口 Delay(1); //延时100US(12M晶振) while(1) { //------------------------ //调用温湿度读取子程序 RH(); //串口显示程序 //-------------------------- str[0]=U8RH_data_H; str[1]=U8RH_d。

3.有没有用VHDL写的DHT22的程序代码,求助

final String url = "jdbc:oracle:thin:@localhost:1521:ORCL";

final String user = "store";

final String password = "store_password";

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con = DriverManager.getConnection(url, user, password);

return con;

}

dht21程序怎么写

转载请注明出处育才学习网 » dht21程序怎么写

知识

红掌花的作文怎么写

阅读(222)

本文主要为您介绍红掌花的作文怎么写,内容包括写话红掌花怎么写短文,写红掌的作文怎么写,教室里的红掌花作文。火鹤花(Anthurium scherzerianumSchott)天南星科花烛属多年生草本。有佛焰花序,叶形苞片,常见的苞片颜色有红、

知识

过用英文怎么写

阅读(197)

本文主要为您介绍过用英文怎么写,内容包括过英文怎么写,过的英文怎么写,过英文怎么写。总结用英语为summary读法:英 [ˈsʌməri] 美 [ˈsʌməri] 释义n. 总结,概要2、adj. 总结性的;简略的,扼要

知识

战争小说开头怎么写

阅读(307)

本文主要为您介绍战争小说开头怎么写,内容包括战争小说开头怎么写例子,战争小说开头怎么写例子,战争小说应该怎么开头。最好是可以快速进入扣人心弦的战斗情景,这样能一上来就吊起读者的胃口。我可以给你推荐几个例子,你百度一下就可以找到这

知识

旅游的因为怎么写

阅读(205)

本文主要为您介绍旅游的因为怎么写,内容包括旅游的英文如何写,旅游的英文怎样写,关于旅游的作文怎么写。早已听说三亚的阳光、沙滩、海水是世界上独一无二的,进入11月份严寒的冬天已经来临,作为北方人我始终向往着能有朝一日带着父母一起去暖

知识

和绿色短裤单词怎么写

阅读(228)

本文主要为您介绍和绿色短裤单词怎么写,内容包括一条绿色短裤用英语怎么说,一条绿色短裤用英语怎么说,"短裤"的英语单词怎么写。绿色的英文单词:green读音:英 [ɡriːn] 美 [ɡriːn]adj. 绿色的;长满绿色植物的;环保的;无经验的;未成熟的n.

知识

纯植物英文单词怎么写

阅读(218)

本文主要为您介绍纯植物英文单词怎么写,内容包括植物的英语单词怎么写,植物的英语单词怎么写,纯的英语单词怎么写。树的英文单词:tree。tree英 [tri:] 美 [tri] n.树;木料;树状图;宗谱。vt.把…赶上树;使处于困境;把鞋型插入(

知识

乘客的英语单词怎么写

阅读(284)

本文主要为您介绍乘客的英语单词怎么写,内容包括乘客用英语怎么说,乘客用英语怎么说,乘客用英语怎么说怎么说。passenger,其发音是英[ˈpæsɪndʒə(r)];美[pæsndʒɚ] 。passenger作名词时意思是“旅客、乘客、过路人

知识

dhl快件内容描述怎么写

阅读(284)

本文主要为您介绍dhl快件内容描述怎么写,内容包括DHL快递单如何填写,DHL形式发票上货物详细描述一栏该如何填写,如何填写dhl快递单。最低0.27元开通文库会员,查看完整内容> 原发布者:别清淑 DHL快递单填写指南您如将一票快件直接交货给DHL公

知识

上上下下英语怎么写

阅读(182)

本文主要为您介绍上上下下英语怎么写,内容包括上上下下的英文怎么写UP然后是什么,前后左右上下,用英语怎么写,前后左右上下,用英语怎么写。就是每个字母都有规定的占几行。口诀:字母书写有规则,倾斜15度正适合, →写的斜一点 比如/大写总在上

知识

怎么写一个js解释器

阅读(212)

本文主要为您介绍怎么写一个js解释器,内容包括如何使用浏览器自带的JS解释器编写多行代码,javascript解释器是什么,一个简单的javascript解析器的实现谢谢。第一步,打开浏览器,随便打开一个网页,如百度首页按F12快捷键后,在网页的右面或者下面

知识

怎么用php写秒杀

阅读(197)

本文主要为您介绍怎么用php写秒杀,内容包括求一段php写的限时秒杀倒计时特效制定开始时间和结束时间自己,php每5秒执行一次php代码怎么写,php如何实现商城的秒杀程序。倒计时:<script>var time_fuc=function(){this.hours=1;//时this.minute=

知识

c的大写字母怎么写

阅读(384)

本文主要为您介绍c的大写字母怎么写,内容包括C语言大小写字母转换,c语言怎么把一个小写字母转化为大写字母,ABCD的大小写英文字母怎么写。这是一个很简单的功能#include<stdio.h>#include<stdlib.h>void main(){char c;scan

知识

村居的拼音怎么写

阅读(232)

本文主要为您介绍村居的拼音怎么写,内容包括村居的拼音怎么写,古诗《村居》注音版,村居整首诗的拼音。cun ju 《村居》 gao ding 高鼎 cao chang ying fei er yue tian 草长莺飞二月天,fu di

知识

部队微信群群规怎么写

阅读(287)

本文主要为您介绍部队微信群群规怎么写,内容包括微信群群规怎么写,微信群规则怎么写,微信家族群群规怎么写。原发布者:oy0801微信群规,微信群是大家线上沟通交流平台,大家可以在群内互相交流,互帮互助,共同发展,共同进步,为确保会群良性发展,

知识

c换窗口程序怎么写

阅读(215)

本文主要为您介绍c换窗口程序怎么写,内容包括怎么用C写个窗口程序,C语言写一个窗口程序怎么写,C语言有什么用,如何C用写窗口程序。楼主您好~~http://www.pconline.com.cn/pcedu/empolder/gj/vc/0607/820674.ht

知识

数据缓冲区程序怎么写

阅读(199)

本文主要为您介绍数据缓冲区程序怎么写,内容包括怎么想单片机的内部数据缓冲区写入数据啊,怎么把文件从缓冲区中写入数据,什么是数据缓冲区。单片机中的显示缓冲区就是几个变量或者一个数组而已,用于保存需要显示出来的数据。程序将需要显示

知识

怎么写程序a.d

阅读(202)

本文主要为您介绍怎么写程序a.d,内容包括A/D模块程序编写,关于A/DD/A这一部分的程序的怎么写,单片机设计,A/D与D/A实践,要求写出程序。我稍微说一下吧,三菱FX系列的模拟量模块有三种,一种是A/D模拟量输入,一种是D/A模拟量输出,另一种是模拟量混

知识

51单片机怎么烧写程序

阅读(390)

本文主要为您介绍51单片机怎么烧写程序,内容包括51单片机烧写程序通常需要哪些软件怎样烧写,51单片机如何烧写程序硬件电路,如何给单片机烧录程序。STC系列单片机为例:首先,需要安装keil软件和STC_ISP程序下载软件。先对你想要实现对单片机的

知识

matlab报错的程序怎么写

阅读(301)

本文主要为您介绍matlab报错的程序怎么写,内容包括matlab写完程序了报错,能显示具体什么位置错了吗,MATLAB程序报错,matlab中如果编写代码错误,怎么修改。首先需要打开文件,复修改代码格式命令如下cd(需要设定为制工作路径的地址),敲击回2113车

知识

程序英语单词怎么写

阅读(249)

本文主要为您介绍程序英语单词怎么写,内容包括程序.英文怎么写,政策及程序英语单词怎样写,解析程序用英文怎么写。application 应用程式 应用、应用程序 application framework 应用程式框架、应用框架 应用程序框架 ar

知识

手机怎么写C程序

阅读(177)

本文主要为您介绍手机怎么写C程序,内容包括怎么样写个C程序,在智能手机上运行,手机怎么编写程序c++,怎么用c语言在手机上做编程。鄙人看过在wm、symbian两个系统下编程的书籍。其实给智能手机编程与在pc机上编程大致是一样的,都是对代码链接

知识

vc怎么写窗口应用程序

阅读(246)

本文主要为您介绍vc怎么写窗口应用程序,内容包括怎样用vc++编写一个窗口应用程序,VC++6.0怎么编写普通的应用程序窗口,怎么样用visualc++编写窗口化的程序。首先设计好界面。

[/e:loop]