读写DS18B20 C程序

  • F2_625829
    了解作者
  • 41.3KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-06 17:03
    上传日期
单片机读写DS18B20 程序 以及PROTUS仿真
DS18B20测温.rar
  • DS18B20测温
  • DS18B20测温_Opt.Bak
    964B
  • DS18B20测温_Uv2.Bak
    1.6KB
  • DS18B20测温.plg
    1.3KB
  • DS18B20.C
    2.4KB
  • Last Loaded DS18B20.DBK
    51.6KB
  • DS18B20测温
    3.8KB
  • DS18B20测温.Opt
    962B
  • DS18B20测温.hex
    2KB
  • DS18B20.LST
    6.3KB
  • DS18B20.PWI
    939B
  • DS18B20.DSN
    51.6KB
  • DS18B20测温.M51
    16.4KB
  • DS18B20.OBJ
    5.2KB
  • DS18B20测温.lnp
    50B
  • Last Loaded 18b20.DBK
    52KB
  • DS18B20测温.Uv2
    1.6KB
内容介绍
#include <aT89X52.H rel='nofollow' onclick='return false;'> #define DQ P3_0 unsigned char code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90}; unsigned char fuhao; void delay1(int d1,int d2) { int i,j; for(i=0;i<d1;i++) { ; for(j=0;j<d2;j++) ; } } void xianshi(unsigned int t)//显示数据(共阳) {unsigned char g,s; //w=p; //temp=t/2; s=t/10; g=t%10; { P3_3=0;//4 P3_4=0;//4 P3_5=0;//3 P3_6=0;//1 P3_7=0;//2 } P2=dispcode[g]; P2_7=0; P3_5=1;//1; delay1(4,60); { P3_3=0;//4 P3_4=0;//4 P3_5=0;//3 P3_6=0;//1 P3_7=0;//2 } P2_7=1; P2=dispcode[s]; P3_4=1;//1; delay1(4,60); if(fuhao==1) {{ P3_3=0;//4 P3_4=0;//4 P3_5=0;//3 P3_6=0;//1 P3_7=0;//2 } P2_7=1; P2=0xbf; P3_3=1;//1; delay1(4,60);} } void show_poit(unsigned int t)//显示数据(共阳) {unsigned char g; //w=p; //temp=t/2; g=t; { P3_3=0;//4 P3_4=0;//4 P3_5=0;//3 P3_6=0;//1 P3_7=0;//2 } P2=dispcode[g]; P3_6=1;//1; delay1(4,50); { P3_3=0;//4 P3_4=0;//4 P3_5=0;//3 P3_6=0;//1 P3_7=0;//2 } P2=0xC6; P3_7=1;//1; delay1(4,50); } void delay(unsigned char time) { //unsigned char s; //for(s=0;s<time;s++); while(--time); } unsigned char ow_reset(void) { unsigned char presence; DQ=0; delay(250);//保持DQ低480US DQ=1; delay(10); presence=DQ; delay(211); return(presence); } void write_bit(char bitval) { DQ=0; if(bitval==1) DQ=1; delay(29); DQ=1; } void write_byte(char val) { unsigned char i; unsigned char temp; for(i=0;i<8;i++) { temp=val>>i; temp&=0x01; write_bit(temp); } } unsigned char read_bit(void) { //unsigned char i; DQ=0; delay(1); DQ=1; delay(5); return(DQ); } unsigned char read_byte(void) { unsigned char i; unsigned char value=0; for(i=0;i<8;i++) { if(read_bit()) value|=0x01<<i; delay(29); } return(value); } void main(void) { unsigned int temp,temp1; unsigned char lt,ht; while(1) { for(;;) { if(ow_reset()) break; } write_byte(0xcc); write_byte(0x44); for(;;) { if(DQ==1) break; } for(;;) { if(ow_reset()) break; } write_byte(0xcc); write_byte(0xbe); lt=read_byte(); ht=read_byte(); for(;;) { if(ow_reset()) break; } temp=(unsigned int)lt; temp1=(unsigned int)ht; temp1=temp1<<8; temp=temp1+temp; if(temp>=0x1000) { temp=~temp+1; fuhao=1; } else fuhao=0; temp1=temp; temp=temp/16; temp1=temp1%16; temp1=temp1*625; temp1=temp1/1000; xianshi(temp); show_poit(temp1); } }
评论
    相关推荐
    • 单片机课件
      单片机的课件及例题, 单片机的课件及例题, 单片机的课件及例题, 单片机的课 件及例题,
    • 爱上单片机
      一本电子爱好者都能看懂,会边看边笑的单片机入门书籍,作者杜洋曾在《无线电》上发表过“趣味单片机制作专题”、“单片机编程魔法学校”等深受读者喜爱、让无数单片机入门者热血沸腾的系列文章。本书通过生动的语言...
    • 单片机资料
      内含30个单片机应用开发的资料,包括配套单片机入门PPT。
    • 单片机课件
      单片机课的课件,对单片机的基础进行了全面的概述,也有非常精细的指导。
    • 单片机工具
      单片机工具 供单片机学习使用 免费资源 日后还会有更多资源 请联系我
    • 单片机
      单片机c 和汇编程序
    • 单片机课件
      单片机课件 ppt文件格式 介绍了单片机的结构、程序设计、定时器、中断等
    • 单片机教程
      这是一个单片机的教程,可以用于初次学习单片机的人学习。
    • 单片机入门
      很好的单片机学习资源,入门比较好适合对单片机的学习有兴趣的人,而且是名校的精彩讲解,
    • 单片机
      利用protues仿真实现基于51单片机的大棚温湿度检测系统设计