资源简介
用MSP430F149单片机成功控制DHT11温湿度传感器产生温湿度信息,调试成功,可用
![](http://www.nz998.com/pic/43495.jpg)
代码片段和文件信息
#include
#include “dht11.h“
#include “uart0.h“
#include
char s[40];
void delayus(unsigned int n);
typedef unsigned int U16;
typedef unsigned char U8;
unsigned char U8FLAGk;
unsigned char U8countU8temp;
unsigned char U8T_data_HU8T_data_LU8RH_data_HU8RH_data_LU8checkdata;
unsigned char U8T_data_H_tempU8T_data_L_tempU8RH_data_H_tempU8RH_data_L_tempU8checkdata_temp;
unsigned char U8comdata;
unsigned char outdata[5]; //定义发送的字节数
unsigned char indata[5];
unsigned char count count_r=0;
unsigned int U16temp1U16temp2;
/*******************************************
函数名称:delay
功 能:延时约15us的时间
参 数:无
返回值 :无
********************************************/
void delayus(unsigned int i) //delay 2.5us at 8M
{
unsigned int ii;
for(ii =i;ii > 0;ii--)
{
_NOP();_NOP();_NOP();_NOP();
_NOP();_NOP();_NOP();_NOP();
_NOP();_NOP();_NOP();_NOP();
_NOP();_NOP();_NOP();_NOP();
}
}
/****************************************************************************
* 名 称:ClkInit
* 功 能:时钟系统初始化 MCLK为8MHz,SMCLK为1MHz
* 入口参数:无
* 出口参数:无
****************************************************************************/
void ClkInit()
{
char i;
/*------选择系统主时钟为8MHz-------*/
BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器
do
{
IFG1 &= ~OFIFG; //清除晶振失败标志
for (i = 0xFF; i > 0; i--); //等待8MHz晶体起振
}
while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?
BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振
TACTL |= TASSEL_2 + ID_3; //计数时钟选择SMLK=8MHz,1/8分频后为1MHz
}
//////////////////////DHT11///////////////////////////////////////////////////////
void COM(void)
{
U8 i;
DHT11_INPUT;
for(i=0;i<8;i++)
{
U8FLAG=2;
while( (!DHT11_IN) && U8FLAG++ );
delayus(15); //40us
U8temp=0;
if(DHT11_IN) //26-28us高电平表示‘0‘30us后若还为高电平则表示为‘1‘
U8temp=1;
U8FLAG=2;
while( (DHT11_IN) && U8FLAG++ ); //超时则U8FLAG到255后变为0又自加一次变为1退出while
//超时则跳出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)
{
DHT11_OUTPUT;
DHT11_L;
delayus(8000); //主机拉低18ms
DHT11_H; //总线由上拉电阻拉高 主机延时20-40us
delayus(15); //40us;
DHT11_H; //主机设为输入 判断从机
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-03-13 22:15 DHT11完成程序\
文件 17879 2011-08-27 23:39 DHT11完成程序\Backup (2) of MMA7455.ewd
文件 47373 2011-08-27 23:41 DHT11完成程序\Backup (2) of MMA7455.ewp
文件 17879 2011-08-27 23:39 DHT11完成程序\Backup (3) of MMA7455.ewd
文件 47373 2011-08-27 23:41 DHT11完成程序\Backup (3) of MMA7455.ewp
文件 17879 2011-08-27 23:39 DHT11完成程序\Backup of MMA7455.ewd
文件 47373 2011-08-27 23:41 DHT11完成程序\Backup of MMA7455.ewp
目录 0 2012-05-15 22:10 DHT11完成程序\Debug\
目录 0 2012-05-16 10:45 DHT11完成程序\Debug\Exe\
文件 38880 2013-03-13 21:26 DHT11完成程序\Debug\Exe\MMA7455.d43
目录 0 2012-05-15 22:10 DHT11完成程序\Debug\List\
目录 0 2013-03-13 22:02 DHT11完成程序\Debug\Obj\
文件 29440 2013-03-13 21:26 DHT11完成程序\Debug\Obj\main.r43
文件 183 2013-03-13 22:01 DHT11完成程序\Debug\Obj\MMA7455.pbd
文件 798 2012-05-16 09:56 DHT11完成程序\Debug\Obj\MMA7455.r43
文件 5662 2011-08-27 23:39 DHT11完成程序\Debug\Obj\mylib.r43
文件 6768 2012-05-15 16:48 DHT11完成程序\Debug\Obj\UART0.r43
文件 747 2012-05-15 16:58 DHT11完成程序\dht11.h
文件 5206 2013-03-13 22:15 DHT11完成程序\main.c
文件 1515 2012-05-16 09:56 DHT11完成程序\MMA7455.c
文件 4912 2013-03-13 22:02 DHT11完成程序\MMA7455.dep
文件 15441 2012-03-10 20:57 DHT11完成程序\MMA7455.ewd
文件 46648 2012-05-16 10:10 DHT11完成程序\MMA7455.ewp
文件 161 2011-08-27 23:35 DHT11完成程序\MMA7455.eww
目录 0 2012-05-15 22:10 DHT11完成程序\settings\
文件 1563 2012-03-13 20:14 DHT11完成程序\settings\dht11.wsdt
文件 2722 2013-03-13 22:01 DHT11完成程序\settings\MMA7455.cspy.bat
文件 7276 2013-03-13 22:02 DHT11完成程序\settings\MMA7455.dbgdt
文件 1156 2013-03-13 22:02 DHT11完成程序\settings\MMA7455.dni
文件 5530 2013-03-13 22:02 DHT11完成程序\settings\MMA7455.wsdt
文件 2902 2012-05-15 16:48 DHT11完成程序\UART0.c
............此处省略1个文件信息
相关资源
- IAR for MSP430 v7.10.1 注册机
- 基于MSP430G2553的蓝牙控制小车
- 利用DS1302和msp430进行闹钟和万年历的
- msp430F149操作红外接收模块源码
- [免费]msp430f149控制PS2键盘并用1602显示
- MSP430f149读sd FAT txt
- 用8位spi实现16位spi
- 基于MSP430单片机的实时多任务操作系
- MSP430系列单片机例程(msp430f235)
- MSP430控制AD9850产生频率可调的方波及
- msp430f449程序
- 基于MSP430的数控直流电压源
- MSP430F5438A Timer_B 操作实验
- MSP430F5438 UCS 时钟操作实验
- MSP430F5438A Timer_A 操作实验
- MSP430F5438 看门狗实验
- IAR EW430连接仿真器在线仿真
- 初识畅学系列MSP430F149单片机开发板
- 畅学多功能实验箱 MSP430F5438 RTC 操作实
- MSP430F5438A RAM操作实验
- msp430f5438a技术资料
- STM32+DHT11+OLED+RTC+MQ2+NRF24L01+串口12
- MSP430 JTAGUSB的和并口的与目标板连接的
- proteus仿真、keil4、DHT11、LCD1602
- MSP430教程:MSP430单片机ADC12模块
- WIA-PA网络技术在井下人员定位系统中
- 16位MSP430单片机的开关稳压电源设计
- DHT11 21 22库文件
- 基于mps430f149的12864液晶显示模块编程
- 基于zigbee温湿度传输及控制带wifiAPP查
评论
共有 条评论