yangcheng84 发表于 2011-9-7 22:24:48

电脑显示气温DIY

电脑显示气温DIY

                                                                                                万里江山2010-04-02

用一个单总线集成温度传感器DS1820获取当前气温,通过串口打印出来,并附带时间,

呵呵,以后做一个温度采集器不错的啦。




原理图


电脑超级终端打印的效果,哈哈哈





附注:C脚本

#include <AT89X52.h>
#include<stdio.h>
#include"DS1820_tem_read.h"//DS1820驱动头文件

unsigned int hour=23 ,min=4,sec=0,clk=0;//时,分,秒,时基

main()



{


   float temp; //存放温度
   TMOD = 0x21;                              //T1工作方式1,用于设定波特率
   TH1= 0xFd;                              //波特率4800Bps,12MHz晶振
   TL1= 0xFd;
   TL0= 0x4b;//定时初值
   TL1=0xff;

   PCON |= 0x00;                           //SMOD = 1,波特率加倍
   SCON = 0x50;                              //允许发送接收
   ES   = 0;                                          //禁止串口中断

   ET0   =1;//允许T0中断
   EA=1;                              

   TI   = 1;
   TR0= 1 ;
   TR1= 1;


while(1)
{

if((sec%2==0)&&(clk<20)&&(clk>18))
{
temp= tem_read ();

printf("\f\033[1;42;31m热爱电子,热爱机电\033[m\n"); // 清屏\附带彩色(高亮,背景绿,字体红),背景信息发送
    printf("\033[1;40;37m当前的气温是:%.2f度\n" , temp );//附带彩色(高亮,黑底白字),背景信息发送
printf("\033[m时间是:%d:%d:%d \n", hour, min, sec) ;
}
}

}



void time_sever(void) interrupt 1 using 1
{ TL0= 0x4b;
   TL1=0xff;
   clk++;
   if(clk==20)
   {
   clk=0;
   sec++;
P1_0 =! P1_0;
   if(sec==60)
   {
    sec=0;
    min++;
    if(min==60)
       {
      min=0;
      hour++;
       if(hour==24)
       hour=0;
   }
    }
    }
}

cosine 发表于 2011-9-7 23:40:23

不错,呵呵.

翌阳 发表于 2011-9-8 08:15:16

我在想,这东西是不是不用单片机也可以做得出来呢?

yangcheng84 发表于 2011-9-8 20:31:14

不用单片机是可以的,模拟电表的那种

华诚筑邦 发表于 2011-9-8 20:58:22

显示的时间能否带上年月日!

slsdz 发表于 2011-9-8 21:04:23

如果用上位机采集数据,直接用上位机的日期和时间就可以
楼主这个时钟做的比较简单,是个演示程序

yangcheng84 发表于 2011-9-8 22:32:17

显示的时间能否带上年月日!
华诚筑邦 发表于 2011-9-8 20:58 http://www.crystalradio.cn/bbs/images/common/back.gif

这个是可以的,增加读年日日(公历)的代码就可以了,DS1302里面有

yangcheng84 发表于 2011-9-8 22:33:59

如果用上位机采集数据,直接用上位机的日期和时间就可以
楼主这个时钟做的比较简单,是个演示程序
slsdz 发表于 2011-9-8 21:04 http://www.crystalradio.cn/bbs/images/common/back.gif

坛友所言其是,可以使用电脑本身的时间(但这个要写上位机软件),也可以用单片机发出的时间(串口发送)

华诚筑邦 发表于 2011-9-8 22:37:27

这个有成品机或套件吗?

yangcheng84 发表于 2011-9-8 22:54:12

本帖最后由 yangcheng84 于 2011-9-8 22:55 编辑

这个有成品机或套件吗?
华诚筑邦 发表于 2011-9-8 22:37 http://www.crystalradio.cn/bbs/images/common/back.gif


   
    这个是和坛友们分享学习用的,没有套件。其实它很简单,如果你手头有51/52单片机,能够加载程序的话,请再买或者找一个数字温度传感器DS1820(5--7块钱零售,进口),按上图接好,然后加载下面的目标代码就可以了

华诚筑邦 发表于 2011-9-8 23:05:36

回复 10# yangcheng84


    谢谢先! 找找可能有!!

老国哥 发表于 2011-9-9 08:40:49

学习:victory:

我很简单 发表于 2011-9-9 09:42:24

现在15元的数显闹钟都有温度显示功能了。

yangcheng84 发表于 2011-9-9 20:07:03

现在15元的数显闹钟都有温度显示功能了。
我很简单 发表于 2011-9-9 09:42 http://www.crystalradio.cn/bbs/images/common/back.gif


我不得不承认,假如单单搞温度计,大可使用指针表或者数码管,LCD之类的,何必大动干戈呢?这位朋友,您是否注意到这个实验有一个特点:利用计算机串口和单片机通信,直接把单片机计算结果显示出来,而显示用的软件正是WINDOWXP系统自带的串口通信软件,通过单片机设置参数,屏幕上是可以带着颜色打印信息的,字体大小也可改变,我个人认为学习交流的目的是为了进步,如果对于知识的求取过程被简单的用XX元就可以办到,那我看,我们的论坛几乎没有可以讨论的地方,因为“全都可以用钱去衡量,去折算,不值一提!”

slsdz 发表于 2011-9-9 22:45:26

回复 13# 我很简单


    有些指针手表连日期都没有,更别说温度了,都卖5位数以上..:P
听说而已,不曾拥有
页: [1] 2
查看完整版本: 电脑显示气温DIY