×
单片机 > 单片机程序设计 > 详情

单片机+VB上位机温湿度检测制作

发布时间:2024-05-06 发布时间:
|




单片机源程序如下:

#include // 头文件包含

#include


#define uchar unsigned char // 以后unsigned char就可以用uchar代替

#define uint unsigned int // 以后unsigned int 就可以用uint 代替


sbit Buzzer_P = P1^0; // 蜂鸣器

sbit DHT11_P = P1^1; // 温湿度传感器DHT11数据接入

sbit LcdRs_P = P2^7; // 1602液晶的RS管脚

sbit LcdRw_P = P2^6; // 1602液晶的RW管脚

sbit LcdEn_P = P2^5; // 1602液晶的EN管脚


uchar temp; // 保存温度

uchar humi; // 保存湿度



/*********************************************************/

// 毫秒级的延时函数,time是要延时的毫秒数

/*********************************************************/

void DelayMs(uint time)

{

uint i,j;

for(i=0;i

for(j=0;j<112;j++);

}



/*********************************************************/

// 1602液晶写命令函数,cmd就是要写入的命令

/*********************************************************/

void LcdWriteCmd(uchar cmd)

{

LcdRs_P = 0;

LcdRw_P = 0;

LcdEn_P = 0;

P0=cmd;

DelayMs(2);

LcdEn_P = 1;

DelayMs(2);

LcdEn_P = 0;

}



/*********************************************************/

// 1602液晶写数据函数,dat就是要写入的数据

/*********************************************************/

void LcdWriteData(uchar dat)

{

LcdRs_P = 1;

LcdRw_P = 0;

LcdEn_P = 0;

P0=dat;

DelayMs(2);

LcdEn_P = 1;

DelayMs(2);

LcdEn_P = 0;

}



/*********************************************************/

// 1602液晶初始化函数

/*********************************************************/

void LcdInit()

{

LcdWriteCmd(0x38); // 16*2显示,5*7点阵,8位数据口

LcdWriteCmd(0x0C); // 开显示,不显示光标

LcdWriteCmd(0x06); // 地址加1,当写入数据后光标右移

LcdWriteCmd(0x01); // 清屏

}



/*********************************************************/

// 液晶光标定位函数

/*********************************************************/

void LcdGotoXY(uchar line,uchar column)

{

// 第一行

if(line==0)

LcdWriteCmd(0x80+column);

// 第二行

if(line==1)

LcdWriteCmd(0x80+0x40+column);

}



/*********************************************************/

// 液晶输出字符串函数

/*********************************************************/

void LcdPrintStr(uchar *str)

{

while(*str!='


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何为单片机选择合适的负载电容