基于单片机的液晶温度显示器的设计Word
基于MCS-51单片机的液晶显示设计
基于MCS-51单片机的液晶显示设计随着科技的不断发展,电子产品的智能化和小型化需求越来越迫切,因此单片机成为了不可或缺的主要元器件之一。
在众多单片机中,MCS-51单片机由于性能稳定默默无闻地成为了不少工程师的首选。
液晶显示器则是我们日常生活中不可或缺的显示元件之一。
MCS-51单片机设计时可以采用液晶显示来呈现一些基本的信息,如时间、日期、温度、湿度等。
首先需要选择一个适合的液晶模块,本设计选择了1602带背光的液晶模块,其具有亮度高、阅读方便、光学效果好的特点。
当选购好液晶模块之后,需要连接到MCS-51单片机上。
最基本的设计连接如下:- 1602的VSS接地。
- 1602的VDD接+5V电源。
- 1602的VO接一个0-5V变移电位器的中间点,并将其中一端连VSS,另一端接VDD即可。
- 1602的RS与单片机的P1.0相连。
- 1602的RW接地,表示写。
- 1602的E与单片机的P1.1相连。
- 1602的D0-D3不接。
然后就可以开始编写程序。
本设计采用Keil C编译器编写,程序如下:```#include<reg52.h>#define LCD_data P0 // 数据口定义sbit rs = P1^0; //RS接口sbit rw = P1^1; //RW接口sbit en = P1^2; //EN接口void init(); // 初始化函数void write_command(unsigned char command); // 向液晶显示屏写指令函数void write_char(unsigned char dat); // 向液晶显示屏写数据函数void delay_5us(); // 等待函数void delay_do(unsigned char i); // 延时函数/** 初始化函数 **/void init(){write_command(0x38); // 在两行八列的模式下显示。
(完整word版)基于单片机数字温度计开题报告
此次的多功能数字温度计不同于以往的传统数字温度计,它明显改善了数字温度计的性能,包括温度采集的速度和测量精度大幅度提高,测量温度的范围也得到了明显的提高。如果继续提高测量精度,可以直接作为工业测温仪器使用,由美国DALLAS半导体公司新研制的DS18B20型高分辨力智能温度传感器,能输出12位二进制数据,其分辨力高达0.0625℃,测温精度为±0.1℃。随着单片机、温度传感器和数码管显示驱动等技术的不断发展,要实现更加高的精度、显示速率快的数字温度计将很快能够实现。
4.课题的意义
本课题研究的重要意义在于生产过程中随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数,就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是数字温度传感器技术,在我国各领域已经应用的非常广泛可以说是渗透到社会的每一个领域,与人民的生活和环境的温度息息相关
2.课题背景
单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。单片机的潜力越来越被人们所重视。特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强,能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。而现在的单片机在农业上页有了很多的应用。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
基于液晶显示的单片机温度控制设计
. ... . 《基于液晶显示的单片机温度控制设计》实习报告专业班级:电子信息科学与技术11级组长:彪组别:一组员:邢路飞王晓东李梁刚蔡云云李德龙宋文杰指导教师:谢艳新王海波学期:2013-2014学年第1学期实习地点:组成原理及单片机实验室《基于液晶显示的单片机温度控制设计》实习报告一、实验目的随着现代科技的不段发展,对温度测量的工具越来越多并且精度也是越来高,但随着生活水平的不段提高,越来越多的人健康的关注倍加重视,特别是对暖空气的变化更加注意,在此我们特设计有关温度控制的系统,通过它可以设置度的上下限,当温度低于所设的温度的下限或是高于所设的温度的上限时就会发生报警,因此可以提醒您要注意温度变化。
本制作轻巧灵便适合在私人家庭中运用,使用时可以通过四个按键的作用来设置系统初值,即可达到准确提醒您的作用。
二、设计题目:基于液晶显示的单片机温度控制设计三、功能描述本次设本系统主要研究的是利用MCS-51系列单片机中的AT89C51单片机来实现温度检测及控制,通过对89C51的P1口的高4位设置上限值、下限值、,因考虑到在设置温度TH和TL,所以本次设计采用四个按键来控制,通过按键之间的协调作用来完成温度设置值,由于温度的不同我们采取不同的信息来作为信号处理,所以在硬件电路中用蜂鸣器来报警做为提醒实现温度从IN0输入89C51的P1口低4位设置报警系统。
ADC0809实现模拟输入到数字量的转换,通过1602数码管显示数据。
四、系统硬件设计4.1时钟振荡电路时钟振荡电路如图1所示。
图1 时钟振荡电路图4.2测温电路测温电路如图2所示。
图2 测温电路图4.3复位电路复位电路如图3所示。
图3 复位电路图4.4 报警电路报警电路如图4所示。
图4 报警电路图4.5显示电路显示电路如图5所示。
图5 显示电路图五、系统软件系统5.1主程序设计主程序流程图如图6所示。
图6 主程序流程图5.2液晶显示程序设计液晶显示程序流程图如图7所示。
(完整word版)基于89C52单片机和液晶显示的温度测量系统
JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY测控系统综合训练基于单片机和液晶显示的温度测量系统学院名称:电气信息工程学院专业:测控技术与仪器班级:08测控2班姓名:董亮学号:08314237指导教师:王久龙2011年12月基于单片机及液晶显示的温度测量系统摘要:本文将介绍一种基于单片机控制的数字温度测量系统,本温度计属于多功能温度计,可以软件预设置上下报警温度,当温度不在设置范围内时,可以报警。
本文设计的数字温度计具有读数方便,测温范围广,测温精确,液晶显示,适用范围宽等特点。
它的主要组成部分有:AT89C52单片机、温度传感器、温度显示电路、温度报警电路等。
关键词:温度测量;温度传感器;液晶显示;仿真目录前言 (1)第一章设计目的及设计要求 (2)1.1 设计目的 (2)1.2 设计要求 (2)第二章设计方案论证 (3)2.1 总体设计原理 (3)2.2 单片机AT89C51介绍 (3)2.3 温度传感器的选择 (5)2.4 显示元件的选择 (7)第三章硬件电路设计 (8)3.1 时钟振荡电路 (8)3.2 测温电路 (8)3.3 复位电路 (8)3.4 报警电路 (9)3.5 显示电路 (9)第四章软件设计 (10)4.1 主程序设计 (10)4.2 液晶显示程序设计 (10)4.3 温度采集程序设计 (11)第五章安装调试与分析 (12)结束语 (13)参考文献 (14)附录 (15)附录一系统仿真图 (15)附录二实物组装图 (16)附录三元器件清单 (17)附录四程序清单 (18)前言在这个信息化高速发展的时代,单片机作为一种最经典的微控制器,单片机技术已经普及到我们生活、工作、科研等各个领域,已经成为一种比较成熟的技术。
随着科技的不断进步,在工业生产中温度是常用的参数,而采用单片机来对这些参数进行测量与控制已成为当今的主流,现代社会对各种信息参数的准确度和精确度的要求也在不断增长,而如何准确而又迅速的获得这些参数就取决于现代信息基础的发展水平。
(完整word版)基于AT89C51单片机数字温度计的设计
基于AT89C51单片机数字温度计的设计一、项目概述在生活和生产中,人们经常要用到一些测温设备,但是传统的测温设备具有制作成本高、硬件电路和软件设计复杂登缺点。
基于AT89C51的数字温度计具有制作简单、成本低、读数方便、测温范围广等优点,应用前景广泛。
二、项目要求基于AT89C51的数字温度计的具体要求如下:1.温度值用LED显示。
2.测温范围为-30~100℃,且测量误差不大于±0.5℃。
3.成品的体积、质量尽可能小。
三、设计框图及流程图1 主控制器单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
2 显示电路显示电路采用4位共阳LED数码管。
3温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20的性能特点如下:●独特的单线接口仅需要一个端口引脚进行通信;●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;●无须外部器件;●可通过数据线供电,电压范围为3.0~5.5V;●零待机功耗;●温度以9或12位数字;●用户可定义报警设置;●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20采用3脚PR -35封装或8脚SOIC 封装,其内部结构框图如下图所控制器使用单片机AT89C51,测温传感器使用DS1820,用4位共阳极LED 数码管以动态扫描法实现温度显示,电路图如图1所示:图1.电路原理图五、软件设计1.程序流程图主程序的主要是负责温度的实时显示,读出并处理DS1280测量的当前温度值,温度测量每1s进行一次。
基于51单片机温度检测LCD显示课程设计报告
大连民族学院单片机系统课程设计题目:温度计的设计班级:电子105姓名:赵萌同组人:张瑛笛指导教师:李绍民设计日期:一设计内容及要求设计内容:基于单片机的室内温度检测LCD显示要求:测量温度55℃—125℃温度上下限TH:32℃TL:16℃温度报警:超出温度上下限BEEP报警二设计方案测温部分:采用18B20作为温度传感器,有一个由高低电平触发的且不因掉电而丢失的报警功能。
控制部分:89S52最小系统显示部分:1602液晶显示,模块内的字符发生存储器存储了160个不同的点阵图形,先是方便,同时好可以进行时间的显示。
三硬件系统设计电源时钟晶振原理图I/O接口AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
外围电路工作原理及硬件图四软件系统设计软件流程框图系统设计原理:本次课程设计是基于单片机的数字温度计设计,在开始课程设计的时候我们要理解并掌握对单片机的开发,学会使用KEIL及Proteus等仿真软件。
根据设计任务要求选择好器件,编写好程序运行成功之后进行软件联调,验证系统是否正确。
通过筛选,我们组选用单片机AT89S52作为主控制系统;用1602液晶显示模块芯片作为温度数据显示装置;智能温度传感器采用DS18B20器件作为测温电路主要组成部分。
基于单片机的温度计设计程序(液晶)
/*-----------------------------------------------名称:18B20温度测量报警内容:在LCD1602第一行可以显示当前温度,第二行显示设定的温度区间,超过此温度区间,蜂鸣器报警。
温度区间可以通过用户按键设置------------------------------------------------*/#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include<math.h>#include<INTRINS.H>#define uchar unsigned char#define uint unsigned int/******************************************************************//* 定义端口*//******************************************************************/sbit led1=P1^0;// 温度超出范围指示灯sbit led2=P1^1;sbit buzzer=P1^3;//蜂鸣器引脚sbit DQ=P1^4;//ds18b20 端口sbit RS = P2^4;//1602数据/命令选择端(H:数据寄存器L:指令寄存器)sbit RW = P2^5;//1602读/写选择端sbit E = P2^6;//1602使能信号端sbit key1=P3^4;//用户按键sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;/******************************************************************//* 全局变量*//******************************************************************/int temp;//测得温度char temp_max=40,temp_min=10;//设定的温度char TempH,TempL;uchar flag_get,num=0;uchar code tab[]={'0','1','2','3','4','5','6','7','8','9'};//液晶显示uchar tab1[]="min:010 max:040";//液晶第二行显示内容uchar str[8];/******************************************************************//* 延时函数*//******************************************************************/void delay1(uint i)//短延时函数{while(i--);}void delay(uint z) //长延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}/******************************************************************/ /* DS18B20 初始化*/ /******************************************************************/ void Init_DS18B20(void){uchar x=0;DQ = 0; //单片机将DQ拉低delay1(480); //精确延时大于480usDQ = 1; //拉高总线,等待delay1(10);x=DQ; //稍做延时后如果x=0则初始化成功x=1则初始化失败delay1(5);}/******************************************************************/ /* DS18B20读一个字节*/ /******************************************************************/ uchar ReadOneChar(void) // DS18B20读一个字节{uchar i=0;uchar dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号,主机在读时隙期间必须释放总线if(DQ)dat|=0x80;delay1(5);}return(dat);}/******************************************************************//* DS18B20写一个字节*//******************************************************************/void WriteOneChar(uchar dat) //DS18B20写一个字节{uchar i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;//取最低位delay1(5);DQ = 1;dat>>=1;//左移}delay1(5);}/******************************************************************//* DS18B20读取温度*//******************************************************************/uint ReadTemperature(void) //DS18B20读取温度{uchar a=0;uint b=0;uint t=0;Init_DS18B20();//DS18B20初始化WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换delay1(200); //延时以求信号的稳定Init_DS18B20(); //DS18B20再次初始化WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar(); //低位b=ReadOneChar(); //高位b<<=8; //b左移8位t=a+b; //把a与b结合,放在16位的t中return(t);}/******************************************************************//* LCD1602写命令操作*//******************************************************************/void WriteCommand(uchar com){delay(5);//操作前短暂延时,保证信号稳定E=0;RS=0;RW=0;P0=com;E=1;delay(5);E=0;}/******************************************************************/ /* LCD1602写数据操作*/ /******************************************************************/ void WriteData(uchar dat){delay(5); //操作前短暂延时,保证信号稳定E=0;RS=1;RW=0;P0=dat;E=1;delay(5);E=0;}/******************************************************************/ /* LCD1602初始化程序*/ /******************************************************************/ void InitLcd(){uchar i;delay(15);WriteCommand(0x38); //display modeWriteCommand(0x38); //display modeWriteCommand(0x38); //display modeWriteCommand(0x06); //显示光标移动位置WriteCommand(0x0c); //显示开及光标设置WriteCommand(0x01); //显示清屏WriteCommand(0x80+0x40);//将光标移到第二行for(i=0;i<16;i++)//显示初始化内容{WriteData(tab1[i]);delay(10);}}/******************************************************************/ /* 蜂鸣器报警程序*/ /******************************************************************/ void alarm(){if(TempH>=temp_max)//当温度高于设置的最高温报警{ buzzer=0;delay(50);buzzer=1;delay(50);led1=0;led2=1;}else if(TempH<temp_min)//当温度低于设置的最低温报警{buzzer=0;delay(50);buzzer=1;delay(50);led1=1;led2=0;}else//报警解除{buzzer=1;led1=1;led2=1;}}/******************************************************************/ /* 显示测得的温度*/ /******************************************************************/ void handle_T(){uchar i;str[0]=0x20;//显示为空str[1]=tab[TempH/100]; //百位温度str[2]=tab[(TempH%100)/10]; //十位温度str[3]=tab[(TempH%100)%10]; //个位温度,带小数点str[5]=tab[TempL];str[4]='.';str[6]=0xdf;str[7]='C';if(flag_get==1) //定时读取当前温度{flag_get=0; //清标志位temp=ReadTemperature();//读取温度值if(temp&0x8000){str[0]=0xb0;//负号标志temp=~temp; // 取反加1temp +=1;}TempH=temp>>4; //由权重表知移4位就是整数位TempL=temp&0x0F;TempL=TempL*6/10;//小数近似处理alarm(); //判断是否需要报警}WriteCommand(0x80+0x04);//光标指向第一行第一个字符for(i=0;i<8;i++)// 显示{WriteData(str[i]);delay(10);}}void display_range(uchar add,int t){uchar i;if(t<0){str[0]=0xb0;//负号标志}elsestr[0]=tab[abs(t)/100]; //百位温度str[1]=tab[(abs(t)%100)/10]; //十位温度str[2]=tab[(abs(t)%100)%10]; //个位温度WriteCommand(0x80+0x40+add);for(i=0;i<3;i++){WriteData(str[i]);delay(5);}}/******************************************************************/ /* 独立键盘扫描函数并显示设定的温度*/ /******************************************************************/ void keyscan(){uchar flag1=0,flag2=0;//有按键按下标记P3=0xff;//拉高P3口,以读取P3口的值if(key4==0)//最高温加{delay(5);//延时消抖if(key4==0){temp_max++;if(temp_max>=85)temp_max=85;}while(!key4);//松手检测flag1=1;}if(key3==0)//最高温减{delay(5);if(key3==0){temp_max--;if(temp_max<=temp_min)temp_max=temp_min;}while(!key3);flag1=1;}if(key2==0)//最低温加{delay(5);//延时消抖if(key2==0){temp_min++;if(temp_min>=temp_max)temp_min=temp_max;}while(!key2);//松手检测flag2=1;}if(key1==0)//最低温减{delay(5);if(key1==0){temp_min--;if(temp_min<=-10)temp_min=-10;}while(!key1);flag2=1;}if(flag1)//如有设置最高温度的键按下,更新设定的温度{flag1=0;// 清标记display_range(0x0d,temp_max);}if(flag2)//如有设置最低温度的键按下,更新设定的温度{flag2=0;// 清标记display_range(0x04,temp_min);}}/****************************************************************/ /* 主函数*/ /******************************************************************/ void main(){TMOD|=0x01;//定时器设置TH0=0xef;//装初始值TL0=0xf0;EA=1;// 开总中断ET0=1;//允许定时器0中断TR0=1;//开定时器0中断InitLcd();//lcd1602初始化flag_get=1;while(1){handle_T();// 处理温度:获得、显示、报警keyscan(); //独立按键扫描}}/******************************************************************/ /* 定时0中断处理程序,用于温度检测间隔,大约1秒测一次温度*/ /******************************************************************/ void timer0(void) interrupt 1 using 1{TH0=0xef;//定时器重装值TL0=0xf0;num++;if (num==50){num=0;flag_get=1;//标志位有效,开始测温}}。
基于单片机的空调温度控制系统设计毕业论文(设计)word格式
基于单片机的空调温度控制系统设计作者姓名:杨耀武专业名称:信息工程指导教师:黄宇讲师摘要在自动控制领域中,温度检测与控制占有很重要地位。
温度测控系统在工农业生产、科学研究和在人们的生活领域,也得到了广泛应用。
因此,温度传感器的应用数量居各种传感器之首。
目前,温度传感器正从模拟式向数字集成式方向飞速发展。
本论文概述了温控器的发展及基本原理,介绍了温度传感器的原理及特性。
分析了DS18B20温度传感器的优劣。
在此基础上描述了系统研制的理论基础,温度采集等部分的电路设计,并对测温系统的一些主要参数进行了讨论。
同时在介绍温度控制系统功能的基础上,提出了系统的总体构成。
针对测温系统温度采集、接收、处理、显示部分的总体设计方案进行了论证,进一步介绍了单片机在系统中的应用,分析了系统各部分的硬件及软件实现。
利用Proteus7.6进行了可行性的仿真,利用单片机开发板验证在实际电路中能起到的效果。
试验证明,这套温度控制器具有较强的可操作性,很好的可拓展性,控制简单方便。
课题初步计划是在普通环境下的测温,系统的设计及器件的选择也正是在这个基础上进行的。
关键词:DS18B20 单片机温度控制1602液晶显示AbstractIn the automatic control area,temperature monitoring and controling have a very important position. The temperature monitoring system has a wildly applying in industry, agriculture, science reasearching and daily life of people. Therefore, the number of applying of the temperature monitoring comes first of all kinds of sensor. At present, the temperature monitoring is transformed from analog type to digital integrated type with a very fast speed.This paper introduces the developing and fundamental of the temperature monitoring, including the character of this kind of sensor. It also analyses the advantage and disadvantage of the temperature monitoring which named DS18B20. On that basis, the paper also has a further analysis of the theoretical basis of the system developing and the circuit design of temperature monitoring. Besides, some discussions about the important parameters also took on desk. At the same time, the auther of this paper also puts forward the composition of totality about this system, which including the different function of the thermometer system. Then a detailed analysis which is about the applying of Microcontrollers and the applying of different parts made by different hardwares and softwares in the system. In order to check the maneuverability and the expansibility of the Microcontrollers system, the auther used Proteus 7.6 to do the testing and got a pretty good result.This system puts the temperature measured in normal situation as a confirm condition. All design and selection of component is also based on this suppose.keywords: DS18B20, Microcontrollers, Temeperature Controling, 1602 Liquid Crystal Display目录摘要 (I)Abstract ......................................................................................... I I 目录 .............................................................................................. I II 前言 .. (1)1 系统总体设计方案及功能 (2)1.1 温度传感器产品分类与选择 (2)1.1.1 常用的测温方法 (2)1.1.2 温度传感器产品分类 (2)1.1.3 温度传感器的选择 (4)1.2 总体方案的确定 (6)1.3 系统实现框图 (7)2 系统单元电路设计 (7)2.1 系统工作原理 (7)2.2 系统相关硬件及模块介绍 (8)2.2.1 温度采集电路 (8)2.2.2 信号处理与控制电路 (9)2.2.3 温度显示电路 (10)2.2.4 按键功能设置电路 (11)2.2.5 继电器控制电路 (12)2.2.6 存储数据电路 (12)2.2.7 报警、音乐电路 (13)2.2.8 电动机电路 (13)3 仿真软件介绍 (15)3.1 Keil uVision2软件 (15)3.2 Proteus软件 (16)4 系统硬件设计 (18)5 系统软件设计 (20)5.1 DS18B20数据通信概述 (20)5.2 LCD1602液晶数据显示概述 (23)5.2.1 接口信号说明 (23)5.2.2 控制器接口说明 (23)5.2.3 控制接口时序说明 (25)5.3 存储器24C02数据存储概述 (26)5.3.1 I2C 总线的定义 (26)5.3.2 I2C 总线的时序 (27)5.3.3 数据传送 (27)5.4 软件程序设计 (28)6 仿真及实验结果 (31)6.1 程序调试过程中遇到的问题及解决办法 (31)6.2 调试结果 (32)总结 (34)致谢 (35)参考文献 (36)附件1 系统硬件电路图 (37)附件2 系统软件程序 (38)前言现代信息技术的三大基础是信息采集控制(即温度控制器技术)、信息传输(通信技术)和信息处理(计算机技术)。
基于单片机的温度显示器(DOC)
基于单片机的温度显示器目录一、设计目的 (2)二、摘要: (2)三、硬件电路设计 (2)1、单片机模块设计 (2)2、显示模块 (3)3、温度传感器 (4)四、软件设计 (5)1、ds18b20模块设计 (5)2、lcd1602显示模块 (7)3、主函数程序设计 (9)5、模拟仿真图 (10)六.参考文献 (10)一、设计目的本方案设计LCD1602显示实时温度的实验,使用基于AT89C51单片机,使用ds18b20温度传感器在lcd1602上显示温度数字二、摘要:通过lcd1602显示温度数字,程序设计使用模块化设计关键词:单片机,ds18b20,lcd1602系统三、硬件电路设计1、单片机模块设计本次设计采用的是单片机AT89C51。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口,如图3.1所示。
左边那列逆时针数起,依次为1,2,3.....40,其中芯片的1脚顶上有一个凹点。
在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
图AT89C51管脚图AT89C51单片机共有4组8位可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位,共32根。
每一根引脚都可以编程,比如用来控制电机、交通灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能。
P0口:8位双向I/O口线,名称为P0.0-P0.7;P1口:8位准双向I/O口线,名称为P1.0-P1.7;P2口:8位准双向I/O口线,名称为P2.0-P2.7;P3口:8位准双向I/O口线,名称为P3.0-P3.7。
本文单片机模块如图所示,主要是由单片机芯片与晶振和复位电路组成的。
是由单片机来控制整个系统,让我们的系统可以正常的运行。
2、显示模块LM016L液晶模块采用HD44780控制器,HD44780具有功能较强而又简单的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用4位或8位并行传输两种方式,HD44780控制器是由2个8 bit的寄存器、显示数据存储(DDRAM)、指令寄存器(IR)、RAM(DR)、地址计数器RAM(AC)、忙标志(BF)、字符发生器ROMA(CGOROM)以及字符发生器RAM(CGRAM)组成。
(完整word版)基于单片机的DS18B20设计实验报告
第1章引言在日常生活及工农业生产中经常要涉及到温度的检测及控制,传统的测温元件有热点偶,热敏电阻还有一些输出模拟信号得温度传感器,而这些测温元件一般都需要比较多的外部硬件支持。
其硬件电路复杂,软件调试繁琐,制作成本高,阻碍了其使用性。
因此美国DALLAS半导体公司又推出了一款改进型智能温度传感器——DS18B20。
本设计就是用DS18B20数字温度传感器作为测温元件来设计数字温度计。
本设计所介绍的数字温度计与传统温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于测温比较准确得场所,或科研实验室使用。
该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,显示器使用LED.第2章任务与要求2.1测量范围-50~110°C,精确到0.5°C;2.2利用数字温度传感器DS18B20测量温度信号;2.3所测得温度采用数字显示,计算后在液晶显示器上显示相应得温度值;第3章方案设计及论证3.1温度检测模块的设计及论证由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。
而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。
3.2显示模块的设计及论证LED是发光二极管Light Emitting Diode 的英文缩写。
LED显示屏是由发光二极管排列组成的一显示器件。
(完整word版)基于51单片机的数字温度计的设计
《单片机原理与接口技术》课程设计题目: 数字温度计学院(系):年级专业:学号:学生姓名:指导教师:课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 基于51单片机的数字温度计的设计初始条件:1.运用所学的单片机原理与接口技术知识和数字电路知识;2.51单片机应用开发系统一套;3.PC机及相关应用软件;要求完成的主要任务:1.完成数字温度计的设计和调试。
2.要求用DS18B20测量室温,用四位八段数码管显示,并能设置显示精度.3.撰写课程设计说明书.4.课程设计说明书要求:引言、设计要求、系统结构、原理设计、各个模块的设计与实现、软件设计、调试过程、收获、体会及总结、参考文献、电路图和源程序。
说明书使用A4打印纸计算机打印或手写,用Protel等绘图软件绘制电子线路图纸。
时间安排:第1天下达课程设计任务书和日程安排,根据任务书查找资料;第2~3天完成方案论证,单片机系统的设计;第4~6天参考有关文献,完成程序的编写;第7~10天调试硬件系统和软件程序;第11~12天结果分析整理、撰写课程设计报告,验收和答辩.指导教师签名:2010 年6 月10 日系主任(或责任教师)签名:2010 年6 月10 日摘要··1一、引言··2二、总体方案设计与论证··31、方案一··32、方案二··4三、系统硬件选择··51、单片机的选择··52 89C51 引脚功能介绍:·63、温度传感器的选择··8四.硬件电路设计··101.温度检测电路··112.显示电路··12五、系统软件设计··131.概述··132.主程序流程图··133.C语言程序··14六、设计体会··20附录:参考文献··21摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
毕业设计--基于单片机的数字温度计
基于单片机的数字温度计毕业设计论文摘要:本文介绍一种基于AT89C2051单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围-55℃-~+125℃,使用4位LED模块显示,能通过键盘设置温度报警上下限。
正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C2051单片机功能和应用。
该电路设计新颖、功能强大、结构简单。
关键词:温度测量,DS18B20Abstract : The introduction of a cost-based AT89C2051 MCU a temperatur measurement circuits, the circuits used DS18B20 high-precision temperatur sensor , measuring scope -55℃-~+125℃,can use the keybordset the warning limitation, the use of four bits seven segments LED thatcan be display the current temperature. The paper focuses on providinga software and hardware system components circuit, introduced the theoryof DS18B20, the founctions and applications of AT89C2051 .This circuitdesign innovative, powerful, can be expansionary strong.Key Words: Temperatur measurement, DS18B201前言数字温度计(Digital Thermometer)简称DTM,它是采用数字化测量技术,把连续的温度值转换成不连续、离散的数字形式并加以显示的仪表。
基于单片机的液晶显示温度控制器
参考资料:8051单片机实践与应用、单片微型计算机原理及应用
备注:
学生签字:指导教师签字:
教研室主任签字:系主任签字:
年月日
应用电子与通信技术系毕业设计任务书
指导教师:职称:电话:1电子信箱:
课题名称:基于单片机的液晶显示温度控制器
主要功能:本电路可以对温度进行实时监测与控制,当温度达到设定值时进行报பைடு நூலகம்。
技术指标:
1、由液晶显示实时温度值;
2、温度值可以任意设定;
3、当温度达到设定值时,进行报警;
所涉及的基本知识:
完成课题条件:(如主要元器件、所需的设备或所用的软件等)
基于单片机AT89C51芯片DS18B20传感器的智能温度计设计(word文档良心出品)
专业课程设计报告题目:基于单片机的数字温度计设计所在学院专业班级学生姓名学生学号同组队员指导教师提交日期2012年12月13 日电气工程学院专业课程设计评阅表学生姓名学生学号同组队员专业班级题目名称基于单片机的数字温度计设计一、学生自我总结二、指导教师评定目录一、设计目的 (1)二、设计要求和设计指标 (1)三、设计内容 (1)3.1主控制电路 (2)3.1.1 晶振电路 (2)3.1.2 复位电路 (2)3.2 测温电路 (3)3.3 显示电路 (3)3.4 仿真分析 (4)四、本设计改进建议 (5)五、总结 (5)六、主要参考文献 (6)附录6一、设计目的这次基于单片机的温度计设计,加强了我对单片机的理论了解,也深入学习了单片机线路的设计和编程。
理论联系实际,通过自己对基于51芯片的单片机板设计,熟悉了各元件的识别和作用,也掌握了如何使用Protues画线路图。
还加强掌握了C语言的编程应用,学习了使用Keil对单片机编程,并通过Protues进行仿真。
通过这次实训,学到东西之余,也增强了动手能力,提高了学习的兴趣,培养了创新意识。
二、设计要求和设计指标(1) 设计一个数字温度计,实现温度的采集,范围0-100℃,误差小于0.1℃;(2)选择单片机作为主控器;(3)选择合适的温度传感器进行温度测试;(4)能把采集到的温度显示出来。
三、设计内容这次设计,我们采用了AT89C51单片机芯片,做一个采温、显示功能的数字温度计。
在测温电路上,可以采用热敏电阻(如PT100)之类的器件,利用其感温效应,然后采集不同温度下的电压或者电流,进行A/D转换,然后通过单片机的数据处理,就可以获得所测的温度。
但这种设计电路较为复杂,还涉及到A/D转换,在程序的设计上面也相应变得复杂一些。
因此这次设计不予采用。
而是选择温度传感器DS18B20,DS18B20读书较为方便,通过对温度的采集,经过单片机的处理,用四位的共阴极数码管显示温度值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的液晶温度显示器的设计[摘要]本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用液晶显示器件LCD1602和传感器DS18B20开发测温系统的过程,对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。
[关键词]AT89C51;DS18B20 ;LCD1602Based on single chip microcomputer temperature of liquid crystal display designAuthor:Zhou WeiTao(Garde11 class4 Major Communication, School of Physics and Telecommunication Engineering, Shaanxi University of Telechnology ,shaanxi hanzhong 723000)Tutor: Liu Yafeng[Abstract]This paper mainly introduces a temperature measurement system based on AT89C51, describes in detail using LCD1602 LCD display device and sensor DS18B20 temperature measurement and control system in the development process, focusing on sensor under the single chip microcomputer hardware connection, software programming and the flow diagram of each module system are analyzed in detail, especially the digital temperature sensor DS18B20 the data collection process.[Key words] AT89C51; DS18B20; LCD1602引言温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。
自然界中任何物理、化学过程都紧密地与温度相联系。
在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。
自18世纪工业革命以来,工业过程离不开温度控制。
温度控制广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等。
温度控制的精度以及不同控制对象的控制方法选择都起着至关重要的作用。
随着社会的进步和工业技术的发展,温度因素在社会生活各个方面已不容忽视。
由于许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定,在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。
在单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术条件下,我们可以基于89S51单片机,利用液晶显示器件以及DS18B20温度传感器等器件,通过温度传感器在单片机下的硬件连接,软件编程即可设计DS18B20温度传感器系统。
该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
1内容1.1课程设计题目基于DS18B20的温度传感器1.2课程设计目的通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。
1.3设计任务和要求以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为±0.5摄氏度。
温度显示采用LCD1602显示,两位整数,一位小数。
图1.1系统总体仿真图1.4方案选择与论证根据设计任务的总体要求,本系统可以划分为以下几个基本模块,针对各个模块的功能要求,分别有以下一些不同的设计方案:1.4.1温度传感模块方案一:采用热敏电阻,热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的,也不能满足测量范围。
在温度测量系统中,也常采用单片温度传感器,比如AD590,LM35等。
但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使测温系统的硬件结构较复杂。
另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
方案二:采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。
便于单片机处理及控制,节省硬件电路。
且该芯片的物理化学性很稳定,此元件线形性能好,在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度装置,它直接输出温度的数字信号到微控制器。
每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。
这样一条总线上可挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。
综上分析,我选用第二种方案。
图1.2 温度传感模块仿真图1.4.2显示模块方案一:采用8位段数码管,将单片机得到的数据通过数码管显示出来。
该方案简单易行,但所需的元件较多,且不容易进行操作,可读性差,一旦设定后很难再加入其他的功能,显示格式受限制,且大耗电量大,不宜用电池给系统供电。
方案二:采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要求,对后续的园艺通兼容性高,只需将软件作修改即可,可操作性强,也易于读数,采用RT1602两行十六个字符的显示,能同时显示其它的信息如日期、时间、星期、温度。
综上分析,我们采用了第二个方案图1.3 显示模块仿真图2系统概述2.1系统的总体设计方案采用AT89S52单片机作为控制核心对温度传感器DS18B20控制,读取温度信号并进行计算处理,并送到液晶显示器LCD1602显示。
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图2.1下所示。
图2.1 总体电路结构框图微机系统 8255PCD 显示电路DS18B202.2硬件电路设计2.2.1单片机控制模块该模块由AT89C51单片机组成在设计方面,AT89C51的EA接高电平,其外围电路提供能使之工作的晶振脉冲、复位按键,四个I/O分别接8路的单列IP座方便与外围设备连接。
当AT89C51芯片接到来自温度传感器的信号时,其内部程序将根据信号的类型进行处理,并且将处理的结果送到显示模块,发送控制信号控制各模块。
2.2.2温度传感器模块图2.2 DS18B202.2.2.1 DS18B20原理与分析DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
以下是DS18B20的特点:(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:+3.0∽+5.5 V。
(4)测温范围:-55 - +125 ℃。
固有测温分辨率为0.5 ℃。
(5)通过编程可实现9-12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
图2.3 DS18B20的测温原理2.2.2.2 DS18B20的测温原理DS18B20的测温原理如图2.3所示,图2.3低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图2.3还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在 -55 ℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。