搜档网
当前位置:搜档网 › 基于PIC16F877A单片机的温度,时间显示

基于PIC16F877A单片机的温度,时间显示

基于PIC16F877A单片机的温度,时间显示
基于PIC16F877A单片机的温度,时间显示

基于PIC16F877A单片机的温度,时间显示以及闹钟设置,硬件和软件配备

一,硬件图

#include

__CONFIG(0x3B31);

#define rs RD0

#define rw RD1

#define en RD2

#define BEEP RD3 #define s1 RA0

#define s2 RA1

#define s3 RA2

#define s4 RA3

#define uint unsigned int

#define uchar unsigned char

signed char set_time[7]={0,58,23,6,1,5,12};//秒分时星期日月年signed char read_time[7]={0,0,0,0,0,0,0};

signed char shi=7,fen=15,alarm_time=1,reapeat_fen=2,cent;//闹钟时,闹钟分,闹铃响分钟,闹铃响间隔

uchar s1_num,s2_num;

const uchar alarm[]={"ALARM TIME:"};

const uchar mode[]={"MODE:"};

const uchar rpt[]={"RPT:"};

const uchar min[]={"min"};

void PORT_INIT()

{

TRISA=0xff;//A口设置为输入

ADCON1=0x06;//RA口上电复位为模拟输入口

TRISC3=1;//SCL和SDA设置为输入

TRISC4=1;

TRISD=0x00;//D口设置为输出}

void IIC_INIT()

{

SSPCON=0x28;

STAT_SMP=0;

SSPADD=4;

}

void delayms(uint z)//延时函数{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void delayus(uint k)

{

while(k--);

}

void write_byte_low(uchar R1,uchar flag0)//写一个字节的低4位,flag0为指令/数据选择位

{ //,0为写指令,1为写数据uchar low;

rs=flag0;

low=R1&0x0f;

low=low<<4;

PORTD&=0x0f;NOP();

PORTD|=low;NOP();//写指令的低4位

en=1;delayus(20);en=0;

}

void lcd_write(uchar dat,uchar flag1)//写指令/数据到1602

{

uchar dat_high,dat_low;

dat_high=dat>>4;

write_byte_low(dat_high,flag1);

dat_low=dat&0x0f;

write_byte_low(dat_low,flag1);

NOP();

}

void write_string(uchar address,uchar const *str)//往指定的地址写字符串

{

uchar i=0;

lcd_write(address,0);

while(str[i]!='\0')

{

lcd_write(str[i],1);

delayus(5);

i++;

}

}

void LCD_INIT()//初始化函数

{

rw=0;

en=0;

delayms(20);

write_byte_low(0b0011,0);

delayms(1);

write_byte_low(0b0011,0);

delayus(10);

write_byte_low(0b0011,0);

delayus(10);

write_byte_low(0b0010,0);

delayms(1);

lcd_write(0x28,0);

delayms(5);

lcd_write(0x0c,0);

delayms(5);

lcd_write(0x01,0);

delayms(5);

lcd_write(0x06,0);

delayms(5);

}

void naoling()

{

uchar i;

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

{

BEEP=1;

delayus(5);

BEEP=0;

delayus(5);

}

}

void IIC_SEND(uchar num)

{

SSPBUF=num;

while(STAT_RW==1);//等待发送结束while(SSPIF==0);

while(ACKSTAT==1);//等待应答

}

signed char read_temp()//读温度

{

signed char temp;

SEN=1;

while(SEN==1);

IIC_SEND(0b10011010);

IIC_SEND(0);

RSEN=1;

while(RSEN==1);

IIC_SEND(0b10011011);

RCEN=1;

while(RCEN==1);

// SSPIF=0;

// while(SSPIF==0);//等待接收结束temp=SSPBUF;

PEN=1;

while(PEN==1);

return temp;

}

void dispose()//BCD数据处理

{

uchar i,temp1,temp2;

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

{

temp1=set_time[i]/10;

temp2=set_time[i]%10;

set_time[i]=temp1*16+temp2;

}

}

void time_csh()//时间初始化

{

uchar i;

dispose();

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

{

SEN=1;//起始信号

while(SEN==1);//检测起始信号是否已完成

IIC_SEND(0xd0);

IIC_SEND(i);

IIC_SEND(set_time[i]);

PEN=1;//停止信号

while(PEN==1);

}

}

void read_ds1307()//读时间

{

uchar k;

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

{

SEN=1;//起始信号

while(SEN==1);

IIC_SEND(0xd0);

IIC_SEND(k);

PEN=1;//停止信号

while(PEN==1);

RSEN=1;//重新启动

while(RSEN==1);

IIC_SEND(0xd1);

SSPIF=0;

RCEN=1;

while(SSPIF==0);//等待接收结束

read_time[k-1]=SSPBUF;

NOP();

NOP();

PEN=1;//停止信号

while(PEN==1);

}

}

void display_time()

{

lcd_write(0x80,0);

lcd_write(0x32,1);

lcd_write(0x30,1);

lcd_write(0x30+read_time[6]/16,1);//年

lcd_write(0x30+read_time[6]%16,1);

lcd_write('-',1);

lcd_write(0x30+read_time[5]/16,1);//月

lcd_write(0x30+read_time[5]%16,1);

lcd_write('-',1);

lcd_write(0x30+read_time[4]/16,1);//日

lcd_write(0x30+read_time[4]%16,1);

lcd_write(0x80+0x0d,0);

switch(read_time[3])

{

case 1:lcd_write('M',1);lcd_write('O',1);lcd_write('N',1);break;

case 2:lcd_write('T',1);lcd_write('U',1);lcd_write('E',1);break;

case 3:lcd_write('W',1);lcd_write('E',1);lcd_write('D',1);break;

case 4:lcd_write('T',1);lcd_write('H',1);lcd_write('U',1);break;

case 5:lcd_write('F',1);lcd_write('R',1);lcd_write('I',1);break;

case 6:lcd_write('S',1);lcd_write('A',1);lcd_write('T',1);break;

case 7:lcd_write('S',1);lcd_write('U',1);lcd_write('N',1);break;

lcd_write(0x80+0x40,0);

lcd_write(0x30+read_time[2]/16,1);//时

lcd_write(0x30+read_time[2]%16,1);

lcd_write(':',1);

lcd_write(0x30+read_time[1]/16,1); //分

lcd_write(0x30+read_time[1]%16,1);

lcd_write(':',1);

lcd_write(0x30+read_time[0]/16,1); //秒

lcd_write(0x30+read_time[0]%16,1);

NOP();

NOP();

cent=read_temp();

lcd_write(0x80+0x4b,0);

lcd_write(0x30+cent/10,1);

lcd_write(0x30+cent%10,1);

lcd_write(0xdf,1);

lcd_write('C',1);

if((shi==(read_time[2]/16*10+read_time[2]%16))&&(fen<=(read_ti me[1]/16*10+read_time[1]%16))&&((read_time[1]/16*10+read_time[1] %16)<(fen+alarm_time)))

naoling();

}

if((shi==(read_time[2]/16*10+read_time[2]%16))&&(fen+reapeat_fe n<=(read_time[1]/16*10+read_time[1]%16))&&((read_time[1]/16*10+re ad_time[1]%16)<(fen+alarm_time+reapeat_fen)))

{

naoling();

}

if((shi==(read_time[2]/16*10+read_time[2]%16))&&(fen+2*reapeat _fen<=(read_time[1]/16*10+read_time[1]%16))&&((read_time[1]/16*10 +read_time[1]%16)<(fen+alarm_time+2*reapeat_fen)))

{

naoling();

}

if((shi==(read_time[2]/16*10+read_time[2]%16))&&(fen+3*reapeat _fen<=(read_time[1]/16*10+read_time[1]%16))&&((read_time[1]/16*10 +read_time[1]%16)<(fen+alarm_time+3*reapeat_fen)))

{

naoling();

}

if((shi==(read_time[2]/16*10+read_time[2]%16))&&(fen+4*reapeat

_fen<=(read_time[1]/16*10+read_time[1]%16))&&((read_time[1]/16*10 +read_time[1]%16)<(fen+alarm_time+4*reapeat_fen)))

{

naoling();

}

}

void setting_time()

{

uchar l,s2_value,setting_flag;

if(s2==0)

{

delayms(10);

if(s2==0)

{

s2_value++;

setting_flag = 1;

while(s2==0);//松手检测

for(l=0;l<7;l++)//存储当前时间数据//年星期月日时分秒

{

set_time[l]=read_time[l]/16*10+read_time[l]%16;

}

while(setting_flag)

{

if(s2==0)

{

delayms(5);

if(s2==0)

{

s2_value++;

while(s2==0);//松手检测

}

}

if(s2_value==1)

{

lcd_write(0x83,0);//指向年份

lcd_write(0x0f,0);//显示游标并闪烁

if(s3==0)

{

delayms(5);

if(s3==0)

{

set_time[6]++;

if(set_time[6]==100)

{

set_time[6]=0;

}

lcd_write(0x82,0);

lcd_write(0x30+set_time[6]/10,1);

lcd_write(0x30+set_time[6]%10,1);

lcd_write(0x83,0);//指向年份

while(s3==0);

}

}

if(s4==0)

{

delayms(5);

{

set_time[6]--;

if(set_time[6]==-1)

{

set_time[6]=99;

}

lcd_write(0x82,0);

lcd_write(0x30+set_time[6]/10,1);

lcd_write(0x30+set_time[6]%10,1);

lcd_write(0x83,0);//指向年份

while(s4==0);

}

}

}

if(s2_value==2)

{

lcd_write(0x86,0);//指向月份

if(s3==0)

{

delayms(5);

{

set_time[5]++;

if(set_time[5]==13)

{

set_time[5]=1;

}

lcd_write(0x85,0);

lcd_write(0x30+set_time[5]/10,1);

lcd_write(0x30+set_time[5]%10,1);

lcd_write(0x86,0);//指向月份

while(s3==0);

}

}

if(s4==0)

{

delayms(5);

if(s4==0)

{

set_time[5]--;

基于单片机的温度测量系统设计

基于STC单片机的温度测量系统的研究 摘要:本文针对现有温度测量方法线性度、灵敏度、抗振动性能较差的不足,提出了一种基于STC单片机,采用Pt1000温度传感器,通过间接测量铂热电阻阻值来实现温度测量的方案。重点介绍了,铂热电阻测量温度的原理,基于STC实现铂热电阻阻值测量,牛顿迭代法计算温度,给出了部分硬件、软件的设计方法。实验验证,该系统测量精度高,线性好,具有较强的实时性和可靠性,具有一定的工程价值。 关键词:STC单片机、Pt1000温度传感器、温度测量、铂热电阻阻值、牛顿迭代法。 Study of Temperature Measurement System based on STC single chip computer Zhang Yapeng,Wang Xiangting,Xu Enchun,Wei Maolin Abstract:A method to achieve temperature Measurement by the Indirect Measurement the resistance of platinum thermistor is proposed. It is realized by the single chip computer STC with Pt1000temperature sensor.The shortcomings of available methods whose Linearity, Sensitivity, and vibration resistance are worse are overcame by the proposed method. This paper emphasizes on the following aspects:the principle of temperature measurement by using platinum thermistor , the measurement of platinum thermistor’s resistance based on STC single chip computer, the calculating temperature by Newton Iteration Method. Parts of hardware and software are given. The experimental results demonstrate that the precision and linearity of the method is superior. It is also superior in real-time character and reliability and has a certain value in engineering application. Keywords: STC single chip computer,Pt1000temperature sensor,platinum thermistor’s resistance,Newton Iteration Method 0 引言 精密化学、生物医药、精细化工、精密仪器等领域对温度控制精度的要求极高,而温度控制的核心正是温度测量。 目前在国内,应用最广泛的测温方法有热电偶测温、集成式温度传感器、热敏电阻测温、铂热电阻测温四种方法。 (1) 热电偶的温度测量范围较广,结构简单,但是它的电动势小,灵敏度较差,误差较大,实际使用时必须加冷端补偿,使用不方便。 (2) 集成式温度传感器是新一代的温度传感器,具有体积小、重量轻、线性度好、性能稳定等优点,适于远距离测量和传输。但由于价格相对较为昂贵,在国内测温领域的应用还不是很广泛。 (3) 热敏电阻具有灵敏度高、功耗低、价格低廉等优点,但其阻值与温度变化成非线性关系,在测量精度较高的场合必须进行非线性处理,给计算带来不便,此外元件的稳定性以及互换性较差,从而使它的应用范围较小。 (4)铂热电阻具有输出电势大、线性度好、灵敏度高、抗振性能好等优点。虽然它 的价格相对于热敏电阻要高一些,但它的综合性能指标确是最好的。而且它在0~200°C范

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

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

CHANGZHOU INSTITUTE OF TECHNOLOGY 科研实践 题目:基于单片机的数字温度计的设计

目录 目录 (2) 1.绪论 (3) 1.1课题研究背景及意义 (3) 1.2课题研究的内容 (3) 2.数字温度计的系统概论 (5) 2.1系统的功能 (5) 2.2温度计的分析 (5) 3.设计方案和要求 (6) 3.1设计任务和要求 (6) 3.2元器件的选取 (6) 3.3系统最终设计方案 (7) 4.硬件设计 (8) 4.1总体设计结构图 (8) 4.2硬件电路概述 (8) 4.2.1最小系统 (8) 4.2.2输入电路设计 (11) 4.2.3输出电路设计 (12) 5.硬件仿真 (15)

6.实物制作 (18) 6.1电路板焊接 (18) 6.2电路板调试 (19) 7.小结 (20) 附录 (21) 1.参考文献 (21) 2.原理图 (22) 3.元器件清单 (23) 4.软件程序 (24) 5.实物图 (30) 1.绪论 1.1课题研究背景及意义 单片机技术作为计算机技术的一个分支,广泛地应用于工业控制,智能仪器仪表,机电一体化产品,家用电器等各个领域。“单片机原理与应用”在工科院校各专业中已作为一门重要的技术基础课而普遍开设。学生在课程设计,毕业设计,科研项目中会广泛应用到单片机知识,而且,进入社会后也会广泛接触到单片机的工程项目。鉴于此,提高“单片机原理及应用”课的教学效果,让学生参与课程设计

实习甚为重要。单片机应用技术涉及的内容十分广泛,如何使学生在有限的时间内掌握单片机应用的基本原理及方法,是一个很有价值的教学项目。为此,我们进行了“单片机的学习与应用”方面的课程设计,锻炼学生的动脑动手以及协作能力。 单片机课程设计是针对模拟电子技术,数字逻辑电路,电路,单片机的原理及应用课程的要求,对我们进行综合性实践训练的实践学习环节,它包括选择课设任务、软件设计,硬件设计,调试和编写课设报告等实践内容。通过此次课程设计实现以下三个目标:第一,让学生初步掌握单片机课程的试验、设计方法,即学生根据设计要求和性能约束,查阅文献资料,收集、分析类似的相关题目,并通过元器件的组装调试等实践环节,使最终硬件电路达到题目要求的性能指标;第二,课程设计为后续的毕业设计打好基础,毕业设计是系统的工程设计实践,而课程设计的着眼点是让学生开始从理论学习的轨道上逐渐引向实际运用,从已学过的定性分析、定量计算的方法,逐步掌握工程设计的步骤和方法,了解科学实验的程序和实施方法。第三,培养学生勤于思考乐于动手的习惯,同时通过设计并制作单片机类产品,使学生能够自己不断地学习接受新知识(如在本课设题目中存在智能测温器件DS18B20,就是课堂环节中不曾提及的“新器件”),通过多人的合作解决现实中存在的问题,从而不断地增强学生在该方面的自信心及兴趣,也提高了学生的动手能力,对学生以后步入社会参加工作打下一定良好的实践基础。 1.2课题研究的内容 本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数 字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机喜爱的硬 件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也进 行一一介绍,该系统可以方便的是实现温度采集和显示,并可以根据需要任意 设定上下限报警温度,它使用起来方便,具有精度高、量程宽、灵敏度高、体 积小、功耗低等优点,适合我们日常生活和工农业生产中的温度测量,也可以 当做温度处理模块嵌入其他系统中,作为其他主系统的辅助扩展。DS18B20和AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合 与恶劣环境下进行现场温度测量,有广泛的应用前景。 本设计首先是确定目标,气候是各个功能模块的设计,再在Proteus软件上 进行仿真,修改,仿真。 本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范 围内时,可以报警。

单片机温度采集显示系统

考试序列号____ 单片机课程设计论文 论文题目:温度采集显示系统 课程名称:单片机课程设计 学院物理与光电工程学院 专业班级 08电子3班 学号 3108009223 姓名梁辉浩 联系方式 任课教师 20 年月日

温度采集显示系统 一、功能和要求: (1)温度测量范围 0 - 99℃。 (2)温度分辨率±1℃。 (3)选择合适的温度传感器。 (4)使用键盘输入温度的最高点和最低点,温度超出范围时候报警。(报警温度不需要保存) 二、系统方案: 方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。 三、核心元件的功能 1、AT89C51 AT89S51美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K BytesISP(In-system programmable)的可反 复擦写1000次的Flash只读程序存储器,器 件采用ATMEL公司的高密度、非易失性存储技 术制造,兼容标准MCS-51指令系统及AT89C51 引脚结构,芯片内集成了通用8位中央处理器 和ISP Flash存储单元。单片机AT89S51强大 的功能可为许多嵌入式控制应用系统提供高 性价比的解决方案。 AT89C51芯片的引脚结构如图1所示: 1.1功能特性概括: AT89S51提供以下标准功能:40个引脚、 4K Bytes Flash片内程序存储器、128 Bytes 的随机存取数据存储器(RAM)、32个外部双

基于51单片机的温度控制系统

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王*

毕业论文设计 基于51单片机的温度控制系统

摘要 在日常生活中温度在我们身边无时不在,温度的控制和应用在各个领域都有重要的作用。很多行业中都有大量的用电加热设备,和温度控制设备,如用于报警的温度自动报警系统,热处理的加热炉,用于融化金属的坩锅电阻炉及各种不同用途的温度箱等,这些都采用单片机技术,利用单片机语言程序对它们进行控制。而单片机技术具有控制和操作使用方便、结构简单便于修改和维护、灵活性大且具有一定的智能性等特 点,可以精确的控 制技术标准,提高了温控指标,也大大的提高了产品的质量和性能。 由于单片机技术的优点突出,智能化温度控制技术正被广泛地采用。本文介绍了基于单片机AT89C51 的温度控制系统的设计方案与软硬件实现。采用温度传感器DS18B20 采集温度数据,7段数码管显示温度数据,按键设置温度上下限,当温度低于设定的下限时,点亮绿色发光二极管,当温度高于设定的上限时,点亮红色发光二极管。给出了系统总体框架、程序流程图和Protel 原理图,并在硬件平台上实现了所设计功能。 关键词:单片机温度控制系统温度传感器

Abstract In daily life, the temperature in our side the ever-present, the control of the temperature and the application in various fields all have important role. Many industry there are a large number of electric heating equipment, and the temperature control equipment, such as used for alarm automatic temperature alarm systems, heat treatment furnace, used to melt metal crucible resistance furnace, and all kinds of different USES of temperature box and so on, these using single chip microcomputer, using single chip computer language program to control them. And single-chip microcomputer technology has control and convenient in operation, easy to modify and maintenance of simple structure, flexibility is large and has some of the intelligence and other characteristics, we can accurately control technology standard to improve the temperature control index, also greatly improve the quality of the products and performance. Because of the advantages of the single chip microcomputer intelligent temperature control technology outstanding, is being widely adopted. This paper introduces the temperature control based on single chip microcomputer AT89C51 design scheme of the system and the hardware and software implementation. The temperature sensor DS18B20 collection temperature data, 7 period of digital pipe display, the upper and lower limits of temperature button when temperature below the setting of the lower limit, light green leds, when the temperature is higher than the set on the limit, light red leds. Given the system framework and program flow chart and principle chart, and in Protel hardware platform to realize the function of the design. Keywords:SCM Temperature control system Temperature sensors

基于单片机的温度测量系统

基于51单片机的温度测量系统 来源:微计算机信息作者:赵娜赵刚于珍珠郭守清 摘要: 单片机在检测和控制系统中得到广泛的应用, 温度则是系统常需要测量、控制和保持的一个量。本文从硬件和软件两方面介绍了AT89C2051单片机温度控制系统的设计,对硬件原理图和程序框图作了简洁的描述。 关键词: 单片机AT89C2051;温度传感器DS18B20;温度;测量 引言 单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。为此在本文中作者设计了基于atmel公司的AT89C2051的温度测量系统。这是一种低成本的利用单片机多余I/O口实现的温度检测电路, 该电路非常简单, 易于实现, 并且适用于几乎所有类型的单片机。 一.系统硬件设计 系统的硬件结构如图1所示。 数据采集 数据采集电路如图2所示, 由温度传感器DS18B20采集被控对象的实时温度, 提供给AT89C2051的口作为数据输入。在本次设计中我们所控的对象为所处室温。当然作为改进我们可以把传感器与电路板分离,由数据线相连进行通讯,便于测量多种对象。 DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V~的电压范围,使系统设计更灵活、方便;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20使电压、特性有更多的选择,让我们可以构建适合自己的经济的测温系统。如图2所示DS18B20的2脚DQ为数字信号输入/输出端;1脚GND为电源地;3脚VDD为外接供电电源输入端。 AT89C2051(以下简称2051)是一枚8051兼容的单片机微控器,与Intel的MCS-51完全兼容,内藏2K的可程序化Flash存储体,内部有128B字节的数据存储器空间,可直接推动LED,与8051完全相同,有15个可程序化的I/O点,分别是P1端口与P3端口(少了)。 接口电路 图2 单片机2051与温度传感器DS18B20的连接图 接口电路由ATMEL公司的2051单片机、ULN2003达林顿芯片、4511BCD译码器、串行EEPROM24C16(保存系统参数)、MAX232、数码管及外围电路构成, 单片机以并行通信方式从~口输出控制信号,通过4511BCD译码器译码,用2个共阴极LED静态显示温度的十位、

基于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摄氏度。 其电路图如下图所示:

基于液晶显示的单片机温度控制设计

. ... . 《基于液晶显示的单片机温度控制设计》 实习报告 专业班级:电子信息科学与技术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所示。

基于单片机的温控器

天津理工大学 课程设计报告 题目:基于单片机的温控器设计 学生姓名李天辉学号 20101009 届 2013 班级电气4班 指导教师专业电气工程及其自动化

说明 1. 课程设计文本材料包括设计报告、任务书、指导书三部分,其中 任务书、指导书由教师完成。按设计报告、任务书、指导书顺序装订成册。 2. 学生根据指导教师下达的任务书、指导书完成课程设计工作。 3. 设计报告内容建议主要包括:概述、系统工作原理、系统组成、设计内容、小结和参考资料。 4. 设计报告字数应在3000-4000字,采用电子绘图、采用小四号宋 体、1.25倍行距。 5.课程设计成绩由平时表现(30%)、设计报告(30%)和提问成绩(40%) 组成。

课程设计任务书、指导书 课程设计题目: Ⅰ.课程设计任务书 一、课程设计的内容和要求(包括原始数据、技术要求、工作量) 当今社会,温控器已经广泛应用于电冰箱、空调和电热毯等领域中。其优点是控制精度高,稳定性好,速度快自动化程度高,温度和风速全自动控制,操作简单可靠,对执行器要求低,故障率低,效果好。目前国内外生产厂家正在研究开发第三代智能型室温空调温控器,应用新型控制模型和数控芯片实现智能控制。现在已有国内厂家生产出了智能型室温空调温控器,并已应用于实际工程。 本课程设计要求设计温度控制系统,主要由温度数据采集、温度控制、按键和显示、通讯等部分组成。温度采集采用NTC或PTC热敏电阻(或由电位器模拟)或集成温度传感器、集成运算放大器构成的信号调理电路、AD转换器组成。温控部分采用交流开关BT136通过改变导通角进行调压限流达到控制加热丝温度的目的。 温度控制算法采用PID控制,可以采用普通PID或模糊PID。对控制PID参数进行整定,进行MATLAB仿真,说明控制效果。进行程序编制。 设计通讯协议,并能够通过RS485总线将数据传回上位机。2.课程设计的要求 1、选择相应元器件设计温度控制系统原理图并绘制PCB版图。 2、进行PID控制算法仿真,设计PID参数,或模糊PID规则。 3、系统功能要求:a要能够显示实时温度;b能够进行温度设置;c 能够进行PID参数设定;d能够把数据传回上位机;e可以设定本机地址。F温度控制范围0~99.9度。 4、编制程序并调试通过,并有程序流程图。

基于单片机测温系统意义

摘要 目前,在自动控制领域用温度作为一种控制量对系统进行自动控制已经越来越普遍。针对这种实际情况本文设计了一种简单实用的温度报警系统。本设计采用了单片机AT89S52和温度传感器DS18B20组成了温度自动测控系统,可根据实际需要任意设定温度值,并进行自动控制。在此设计中利用了AT89S52单片机作为主控制器件,DS18B20作为测温传感器通过LCD数码管串口传送数据,实现温度显示。通过DS18B20直接读取被测温度值,进行数据转换,能够设置温度上下限来设置报警温度。并且在到达报警温度后,系统会自动报警。 关键词:自动控制温度单片机报警

Abstract Now it is very common to use temperature as a control volume to achieve automatic control. This paper designed a simple and practical auto temperature alarm system to meet the actual condition. This design uses a microcontroller AT89S52 and temperature sensor DS18B20 automatic temperature control system formed can be arbitrarily set the temperature according to the actual value and for automatic control. In this design using the AT89S52 microcontroller as the main control device, DS18B20 as an LCD digital temperature sensor tube through the serial transmission of data, to achieve temperature display. DS18B20 measured by direct reading temperature values, data conversion, to set the temperature to set the alarm on the lower temperature. And the temperature reaching the alarm, the system will automatically alarm. Keywords: achieve automatic control temperature AT89S52 alarm

(完整版)基于51单片机的数字温度计

硬件课程设计实验报告课题:数字温度计 班级: 作者: 学号: 指导老师: 课设评价: 课设成绩:

目录 一.需求分析 (1) 二.概要设计 (1) 三.硬件电路设计 (3) 四.系统软件设计 (5) 五.软件仿真 (8) 六.实际连接与调试 (9) 七.本次课设的收获与感受 (11) 附录(程序源代码) (12)

一.需求分析 功能要求: 测量环境温度,采用接触式温度传感器测量,用数码管显示温度值。 设计要求: (一)功能要求 (1) 由4位数码管显示当前温度。 (2) 具备报警,报警门限通过键盘设置。 (3) 精度为0.5℃。 (二)画出参考的电路原理图 (三)画出主程序及子程序流程图、画出MCS51内部RAM分配图,并进行适当地解释。 (四)写出实现的程序及实现过程。并进行适当地解释说明。 二.概要设计 (一)方案选择 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 (二)系统框图 该系统可分为以下七个模块: (1)控制器:采用单片机STC89C52对采集的温度数据进行处理; (2)温度采集:采用DS18B20直接向控制器传输12位二进制数据; (3)温度显示:采用了4个LED共阴极七段数码管显示实际温度值; (4)门限设置:主要实现模式切换及上下门限温度的调节; (5)报警装置:采用发光二极管进行报警,低于低门限或高于高门限均使其发光; (6)复位电路:对整个系统进行复位; (7)时钟振荡模块:为整个系统提供统一的时钟周期。

单片机温度采集与显示

1、课程设计目的 (1)利用单片机及相应温度传感器设计单检测节点或多检测节点数字温度计 (2)精度误差:0.5摄氏度以内;测温范围:10-50摄氏度 (3)LED数码管或LCD直接显示 (4)完成对设计系统测试 2、数字温度计正文 摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,使用起来相当方便,适合于我们日常生活和嵌入其它系统中,作为其AT89C52结合最简温度检测系统,该系统恶劣环境下进行现场温度测量,有广泛的应用前景。本文将介绍一种基于单片机往制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 关键词:单片机,数字控制,温度计,DSIBB20, AT89C52 2.1引言 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技构中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域己经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段 ①传统的分立式温度传感器 ②模拟集成温度传感器 ③智能温度传感器 目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,AT89C52单片机为控制器构成的数字温度测量装置的工作

《基于单片机的温度控制系统的设计》

序号(学号):040930727 长春大学光华学院 毕业设计(论文) 姓名魏明岩 系别 专业 班级0409307 指导教师马春龙 年月日

目录 摘要 (1) 第一章前言 (3) 1.1课题背景和意义 (3) 1.2温度控制系统的使用 (3) 1.3毕业设计任务 (4) 第二章系统方案 (5) 2.1水温控制系统设计任务和要求 (5) 2.2水温控制系统部分 (5) 2.3控制方式 (7) 第三章系统硬件设计 (8) 3.1总体设计框图及说明 (8) 3.2外部电路设计 (8) 3.3单片机系统电路设计 (9) 第四章系统软件设计和调试 (13) 4.1 程序框架结构 (13) 4.2程序流程图及部分程序 (13) 4.3 系统安装调试和测试 (17) 第五章结论 (18) 致谢 (19) 参考文献 (20) 附件1(程序代码) (20) 附件2(电路原理图) (27)

基于单片机的水温控制系统 【摘要】温度是工业控制对象主要被控参数之一,在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。为了实现高精度的水温测量和控制,本文介绍了一种以Atmel公司的低功耗高性能CMOS单片机为核心,以PID算法控制以及PID参数整定相结合的控制方法来实现的水温控制系统,其硬件电路还包括温度采集、温度控制、温度显示、键盘输入以及RS232接口等电路。该系统可实现对温度的测量,并能根据设定值对温度进行调节,实现控温的目的。 【关键词】单片机AT89C51;温度控制;温度传感器PT1000;PID 调节算法 The summary: Temperature is the main control of industrial control of parameters,In temperature control, due to temperature controlled object properties (such as inertia big, big, lagging effect of nonlinear, etc.), to improve performance, some process temperature control of its direct impact on the quality of the product, and designed a kind of ideal temperature control system is a very valuable.In order to realize high precision temperature measurement and control, this paper introduces a meter taking Atmel company low-power high-performance CMOS chip as the core, and the PID control algorithm with PID parameters combination of control method to realize the temperature control system, the hardware circuit including temperature, temperature

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

课程设计报告 引言 随着电子技术的不断发展,我们能应用到的电子产品也越来越多。而生活中我们用的很多电子产品都越来越轻巧,价格也越来越便宜.利用电子芯片实现的东西也越来越来越多,比如数字温度计。当然,非电子产品的常用温度计也很便宜。此次课设论文所介绍的是自己动手制作的一个高精度数字温度计。本次课设不但丰富了课余生活,还从实践中学到并了很多新知识,并从中巩固了以前的知识。 用Protel 99软件来设计制作电路板——PCB(Printed circuit Bound)。在PCB上,布置一系列的芯片、电阻、电容等元件,通过PCB上的导线相连,构成电路,一起实现一定的功能。电路通过连接器或者插槽进行输入/输出,有时还有显示部分(如发光二极管LED、.数码显示器等)。可以说,PCB是一块连接板,它的主要目的是为元件提供连接,为整个电路提供输入输出端口和显示,电气连接通性是PCB最重要的特性之一。PCB在各种电子设备中有如下功能:(1)提供集成电路等各种电子元件固定、装配的机械支撑。(2)实现集成电路等各种电子元件之间的布线和电气连接或电绝缘,提供所要的电气特性。(3)为电动装配提供阻焊徒刑,为元器件插装、检查、维修提供识别符和图形。 做本课题的所用到的知识是我们学过的模拟电子电路以及数字逻辑电路等,当然还用到了刚刚学过不久的单片机知识。本次课设是把理论和实践结合起来,这不但可以锻炼自己的动手能力,而且还可以加深对数字逻辑电路和模拟电子电路的学习和理解。同时也激起了我学好单片机的斗志。为了全面清晰的表达,本论文用图文并茂的方式,尽可能详细的地介绍此次设计的全过程。

1.设计务任和要求 1.1、基本范围-20℃——100℃ 1.2、精度误差小于0.5℃ 1.3、LED 数码直读显示 1.4、可以任意设定温度的上下限报警功能 2. 系统总体方案及硬件设计 2.1数字温度计设计方案论证 2.1.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响从而出现较大的偏差。 2.1.2 方案二 考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。 2.2系统总体设计 温度计电路设计总体设计方框图如图2.1所示,控制器采用单片机STC89C52,温度传感器采用DS18B20,用4位LED 数码管以串口传送数据实现温度显示。

基于单片机的温度控制器附程序代码

生产实习报告书 报告名称基于单片机的温度控制系统设计姓名 学号0138、0140、0141 院、系、部计算机与通信工程学院 专业信息工程10-01 指导教师 2013年 9 月 1日

目录 1.引言.................................. 错误!未定义书签。 2.设计要求.............................. 错误!未定义书签。 3.设计思路.............................. 错误!未定义书签。 4.方案论证.............................. 错误!未定义书签。方案一................................................. 错误!未定义书签。方案二................................................. 错误!未定义书签。 5.工作原理.............................. 错误!未定义书签。 6.硬件设计.............................. 错误!未定义书签。单片机模块............................................. 错误!未定义书签。 数字温度传感器模块 .................................... 错误!未定义书签。 DS18B20性能......................................... 错误!未定义书签。 DS18B20外形及引脚说明............................... 错误!未定义书签。 DS18B20接线原理图................................... 错误!未定义书签。按键模块............................................... 错误!未定义书签。声光报警模块........................................... 错误!未定义书签。数码管显示模块......................................... 错误!未定义书签。 7.程序设计.............................. 错误!未定义书签。主程序模块............................................. 错误!未定义书签。 读温度值模块.......................................... 错误!未定义书签。 读温度值模块流程图: ................................. 错误!未定义书签。

基于单片机的温度检测与控制系统的设计(论文)开题报告

河南中医学院 本科生毕业设计(论文)开题报告 题目:基于单片机温度检测与控制系统设计 院系:信息技术学院 专业:计算机科学与技术 班级:2010级计科班 学号:2010180042 学生姓名:郭文珠 指导教师:谢志豪 2013年11月13日 一、立题依据(包括研究的目的与意义及国内外现状): 研究的目的与意义 这次毕业设计选题的目的主要是让我们将所学的知识应用与生活当中,掌握系统总体设计的流程,方案的论证,选择,实施与完善。通过对温度控制系统的设计、制作、控制、测试的全过程,提高对单片机的认识和实际操作的能力,初步培养在完成工程项目中所应具备的基本素质和要求,培养自己的研发能力,提高自己的查阅资料,语言表达和理论联系实际的能力。 温度控制无论在日常生活还是工业生产中都有分厂重要的作用,随着社会经济的高速发展,更多方面对温度控制的可靠性和稳定性有了更高的要求,而单片机进行温度的调节就具备很高的可靠性[1]。 国内外现状 国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并行指进示、记录和控制。80年代末出现了分布式控制系统[2]。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展[3]。我国对于温度测控技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展[4]。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享可靠性差等缺点[5]。在今后的温控系统的研究中会趋于智能化,集成化,系统的各项性能指标更准确,更加稳定可靠。 二、研究主要内容(包括计划解决的具体问题或实现的基本功能,研究中的重难点分析、实用性及创新性分析,预期达到的成果等。不得低于800字): 计划实现的基本功能 温度控制系统主要是完成温度信号采集、处理、显示等功能[6]。设 计叙述了基于单片机的温度检测与控制系统的设计,包括硬件的设计以 及软件的设计,该系统在硬件设计上主要是通过温度传感器对温度进行 采集,把温度转成变化的电压,然后由放大器将信号放大,通过转化器

相关主题