完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 qq312448494 于 2012-5-15 22:47 编辑
程序分享出来给需要的人作参考 #include #define uint unsigned int #define uchar unsigned char ***it DQ=P2^2; //DS18B20单总线 ***it dula=P2^6; //控制数码管段选的锁存器 ***it wela=P2^7; //控制数码管位选的锁存器 ***it rs=P3^5; ***it lcden=P3^4; ***it s1=P3^0; ***it s2=P3^1; ***it s3=P3^2; ***it rd=P3^7; ***it wr=P3^6; void delay(int us) { int s; for(s=0;s void delay1(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com) { rs=0; lcden=0; P0=com; delay1(5); lcden=1; delay1(5); lcden=0; } void write_date(uchar date) { rs=1; lcden=0; P0=date; delay1(5); lcden=1; delay1(5); lcden=0; } void init() { wr=0; dula=0; wela=0; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); } uchar reset() { uchar presence; DQ=0; delay(29); DQ=1; delay(3); presence=DQ; delay(25); return(presence); } uchar read_bit() { uchar i; DQ=0; DQ=1; for(i=0;i<3;i++); return(DQ); } void write_bit(char bitval) { DQ=0; if(bitval==1)DQ=1; delay(5); DQ=1; } uchar read_byte() { uchar i; uchar value=0; for(i=0;i<8;i++) { if(read_bit())value|=0x01< delay(6); } return(value); } void write_byte(char val) { uchar i; uchar temp; for(i=0;i<8;i++) { temp=val>>i; temp&=0x01; write_bit(temp); } delay(5); } uint get_tmp() { uchar a,b,temp; float tt; reset(); write_byte(0xcc);//SkipROM write_byte(0x44);//开始转换 delay(31); reset(); write_byte(0xcc); write_byte(0xbe); a=read_byte(); b=read_byte(); temp=b; temp<<=8; //two byte compose a int variable temp=temp|a; tt=temp*0.0625; temp=tt*10+0.5; return(temp); } void display(uchar num) { uchar bai,shi,ge; bai=num/100; shi=(num%100)/10; ge=(num%100)%10; write_com(0x80); write_date(0x30+bai); write_com(0x81); write_date(0x30+shi); write_com(0x82); write_date(0x30+ge); } void main() { uchar a; uint tmp; init(); while(1) { for(a=28;a>0;a--) { tmp=get_tmp(); display(tmp); delay(60); } } } |
|
相关推荐
7个回答
|
|
哎。没人回呀~
|
|
|
|
高手帮帮忙。。。。
|
|
|
|
把转换时间调长一点
|
|
|
|
|
|
|
|
|
|
转换时间是在那一段程序中,高手能解释一下吗
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12031 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 18:25 , Processed in 0.498588 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号