单片机温度计设计 我的课题需要做一个这样的试验,但是我跟本没学过单片机,请大侠们帮帮我...
你试试用C#来读取excel文件里面的数据,然后编一个上位机,通过串口来把数据发送到单片机上。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1339756&bbs_page_no=2&search_mode=9&search_text=null&bbs_id=1006
本大虾来教你程序在下面,器件是18b20
下面有原理图
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit DQ=P3^4;
sbit ka=P3^0;
sbit guan=P3^1;
uchar wendu[]={0x00,0x00};
uchar code tab[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};
uchar code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar bai,shi,ge,xiao,wen;
//延时子程序
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delay1(uint a)
{
while(--a);
}
uchar init_18b20() //18b20初始化
{
uchar b;
DQ=1;
delay1(8);
DQ=0;
delay1(90);
DQ=1;
delay1(8);
b=DQ;
delay1(100);
DQ=1;
return b;
}
uchar du()//读字节
{
uchar i,dat=0;
DQ=1;_nop_();
for(i=0;i<8;i++)
{
DQ=0;
dat >>=1;
DQ=1;
_nop_(); _nop_();
if(DQ)dat|=0x80;
delay1(30);
DQ=1;
}
return dat;
}
void xie(uchar da)//写字节
{
uchar i;
for(i=0;i<8;i++)
{
DQ=0;
DQ=da & 0x01;
delay1(5);
DQ=1;
da>>=1;
}
}
void duwendu()
{
while(init_18b20()); //DQ=1;等待
xie(0xcc);
xie(0x44);
init_18b20();
xie(0xcc);
xie(0xbe);
wendu[0]=du();
wendu[1]=du();
}
void xshi()
{
uchar i;
xiao=tab[wendu[0] & 0x0f];
wen=((wendu[0] & 0xf0)>>4) | ((wendu[1] & 0x07)<<4);
bai=wen/100;
shi=wen%100/10;
ge=wen%10;
for(i=0;i<15;i++)
{
P1=0xfe;
P2=duanma[xiao];
delay(5);
P1=0xfd;
P2=duanma[ge];
delay(5);
P1=0xfb;
P2=duanma[shi];
delay(5);
P1=0xf7;
P2=duanma[bai];
delay(5);
}
}
void main()
{
ka=0;
guan=0;
duwendu();
delay(10);
while(1)
{
duwendu();
xshi();
if(wen>=25) //温度高于25度 开风扇
{
ka=1;
guan=0;
}
else
{
ka=0;
guan=1;
}
}
}
要我说,趁这个机会正好学学单片机
2
芮勇槐耳:[答案] -55~125度,你自己修改: ; END
南郑县13526027489: 基于单片机的数字温度计设计 - ?
芮勇槐耳: 你可用SD18B20 -50 +125°完全适合-20 +50° 的测量,这是单片机都采用的,体积如三极管大小,精度0.5%.
南郑县13526027489: 用8051单片机设计一数字式温度计 的电路图 有程序的最好 谢了 - ?
芮勇槐耳: 这个电路很简单,我说一下就可以了.数字式温度传感器用最常用的DS18B20,它只有3个管脚,一个接电源,一个接地,另一个接8051单片机就可以了.温度值用数码管显示.这样整个电路就接好了.如果楼主觉得我回答的可以别忘了给我加...
南郑县13526027489: 单片机课程设计 数字温度计 - ?
芮勇槐耳: 用ds18b20吧,他的精度和范围绝对能满足你的要求,而且输出的是数字信号,ad都省了,我原来做过,现在还有点资料,要的话我给你发邮箱.
南郑县13526027489: 基于单片机的温度监控监测系统的设计怎么做?要具体电路图.谢谢 - ?
芮勇槐耳: 温度传感器:1820,太常用了~~直接数字的,都不用转换了 电源,5v直流、这不会做就别做其他的了,没意义.显示就用2位数码管,驱动的话,搞个5v和三极管加电阻的电路.执行部分:你就检测,执行部分没有.如果要有控温,那可以搞个正弦调制弱电控制强电的电路.或者直接用占空比型号控制驱动电路.驱动电路用光耦开关设计简单.电路图,哥哥,电路图都出来的话,你就只要焊电路了~~,真不会,百度下就搞定了~~ 晕,这是最简单的系统了.上课没认真啊你~~
南郑县13526027489: 课程设计题目《数字温度传感器》,请问用单片机做需要具体买哪些东西?详细清单!以及编写程序用什么语言 - ?
芮勇槐耳: 单片机STC89C52、10uf/16v电解电容一个(单片机复位电路)、10k直插电阻一个(单片机复位电路)、22pf瓷片电容2个(晶振电路)、11.0592Mhz晶振一个(晶振电路)、DS18B20(温度传感器)、4位共阳数码管(显示电路),1k电阻12个(数码管限流)、9012三极管(驱动数码管)、一个DC5v插座,一个洞洞板、排针若干.编写语言当然是C语言了.
南郑县13526027489: 单片机数字温度计课程设计?
芮勇槐耳: 范围不小啊,精度有什么要求.一般的方案 -20至+100 以外估计误差有5度了,有精度要求就用铂电阻加AD.最省事的就去找个18b20的汇编程序做电路试试吧2,3,软件上处理就好了.“不要C语言编的”,你出些钱找人写吧,满足你的要求要免费做个项目了.........
南郑县13526027489: 温度传感器与单片机结合 设计一个电路 不要太复杂 要电路图 和 具体数值 和型号 谢谢 - ?
芮勇槐耳: 也就是做一个数字温度计(体温计)是吧,18B20数字温度计,显示可以用数码管或者LCD1602显示,或者12864都可以的.电路为PROTEL绘制.,程序都有的论文也有的 需要QQ我
南郑县13526027489: 单片机课程设计 单片机温度的检测与显示的设计 - ?
芮勇槐耳: 用18b20做很简单啊.温度的子程序给你,,你重定义一下接口,主程序已经调用出温度了,你送到显示就行了../* 延时t毫秒 */ void delay(uint t) { uint i; while(t--) { /* 对于11.0592M时钟,约延时1ms */ for (i=0;i<125;i++) {} } } /* 产生复位脉冲初...
南郑县13526027489: 求高手帮做一个基于S51单片机的温湿度计C语言程序以及其原理图 - ?
芮勇槐耳: char key() { char a,temp,c=99; for(a=0;a<3;a++) { p1=0x08<<a; temp=P1&0x07; switch(temp) { case 0x01: c=a;break; case 0x02: c=a+3;break; case 0x04: c=a+6;break; } if(c<99)//按键抗弹跳 } return c; }