DS18B20相关资料

DS18B20是很常用的一个温度集成块,首先来看一下它的介绍:

Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的“DS18B20”体积更小、更经济、更灵活。使您可以充分发挥“一线总线”的长处。 

   DS18B20、 DS1822 “一线总线”数字化温度传感器同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。DS1822的精度较差为± 2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
    与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。

DS18B20、 DS1822 的特性 
    DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!
    DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
    继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。

附件ds18b20cn.rar是本人在网上收集的DS18B20的中文资料,大家可以下载。

同时,附上上次网站找到的驱动程序,适用于51单片机,我自己也用这段代码开发过一些东西,比较好用,代码如下:

sbit DQ=0x84; //c51与DS18B20通信口
unsigned char tempL=0; //温度低八位
unsigned char tempH=0;  //温度高八位
float temperature;  //显示温度值
void ds18b20_delay(unsigned int time)
{
  unsigned int n;
  n=0;
  while(n<time) n++;
}

Init_DS18B20(void)
{
  unsigned char x=0;
  DQ=1;
  ds18b20_delay(8);
  DQ=0;
  ds18b20_delay(85);
  DQ=1;
  ds18b20_delay(14);
  x=DQ;

  ds18b20_delay(20);
}

ReadOneChar(void)
{
  unsigned char i=0;
  unsigned  char dat=0;
  for (i=8;i>0;i–)
  {
    DQ=1;
 ds18b20_delay(1);
 DQ=0;
 dat>>=1;
 DQ=1;
 if(DQ) dat|=0x80;
 ds18b20_delay(4);
  }
  return(dat);
}

WriteOneChar(unsigned char dat)
{
  unsigned char i=0;
  for (i=8;i>0;i–)
  {                            
    DQ=0;
 DQ=dat&0x01;
 ds18b20_delay(5);
 DQ=1;
 dat>>=1;
  }
  ds18b20_delay(4);
}

ReadTemperature(void)
{
  char ctempL,ctempH;

  Init_DS18B20();
  WriteOneChar(0xcc);
  WriteOneChar(0x44);
  ds18b20_delay(125);
  Init_DS18B20();
  WriteOneChar(0xcc);
  WriteOneChar(0xbe);

  tempL=ReadOneChar();      
  tempH=ReadOneChar();

  if(tempH<0xf8) //温度是否小于零
    temperature=((tempH*256)+tempL)* 0.0625;//大于零
  else    
    {
   ctempL=tempL;
      ctempH=tempH;   
   temperature=(((~ctempH)*256)+(~ctempL)+1)* 0.0625;
   temperature=-temperature;
 }

  //ds18b20_delay(200);
  //return(temperature);
}
 

大家也可以根据以上代码,稍微做修改,以腾出更多的单片机资源,使你的程序更高效。

资料为个人网上搜集,并稍作修改,如有疑问,欢迎大家讨论~

LED照明灯板V1.0

今天来做一个简单的,弄几个LED来照明.

先看我们的材料:

点击查看原图

散光LED56颗,洞洞板一块,0805电阻28个…

好,现在开始制作(TIME:2010.07.25.13:30)…

把每一个LED都焊在板子上:

点击查看原图

四个一组,靠外边的为正(两侧都为正,中间负):

点击查看原图

然后两辆连接,连电源的地方串上两个56欧姆电阻(电阻是并联的):

点击查看原图

(TIME:2010.05.25.14:11)

焊接完毕后加上引线引出正负极:

点击查看原图

接上12V电源,就能点亮了:

 
实际要亮的多,只是照相机自动把光调暗了… 

好了,整个制作到此结束!

(TIME:2010.07.25 16:50)

新版电子台历–V3.0

今天发布一个电子台历的新版本,PCB做了很久了,只是一直没有时间完成程序的编写,这些天忙里抽闲,终于把程序写完了.

先介绍一下新版电子台历的功能:

1.年月日,时间,星期,农历显示,重要节日提醒

时间计时范围:2008年至2032年(如果2012年后我们都还活着的话)
农历正确显示范围:2008年至2018年
公历和农历的重要节日提醒.

2.温度显示,显示范围:-40到80度,精度:1度

3.闹钟,共5组,可以定制提醒方式(每日,周一至周五,周六周日,周一至周六,周日)

4.时间软件校准功能.因DS1302走时的精确程度取决于晶振和电容,所以走时不是很准,故每天通过软件来校准时间.

5.背光时长设置功能.

6.四个按钮控制

本台历制作清单:

位置说明
3VPOWE3V纽扣电池座
BELLB1有源蜂鸣器
DS1302IC2时钟芯片
10MX1晶振
32.768X2晶振
100kR5负温度系数热敏电阻
4.7kR2电阻
4K7R8电阻
4K7R4电阻
10R6电阻
10KR7电阻
100R1电阻
DC-5VJ1电源插座
10uFC5电解电容
470uFC6电解电容
6pC3瓷片电容
6pC4瓷片电容
22pC1瓷片电容
22pC2瓷片电容
104C9瓷片电容
104C7瓷片电容
104C8瓷片电容
STC12C5616ADIC1STC单片机
9014Q2NPN三极管
9014Q1NPN三极管
CR2032电池座3V纽扣电池
100k 1%R31%精度电阻
按钮K1 轻触按钮
按钮K2轻触按钮
按钮K3轻触按钮
按钮K4轻触按钮

另外还需要带字库的12864液晶模块一块(控制器:ST7920)

图片欣赏:

元器件家族:

点击查看原图

PCB图:

点击查看原图

焊接完毕后正面:

点击查看原图

焊接完毕后背面:

点击查看原图

还是正面:

点击查看原图

底座和液晶模块:

点击查看原图

液晶安装完毕后:

点击查看原图

侧面四个控制按钮:

点击查看原图

运行时:

点击查看原图
点击查看原图
点击查看原图

操作说明:

1.时间,日期,显示

开机先显示版本信息…

第一行轮流显示日期,农历,星期,重要节日提醒

第二行显示时间 和 当前室内温度

第四行显示当前闹钟启动的个数.


2.时间设置

按[SET]进入设置 选择时间设置,按前进键调整选择项目,按加减键设置时间,按OK键确认


3.闹钟设置

按[SET]进入设置 选择闹钟设置,按前进键调整选择项目,按加减键设置时间,按OK键确认

在正常显示状态下,到设定时间后,闹钟会自动响起

按任意键停止闹钟


5.背光设置

同样,按[SET]进入设置 选择背光设置,按加减键设置,按OK键确认,按BACK取消设置


6.时间校准设置

进入时间校准需要重新启动系统.

在初始化界面出来以后,按下第一个键,稍后就会进入校准模式.

同样,按加减键设置,按OK键确认,按BACK取消设置

如果一天快了3秒,那你就设置每天减3秒

设置完毕后按OK确认,也可按BACK取消设置

当每天的00:01.00 时间校准程序会启动

比如设置的是每天减3秒,到了00:01.00时,它会自动减3秒变成00:00.57

视频操作说明:

相关资料获得方法:

台历制作原理图: 点击下载新版电子台历V3.0原理图.rar!

代码和PCB文件,整理中,尽请关注!

RGB灯条控制器 V1.0

描       述:    RGB灯条控制器 
设 计 人:    Snowywind
个人网站:    http://www.snowywind.com/ 
版       本:    1.0 
PCB型号:    RGB_CONTR_V1.0.PCB
说       明:    本程序为RGB控制器控制程序
显示方式:    单色显示,三色跳变,三十色跳变,真彩渐变,
                   三色跳变(快速),三十色跳变(快速) 
完成时间:   2010年5月21日

控制方式:   315MHz无线遥控,板上按钮
最大输出电流:1.5A*3
工作方式:  通过控制器的四个输出口控制RGB灯条
灯条要求: 12V电压,共阳的连接方式.

功能描述 :可通过按钮或者遥控器对显示方式进行控制.共有4个按钮:ABCD

刚上电,灯条进行白光输出,在任何状态先,按D关闭灯条,再按一次开启灯条进入红色单色显示.
按下C键,进入三色慢速切换显示(红绿蓝),再按一次C键进入三十色慢速切换显示,
再按则进入16000000色连续显示,再按一次进入三色快速切换闪烁显示,再按一次进入三十色快速显示,
再按进入单色显示,这样如此往复.

在任何状态下,按A或者B则停止当前显示方式进入单色显示,并且保留当前显示的颜色.
再按A或者B则进行30色单色切换,每按一次切换一种颜色.

在任何状态下,长按遥控器上的任意键,即可进入白光显示.

图片欣赏

控制器PCB板:
 

 

灯条:

白光:

红光:

蓝光:

墙上投影–蓝色:

墙上投影–橙色:

墙上投影–红色:

墙上投影–绿色:

各种显示方式视频:

获得此控制器的方法:

制作资料日后公布,敬请关注.

使用12864液晶模块,51单片机,DS1302,DS18B20等实现电子台历(带农历)

名称:电子台历(V2.1)
最新软件版本:V2.1

制作时间:2008年7月
主要元件:STC89C516RD+,12864液晶模块(带字库),DS18B20,DS1302
所使用单片机:STC89C516RD+

主要功能:
年月日 星期 时间 温度 显示,公农历节日提醒.
5个闹钟
高温低温报警功能(温度可自行设定,-9~99度)
农历显示,部分农历节日提醒

不多说,直接上图:

点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图

相关资料下载:

电子台历(V2.0)HEX文件(带农历).rar

电子台历(V2.0)原理图.rar