完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
程序烧进单片机四个数码管显示0255 且不能检测温度 求大神帮看看程序
#include #include ***it DQ = P3^5; ***it s0 = P2^2; ***it s1 = P2^3; ***it s2 = P2^4; ***it s3 = P2^5; unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay5us(unsigned char i)//延迟5微秒 { while (i--) { _nop_(); _nop_(); _nop_(); } } unsigned char init(void)//DS18B20初始化 { unsigned char x=0; DQ = 1;//DQ复位 delay5us(10);//稍作延时 DQ = 0;//单片机将DQ拉低 delay5us(120);//延时大于480us DQ = 1;//拉高总线 delay5us(15); x = DQ; delay5us(80); DQ = 1; return(x); } unsigned char readbyte(void)//读取一个字节 { unsigned char i=0, date=0; for (i = 8; i > 0; i--) { DQ =0; delay5us(2); DQ =1; date >>= 1; if(DQ) date |= 0x80; delay5us(9); } return(date); } void writebyte(unsigned char dat)//写入一个字节 { unsigned char i=0; for(i = 8; i > 0; i--) { DQ =0; DQ = dat & 0x01; delay5us(12); DQ = 1; dat >>= 1; delay5us(5); } } //向DS18B20发送温度转换命令 unsigned char readtemp(void) { unsigned char templ, temph, temp; unsigned int temp_int; init();//总线初始化 writebyte(0xcc);//跳过ROM匹配,跳过读序列号的操作,可省略操作时间 writebyte(0x44);//启动DS18B20进行温度转换 init();//总线初始化 writebyte(0xcc);//跳过ROM匹配,跳过读序列号的操作,可省略操作时间 writebyte(0xbe);//读暂存器中的温度值 templ = readbyte();//读取低八位字节,因为readbyte()函数里有个for循环,循环8次,读取8个字节 temph = readbyte();//读取高八位字节 temp_int = temph; temp_int <<= 8; temp_int |= templ; temp = temp_int*0.0625*10+0.5; return (temp); } void display(unsigned int temp) { P0 = table[temp % 10]; s0 = 0; delay5us(14); s0 = 1; P0 = table[temp /10 % 10]; s1 = 0; delay5us(14); s1 = 1; P0 = table[temp / 100 % 10]; s2 = 0; delay5us(14); s2 = 1; P0 = table[temp / 1000]; s3 = 0; delay5us(14); s3 = 1; } void main() { while(1) { display(readtemp()); } } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
122 浏览 0 评论
565 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
772 浏览 0 评论
948 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
658 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12043 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 04:19 , Processed in 0.654624 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号