完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
回复本帖可获得 1 分积分奖励! 每人限 1 次 |
求助各路大神,当我把电位器接到单总线器件DS2450的D通道时,LCD上有显示,且调节电位器,数据有变化。但当我将HR202传感模块接到单总线器件DS2450的D通道时,在lcd上的显示一直为0。这是为什么啊? 我买的是现成的模块,不是单个的湿敏电阻,且我接的是4线制的AO口,输出的是模拟电压。请教各位大神,我这是哪里出了问题呢?
这是我的部分程序: void star2450(void) //读数据开始命令 { reset(); write_byte(0xcc); write_byte(0x3c); //转换命令 write_byte(0x08); write_byte(0x00); read_byte(); read_byte(); if (read_byte()!=0xff) read_byte(); } readAD2450() // 读取转换数据 { EA=0; //关中断,防止读数错误 reset(); //初始化1820 if(yes0==0) //若yes0=0,则1820正常 { uchar a=0,b=0,i=0; uint t=0; write_byte(0xcc); write_byte(0xaa); //read memory write_byte(0x06); write_byte(0x00); a=read_byte(); b=read_byte(); t=b; t<<=8; t=t|a; temp_flag=1; return(t); } else temp_flag=0; //出错标志置0 EA=1; //读取完数据后,开中断 } void date_2450() { uint l,c; uchar q,i,j,a,b,d ; star2450(); l=readAD2450(); q=l/10000; i=l%10000/1000; j=l%1000/100; a=l%100/10; b=l%10/10; d=l%10; LCD_pos(2,0); //从第2行第0列开始显示数据 (湿度 for(i=0;i<16;i++) { LCD_wdat(line3_data[i]); delay(10); } LCD_pos(2,3); //从第3行第3列开始显示数据 LCD_wdat(0x30+q); LCD_wdat(0x30+i); LCD_wdat(0x30+j); LCD_wdat(0x2e); //小数点 LCD_wdat(0x30+a); LCD_wdat(0x30+b); LCD_wdat(0x30+d); delay(10); }
|
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
690 浏览 0 评论
735 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
624 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1099 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1092 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11794 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 05:33 , Processed in 0.517243 second(s), Total 70, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号