- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的温度检测仪设计
学生姓名:
学生学号: 200810501003
院(系): 电气信息工程学院
年级专业: 2008级电子信息工程
指导教师:
二〇一一年十二月
目 录
前 言 2
一、引言 3
二、设计方案 4
三、设计框图及流程图 4
1、主控制器 4
2、显示电路 4
3、温度传感器 4
4、流程图 5
四、温度检测仪程序 6
五、电路仿真的设计与分析 10
1、Proteus仿真软件介绍 10
11
参考文献 12
致 谢 13
前 言
随着科技的发展和“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。
传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信与信息处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以及其应用之广,并且还有很大潜力。
,实现温度显示,能准确达到以上要求。
二、设计方案
用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。DS18B20可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为3.0~5.5V;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●报警有哪些信誉好的足球投注网站命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如下图所示。
4、流程图
主程序流程图: 读温度流程图:
读温度子程序: 计算温度子程序:
四、温度检测仪程序
# include reg51.h
# include intrins.h
# define disdata P0
# define discan P2
# define uchar unsigned char
# define uint unsigned int
sbit DQ = P3^7; //温度输入口
sbit DIN = P0^7;//led小数点控制
uchar DQ;
uint h;
uchar code ditab[16]=
{0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
uchar code dis_7[12]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};
uchar code scan_con[4]={0xf7,0xfB,0xFD,0xFE};//列扫描控制字
uchar data temp_data[2]={0x00, 0x00,}; //读出温度暂存
uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4个数据,1个运算暂存用
void delay(uint t)
{
for(;t0;t--);
}
/******************************显示扫描函数******************************/
scan()
{
char k;
for(k=0;k4;k++) //4位LED扫描控制
{
disdata=dis_
文档评论(0)