77范文网 - 专业文章范例文档资料分享平台

DHT22 AS2302 STC15F261S2 24Mhz 通过串口1 现示

来源:网络收集 时间:2020-06-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

DHT22 AS2302 STC15F261S2 24Mhz 通过串口1 现示

文件如下: Main.c文件

#include \#include \#include \#include

/************* 本地常量声明 **************/

typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 位整型变量 */

typedef signed char S8; /* defined for signed 8-bits integer variable 号8位整型变量 */

typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 无符号8 有符无符号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位长度) */ 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[3]={\U8 a[5];

U16 U16temp1,U16temp2; #define uchar unsigned char #define uint unsigned int

#define Data_0_time 4 sbit P2_0 = P2^0 ; sbit P2_1 = P2^1 ;

/************* 本地变量声明 **************/

/************* 本地函数声明 **************/ /*void 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 COM(void)//读AM2302一个字节 {U8 i;

for(i=0;i<8;i++) { U8FLAG=2; while((!P2_0)&&U8FLAG++); delay_10us(4); U8temp=0;

if(P2_0)U8temp=1; U8FLAG=2; while((P2_0)&&U8FLAG++); if(U8FLAG==1)break;//超时则跳出for循环,//判断数据位是0还是1,如果高电平高过预定0高电平值则数据位为 1 U8comdata<<=1; U8comdata|=U8temp; } }

void RH(void) { P2_0=0; delay_ms(10); P2_0=1; //总线由上拉电阻拉高 主机延时20us delay_10us(4); P2_0=1;//主机设为输入 判断从机响应信号 if(!P2_0)//判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 {U8FLAG=2; while((!P2_0)&&U8FLAG++);//判断从机是否发出 80us 的低电平响应信号是否结束 U8FLAG=2; while((P2_0)&&U8FLAG++);//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 COM(); //读AM2302一个字节 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; } } }

/************* 外部函数和变量声明 *****************/

/************* 串口1初始化函数 *****************/ void UART_config(void) { COMx_InitDefine COMx_InitStructure; //结构定义 COMx_InitStructure.UART_Mode = UART_8bit_BRTx; //模式, UART_ShiftRight,UART_8bit_BRTx,UART_9bit,UART_9bit_BRTx COMx_InitStructure.UART_BRT_Use = BRT_Timer1; //使用波特率, BRT_Timer1, BRT_Timer2 (注意: 串口2固定使用BRT_Timer2) COMx_InitStructure.UART_BaudRate = 115200ul; //波特率, 一般 110 ~ 115200 COMx_InitStructure.UART_RxEnable = ENABLE; //接收允许, ENABLE或DISABLE COMx_InitStructure.BaudRateDouble = DISABLE; //波特率加倍, ENABLE或DISABLE COMx_InitStructure.UART_Interrupt = ENABLE; //中断允许, ENABLE或DISABLE COMx_InitStructure.UART_Polity = PolityLow; //中断优先级, PolityLow,PolityHigh COMx_InitStructure.UART_P_SW = UART1_SW_P30_P31; //切换端口, UART1_SW_P30_P31,UART1_SW_P36_P37,UART1_SW_P16_P17(必须使用内部时钟) COMx_InitStructure.UART_RXD_TXD_Short = DISABLE; //内部短路RXD与TXD, 做中继, ENABLE,DISABLE USART_Configuration(USART1, &COMx_InitStructure); //初始化串口1 USART1,USART2 //PrintString1(\//SUART1发送一个字符串 }

/**********************************************/ void main(void) {

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库DHT22 AS2302 STC15F261S2 24Mhz 通过串口1 现示在线全文阅读。

DHT22 AS2302 STC15F261S2 24Mhz 通过串口1 现示.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1115054.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: