51单片机怎样驱动DHC11

51单片机怎样驱动DHC11,第1张

使用51单片机,12M晶振,LCD1206液晶显示屏显示

#include"reg52h" //头文件

#define uint unsigned int

#define uchar unsigned char

int humi,temp,check;

uchar n,Readflag; //定义全局变量

sbit SPI = P1^1;

sbit RS = P2^4;

sbit RW = P2^5;

sbit EN = P2^6; //定义端口

void delayms(uchar ms);

void Init_Timer0(void); //函数声明

void write_com(uchar com) //LCD1206端口写函数

{

RS=0;

P0=com;

delayms(5);

EN=1;

delayms(5);

EN=0;

}

void write_data(uchar date) //LCD1206数据写函数

{

RS=1;

P0=date;

delayms(5);

EN=1;

delayms(5);

EN=0;

}

void LCD1602_init() //LCD1206初始化函数

{

RW=0;

EN=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

}

void Display_Humi(int v,unsigned char position) ////////////湿度显示函数

{

int shu;

write_com(position);

write_data('R');

write_data('H');

shu=v%100/10;

write_data(shu+'0');

shu=v%10;

write_data(shu+'0');

write_data('%');

}

void Display_Temp(int v,unsigned char position) ///////////温度显示函数

{

int shu;

write_com(position);

write_data('T');

write_data('e');

write_data('m');

write_data('p');

write_data(':');

shu=v%100/10;

write_data(shu+'0');

shu=v%10;

write_data(shu+'0');

write_data(0xdf);

write_data('C');

}

void Display_Check(int v,uchar position) //校验位显示函数

{

int shu;

write_com(position);

write_data('C');

write_data('h');

write_data('e');

write_data('c');

write_data('k');

write_data(':');

shu=v/100;

write_data(shu+'0');

shu=v%100/10;

write_data(shu+'0');

shu=v%10;

write_data(shu+'0');

}

void delayms(uchar ms) //精确延时毫秒级函数

{

uchar i;

while(ms--)

{

for(i=0;i<120;i++);

}

}

void delayus(uchar us) //精确延时微秒级函数

{

while(us--);

}

void DHT_Rst() //DHT11启动函数

{

SPI=0; //主机拉低总线18ms以上

delayms(20);

SPI=1; //主机拉高总线约30us

delayus(14);/// 20-40us

while(SPI); //等待DHT11响应

while(!SPI); //等待DHT11拉高总线

}

uchar Readbit() //读一位程序

{

while(SPI);//等待总线变为低电平

while(!SPI);//等待总线变为高电平

delayus(5);//等待10us,执行下几条程序使用约20us

if(SPI)

return 1;

else

return 0; //////判断SPI总线状态,返回0或1

}

uchar Readbyte() //读一个字节程序

{

uchar i,dat;

dat=0;

for(i=0;i<8;i++) //重复读取8位数据

{

dat=dat<<1; //dat左移一次,总共8次

dat=Readbit()|dat; //dat和返回值,按位或

}

return dat; //返回dat

}

void ReadDHT() //读DHT11温湿度传感器

{

uchar buf[5],i; //定义临时变量

DHT_Rst(); //初始化传感器

for(i=0;i<5;i++) //读5字节,共40位

buf[i]=Readbyte();

SPI=1; //通讯结束,拉高总线

if(buf[0]+buf[1]+buf[2]+buf[3]==buf[4])//数据校验

{

humi=buf[0];//湿度值

temp=buf[2];//温度值

check=buf[4];//校验位值,校验位=湿度值+温度值(小数位为零)

}

}

void main() //主函数

{

Init_Timer0(); //初始化定时器

Readflag=0; //读标志位为0

LCD1602_init(); //初始化LCD1602液晶显示屏

while(1) //主循环

{

if(Readflag==1) //验证是否读

{

Readflag=0; //重置读标志位

ReadDHT(); //读一次DHT11

}

Display_Temp(temp,0x80);

Display_Humi(humi,0x8A);

Display_Check(check,0xc0); /////显示值

}

}

void Init_Timer0(void) //定时器初始化函数

{

TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响

EA=1; //总中断打开

ET0=1; //定时器中断打开

TR0=1; //定时器开关打开

}

void Timer0_isr(void) interrupt 1 //定时器中断服务程序

{

static unsigned int num;

TH0=(65536-10000)/256; //重新赋值 10ms

TL0=(65536-10000)%256;

num++;

if(num==20) //大致200ms

{

num=0;

Readflag=1; //激活读命令

}

}

纯手打,望采纳

先申请 注册 然后填写qq msn,加入qq校友录群 msn好友 邮件验证 赚15元购物券,凑够50元后,蝶翠诗股市开市(预定7月底)的时候可以卖出

如果邮费要12元,不用急,到D淘客那里领取 推荐免费试用装链接,通过qq/msn等发给女性好友,每位好友成功领取,赚取1元,满一百可以提现,那时不单运费赚回来了,而且还有88元现金赚呢。

用百度搜索一下DHC精装版就知道了

如何免费索取DHC化妆品试用装

网上索取免费DHC试用装你可以看到试用品一共有四件,都是DHC的经典产品(DHC免费试用装)。没有用过DHC产品的你可以通过体验免费试用装,感受DHC带给你的惊喜

如何索取DHC化妆品免费试用装我们大致的给大家做个简单的介绍:

第一步:点击这里打开免费索取DHC化妆品的网页地址

第二步:点击网页最底下的"现在索取"按钮

第三步:索取dhc试用装前,请回答以下问题(共3道)。请至少选择三项,然后点下一步

第四步:把所有的下一步点击完后,然后点击"索取试用装"按钮

第五部:按照要求输入您的详细****点击下一步即可(相同的手机号码、姓名、地址、只可索取一份dhc试用装!)

第六步:确认你的联系地址正确然后点击下一步

第七步:用您的手机编辑"RM",移动用户发送到625528002,联通用户发送到725528002注意发送这条短信是验证用的,短信收费一毛然后等待20天即可收到免费dhc化妆品试用装如果没有收到货请打电话800-820-8820进行咨询

注意:

■dhc试用装数量有限,仅限首次索样的顾客。(1人限申请1次试用装,复数申请恕不发送)

■相同的手机号码、姓名、地址,只可索取一份试用装。

■不同姓名,不同手机号码,相同地址最多只可索取3份DHC化妆品试用装。

■请以真实全名申请,否则挂号信将被退回。

■DHC试用装送达时间:上海10天以内,其他省市15天以内,若20天以后还未收到,请查询。

祝您免费索取dhc试用装成功点击下面的链接开始获取吧:)

1、准备需要取出内芯的dhc唇膏,如下图所示;

2、顺时针转动到尽头,可以看到唇膏已经是出不来的效果了,如下图所示;

3、然后扭到最底下继续往回拧,会听到“啪”一下,唇膏外壳就会分离,如下图所示;

4、接着取下套在上面的圆形环,如下图所示;

5、这样就可以取出dhc唇膏内芯,如下图所示。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/meirong/3516225.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-03-02
下一篇2024-03-02

随机推荐

  • 贴牌代加工化妆品商标注册需要哪几类

    商标分类:化妆品行业应该注册哪些类别的商标      尽管面临国内经济增长与零售环境的不确定性,国内化妆品市场仍然保持超越整体可选消费的增速。新冠疫情在带来风险的同时也带来了机遇,在疫情冲击下部分国际化妆品集团业绩亏损较大,但同时一部分国际

    2024-04-15
    80500
  • 四款美白身体乳分享,温和不刺激,让你瞬间白一个度!

    今天给大家分享四款美白身体乳,让大家在夏天来临之前,都变得白白嫩嫩的,爱美的小仙女必备哦!妮维雅美白身体乳德国经典护肤品牌,偶然间撸了这一瓶美白身体乳,涂了大半个月,突然发现自己的手臂变的好白,首先要说下我是一个体毛比较旺盛的女生,小时候不

    2024-04-15
    54800
  • 国产婴儿米粉哪个好

    贝因美英氏伊威味奇方广双熊导语许多妈妈选购婴儿米粉都更青睐于进口婴儿米粉,对国产婴儿米粉品牌信心不足,其实国产婴儿米粉还是有相当一部分是质量可信赖的,而且还有很高的性价比和适用性。那么国产婴儿米粉哪个好?下面51Dongshi小编为你推荐国

    2024-04-15
    42200
  • 精华露和精华液的区别

    1、质地不同:精华露是一种高度浓缩的护肤品,质地比较粘,比较适合干性肌肤。但是对油性皮肤来说,因为油脂分泌旺盛,如果涂太滋润的产品并不容易吸收,所以不太适合多种精华类的护肤品使用,以免因为吸收不了而出现营养过剩、粉刺等问题。精华液一般为液体

    2024-04-15
    49800
  • 防晒喷雾喷灼伤皮肤?3 类产品大不同,当心买错更要避免使用不当

    最近我的一个朋友可悲剧了。 用防晒喷雾,谁想到喷伤了皮肤?这就让我很意外了,因为她用的防晒喷雾我也在用。 我的使用感非常好,很安全,也没有任何不适。 我很好奇她到底是怎么把皮肤给喷伤了? 讨论了一下才发

    2024-04-15
    36900
  • 妮维雅是欧莱雅旗下的吗 妮维雅是什么档次

    妮维雅是欧莱雅旗下的一款护肤品牌,它属于中档护肤品。妮维雅以其独特的产品设计和高质量的成分在市场上受到广大消费者的喜爱。让我们来讨论妮维雅是否属于欧莱雅旗下。是的,妮维雅是欧莱雅旗下的一个品牌。欧莱雅是全球知名的化妆品公司,拥有多个知名品牌

    2024-04-15
    60500
  • 植美人瓷肌套装十件套使用方法

    1、首先植美人是山东红杉生物医药科技有限公司旗下品牌,用萃取科技结合传统中草药护肤秘方的化妆品品牌,准备好瓷肌套装。2、其次使用洗面奶进行洁面,敷面膜15分钟后清洗脸部。3、最后均匀涂抹爽肤水,精华液,补水霜。非常不错的。东方美人是花西子。

    2024-04-15
    39900

发表评论

登录后才能评论
保存