您好,欢迎光临本网站![请登录][注册会员]  
文件名称: ds18b20 测温电路
  所属分类: C
  开发工具:
  文件大小: 38kb
  下载次数: 0
  上传时间: 2009-03-18
  提 供 者: c2009xia********
 详细说明: #include #include #define uchar unsigned char #define uint unsigned int sbit ds=P3^7; uchar flag ; uint temp; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; uchar code table1[]={ 0xbf,0x86,0xdb,0xcf, 0xe6,0xed,0xfd,0x87, 0xff,0xef}; //带小数点数字编码 /*延时函数*/ void TempDelay (uchar us) { while(us--); } void delay(uint count) { uint i; while(count) { i=200; while(i>0) i--; count--; } } /*数码管的显示 */ void display(uint te mp) { uchar bai,shi,ge; bai=temp/100; shi=temp%100/10; ge=temp%100%10; P1=0xff; P0=table[bai]; P1=0xfe; delay(1); P1=0xff; //延时约2ms P0=table1[shi]; P1=0xfd; delay(1); P1=0xff; P0=table[ge]; P1=0xfb; delay(1); P1=0xff; } void ds_reset(void) { ds=1; _nop_(); ds=0; TempDelay(80); _nop_(); ds=1; TempDelay(5); _nop_(); _nop_(); _nop_(); if(ds==0) flag=1; else flag=0; _nop_(); _nop_(); ds=1; } bit ds_read_bit(void) { bit dat; ds=0; _nop_(); ds=1; _nop_(); _nop_(); dat=ds; TempDelay(10); return(dat); } uchar ds_read_byte(void ) { uchar value,i,j; value=0; for(i=0;i<8;i++) { j=ds_read_bit(); value=(j<<7)|(value>>1); } return(value); } void ds_write_byte(uchar dat) { uchar i; bit onebit; for(i=1;i<=8;i++) { onebit=dat&0x01; dat=dat>>1; if(onebit) { ds=0; _nop_(); _nop_(); ds=1; TempDelay(5); } else { ds=0; TempDelay(8); ds=1; _nop_(); _nop_(); } } } void tem_change() { ds_reset(); delay(1); ds_write_byte(0xcc); ds_write_byte(0x44); } /*----------------------------------------获得 温度:------------------------------------------*/ uint get_temperature() { float wendu; uchar a,b; ds_reset(); delay(1); ds_write_byte(0xcc); ds_write_byte(0xbe); a=ds_read_byte(); b=ds_read_byte(); temp=b; temp<<=8; temp=temp|a; wendu=temp*0.0625; temp=wendu*10+0.5; return temp; } void main() { uint a; while(1) { tem_change(); for(a=10;a>0;a--) { display( get_temperature()); } } } ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: ds18b20 测温电路
 输入关键字,在本站1000多万海量源码库中尽情搜索: