文档库 最新最全的文档下载
当前位置:文档库 › 51单片机课程设计数字温度计报告

51单片机课程设计数字温度计报告

电子毕业设计

题目:数显温度计学院:电子信息学院班级:

学号:

指导老师:

日期:

数字温度计设计任务书

一、课程设计目的

1、加强学生理论联系实际的能力,提高学生的动手能力;

2、学会基本电子元器件的识别和检测;

3、学会应用EDA软件Proteus进行电路的设计和仿真;

4、基本掌握单片机的基本原理,并能将其应用于系统的设计。

5、通过实训,提高学生的学习兴趣,激发自主学习能力,培养创新意识。

二、设计任务

先焊制一个单片机最小系统,并以制作的单片机最小系统为核心,设计并制作一个数字式温度计应用系统。

三、设计要求具有以下功能:

(1)采用DS18B20作为温度传感器进行温度检测;

(2)对采集温度进行显示(显示温度分辨率0.1℃);

(3)采集温度数值应采用数字滤波措施,保证显示数据稳定;

(4)显示数据,无数据位必须消隐。

目录

数字温度计设计任务书 (2)

1、设计思路

(1)设计原理 (4)

(2)系统方案及总体设计框图 (4)

2、数字温度计应用系统的硬件设计

(1)单片机小系统基本组成及硬件图

(2)外围电路工作原理及系统硬件图

(3)主要芯片及其功能

3、系统软件程序的设计

软件流程框图

4、系统调试

(1)仿真器介绍

(2)调试结果及其分析

(3)系统设计电路的特点和方案的优缺点

5、课程设计心得体会

参考文献

附录程序清单及注释

一、 设计思路:

设计方案及其总体设计框图

温度计设计系统流程图

系统设计原理:

本次课程设计是基于单片机的数字温度计设计,在开始课程设计的时候我们要理解并掌握对单片机

的开发,学会使用KEIL 及Proteus 等仿真软件。根据设计任务要求选

二、数字温度计应用系统的硬件设计

1、单片机小系统的基本组成及其选择 (1)单片机 单片机选型参考 • ① AT89S51、AT89S52 :具备ISP 下载功能 ,可以使用USBASP 程序下载线或者并口下载

• ② STC89C51、STC89C52:使用串口线+MAX232烧写程序。

③AT89C51、AT89C52 :可以在最小系统板上使用,但需要另外用编程器烧写程序

本次课程设计选用AT89S52型号单片机进行操作。

AT89S52引脚图

此外,AT89S52设计和配置了振荡频率可为0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而RAM 定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP 、TQFP 和PLCC 等三 种封装形式,以适应不同产品的需求。 (4) 电源 • ①电源适配器供电:DC 座(三个管脚) •

②usb 供电:

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 )电路,片内时钟振荡器。

3、时钟

石英晶振

电路结构原理如右图所示

4、I/O口&接口

•①所有I/O用排针引出•②串行通信口:P3.0,p3.1 •③ISP:p1.6,p1.7

单片机共有4个8位双向并行I/O通道

口,每位均有自己的锁存器、输出驱动器和

输入缓冲器组成。这种结构,在数据输出时

可以锁存,及输出新的数据以前,通道口上

的原始数据不变。但对输入信息是不锁存的,

所以从外部输入的信息必须保持到取数指令

执行完为止。

2、外围电路工作原理及系统硬件图

3、主要芯片及其功能

①AT89S52

(1)AT89S52各引脚及I/O口介绍

P0口也可用做访问片外数据存储器和程序存储器时的低8位地址/数

据总线的复用口。这种情况下,P0口含上拉电阻。

在Flash编程时,P0口输入代码数据;在Flash校验时,P0口输出代码数

据。在进行编程校验时,需外接10KΩ的上拉电阻。

●P1口——8位、双向I/O口,含上拉电阻。

P1口为用户使用的通用I/O口,每个引脚可驱动4个TTL负载。当用做输

入时,每个端口首先置1。

P1.0和P1.1引脚也用做定时器2的外部计数输入(P1.0/T2)和触发器输入(P1.1/T2DX)。

在编程和校验期间,P1口可输入低字节地址。

● P2口——8位、双向I/O口,部具有上拉电阻。

P2口可用做通用I/O,可以驱动4个TTL负载。对P2口各位写入1,可作为输入。每个引脚由外部负载拉为低电平时,经由部上拉电阻向外输出电流。

在访问16位地址的外部程序存储器和数据存储器时,P2口提供高8位地址。用MOVX DPTR类指令访问外部数据存储器时,P2口为高8位地址(即PCH);用MOVX R0和MOVX R1类指令访问外部数据存储器时,P2口上的容是SFR P2的容。

在编程和校验时,P2口接收地址线的高位和一些控制信号。

P3口——8位、双向I/O口,部含有上拉电阻。

● P3口可用做通用I/O口,可驱动4个TTL负载。当用做输入熟,要先将P3口各位置如外部负载将P3口拉低,则经过上拉电阻向外输出电流。

在编程和校验时,P3口接收某些控制信号。

●——地址锁存允许/编程脉冲输入。

●——外部程序存储器读选通,低电平有效。

●——片外程序存储器访问允许。

●XTAL1和XTAL2——XTAL1是片振荡器反相放大器和时钟发生器的输入端,XTAL2是片振荡器反相放大器的输出端。

(2)AT89S52实物与仿真的区别

②DS18B20

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。DS18B20的性能特点如下:

(1)独特的单线接口仅需要一个端口引脚进行通信,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)DS18B20支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点组网测温;

(3)无须外部器件,全部传感元件及转换电路集成在形如一只三极管的集成电路;

(4)可通过数据线供电,电压围为3.0-5.5V;

(5)零待机功耗;

(6)温度以9或12位数字,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;

(7)用户可定义报警设置;

(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

(9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;

(10)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU ,同时可传送CRC 校验码,具有极强的抗干扰纠错能力

DS18B20采用3脚PR35封装或8脚SOIC 封装,其引脚排列及部结构框图如图及测温原理图如下所示:

③1602液晶显示屏 1602液晶显示流程图:

三、系统软件程序的设计(见附录): 软件流程框图: 开始

初始化1602

延时

调用子程序设置第一行显示位置与内容

调用子程序设置第二行显示位置与内容

发跳过ROM 命令

发读取温度命令

读取操作并进行校验

发DS18B20复位命令

四、系统调试:

1、仿真器的介绍:

① keil 软件的开发运用

(1)Keil C51单片机软件开发系统的整体结构

C51工具包的整体结构,uVision 与Ishell 分别是C51 for Windows 和

for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS 文件由OH51转换成标准的Hex 文件,以供调试器Keil C51是美国Keil Software 公司出品的51

系列兼容单片机C 语言软件开发系统,与汇编相比,

C 语言在功能上、结构性、可读性、可维护性上有

明显的优势,因而易学易用。Keil 提供了包括C 编

译器、宏汇编、连接器、库管理和一个功能强大的

仿真调试器等在内的完整开发方案,通过一个集成

开发环境(uVision )将这些部分组合在一起。运行

Keil 软件需要WIN98、NT 、WIN2000、WINXP 等操作

系统。如果使用C 语言编程,那么Keil 几乎就是不

二之选,即使不使用C 语言而仅用汇编语言编程,

其方便易用的集成环境、强大的软件仿真调试工具

也会令你事半功倍。 读出温度值,温度计算,处理显示,

数据刷新

发温度转换开始命令 N

主程序流程图

字节是否读完 校验是否正确 移入温度暂存器 结束

Y Y N N 读温度流程图

dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

(2)使用独立的Keil仿真器时,注意事项

●仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插

其他频率的晶振。

●仿真器上的复位按钮只复位仿真芯片,不复位目标系统。

●仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片ROM,不

能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。

②proteus软件的开发运用

(1)Protues 软件介绍

Proteus 是目前最好的模拟单片机外围器件的工具,它可以仿真51系列、AVR,PIC 等常用的MCU 及其外围电路。本文基于Proteus 6.9 和Keil uVision3 软件。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。

因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。

(2)proteus 的工作过程

运行proteus 的ISIS 程序后,进入该仿真软件的主界面。在工作前,要设置view 菜单下的捕捉对齐和system 下的颜色、图形界面大小等项目。通过工具栏中的p 命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source 菜单的Add/removesource files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。

Proteus 软件提供了30 多个元件库,数千种元件。元件涉及数字和模拟、交流和直流等。

2、系统整体调试

①调试结果

②结果分析

在运行仿真结果时通过改变温度传感器DS18B20的温度,然后调用各种子函数,可以改变液晶显示1602的第二行显示数据,说明程序编写正确。

③系统设计电路的特点和方案的优缺点

我们组设计的数字温度计系统知识运用简单的AT89S52芯片的I/O口传输功能,通过几个小的读数据、传递数据、延时子函数实现温度的读取传输功能,是比较简单,容易实现的,所以我们的系统只是实现了一些简单的功能,系统整体来说比较简易,但好像这个温度计没有多大的应用价值,所以我们后续分析觉得这个系统可以加一个温度复位系统提高AT89S52芯片的功能价值,也提高数字温度计的智能价值,还可以增加一个报警子函数,实现智能数字温度计更高的应用价值。

五、课程设计心得体会:

经过这次单片机课程设计,终于完成了我的数字温度计的设计,虽然不能做到很完美,但从心底里说,还是高兴的,毕竟这次设计把实物都做了出来,高兴之余不得不深思呀!

在本次设计的过程中,我发现很多的问题,也许是第一次进行这种系统的设计所以感觉完成这样一次小系统设计我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,举个例子,以前写的那几次,数据加减时,我用的都是BCD码,这一次,我全部用的都是16进制的数直接加减,显示处理时在用除法去删分,感觉效果比较好,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。

从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有

在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。

通过这次对数字温度计的设计与制作,让我了解了设计电路的程序,也让我了解了关于数字温度计的原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。

通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。

从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。

参考文献:

[1]wenku.baidu./view/c839ebee102de2bd9605880a.html

[2]科技教育创新中国科技信息2010 年第11 期CHINA SCIENCE AND TECHNOLOGY INFORMATION Jun.2010

附录:

程序清单及其注释:

//使用1602LCD显示DS18B20转换的温度值

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit RS = P2^6; //数据/命令选择端(H/L)

sbit LCDEN = P2^7; //使能端

void delayUs() //短延时

{

_nop_();

}

void delayMs(uint a) //长延时

{

uint i, j;

for(i = a; i > 0; i--)

for(j = 100; j > 0; j--);

}

//第一行开始地址为0x80, 第二行开始地址为0xc0; //写命令:RS=0, RW=0;

void writeComm(uchar comm)

{

RS = 0;

P1 = comm;

LCDEN = 1;

delayUs();

LCDEN = 0;

delayMs(1);

}

//写数据:RS=1, RW=00

void writeData(uchar dat)

{

RS = 1;

P1 = dat;

LCDEN = 1;

delayUs();

LCDEN = 0;

delayMs(1);

}

//初始化函数

//显示模式, 固定指令为00111000=0x38, 16*2显示, 5*7点阵,8位数据接口

//显示开/关及光标设置00001100=0x0c

//指令1: 00001DCB : D:开显示/关显示(H/L); C:显示光标/不显示(H/L), B:光标闪烁/不闪烁(H/L)

//指令2: 000001NS :

//N=1, 当读/写一个字符后地址指针加1, 且光标也加1; N=0则相反

//S=1, 当写一个字符, 整屏显示左移(N=1)或右移(N=0), 但光标不移动; S=0, 整屏不移动

void init()

{

writeComm(0x38); //显示模式

writeComm(0x0c); //开显示, 关光标

writeComm(0x06); //写字符后地址加1, 光标加1

writeComm(0x01); //清屏

}

void writeString(uchar * str, uchar length)

{

uchar i;

for(i = 0; i < length; i++)

{

writeData(str[i]);

}

}

/*****************************DS18B20*******************************/

sbit ds = P3^4;

//初始化DS18B20

//让DS18B20一段相对长时间低电平, 然后一段相对非常短时间高电平, 即可启动void dsInit()

{

//对于11.0592MHz时钟, unsigned int型的i, 作一个i++操作的时间大于为8us unsigned int i;

ds = 0;

i = 100; //拉低约800us, 符合协议要求的480us以上

while(i>0) i--;

ds = 1; //产生一个上升沿, 进入等待应答状态

i = 4;

while(i>0) i--;

}

void dsWait()

{

unsigned int i;

while(ds);

while(~ds); //检测到应答脉冲

i = 4;

while(i > 0) i--;

}

//向DS18B20读取一位数据

//读一位, 让DS18B20一小周期低电平, 然后两小周期高电平,

//之后DS18B20则会输出持续一段时间的一位数据

bit readBit()

{

unsigned int i;

bit b;

ds = 0;

i++; //延时约8us, 符合协议要求至少保持1us

ds = 1;

i++; i++; //延时约16us, 符合协议要求的至少延时15us以上

b = ds;

i = 8;

while(i>0) i--; //延时约64us, 符合读时隙不低于60us要求

return b;

}

//读取一字节数据, 通过调用readBit()来实现

unsigned char readByte()

{

unsigned int i;

unsigned char j, dat;

dat = 0;

for(i=0; i<8; i++)

{

j = readBit();

//最先读出的是最低位数据

dat = (j << 7) | (dat >> 1);

}

return dat;

}

//向DS18B20写入一字节数据

void writeByte(unsigned char dat)

{

unsigned int i;

unsigned char j;

bit b;

for(j = 0; j < 8; j++)

{

b = dat & 0x01;

dat >>= 1;//写"1", 将DQ拉低15us后, 在15us~60us将DQ拉高, 即完成写1

if(b)

{

ds = 0;

i++; i++; //拉低约16us, 符号要求15~60us

ds = 1;

i = 8; while(i>0) i--; //延时约64us, 符合写时隙不低于60us要求

}

else //写"0", 将DQ拉低60us~120us

{

ds = 0;

i = 8; while(i>0) i--; //拉低约64us, 符号要求

ds = 1;

i++; i++; //整个写0时隙过程已经超过60us, 这里就不用像写1那样, 再延时64us了

}

}

}

//向DS18B20发送温度转换命令

void sendChangeCmd()

{

dsInit(); //初始化DS18B20, 无论什么命令, 首先都要发起初始化

dsWait(); //等待DS18B20应答

delayMs(1); //延时1ms, 因为DS18B20会拉低DQ 60~240us作为应答信号writeByte(0xcc); //写入跳过序列号命令字Skip Rom

writeByte(0x44); //写入温度转换命令字Convert T

}

//向DS18B20发送读取数据命令

void sendReadCmd()

{

dsInit();

dsWait();

delayMs(1);

writeByte(0xcc); //写入跳过序列号命令字Skip Rom

writeByte(0xbe); //写入读取数据令字Read Scratchpad

}

//获取当前温度值

int getTmpValue()

{

unsigned int tmpvalue;

int value; //存放温度数值

float t;

unsigned char low, high;

sendReadCmd();

//连续读取两个字节数据

low = readByte();

high = readByte();

//将高低两个字节合成一个整形变量

//计算机中对于负数是利用补码来表示的

//若是负值, 读取出来的数值是用补码表示的, 可直接赋值给int型的value

tmpvalue = high;

tmpvalue <<= 8;

tmpvalue |= low;

value = tmpvalue;

//使用DS18B20的默认分辨率12位, 精确度为0.0625度, 即读回数据的最低位代表0.0625度

t = value * 0.0625;

//将它放大10倍, 使显示时可显示小数点后一位, 并对小数点后第二位进行4舍5入

//如t=11.0625, 进行计数后, 得到value = 111, 即11.1 度

//如t=-11.0625, 进行计数后, 得到value = -111, 即-11.1 度

value = t * 10 + (value > 0 ? 0.5 : -0.5); //大于0加0.5, 小于0减0.5

return value;

}

void display(int v)

{

unsigned char count;

unsigned char datas[] = {0, 0, 0, 0};

unsigned int tmp = abs(v);

datas[0] = tmp / 1000;

datas[1] = tmp % 1000 / 100;

datas[2] = tmp % 100 / 10;

datas[3] = tmp % 10;

writeComm(0xc0+3);

if(v < 0)

{

writeString("- ", 2);

}

else

{

writeString("+ ", 2);

}

if(datas[0] != 0)

(完整版)基于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) 二、总体方案设计与论证 (3) 1、方案一 (3) 2、方案二 (4) 三、系统硬件选择 (5)

1、单片机的选择 (5) 2 89C51 引脚功能介绍: (6) 3、温度传感器的选择 (8) 四.硬件电路设计 (10) 1.温度检测电路 (11) 2.显示电路 (12) 五、系统软件设计 (13) 1.概述 (13) 2.主程序流程图 (13) 3.C语言程

数字温度计课程设计论文

摘要 在日常生活及工农业生产中经常要检测温度,传统的方式是采用热电偶或热电阻。其硬件电路和软件调试比较复杂,制作成本较高。近年来随着科技的飞速发展,单片机的应用正不断走向深入。所以我们选用单片机作为核心部件进行逻辑控制及信号的产生,用单片机本生的优势节约成本,使电路更简单。温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。在这里介绍了一种基于STC89C51单片机的温度测量及控制系统的硬件结构以及C语言程序设计,该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。 关键词:DS18B20 STC89C51 温度测量

目录 摘要.................................................................................................................... I 第1章绪论.. (1) 1.1 课题的研究意义 (1) 1.2国内外研究现状 (1) 1.3 水平和发展趋势 (2) 第2章系统方案设计及论证 (3) 2.1 课题的基本内容 (3) 2.2 课题拟采用的研究途径和可行性分析 (3) 2.3 总体初步方案 (4) 2.4 方案分析 (4) 第3章硬件电路设计 (11) 第4章软件设计 (12) 4.1仿真与调试 (12) 4.2程序方案 (12) 第5章总结 (13) 参考文献 (14) 致谢 (15) 附录I 仿真结果 (16) 附录II 实物图 (16) 附录III 主程序 (17) 附录IV PCB仿真图 (21)

数字温度计课程设计报告

课程设计报告书 课程名称:单片机课程设计 题目:数字温度计 系别:电子工程系 专业班级:电信1103班 组员:张春良张吉晴贺凌伟田野学号:张春良:2347 张吉晴:2344 贺凌伟:2342 田野:2343 指导教师:李小武

内容摘要: 目前,单片机已经在测控领域中获得了广泛的应用,它除了可以测量电信以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。 单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM,及输入与输出接口电路,这种芯片称为:单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。 本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。 本文介绍了一个基于STC89C52单片机和数字温度传感器DS18B20的测温 系统,并用LED数码管显示温度值,易于读数。系统电路简单、操作简便,能 任意设定报警温度并可查询最近的10个温度值,系统具有可靠性高、成本低、功耗小等优点。 关键词:单片机数字温度传感器数字温度计 目录 内容摘要 (2) 1.概述 (4) 设计目的 设计原理 设计难点 设计任务与要求 (4) 设计方案与选材 (4)

基于51单片机数字温度计设计

课题:基于51单片机数字温度计设计专业:电子信息工程 班级:(1)班 学号: 姓名:峰 指导教师:周冬芹 设计日期: 成绩: 重庆大学城市科技学院电气学院

基于51单片机数字温度计设计 一、设计目的 1、掌握单片机电路的设计原理、组装与调试方法。 2、掌握LED数码显示电路的设计和使用方法。 3、掌握DS18B20温度传感器的工作原理及使用方法。 二、设计要求 1、本次单片机课程设计要求以51系列单片机为核心,以开发板为平台。 2、设计一个数字式温度计,要求使用DS18B20温度传感器测量温度。 3、经单片机处理后,要求用4位一体共阴LED数码管来设计显示电路,以显示测量的温度值。 4、另外还要求在设计中加入报警系统,如果我们所设计的系统用来监控某一设备,当设备的温度超过或低于我们所设定的温度值时,系统会产生报警。 5、要求在设计中加入上下限警报温度设置电路。 三、设计的具体实现 1数字温度计设计的方案 在做数字温度计的单片机电路中,对信号的采集电路大多都是使用传感器,这是非常容易实现的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。采集之后,通过使用51系列的单片机,可以对数据进行相应的处理,再由LED显示电路对其数据进行显示。 2系统设计框图 温度计电路设计总体设计方框图如下图所示,控制器采用单片机A T89C51,温度传感器采用DS18B20,用4位一体共阴LED数码管以串口传送数据实现温度显示。此外,还添加了报警系统,对温度实施监控。

3主控器AT89C51芯片 对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。AT89C51 以低价位单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要该器件是INTEL公司生产的MCS一5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS—51的CMOS产品。 AT8951的管脚如下图所示: A T89C51芯片管脚图 4时钟电路 80C51时钟有两种方式产生,即内部方式和外部方式。80C51中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。本次采用内部震荡电路,瓷片电容采用22PF,晶振为12MHZ。

基于51单片机的数字温度计设计

基于51单片机的数字温度计设计 一.课题选择 随着时代的发展,控制智能化,仪器小型化,功耗微量化得到广泛关注。单片机控制系统无疑在这方面起到了举足轻重的作用。单片机的应用系统设计业已成为新的技术热点,其中数字温度计就是一个典型的例子,它可广泛应用与生产生活的各个方面,具有巨大的市场前景。 二.设计目的 1.理解掌握51单片机的功能和实际应用。 2.掌握仿真开发软件的使用。 3.掌握数字式温度计电路的设计、组装与调试方法。 三.实验要求 1.以51系列单片机为核心器件,组成一个数字式温度计。 2.采用数字式温度传感器为检测器件,进行单点温度检测。 3.温度显示采用4位LED数码管显示,三位整数,一位小数。 四.设计思路 1.根据设计要求,选择STC89C51RC单片机为核心器件。 2.温度检测采用DS18B20数字式温度传感器。与单片机的接口为P 3.6引脚。 3.采用usb数据线连接充电宝供电,接电后由按钮开关控制电路供电。 硬件电路设计总体框图为图1:

五.系统的硬件构成及功能 1.主控制器 单片机STC89C51RC具有低电压供电和体积小等特点,有40个引脚,其仿真图像如下图所示: 2.显示电路 显示电路采用4位共阳LED数码管,从P3口RXD,TXD串口输出段码。LED数码管在仿真软件中如下图所示:

3.温度传感器 DS18B20是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下: 1.独特的单线接口仅需一个端口引脚进行通讯。 2.简单的多点分布应用。 3.无需外部器件。 4.可通过数据线供电。 5.零待机功耗。 6.测温范围-55~+125摄氏度。 其电路图如下图所示:

51单片机课程设计数字温度计报告

电子毕业设计 数 字 温 度 计 题目:数显温度计学院:电子信息学院班级: 学号: : 指导老师: 日期:

数字温度计设计任务书 一、课程设计目的 1、加强学生理论联系实际的能力,提高学生的动手能力; 2、学会基本电子元器件的识别和检测; 3、学会应用EDA软件Proteus进行电路的设计和仿真; 4、基本掌握单片机的基本原理,并能将其应用于系统的设计。 5、通过实训,提高学生的学习兴趣,激发自主学习能力,培养创新意识。 二、设计任务 先焊制一个单片机最小系统,并以制作的单片机最小系统为核心,设计并制作一个数字式温度计应用系统。 三、设计要求具有以下功能: (1)采用DS18B20作为温度传感器进行温度检测; (2)对采集温度进行显示(显示温度分辨率0.1℃); (3)采集温度数值应采用数字滤波措施,保证显示数据稳定; (4)显示数据,无数据位必须消隐。

目录 数字温度计设计任务书 (2) 1、设计思路 (1)设计原理 (4) (2)系统方案及总体设计框图 (4) 2、数字温度计应用系统的硬件设计 (1)单片机小系统基本组成及硬件图 (2)外围电路工作原理及系统硬件图 (3)主要芯片及其功能 3、系统软件程序的设计 软件流程框图 4、系统调试 (1)仿真器介绍 (2)调试结果及其分析 (3)系统设计电路的特点和方案的优缺点 5、课程设计心得体会 参考文献 附录程序清单及注释

一、 设计思路: 设计方案及其总体设计框图 温度计设计系统流程图 系统设计原理: 本次课程设计是基于单片机的数字温度计设计,在开始课程设计的时候我们要理解并掌握对单片机 的开发,学会使用KEIL 及Proteus 等仿真软件。根据设计任务要求选

单片机课程设计报告数字温度计

- - -.. 单片机课程设计报告 数字温度计 专业班级 姓名 时间周~周 指导教师 年月日

1 设计要求 ■根本X围-50℃-110℃ ■精度误差小于0.5℃ ■LED数码直读显示 2 扩展功能 ■实现语音报数 ■可以任意设定温度的上下限报警功能

数字温度计 摘要: 随着时代的进步和开展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比拟成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置X围内时,可以报警。 关键词:单片机,数字控制,温度计,DS18B20,STC89C51 1 引言 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否认的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向开展。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温X围广,测温准确,其输出温度采用数字显示,主要用于对测温比拟准确的场所,或科研实验室使用,该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确到达以上要求。 2总体设计方案 2.1数字温度计设计方案论证 2.1.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进展A/D转换后,就可以用单片机进展数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比拟麻烦。 2.1.2方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进展转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比拟简单,软件设计也比拟简单,故采用了方案二。 2.2方案二的总体设计框图 温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。

基于51单片机的数字温度计设计与实现

基于51单片机的数字温度计设计与实现 数字温度计是一种能够测量环境温度并将其以数字形式显示出来的仪器。它被广泛应用于各种领域,例如家庭、工业和实验室。本文将介绍基于51单片机的数字温度计的设计与实现。 首先,我们需要了解51单片机的基本知识。51单片机是一种8位微控制器,具有强大的计算和控制能力。它是目前应用最广泛的单片机之一。 接下来,我们需要选择合适的温度传感器。常用的温度传感器有热电偶、半导体温度传感器和热敏电阻等。在本设计中,我们将使用LM35半导体温度传感器。LM35具有精确度高、响应快的特点,非常适合用于数字温度计。 设计硬件电路是实现数字温度计的重要一步。电路的核心是将传感器输出的模拟电压转换成数字信号。我们可以使用ADC(模数转换器)将模拟信号转换为数字信号。51单片机的内部有一个8位ADC,可以用来实现此功能。 在编程方面,我们可以使用C语言来编写单片机的程序。使用51单片机的开发环境,如Keil C等,可以帮助我们更方便地编写程序。 算法的编写是实现数字温度计的关键。我们需要将ADC转换出的数字信号进行处理,得到具体的温度数值。这个数值可以通过一些公式来计算得出。以LM35传感器为例,根据其数据手册可以得知,输出电压与温度之间的关系为温度(℃)=(传感器输出电压-0.5)/0.01。通过这个公式,我们可以将ADC转换出的数字信号转换为实际的温度数值。 最后,我们需要将得到的温度数值以数字形式显示出来。此时,我们可以使用数码管来进行显示。51单片机具有多个IO口,可以直接驱动数码管进行数字的显示。

综上所述,基于51单片机的数字温度计的设计与实现主要包含选择温度传感器、设计硬件电路、编写单片机程序和显示温度数值这几个步骤。通过合理的硬件设计和算法编写,我们可以实现一个准确可靠的数字温度计。同时,我们也可以通过不断改进和增加功能,使其适应更多的应用场景。希望本文对您的数字温度计设计与实现提供了一些参考。

51单片机数字温度计的设计与实现

51单片机数字温度计的设计与实现 温度计是一种广泛使用的电子测量仪器,它能够通过感知温度的变化来提供精准的温度数值。本文将介绍如何使用51单片机设计并实现一款数字温度计。 一、硬件设计 1. 采集温度传感器 温度传感器是用来感知环境温度的关键器件。常见的温度传感器有DS18B20、LM35等。在本次设计中,我们选择DS18B20温度传感器。通过电路连接将温度传感器与51单片机相连,使51单片机能够读取温度传感器的数值。 2. 单片机选型与连接 选择适合的51单片机型号,并根据其引脚功能图对单片机进行合理的引脚连接。确保温度传感器与单片机之间的数据传输通畅,同时保证电源和地线的正确连接。 3. 显示模块选型与连接 选择合适的数字显示模块,如数码管、液晶显示屏等。将显示模块与51单片机相连,使温度数值能够通过显示模块展示出来。 4. 电源供应 为电路提供稳定的电源,保证整个系统的正常运行。选择合适的电源模块,并根据其规格连接电路。 二、软件设计 1. 温度传感器读取程序

编写程序代码,使用单片机GPIO口将温度传感器与单片机连接,并通过相应 的通信协议读取温度数值。例如,DS18B20采用一线制通信协议,需要使用单总 线协议来读取温度数值。 2. 数字显示模块驱动程序 编写程序代码,通过单片机的GPIO口控制数字显示模块的数码管或液晶显示 屏进行温度数值显示。根据显示模块的规格,编写合适的驱动程序。 3. 温度转换算法 将温度传感器读取到的模拟数值转换为实际温度数值。以DS18B20为例,它 输出的温度数值是一个16位带符号的数,需要进行相应的转换操作才能得到实际 的温度数值。 4. 系统控制程序 整合以上各部分代码,编写系统控制程序。该程序通过循环读取温度数值并进 行数据处理,然后将处理后的数据送到数字显示模块进行实时显示。 三、实现步骤 1. 硬件连接 按照前文所述的硬件设计,将温度传感器、51单片机和数字显示模块进行正确的连接。确保连接无误,并进行必要的电源接入。 2. 编写驱动程序 根据硬件选型,编写温度传感器和数字显示模块的驱动程序。通过该驱动程序,使得单片机能够与温度传感器进行通信,并控制数字显示模块进行温度数值的显示。 3. 温度转换算法

基于单片机的带温度显示的数字钟设计(c51语言编程)

基于单片机的带温度显示的数字钟设计(c51语言编程)开题报告 电气工程及其自动化 一、课题研究意义及现状 1980年因特尔公司推出了MCS-51单片机,近30年来,其衍生系列 不断出现,从Atmel加入FLASH ROM,到philips加入各种外设,再到后 来的Cygnal推出C8051F,使得以8051为核心的单片机在各个发展阶段 的低端产品应用中始终扮演着一个重要的角色,其地位不断升高,资源越 来越丰富,历经30年仍在生机勃勃地发展,甚至在SoC时代仍占有重要 的一席之地。 单片机具有体积小、功能强、低功耗、可靠性高、价格低廉等一系列 优点,不仅已成为工业测控领域智能仪表、机电一体化、实时控制、国防 工业普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个 角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 C语言已经成为当前举世公认的高效简洁而又贴近硬件的编程语言之一、将C语言向单片机8051上移植十余20世纪80年代的中后期,经过 几十年的努力,C语言已成为专业化单片机上的实用高级语言。C语言是 一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语 言的功能。此外,C语言程序具有完善的模块程序结构,从而为软件开发 中采用模块化程序设计方法提供了有力的保障。 与汇编语言相比,C51在功能、结构、可读性、可维护性上有明显的 优势,因而易学易用。另外C51可以缩短开发周期,降低成本,可靠性,

可移植性好。因此,使用C语言进行程序设计已成为软件开发的一个主流,用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。 随着人们生活水平的提高,对物质需求也越来越高,人们已不再满足 于钟表原先简单的报时功能,希望出现一些新的功能,诸如环境温度显示、日历的显示、重要日期倒计时、显示跑表功能等,用以带来更大的方便。 而所有这些,又都是以数字化的电子时钟为基础的,不仅应用了数字电路 技术,而且还加入了需要模拟电路技术和单片机技术。其电路可以由时钟 模块、人机接口模块、环境温度检测模块等部分组成。比机械式时钟具有 更高的直观性和准确性,调节起来方便,且无机械装置,能够使用更长时间,并且方便维护保养,因此得到了广泛的使用。数字钟已成为人们日常 生活中必不可少的物品,广泛用于个人家庭以及车站、码头、剧院、办公 室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。因此,研究实用数字钟及其扩展应用,具有很大的实用价值。二、课题研究的主 要内容和预期目标 学习51单片机的基础知识熟悉其基本模块的使用、使用HD7279驱动LED数码管显示、键盘扫描和16位键盘的输入、以及温度传感器DS18B20 的温度采集等。利用C51编程实现一个带温度计的 数字钟。 1)设计目标 熟悉单片机基础知识,了解51单片机的基本功能以及温度传感器 DS18B20的使用,熟悉开发板的特征,设计并利用C51进行编程实现要求 的功能,为将来从事单片机开发、和产品制造打下基础。 2)本设计的主要内容如下:

51单片机数字温度计设计与应用

51单片机数字温度计设计与应用 数字温度计在现代生活中有着广泛的应用,它能够将环境温度转换为数字信号,提供直观、准确的温度数据。本文将介绍基于51单片机的数字温度计的设计与应用。 设计思路: 1. 硬件设计 首先,我们需要选取一个合适的温度传感器,例如DS18B20。该传感器具有高精度、数字输出、带有内部校准和非易失性存储器等特点,非常适合作为数字温度计的传感器。 其次,我们需要引入一个51单片机,常用的有AT89C51、AT89S52等。单片 机负责控制传感器和显示器,并处理温度数据。 接下来,我们需要一个LED数码管或液晶显示屏作为温度显示器。数码管简 单且易于操作,而液晶显示屏可以提供更多的信息显示。 最后,我们还需添加一些辅助电路,如稳压电路、时钟电路等,以确保正常的 运行。 2. 软件设计 在单片机的程序设计方面,我们需要考虑以下几个步骤: (1)初始化各个引脚和外部设备,如温度传感器和显示屏。 (2)读取温度传感器输出的数字信号,通过数据线将其与单片机相连。 (3)通过一系列算法将数字信号转换为实际的温度值。因为DS18B20传感器 提供数字输出,所以支持该类算法的编程非常简单。

(4)将计算得到的温度值通过数码管或液晶显示屏进行显示。如果是数码管,可以通过数码管驱动芯片来实现多位数的显示。 (5)可选的增加报警功能,当温度超过一定阈值时,触发报警。 应用场景: 数字温度计可以在许多场景中应用,下面介绍几个常见的应用场景: 1. 家庭温度监测 在家庭中,我们可以将数字温度计放置在客厅、卧室等常用区域,用于监测室 内温度。通过数字温度计,我们可以实时了解室内的温度状况,根据需要进行调节,提供舒适的生活环境。 2. 温室控制 在温室种植中,保持适宜的温度对于植物的生长至关重要。数字温度计可以帮 助种植者实时监测温室内的温度,并及时采取相应的措施,维持温室内的温度在适宜的范围内。 3. 实验室温度监测 实验室需要严格控制温度,以确保实验的准确性和稳定性。数字温度计可以在 实验室中进行温度监测,帮助实验人员调节温度,提供稳定的实验环境。 总结: 通过51单片机的设计和应用,我们可以实现数字温度计的功能。无论是家庭 温度监测、温室控制还是实验室温度监测,数字温度计都能提供准确的温度数据,并方便人们进行相应的调节和控制。随着技术的不断发展,数字温度计将在更多的领域中得到应用。

电子设计综合实训报告---红外数字体温计设计及制作

红外数字体温计设计及制作 1、设计任务 本课题针对目前国内外红外测温仪的现状,在查阅了大量文献的基础上,以智能红外测技术作为参考,提出并设计了一种基于51单片机的智能红外测温仪。红外测温为测量人体温度提供了快速、非接触测量手段,可广泛、有效地用于密集人群的体温测量。非接触红外测温计针对特定人群,比如儿童或老人,极其方便。且利用单片机技术开发的语音功能便可克服传统体温计的许多缺陷。它不但可以以数字的方式显示出测量结果,使测量过程变得直观,而且可以根据需要以语音播报出当前的温度值,除此之外,语音体温计还具有较高的灵敏度,可以在几秒钟内测得结果,且寿命长,是较为理想的测温仪器。(1)电源开关,电源指示灯,工作指示灯,复位开关,设置报警上下限。(2)红外温度检测传感器,信号要传送到控制器,同时显示体温(3)当体温超过标准时,灯光闪烁,蜂鸣器轰鸣,语音提示体温。(4)误差要求: 0.2OC,量程20-50OC 2、设计方案 以STC89C52单片机为核心控制芯片,采用电路、模块结合化设计。本设计主要分为:红外测温模块、报警电路和显示电路。同时,本设计还增加智能温度报警等功能。红外测温模块主要用来测量人体体温,并通过液晶显示屏显示其温度,当人体体温高于正常温度时进行指示灯报警;此功能主要目的是在流行病多发季节,提醒人们适当减少出行,避免交叉感染。信号处理单元主要分为:高精度放大器、A/D转换电路、译码显示电路与报警电路。高频振荡器、振荡检测器电路、音频振荡器电路和功率放大器电路等部分构成。 2.1设计框图 本设计以STC89C52单片机为核心控制器,加上其他的模块一起组成非接触人体红外测温的整个系统,其中包含中控部分、输入部分和输出部分。中控部分采用了STC89C52单片机,其主要作用是获取输入部分数据,经过内部处理,控制输出部分。 输入由三部分组成,第一部分是MLX90614红外测温模块,通过该模块可检测当前的人体温度;第二部分是独立按键,通过三个独立按键切换界面和设置人体温度的上下限值;第

基于51单片机的数字温度计设计

基于51单片机的数字温度计设计 数字温度计是一种广泛使用的电子测量设备,通过传感器将温度转化为数字信号,并显示出来。本文将介绍基于51单片机的数字温度计的设计。该设计将使得 使用者能够准确、方便地测量温度,并实时显示在液晶显示屏上。 1. 硬件设计: - 传感器选择:在设计数字温度计时,我们可以选择使用NTC(负温度系数)热敏电阻或者DS18B20数字温度传感器作为温度传感器。这里我们选择DS18B20。 - 信号转换:DS18B20传感器是一种数字传感器,需要通过单总线协议与51 单片机进行通信。因此,我们需要使用DS18B20专用的驱动电路,将模拟信号转 换为数字信号。 - 51单片机的选择:根据设计要求选择合适的51单片机,如STC89C52、 AT89S52等型号。单片机应具备足够的IO口来与传感器和液晶显示屏进行通信, 并具备足够的计算和存储能力。 - 显示屏选择:为了实时显示温度,我们可以选择使用1602型字符液晶显示屏。该显示屏能够显示2行16个字符,足够满足我们的需求。通过与51单片机的IO口连接,我们可以将温度数据显示在屏幕上。 2. 软件设计: - 采集温度数据:通过51单片机与DS18B20传感器进行通信,采集传感器传输的数字温度数据。通过解析传感器发送的数据,我们可以获得当前的温度数值。 - 数据处理:获得温度数据后,我们需要对其进行处理。例如,可以进行单 位转换,从摄氏度到华氏度或者开尔文度。同时,根据用户需求,我们还可以对数据进行滤波、校准等处理。

- 显示数据:通过与液晶显示屏的连接,我们可以将温度数据显示在屏幕上。可以使用51单片机内部的LCD模块库来控制液晶显示屏,显示温度数据以及相应的单位信息。 - 用户交互:可以设置一些按键,通过与51单片机的IO口连接,来实现用 户与数字温度计的交互。例如,可以设置一个按钮来进行温度单位的切换,或者设置一个按钮来启动数据保存等功能。 3. 功能拓展: - 数据存储:除了实时显示当前温度,我们还可以考虑增加数据存储功能。 通过添加SD卡模块,可以实现将温度数据保存到SD卡中,供用户后续查看或分 析使用。 - 报警功能:根据用户需求,我们可以增加报警功能。当温度达到某个设定 的阈值时,数字温度计可以通过发出声音、闪烁等方式提醒用户当前温度过高或过低。 - 串口通信:通过添加串口模块,将温度数据发送给上位机,实现与其他设 备或系统的数据交互。这样可以方便地进行数据记录、分析或远程监测等功能。 总结: 基于51单片机的数字温度计设计需要考虑硬件设计和软件设计两个方面。硬 件设计包括选择合适的传感器、信号转换电路、51单片机和液晶显示屏。软件设 计包括采集温度数据、数据处理、数据显示和用户交互等。同时,还可以根据需求拓展其他功能,如数据存储、报警功能和串口通信等。通过这样的设计,我们可以实现一个准确、方便的数字温度计,满足用户的温度测量需求。

基于51单片机数字温度计课程设计报告书

单片机原理与应用课程设计题目基于单片机的数字温度计

《单片机原理与应用课程设计》任务书

2.对课程设计成果的要求〔包括图表(或实物)等硬件要求〕: ①设计电路,安装调试或仿真,分析实验结果; ②并写出设计说明书,语言流畅简洁,文字不得少于3500字; ③使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。 3.主要参考文献: [1]《单片机基础实用教程》.念东.中国地质大学. 2005 [2]《数字电路与数字电子技术》. 岳怡. 西北工业大学. 2004 [3]《单片级高级语言C51应用程序设计》. 徐爱钧.电子工业. 2001 4.课程设计工作进度计划: 序号起迄日期工作容 方案设计 1 12.15-12.16 电路设计 2 12.17-12.18 软件设计 3 12.19-12.21 软件联调 4 12.22-12.23 系统仿真 5 12.24-12.25 完成报告 6 12.26-12.28 主指导教师日期: 2013年 12月 28日

目录 1.绪论 (1) 2.设计目的 (1) 3.设计正文 (1) 4.系统各模块介绍2 4.1 AT89C52芯片介绍 (2) 4.2温度检测电路设计 (6) 4.3显示电路 (8) 5.系统软件设计 (9) 5.1主程序流程图 (9) 5.2 温度检测数据读取图 (10) 6.编程与仿真 (11) 6.1 Keil软件 (11) 6.2 仿真软件Proteus (11) 6.3仿真界面 (12) 7.结论 (13) 参考文献 (13) 附录 (14)

51单片机温度计

目前,单片机已经广泛应用于测控领域。它不仅可以测量电信,还可以测量温度、湿度等非电信号。可独 立工作的单片机温度检测与控制系统已广泛应用于许多领域。 单片机是一种特殊的计算机,它将CPU、存储器、RAM、ROM和输入输出接口电路集成在一块半导体芯片上。这个芯片叫单片机。单片机由于集成度高、功能强、通用性好,具有体积小、重量轻、能耗低、价格低、 抗干扰能力强、可仿制等优点。得到了迅速的推广和应用,现已成为测控系统中的优秀机型和新型电子产 品中的关键元器件。单片机不仅仅局限于小系统的概念,还广泛应用于家用电器、机电产品、办公自动化 产品、机器人、儿童玩具、航天器等领域。 这次我们的模拟电气设计是用单片机来控制温度。传统的温度传感器大多采用热敏电阻作为温度传感器, 但热敏电阻的可靠性差,测温精度低,必须通过专门的接口电路转换成数字信号,才能由单片机进行处理。这次我和同学陆鲁豫用的是DS18B。 20数字温度传感器实现基于51单片机的温度计设计。 传统温度计存在反射速度慢、读数麻烦、测量精度低、误差大等缺点。利用集成温度传感器DS18B20,设 计并制作了一种基于AT89C51的4位数码管数字温度计。其电路简单,软硬件结构模块化,易于实现。 数字温度计是利用温度传感器和接口电路测量温度并转换成模拟电压信号,通过模数转换器转换成单片机 可以处理的数字信号,然后送到单片机进行处理和转换,最后在数码管上显示温度值。该系统由单片机为 控制核心,DS18B20温度传感器,带4位温度数据显示的共阴极数码管,外围电源和报警电路组成。 2.设计任务和要求 2.1设计任务 在现代生活中,多功能数字体温计可以给我们的生活带来极大的便利。支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本。以美国MA*IM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,ATMEL公司的AT89S52位控制器设计的AT89S51为智能温度控制器,结构简单,测温准确,具有一定的控制功能。 在本设计中,温度由单片机控制。传统的温度检测大多采用热敏电阻作为温度传感器,但热敏电阻可靠性差,测温精度低,必须通过专用的接口电路转换成数字信号,才能由单片机进行处理。这次是用DS18B20温度传感器来实现基于51单片机的数字温度计的设计。 数字温度计利用DS18B20温度传感器及其接口电路测量温度并转换成模拟电压信号,通过数模转换器转换成单片机可以处理的数字信号,送入单片机进行处理和转换,最后通过三极管放大显示在共阴极数码管上。该系统由51单片机为控制核心,温度测量电路,AD数模转换器,4位温度数据显示数码管和外围电源时钟电路组成。 2.2设计要求 $ 5V电源(+-0.3V)用于给温度计供电; $ DS18B20温度传感器用于温度采集;数字温度计要求温度范围为-5 ~ 35℃,精度误差在0.1℃以内。 4位数字共阴极数码管显示器; $3个按钮,分别是复位按钮、温度上限设定按钮、温度下限设定按钮; 设计温度显示仪表的电路图(包括报警功能),并用相关软件进行仿真演示; 论证成功后,设计并绘制软件流程图,用C语言编写程序; 准备元器件和材料,根据电路图焊接电路,调试; 分析讨论,总结经验,优化成果,撰写报告;

51单片机数字温度计的设计与实现方法论

51单片机数字温度计的设计与实现方法论 1.引言 温度计是一种常见的电子设备,用于测量温度并将其转化为数字显示。本文将介绍在51单片机上设计与实现数字温度计的方法论。 2.硬件设计 2.1 温度传感器选择 温度传感器是数字温度计的核心组件,常用的温度传感器有热敏电阻、热敏电容和数字温度传感器等。需要根据实际需求选择合适的温度传感器,并根据其特性调整硬件设计。 2.2 温度传感器接口电路设计 温度传感器需要与51单片机进行通信,因此需要设计相应的接口电路来连接传感器与单片机。根据传感器的通信协议选择合适的接口设计方案,例如I2C、SPI等。 2.3 数字显示模块选型 数字温度计需要将测量到的温度以数字形式显示出来,因此需要选择合适的数码管、液晶显示屏或其他数字显示模块。根据实际需求选择合适的显示模块,并考虑与51单片机的接口兼容性。 3.软件设计 3.1 接口通信协议 根据温度传感器的通信协议选择合适的接口设计方案,并在软件中实现相应的协议处理算法。其中包括数据传输的初始化、发送和接收等功能。

3.2 温度测量与转换算法 根据选用的温度传感器,编写软件算法将传感器采集到的模拟温度值转换为数字温度值。具体算法根据传感器的特性来设计,可能需要使用模拟转数字转换技术、纠偏算法等。 3.3 数字温度值显示算法 编写显示算法,在数码管、液晶屏或其他数字显示模块上将转换后的数字温度值进行显示。可以根据具体需求设计温度的显示格式和精度。 4.系统实现 4.1 硬件连接 根据硬件设计的要求,按照相应的电路连接方式将温度传感器、51单片机和数字显示模块进行硬件连接。 4.2 软件编程 利用汇编语言或高级编程语言(如C语言)编写相应的软件程序,分别实现接口通信、温度测量与转换、数字温度值显示等功能。 4.3 调试与测试 对整个系统进行调试和测试,确保温度传感器能够准确采集温度、转换算法正确运行并实现数字温度值的显示等功能。 5.总结 本文介绍了51单片机数字温度计的设计与实现方法论。首先需要根据实际需求选择合适的温度传感器,并设计相应的硬件接口电路。在软件设计方面,需要考虑接口通信协议的选择和实现、温度测量与转换算法的编写、数字温度值的显示算

基于51单片机数字温度计的设计与实现

基于51单片机数字温度计的设计与实现 数字温度计是一种能够测量环境温度并显示数值的设备。基于51单片机的数 字温度计设计与实现是指利用51单片机作为核心,结合温度传感器和其他辅助电路,实现一个能够测量温度并通过数码管显示温度数值的系统。本文将从硬件设计和软件实现两个方面介绍基于51单片机数字温度计的具体设计与实现过程。 一、硬件设计 1. 温度传感器选取 在设计数字温度计时,首先需要选取合适的温度传感器。市面上常用的温度传 感器有热敏电阻、功率型温度传感器(如PT100)、数字温度传感器(如 DS18B20)等。根据设计需求和成本考虑,我们选择使用DS18B20数字温度传感器。 2. 电路设计 基于51单片机的数字温度计的电路设计主要包括单片机与温度传感器的连接、数码管显示电路和电源电路。 (1)单片机与温度传感器的连接 在电路中将51单片机与DS18B20数字温度传感器相连接,可采用一线总线的 方式。通过引脚的连接,实现单片机对温度传感器的读取控制。 (2)数码管显示电路 为了能够显示温度数值,我们需要设计一个数码管显示电路。根据温度传感器 测得的温度值,通过数字转换和数码管驱动,将温度数值显示在数码管上。 (3)电源电路

电源电路采用稳压电源设计,保证整个系统的稳定供电。根据实际需求选择合 适的电源电压,并添加滤波电容和稳压芯片,以稳定电源输出。 3. PCB设计 根据电路设计的原理图,进行PCB设计。根据电路元件的布局和连线的走向,绘制PCB板的线路、元件和连接之间。 二、软件实现 1. 单片机的编程语言选择 对于基于51单片机的数字温度计的软件实现,我们可以选择汇编语言或者C 语言进行编程。汇编语言的效率高,但编写难度大;C语言的可读性好,开发效率高。根据实际情况,我们选择使用C语言进行编程。 2. 温度传感器数据获取 利用单片机的IO口与温度传感器相连,通过一线总线协议进行数据的读取。 根据温度传感器的通信规则,编写相应的代码实现数据的读取。 3. 数据处理与数码管显示 获取到温度数据后,需要进行相应的数据处理,以便将温度数值显示在数码管上。根据具体的需求,可以进行温度单位的转换、小数点的处理等。 将处理过的温度数值通过数码管驱动代码进行显示。数码管可以使用多路数码 管驱动芯片,通过操作相应的IO口和数码管的共阳共阴引脚,实现数值的显示。 4. 系统完善 在软件实现的过程中,还需添加一些功能来完善系统的性能,例如实现温度报警、温度数据的存储等。根据具体需求进行功能的设计和实现。

51单片机温度传感器课程设计报告书

. . . . 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中温度传感器就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的温度传感器与传统的温度计相比,具有读数方便,测温围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机STC89S52,测温传感器使用DS18B20,用LCD实现温度显示,能准确达到以上要求。 随着时代的进步和发展,单片机技术已经普与到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的温度传感器。 关键词:单片机,数字控制,温度传感器 1. 温度传感器设计容 1.1传感器三个发展阶段 一是模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等特点,适合远距离测温、控温,不需要进行非线性校准,且外围电路简单。它是目前在国外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。 二是模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以与固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别。 三是智能温度传感器。智能温度传感器部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器 1 / 19

相关文档
相关文档 最新文档