资源简介
本设计是基于51单片机的温湿度检测系统课程设计 传感器使用DHT11的温湿度传感器,屏幕是LCD1602的屏幕,可以在屏幕上直接显示当前室内温湿度值,希望大家注意晶振的大小,单片机晶振大小不同时,需要修改延时。
代码片段和文件信息
#include
#define uint unsigned int
#define uchar unsigned char
//--------LCD1602-------------------
//P10-17==== D0-7
sbit rs=P3^0; //指令or数据
//sbit rs=P3^7; //指令or数据
sbit wela=P3^1; //读or写
//sbit wela=P3^6; //读or写
sbit lcden=P3^2; //使能信号
//sbit lcden=P3^5; //使能信号
uchar dispaly[10]; //显示缓冲
uchar Temp; //温度
uchar Hum; //湿度
sbit P20 = P2^7; //dht11
//sbit P10 = P3^0; //dht11
//-----------DHT11------------------------------
uchar U8FLAGk;
uchar U8countU8temp;
uchar U8T_data_HU8T_data_LU8RH_data_HU8RH_data_LU8checkdata;
uchar U8T_data_H_tempU8T_data_L_tempU8RH_data_H_tempU8RH_data_L_tempU8checkdata_temp;
uchar U8comdata;
//-----------DHT11------------------------------
//************************************************************************/
// 描述: 延时t us函数
//************************************************************************/
void LCD_Delay_us(unsigned int t)
{
while(t--); //t=0退出
}
//************************************************************************/
// 描述: 延时t ms函数
//************************************************************************/
void LCD_Delay_ms(unsigned int t)
{
unsigned int ij;
for(i=0;i for(j=0;j<113;j++) //执行113次循环
;
}
//************************************************************************/
// 描述: 1602液晶写指令
//************************************************************************/
void write_com(uchar com) //1602液晶写指令
{
rs=0; //写指令
lcden=0; //使能1602
P1=com; //写入指令com
LCD_Delay_ms(1); //延时1ms
lcden=1; //使能1602
LCD_Delay_ms(5); //延时5ms
lcden=0; //使能1602
}
//************************************************************************/
// 描述:1602液晶写数据
//************************************************************************/
void write_date(uchar date) //1602液晶写数据
{
rs=1; //写数据
lcden=0; //使能1602
P1=date; //写入数据date
LCD_Delay_ms(1); //延时1ms
lcden=1; //使能1602
LCD_Delay_ms(5); //延时5ms
lcden=0; //使能1602
}
//************************************************************************/
// 描述:指定xy写入字符函数
//************************************************************************/
void W_lcd(unsigned char xunsigned char yunsigned char Data)
{
if (y == 0){write_com(0x80 + x);} //第一行
else{write_com(0xc0 + x);} //第二行
write_date( Data); //写入数据
}
//指定xy写入字符串函数
void LCD_Write_String(unsigned char xunsigned char yunsigned char *s)
{
if (y == 0){write_com(0x80 + x);} //第一行
else{write_com(0xC0 + x);} //第二行
while (*s) //
{write_date( *s); s++;} //写入数据
}
//*****
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-03 15:48 1 源程序\
文件 10162 2018-06-02 12:40 1 源程序\DHT11
文件 14714 2018-06-02 12:39 1 源程序\DHT11.LST
文件 14481 2018-06-02 12:40 1 源程序\DHT11.M51
文件 12556 2018-06-02 12:39 1 源程序\DHT11.OBJ
文件 1988 2013-02-02 14:21 1 源程序\DHT11.Uv2.bak
文件 7834 2018-06-03 15:48 1 源程序\DHT11.c
文件 2013 2018-06-02 12:40 1 源程序\DHT11.hex
文件 42 2018-06-02 12:40 1 源程序\DHT11.lnp
文件 1022 2017-12-20 20:04 1 源程序\DHT11.opt.bak
文件 191 2018-06-03 15:47 1 源程序\DHT11.plg
文件 56617 2018-06-03 15:48 1 源程序\DHT11.uvopt
文件 13239 2018-06-02 14:30 1 源程序\DHT11.uvproj
文件 1026 2016-05-13 16:16 1 源程序\DHT11_Opt.Bak
文件 1988 2013-01-17 15:54 1 源程序\DHT11_Uv2.Bak
文件 56613 2018-06-02 14:30 1 源程序\DHT11_uvopt.bak
文件 13239 2018-05-30 23:13 1 源程序\DHT11_uvproj.bak
相关资源
- 51单片机IO模拟SPI和25lc1024通信
- S12单片机的脉冲累加器
- 基于单片机的超声波测距毕业设计论
- 基于51单片机的温度测量系统_赵娜
- 基于MC9S12XS128的温湿度传感器DHT11程序
- 基于单片机的液位监测系统的设计(
- 51单片机车轮测速的proteus仿真
- 温度检测及控制系统的设计(毕业设
- 单片机温湿度检测源代码 dht11 lcd160
- 用单片机汇编语言产生三角、锯齿、
- 单片机开发字模提取软件生成文字、
- 基于51单片机的数字频率计程序仿真图
- 基于51单片机的温度控制系统
- 基于单片机c51的计算器
- 基于单片机数字温度计有仿真和源程
- 单片机课程设计,遥控窗帘的程序加
- 基于51单片机定时器的设计
- [基于单片机开发板]最经典的28个参考
- 51单片机的AD7705代码
- 语音控制小车
- 基于51单片机的智能风扇控制程序
- 利用pwm实现51单片机的呼吸灯功能
- 用51单片机解析GPS数据并在12864液晶显
- 51单片机读写W25X16
- DHT11自动检测
- 基于51单片机的ADC0832数字电压表仿真
- 基于51单片机的ADC0808 数字电压表
- 松翰单片机定时中断数码管程序
- [单片机课设]秒表时钟计时器的设计
- 基于51单片机Max7219驱动8×8点阵PROTEU
评论
共有 条评论