完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
# include # include # include # define uchar unsigned char # define uint unsigned int unsigned int smg_8_show[]={0x81,0xb7,0xc2,0x92,0xb4,0x98,0x88,0xb3,0x80,0x90}; unsigned int buff[]={0,0,46,1,45,45,0}; //设置为输入 # define DQ_IN DDRB&=~BIT(1) //设置为输出 # define DQ_OUT DDRB|=BIT(1) //拉高 # define DQ_SET PORTB|=BIT(1) //置低 # define DQ_CRL PORTB&=~BIT(1) //读数据 # define DQ_R PINB&BIT(1) void USART_init(uint baud)//串口初始化 { UCSRB = (1< UBRRL = (unsigned char )baud; } void USART_FS(uint date)//发送数据 { while(!(UCSRA&BIT(UDRE))); UDR=date; } void USART_s(uint *s) { while(*s) { USART_FS(*s); s++; } } void delay(uint x) { uint i,j; for(i=x;i>0;i--) { for(j=0;j<1141;j++) { ; } } } uchar ds18b20_reset()//初始化 { uchar i; DQ_OUT; DQ_CRL; delay_n100us(5); DQ_SET; delay_n100us(1); DQ_IN;//采样 i=DQ_R; delay_n100us(5); return i; } void ds18b20_wrtie_byte(uchar value)//写时序 { uchar i; for(i=0;i<8;i++) { DQ_OUT; DQ_CRL; delay_10us(); if(value&0x01) { DQ_SET; } delay_n100us(1); DQ_SET; value=value>>1; } } uchar ds18b20_read_byte()//读时序 { uchar i,value; for(i=0;i<8;i++) { value=value>>1; DQ_OUT; DQ_CRL; delay_10us(); DQ_SET; DQ_IN; if(DQ_R) { value|=0x80; } delay_50us(); } return value; } void main() { uchar templ,temph; uint temp; DDRD=0xff; USART_init(51);//串口初始化 while(1) { //写 ds18b20_reset();//复位 ds18b20_wrtie_byte(0xcc);//跳过ROM ds18b20_wrtie_byte(0x44);//启动温度转换 delay_n100us(10); //读 ds18b20_reset();//复位 ds18b20_wrtie_byte(0xcc);//跳过ROM ds18b20_wrtie_byte(0xBE);//读寄存器 delay_n100us(20); templ=ds18b20_read_byte();//l temph=ds18b20_read_byte();//m temp=(temph<<8)+templ; temp=temp*0.625 ;//精确一位小数点,将温度调转成16为变量 buff[0]=temp/100+48; buff[1]=temp%100/10+48; buff[3]=temp%10+48; USART_s(buff); delay(1000); } } 求大神帮我看看我写的DS18B20程序,显示一直是15.9。不知道什么原因。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5667 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
8123 浏览 0 评论
3370 浏览 2 评论
3354 浏览 1 评论
10525 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 13:52 , Processed in 0.659456 second(s), Total 47, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2539