• 大小: 3KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: 单片机  

资源简介

DHT11 温湿度显示 1602显示 89C52单片机可用

资源截图

代码片段和文件信息

#include 
#define uint unsigned int 
#define uchar unsigned char
typedef bit BOOL ; 
sbit io = P2^3 ;
sbit rs = P2^0 ; 
sbit rw = P2^1;
sbit ep = P2^2 ;
uchar data_byte;
uchar RHRLTHTL;
/****************************延时模块*************************/
void delay(uchar ms)
{ // 延时子程序
uchar i ;
while(ms--)
{
for(i = 0 ; i<250;i++) ;
}
}
void delay1()//延时10us
{
uchar i;
i--;
i--;
i--;
i--;
i--;
i--;
}
void longdelay(uchar s) //长延时
{
while(s--)
{
delay(60) ;
}
}
/****************LCD模块****************************/
BOOL lcd_bz()//测试LCD忙碌状态

BOOL result ;
rs = 0 ;
rw = 1 ;
ep = 1 ;
result = (BOOL)(P0 & 0x80) ;
ep = 0 ;
return result ; 
}

void write_cmd(uchar cmd)// 写指令

while(lcd_bz()) ;
rs = 0 ;
rw = 0 ;
ep = 0 ;
P0 = cmd ;
ep = 1 ;
ep = 0 ; 
}

void write_addr(uchar addr)//写地址

write_cmd(addr|0x80) ;
}
void write_byte(uchar byte)//写字节

while(lcd_bz()) ;
rs = 1 ;
rw = 0 ;
ep = 0 ;
P0 = byte ;
ep = 1 ;
ep = 0 ; 
}
void lcd_init()// 初始化

write_cmd(0x38) ; 
delay(1);
write_cmd(0x08) ; 
delay(1);
write_cmd(0x01) ; 
delay(1);
write_cmd(0x06) ;
delay(1);
write_cmd(0x0c) ; 
delay(1);
}
void display(uchar addr uchar q)//在某一地址上显示一字节

delay(10) ;
write_addr(addr) ;
write_byte(q) ;
longdelay(2) ;
}
/***************************** DHT11测试模块********

评论

共有 条评论