资源简介
用MSP430F149单片机成功控制DHT11温湿度传感器产生温湿度信息,调试成功,可用
代码片段和文件信息
#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个文件信息
相关资源
- MSP430简单计算器的实现
- JTAG的封装库及演示
- TI官方开发板MSP430F5529LP硬件原理图
- MSP430 和VS1003 完成的音乐播放
- 基于MSP430的模拟SPI串口通信的实现
- stc12单片驱动DHT11温湿度传感器
- msp430g2553串行控制12864显示正弦波。
- TI msp430 官方SD卡读写程序
- MSP430G2553的DAC7811程序
- 基于MSP430单片机的SD卡读写.pdf
- msp430 timerA,包括捕获比较功能,已用
- 基于MSP430超声波测距系统的设计与开
- MSP430F5529LP下的0.96寸7针OLED显示驱动程
- IAR for ARM 6.1 - 6.3 万能破解包KEYGEN
- 基于MSP430F5529的直流电机的程序
- 北京市电子设计大赛模块驱动msp430g
- 用于jz2440的dht11驱动
- MSP430时钟程序
- OLED12864显示屏,12位ADC,按键中断,
- 基于Zigbee协议栈的DHT11串口实验
- MSP430F149控制GSM接收解读短信
- 基于MSP430F447的超声波流量计的设计及
- MSP430F5529测频程序
- MSP430G2553小系统电路原理图及PCB图.z
- DHT11 温湿度传感器1602显示 可用程序
- ZY刷单版
- 超全Proteus库文件包含msp430库文件
- 基于MSP430设计的微型家用心电图机
- 基于MSP430单片机的智能照明控制系统
- 51单片机DHT11程序
评论
共有 条评论