完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 dwangqiang 于 2015-6-30 16:07 编辑
我自己精简了STC89C52单片机的18B20温度显示程序(使用后有效)。 修改后给同样使用12Mhz晶振的STC11F04E电路使用,数码管可以正常显示,可无法显示正确的温度,考虑到应该是时序的问题在网上查资料,查到89C52是12T单片机,11F04E是1T的,于是我增加延时变量,可还是无法显示正确的温度,偶尔会出现变化的乱码,现在也不确定到底是哪儿出了问题 我是初学者,请哪位高手指点一下,帮我找出问题,谢谢! #include #include #define uchar unsigned char #define uint unsigned int ***it ds=P3^7; uint num; bit flag;//定义总线电平位变量 //无小数点0-9数组 uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; //带小数点0-9数组 uchar code dtable[]={ 0xbf,0x86,0xdb,0xcf,0xe6, 0xed,0xfd,0x87,0xff,0xef}; //延时函数 void delay(uint z) { while(z--); } //温度显示函数 void display(uint num) { uchar bai,shi,ge; bai=num/100; shi=num%100/10; ge=num%10; P3=0xf7; P1=table[bai]; delay(20); P3=0xff; P3=0xef; P1=dtable[shi]; delay(20); P3=0xff; P3=0xdf; P1=table[ge]; delay(20); P3=0xff; } //总线初始化函数 void init() { ds=1; ds=0; delay(460); ds=1; delay(30); flag=ds; delay(100); ds=1; } //主控器向18B20写一个字节 void wbyte(uchar wdate) { uchar i;//定义次数参数 for(i=8;i>0;i--)//一个字节需写入八次 { ds=1; ds=0; delay(1); ds=wdate&0x01; delay(100); ds=1; delay(1); wdate>>=1; } } //主控器从18B20读一个字节 uchar rbyte() { uchar i,date; for(i=8;i>0;i--) { ds=1; delay(1); ds=0; delay(1); date>>=1; ds=1; delay(1); if(ds) date|=0x80; delay(1); } return date;//返回读取字节 } //显示数据产出函数 //每个温度数据由16个字节构成,并由最低位开始送出 uint temperature() { uchar db,hb; float wendu; init(); wbyte(0xcc); wbyte(0x44); init(); wbyte(0xcc); wbyte(0xbe); db=rbyte(); hb=rbyte(); num=hb; num<<=8; num|=db; if(num&0xfc00) { num=((~num)+1); P1=0X40; P3=0xfb; delay(20); P3=0xff; } wendu=num*0.0625; num=wendu*10+0.5; return num; } void main() { while(1) { display(temperature()); } } |
|
相关推荐
2个回答
|
|
|
|
|
|
汗‘问题了,我又改了时序延时,显示00.1,我又改回刚才有效的延时,可还是显示00.1,这是怎么回事啊?我用的是KEIL3
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
464 浏览 0 评论
478 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
439 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
994 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1056 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11787 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 14:15 , Processed in 1.134290 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号