完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#include #include #include #define uint unsigned int #define uchar unsigned char ***it ds=P3^3; ***it led1=P0^0; ***it guan1=P2^7; ***it guan2=P2^6; ***it guan3=P2^5; ***it guan4=P2^4; uint shu[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90}; uint shu1[]={0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10}; bit stuas; int temp; float f_temp; uchar dat; // ds18b20初始化 bit DS18b20_init(void) { ds=1; _nop_(); ds=0; Delay10us(65); ds=1; Delay10us(1); while(!ds); return stuas; } //写字节函数 void write_onebyte(uchar dat) { uchar i=0; ds=1; _nop_(); _nop_(); for(i=0;i<8;i++) { ds=0; Delay10us(6); ds=dat&0x01; ds=1; dat>>=1; } } //读字节函数 uchar read_onebte(void) { uchar i=0,dat=0x00; ds=1; _nop_(); _nop_(); for(i=0;i<8;i++) { ds=0; Delay6us(); ds=1; _nop_(); _nop_(); _nop_(); dat>>=1; if(ds) { ds |=0x80; } Delay10us(3); ds=1; } return dat; } uint read_temp() { uchar a,b; DS18b20_init(); write_onebyte(0xcc); write_onebyte(0x44); //发出温度转化命令 DS18b20_init(); write_onebyte(0xcc); write_onebyte(0xbe); //发出读温度命令 a=read_onebte(); //读高8位 b=read_onebte(); //读低8位 temp=(uint)a; temp<<=8; temp=temp | (uint)b; f_temp=temp*0.0625; temp=f_temp*10+0.5; f_temp=f_temp+0.05; return temp; } void display(uint t) { uint ge,shi,bai,qian; ge=t%10; shi=t/10%10; bai=t/100%10; qian=t/1000; P1=shu[qian]; guan1=0; Delay_ms(1); guan1=1; P1=0x00; P1=shu[bai]; guan2=0; Delay_ms(1); guan2=1; P1=0x00; P1=shu1[shi]; guan3=0; Delay_ms(1); guan3=1; P1=0x00; P1=shu[ge]; guan4=0; Delay_ms(1); guan4=1; P1=0x00; } void main() { DS18b20_init(); while(1) { if(stuas==0) { read_temp(); display(read_temp()); } else { DS18b20_init(); led1==0; } } } |
|
相关推荐
8个回答
|
|
看我发的贴.应该可以帮你一把
|
|
|
|
|
|
|
|
无作用
|
|
|
|
|
|
但,你那个程序中 有串口中断啊
|
|
|
|
但,你那个程序中有中断啊
|
|
|
|
不理它.串口只是来打印调试信息的.或者是以前的程序没有删除它.
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3126 浏览 9 评论
2824 浏览 16 评论
3337 浏览 1 评论
8707 浏览 16 评论
3928 浏览 18 评论
9544浏览 3评论
881浏览 3评论
451浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
452浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2174浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 09:20 , Processed in 1.034185 second(s), Total 99, Slave 78 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191