完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define uchar unsigned char #define uint unsigned int ***it DT=P1^0; int cod[5]; uchar duan[]={0xfe,0xfd,0xfb,0xf7,0xdf,0xbf}; uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar DHT11_send(); void DHT11_Delay_10us() { unsigned char i; i--; i--; i--; i--; i--; i--; } void delay(int d) { int x,y; for(y=d;y>=0;y--) for(x=110;x>0;x--); } int DHT11readzhi() { int m,a,b; EA=0; DT=0; delay(20); DT=1; DHT11_Delay_10us(); DHT11_Delay_10us(); DHT11_Delay_10us(); DHT11_Delay_10us(); while(DT==0); DT=1; while(DT==1); for(m=0;m<5;m++) { cod[m]=DHT11_send();//8湿度+8小数+8温度+8小数+8校验 } a=cod[0]; return a; } uchar DHT11_send() { int i; uchar zhi; for(i=8;i>0;i--) { zhi<<=1; while(DT==0); DHT11_Delay_10us(); DHT11_Delay_10us(); DHT11_Delay_10us(); if(DT==1) { zhi++; while(DT==1); DT=1; } } return zhi; } void display(int a) { uint i; int shi,ge,ca,ba; shi=a/10; ge=a%10; for(i=0;i<=100;i++) { P0=duan[0]; P2=table[shi]; delay(2); P0=duan[5]; P2=table[ge]; delay(2); } /* P0=duan[4]; P2=table[ca]; delay(2); P0=duan[5]; P2=table[ba]; delay(2); */ } void main() { //P0=0x00; while(1) { display(DHT11readzhi()); } } |
|
相关推荐
1个回答
|
|
不难啊!涉及的寄存器又不多!
|
|
|
|
只有小组成员才能发言,加入小组>>
2938个成员聚集在这个小组
加入小组2682 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3005 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2274 浏览 1 评论
4704 浏览 1 评论
2485 浏览 1 评论
952浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3005浏览 2评论
2682浏览 1评论
1084浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-3 04:17 , Processed in 1.125815 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191