当前位置:文档之家› 基于单片机的多路温度采集系统

基于单片机的多路温度采集系统

基于单片机的多路温度采集系统
基于单片机的多路温度采集系统

目录

第1节前言 (1)

1.1 多路温度采集系统概述 (1)

1.2 本设计任务和主要内容 (1)

第2节系统总体设计 (2)

2.1 系统概述 (2)

2.2 系统工作原理 (2)

第3节系统的硬件设计 (3)

3.1 CPU的选用 (3)

3.2 ADC0809 (4)

3.2.1 ADC0809的内部逻辑结构 (4)

3.2.2引脚结构 (5)

第4节软件编辑思路及流程 (6)

4.1软件编辑思路 (6)

4.2具体软件编程 (6)

第5节结束语 (18)

参考文献 (19)

基于单片机的多路温度采集系统

第1节前言

本课题要设计一种多路温度采集检测系统,采用目前低价位但技术十分成熟的AT89C52单片机作为内核,选用电位器代替热敏电阻为输入元件,利用ADC0809转换信号,送到显示器(8个LED数码管)循环显示所测的四路温度数值,并根据现场工业需要,设置了一定范围的报警值,报警优先显示,利用按键消除报警。可用按键查看某一路的温度值,查看时采集不中断。软件算法上采用了直接拟合的方法(通过电压-温度关系来计算温度值),符合课题要求。本课题构成的多路温度系统具有结构简单、价格低廉、测量精度高、量程宽的特点,在很多场合具有一定的适用性。

关键词: AT89单片机、温度采集、显示、报警

1.1 多路温度采集系统概述

温度采集在工业中的应用越来越广泛,而且要求也越来越高,我们结合本学期所学的《单片机原理与应用技术》课程,利用实验室已有的AT89系列单片机,作一个简易的可多路检测温度并能在超出范围时报警的系统。该系统用AT89S52单片机作为内核,利用ADC0809转换芯片辅助,以八个电位器作为模拟温度输入信号,一个5路8位数码管作为显示设备。可单独循环显示每一路的温度值,并且有键盘控制显示每路的温度值,这样可以满足在工业需要。

1.2本设计任务和主要内容

设计应解决下列各主要问题:

1、8路温度值(可用0~5V电压值模拟0-100℃)的数据采集,经A/D转换后送入单片机;

2、8个键盘、8个LED数码管显示电路,用于循环显示每一路的温度值(显示精确到小数点后一位),通过按键还可以选择任意一路显示。

3、设温度值的正常范围,若当前温度值超过此范围,则LED闪烁报警;

4、通过按键解除报警。

第2节系统总体设计

2.1 系统概述

根据设计要求的性能指标,本系统不仅要满足一定精度的温度采集的基本功能,而且由于测量的路数为8路,还存在多路信号的循环显示问题,还要考虑温度超限报警输出的功能,同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路数的功能。

2.2 系统工作原理

根据本课题的设计目标以及硬件的特点,本系统的结构原理图如下图2-1所示:

图2-1 系统结构原理图

图2-2 系统原理图

第3节系统的硬件设计

一个温度采集系统,包括被采集信息的采集、转换、显示等环节,在本多路温度采集系统中,包括A/D转换电路的设计,CPU的选型以及包括显示电路,存储器、报警电路、电源电路等设计。

3.1 CPU的选用

目前,生产单片机的厂商有很多,尤其是近年来微电子技术、计算机技术的飞速发展,比较著名的有Intel、Philips、Microchip、Motorola、Zilog、Atmel等半导体企业。

在上述著名的半导体企业产品中,尤其在工业测控场合,运用较多的为Intel

公司的MCS-51系列,Microchip公司的PIC系列,如果作单路温度测量,恐怕要选

择该系列的CPU,但由于本系统涉及的是多路,各路报警的输出信号需要单独输出,而且考虑信号调理电路的切换等还需要不少的控制线,因此该系列的少引脚特点就不适合本设计的需要,因此,本设计还是选用了ATMEL最新的8位单片机AT89S52作为本系统的CPU。下面简单地介绍一下89S52。

功能特性描述:AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度易失性存储器技术制造,与工业 80S52 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

图3-1 89C52的引脚

3.2 ADC0809

ADC0809是把采集的模拟量转换成数字量并传送到89C52中。它是带有8位A/D 转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件并且还是逐次逼近式A/D转换器,可以和单片机直接接口。

3.2.1 ADC0809的内部逻辑结构

图3-2 ADC0809的内部逻辑结构

由图3-2可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

3.2.2 引脚结构

图3-4 ADC0809的引脚

第4节软件编辑思路及流程

4.1 软件编辑思路

软件编辑思路:数字显示----算法----一路采集----一路采集转换及显示---八路采集转换及显示----键盘小子程序----八路循环采集且键盘控制------八路循环采集且键盘控制和报警。

4.2 具体软件编程

ORG 0000H

AJMP MAIN;

BUF EQU 40H ;显示缓冲区

MOTATA EQU 50H ;AD0809数据存放于此

WH EQU 48H ;温度上限数据存放区

WL EQU 58H ;温度下限数据存放区

BUFF1S EQU 38H;

BUFF1MS EQU 39H;

BUFF5S EQU 3AH;

INNAL EQU 3CH;

ALARMBUF EQU 33H

BUFFH EQU 31H ;八路LED报警信号红灯

BUFFL EQU 32H ;八路LED报警信号绿灯

BACK EQU 34H ;利用与BUF地址的重复修改路数

CHANNEL EQU 35H

TEMPBUF EQU 36H

READ_AD BIT 30H ;是否要读写AD0809的标志位

DISPIN BIT 31H;

SETWARN BIT 32H

SOLIDISP BIT 33H

ENTER BIT P1.2

SETH BIT 35H

SETL BIT 36H

SETIN BIT P1.3

ABYTEIN BIT p1.1

ORG 0003H

AJMP INT_0;

ORG 000BH

LJMP INT_T0

ORG 0100H

MAIN: MOV SP, #70H ;设置堆栈位置

SETB READ_AD ;初始化标志位

SETB EA ;开总中断

CLR SETWARN ;清除温度设置标志位

SETB SETIN ;当其为0时表示要进行通道数采集

LCALL INITWARN ;初始化温度上下限

LCALL INIT_2 ;初始化2#工作寄存器区

;主循环,启动ADC0809,从第一个通道开始读取LOOP: JNB READ_AD,DIS ;若不读AD0809,则调显示,次标志位也表示1s

延时结束

;延时已完毕,则计算要显示的温度路数及温度值

送缓冲区

LCALL WARN ;报警

CLR READ_AD ;清楚标志位

LCALL READ ;读取一次AD0809

LCALL DLY1MS ;此处加1ms的延时,否则数码管会因中断的存在

而产生闪动

LCALL ADJUST ;调整显示

;在此完成键盘检测及显示任务

DIS: LCALL DISPLAY;

LCALL KEYCHK ;调键盘检测子程序

CJNE A,#0FFH, AKEY ;若有键按下,则跳转

LJMP LOOP ;若没有则循环

AKEY: LCALL KEYFUNC;

CJNE A,#0FFH,CALLRPD ;验证按下的键是否为数字键,若是则处理输入 LJMP LOOP ;不为数字键则返回循环

CALLRPD: LCALL KEYRPD;

SJMP LOOP;

;*********初始化2#工作寄存器区************

INIT_2: PUSH PSW ;初始化2号工作寄存器区

SETB RS1;

CLR RS0 ;选择2号工作寄存器区

MOV R2, #00H ;存放要显示的路数

CLR DISPIN ;初始化路显示标志位;

MOV R0, #MOTATA ;R0充当指向MOTATA的指针

POP PSW;

RET;

;*******调整指针*********

PADJUST:

ONADJUST: DJNZ R2,INADJUST;

RET;返回

INADJUST: INC R0;

SJMP ONADJUST;

;*************计算并调整显示缓存区的数据*******

ADJUST: PUSH PSW ;保护

SETB RS1;

CLR RS0 ;选择2号工作寄存器区

CJNE R2,#08H,NE08;

GE08: MOV R2,#00H;

MOV R0,#MOTATA;

SJMP LESS08;

NE08: JNC GE08;

LESS08: JB SETWARN, DISPWARN ;若在设定温度,则也不调整显示

JB SOLIDISP, ADJEND ;若为固定显示,则跳过调整

JB DISPIN,DLY_5S ;若有键盘值输入,则延时5秒来暂时固定显示 INC R0 ;调整R0,使其指向下一个要显示的温度值地

INC R2 ;调整R2

mov channel,r2;

SJMP ADJEND;

DLY_5S: DJNZ BUFF5S,ADJEND;

CLR DISPIN;

LJMP ADJEND

DISPWARN: JB SETH,DISHIGH ;若在调整上限值则跳转到上限温度显示

JB SETL,DISLOW ;若在调整下限值则跳转到下限温度显示

SJMP ADJEND ;若不在调整则显示输入路数的当前检测温度

DISLOW: MOV R0,#WL ;将指针调整到温度上限存放区

SJMP ADAPT ;跳转到指针调整处

DISHIGH:MOV R0,#WH ;将指针调整到温度下限存放区

ADAPT: MOV R2,CHANNEL ;调整R2的值为通道数

LCALL PADJUST ;指针指向R2

ADJEND: LCALL LOADTEMP ;将当前指针指向数据放到缓冲区

POP PSW;

RET;

;**************** 将当前指针指向数据放到缓冲区******** LOADTEMP: LCALL COMPUTE ;调用COMPUTE得到要显示的当前温度值 MOV R1,#BUF;

MOV A,channel;

MOV @R1,A ;将路数送入显示缓冲区

INC R1 ;调整到要显示温度值的缓冲区

JB SETH,DISPH ;若设定温度上限,则显示H

JB SETL,DISPL ;若设定温度下限,则显示L

Mov a,#10h ;消隐

SJMP DISP2

DISPH: MOV A,#11H

SJMP DISP2

DISPL: MOV A,#12H

DISP2: mov @r1,a;

INC R1;

MOV A,R5;

ANL A,#0FH;

MOV @R1,A ; 最低位

INC R1;

MOV A,R5;

ANL A,#0F0H;

SWAP A;

MOV @R1,A ;次低位 ,应当在此处添加小数点

INC R1;

MOV A,R4;

ANL A,#0FH;

MOV @R1,A ;次高位

INC R1;

MOV A,R4;

ANL A,#0F0H;

SWAP A;

MOV @R1,A ;最高位

RET;

;*************读取一次0809的内容***********

READ: MOV R6,#08H ;用中断的方式读取一次AD0809

MOV R0,#MOTATA ;0号工作寄存器区

MOV DPTR,#0FFFEH ;A0作为地址

MOV A,#00H ;表示先检测第一个通道

MOV INNAL,A ;将检测的路数保存

MOVX @DPTR,A ;开启ADC0809

SETB EX0 ;开外部中断0

RET ;若已读取完毕,则返回

;**********************显示子程序************

;要显示的数据入口为BUF(6位);1号工作寄存器区

DISPLAY: PUSH PSW ;压栈保护

SETB RS0;

CLR RS1 ;切换工作寄存器区到 1

MOV R0,#BUF

MOV R7,#06H

MOV R1,#01H

NEXTDIS: MOV A,@R0

MOV DPTR,#TABLE

MOVC A,@A+DPTR ;取段码

CJNE R7,#03H,NODIP ;显示小数点

ANL A,#07FH

NODIP: MOV DPTR,#0FFDCH

MOVX @DPTR,A ;送段码

MOV DPTR,#0FFDDH

MOV A,R1

MOVX @DPTR,A ;送位码

RL A

MOV R1,A

LCALL DLY1MS

INC R0 ;调整显示

DJNZ R7,NEXTDIS;

POP PSW;

RET

;**************************延时1ms**************************** DLY1MS: MOV BUFF1MS,#0F9H

DJNZ BUFF1MS,$

RET

;*************************按键检查子程序******************** KEYCHK:MOV A,#00H ;查看是否有键按下

MOV DPTR,#0FFDDH

MOVX @DPTR,A

MOV DPTR,#0FFDEH

MOVX A,@DPTR

CPL A

ANL A,#0FH

JNZ TEST ;若有键按下则检测,无则返回。

MOV A,#0FFH

RET

TEST: LCALL KEYTEST

MOV BACK,A

LCALL DISPLAY

LCALL KEYTEST

CJNE A,BACK,NOKEYD

WAIT: LCALL DISPLAY;

MOV A,#00H ;等待键抬起

MOV DPTR,#0FFDDH

MOVX @DPTR,A

MOV DPTR,#0FFDEH

MOVX A,@DPTR

CPL A

ANL A,#0FH

JNZ WAIT ;若键未抬起,则继续等待

MOV A,BACK ;将检测到的键值送给A

SJMP CHKEND

NOKEYD: MOV A,#0FFH

CHKEND: RET

;**********************按键检测子程序******************** KEYTEST: MOV R0,#0FEH

MOV R1,#00H

MOV R2,#08H

NEXTL: MOV A,R0

MOV DPTR,#0FFDDH

MOVX @DPTR,A

MOV DPTR,#0FFDEH

MOVX A,@DPTR

CPL A

ANL A,#0FH

JNZ KEYDWN ;看按下的键是否在当前列

DJNZ R2,GOSCAN ;看是否扫描完毕,若没有则调整继续扫描 SJMP TSTEND ;若扫描完毕,则返回。

GOSCAN: MOV A,R0

RL A

MOV R0,A

INC R1

SJMP NEXTL

KEYDWN: MOV R3,#00H

LL0: RRC A

JC LL1

INC R3

SJMP LL0

LL1: MOV A,R3

MOV B,A

MOV A,#8

MUL AB

ADD A,R1 ;A中返回的为按下的键的代码

RET

TSTEND: MOV A,#0FFH

RET

;***********延时1s*******************

DLY_1S: MOV TMOD,#01H;

SETB ET0;

MOV TH0,#0F0H ;10ms

MOV TL0,#0D8H;

MOV buff1s,#100;

SETB TR0;

RET;

;*********定时器T0中断服务程序**********

INT_T0:CLR TR0 ;关计数器

DJNZ buff1s ;NEXT_10MS;若不到1s继续

SETB READ_AD;若到了,则置标志位

cpl p1.0;

clr et0;

SJMP T0_END;

NEXT_10MS: MOV TMOD,#01H

MOV TH0,#0F0H ;定时10ms

MOV TL0,#0D8H

SETB TR0

T0_END: RETI

;*************计算子程序,完成一路计算**************** COMPUTE: MOV A,@R0;

MOV B,#04H ;测得的温度数乘以4

MUL AB;

MOV R6,B;

MOV R7,A;

LCALL HB2 ;调用子程序转化为压缩BCD码,R4,R5为出口 RET;

HB2: CLR ;BCD码初始化

MOV R4,A

MOV R5,A

MOV R3,#10H ;转换双字节十六进制整数

HB3: MOV A,R7 ;从高端移出待转换数的一位到CY中

RLC A

MOV R7,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R5 ;BCD码带进位自身相加,相当于乘2

ADDC A,R5

DA A ;十进制调整

MOV R5,A

MOV A,R4

ADDC A,R4

DA A

MOV R4,A

DJNZ R3,HB3 ;处理完16bit

RET;

;********报警子程序*********

WARN: MOV R0,#MOTATA ;R0指向MOTATA

MOV R1,#WH ; R1指向WH

MOV R7,#08H ;R7为循环次数

WLOOP:MOV A,@R0

MOV ALARMBUF,@R1 ;与指令相适应的必要中转

CJNE A,ALARMBUF,RED

GEHIGH: CLR C ;红灯信号

LJMP NEXTRED

RED : JNC GEHIGH ;读入数值比预设大

SETB C

NEXTRED:MOV A,BUFFH

RLC A ;压入红灯信号

MOV BUFFH,A

MOV A,R1 ;调整R1指向WL

ADD A,#10H

MOV R1,A

MOV ALARMBUF,@R1

MOV A,@R0

CJNE A,ALARMBUF,GREEN

LSLOW: CLR C ;绿灯信号

LJMP NEXTGRN

GREEN: JC LSLOW ;读入数值比预设小

SETB C

NEXTGRN:MOV A,BUFFL

RLC A

MOV BUFFL,A

MOV A,R1

SUBB A,#10H

MOV R1,A

INC R1

INC R0

DJNZ R7,WLOOP

MOV A,BUFFH ;将红灯报警信息送出

MOV DPTR,#0FBFFH ;红灯信号对应地址p2.2

MOVX @DPTR,A

MOV A,BUFFL ;将绿灯报警信息送出

MOV DPTR,#0F7FFH ;绿灯信号对应地址p2.3

MOVX @DPTR,A

RET

;************键位调整程序************

KEYFUNC: MOV DPTR,#KEYTABLE

ANL A,#0FH ;消除键位干扰

MOVC A,@A+DPTR ;调整跳转位置

CJNE A,#0AH,K1

MOV A,#0FFH

SETB SETIN

SETB SETH ;表示要设定温度报警上限值 CLR SETL

RET;

K1: CJNE A,#04H,K2

MOV A,#0FFH

SETB SETIN

SETB SETL ;表示要设定温度报警下限值 CLR SETH

RET

K2: CJNE A,#0FH,K3

MOV A,#0FFH

JB SETWARN,ENDISP

SETB SETWARN

CLR ABYTEIN

CLR SETH

CLR SETL

CLR ENTER

RET

ENDISP: CLR SETWARN;

CLR SETH;

CLR SETL;

RET;

K3: CJNE A,#0EH,K4

MOV A,#0FFH

JB SOLIDISP,ENSOLID;

SETB SOLIDISP

RET

ENSOLID: CLR SOLIDISP

RET

K4: CJNE A,#0CH,K5

MOV A,#0FFH;

CLR SETIN;

CLR SETH;

CLR SETL;

RET;

K5: CJNE A,#0DH,K6

MOV A,#0FFH

SETB ENTER

RET;

K6: RET

KEYTABLE: db 07h,04h,08h,05h,09h,06,0Ah

; 0, 1 ,2 ,3 ,4 ,5 ,6

db 04h,01h,00h,02h,0Fh,03h,0Eh,0Ch,0Dh

; 7 ,8 ,9 ,10 ,11,12, 13, 14 ,15

;*********实现对各个设定键的响应**********

KEYRPD: JB SETWARN,WARNSET ;根据SOLIDISP的值调显示

PUSH PSW;

SETB RS1;

CLR RS0 ;选择2号工作寄存器区

MOV R0,#MOTATA;

MOV CHANNEL,A ;将读入的值放入通道缓冲

MOV R2,A;

MOV BACK,A;

MOV BUF,A;

LCALL PADJUST ;调整R0,使其指向R2通道的温度值

SETB DISPIN ;5s计时的标志位

MOV BUFF5S,#05H ;初始化5s计时

MOV R2,CHANNEL;

POP PSW;

RET ;调整完毕,返回

WARNSET:JNB SETIN,INSET ;若未设定通道,先进行设定

LJMP SETTEMP ;若已设定则跳转到温度设定处

INSET: MOV CHANNEL,A

RET

SETTEMP:JB SETH,HIGHSET ;设定温度警告上限

JB SETL,LOWSET ;设定温度警告下限

RET

HIGHSET: LCALL READTEMP

MOV R0,#WH ;调整R0使其指向温度上限存储区

LJMP STORESET

LOWSET: LCALL READTEMP

MOV R0,#WL ; 调整R0使其指向温度下限存储区STORESET:MOV A ,TEMPBUF;

LCALL COMPACT ;将输入的数转化为16进制数存储(未改变R0) MOV R2,CHANNEL ;送入要调整到的位置

LCALL PADJUST ;调用调整子程序

MOV @R0 ,A ; 将温度值送到相应的位置

RET

READTEMP: JB ABYTEIN,READLOW;若已经有一位读入则读取低位READHIGH: SWAP A;

MOV TEMPBUF,A;

SETB ABYTEIN;

RET;

READLOW: ORL A,TEMPBUF;

MOV TEMPBUF,A;

CLR ABYTEIN;

RET;

;**********将输入温度值转化为16进制数********** COMPACT: MOV R2,A;

ANL A,#0FH ;分离出十进制数的低位

SWAP A;

MOV R3,A;

MOV A,R2;

ANL A,#0F0H ;分离出十进制数的高位

SWAP A;

MOV R2,A;

LCALL BH2 ;将双字节BCD码转化为十六进制整数

MOV A,R2 ;将R2R3中的数除以4

CLR C;

RRC A;

MOV R2,A;

MOV A,R3;

RRC A;

MOV R3,A

MOV A,R2;

RRC A;

MOV A,R3

RRC A ;转换完毕A中为要得到的16进制数

RET;

;*********双字节BCD码整数转换成双字节十六进制整数********* BH2: MOV A,R3 ;将低字节转换成十六进制

LCALL BCDH

MOV R3,A

MOV A,R2 ;将高字节转换成十六进制

LCALL BCDH

MOV B,#100 ;扩大一百倍

MUL AB

ADD A,R3 ;和低字节按十六进制相加

MOV R3,A

CLR A

ADDC A,B

MOV R2,A

RET

;*******单字节BCD码整数转换成单字节十六进制整数BCDH: MOV B,#10H ;分离十位和个位

DIV AB

MOV R4,B ;暂存个位

MOV B,#10 ;将十位转换成十六进制

MUL AB

ADD A,R4 ;按十六进制加上个位

RET

;********初始化WH和WL********

INITWARN: MOV R0,#WH;

MOV A,#0AFH;

MOV R7,#08H;

INITHIGH: MOV @R0,A;

DJNZ R7,HIGHINC;

SJMP ENDHIGH;

HIGHINC: INC R0;

SJMP INITHIGH;

ENDHIGH: MOV R0,#WL;

MOV A,#04BH;

MOV R7,#08H;

INITLOW: MOV @R0,A;

DJNZ R7,LOWINC;

SJMP ENDLOW;

LOWINC: INC R0;

SJMP INITLOW;

ENDLOW: RET;

;***********外部中断0的服务程序**********

;完成一个循环的数据读取

INT_0: CLR EX0 ; 若转换完毕关中断

MOV DPTR,#0FFFEH;

MOVX A,@DPTR ;读取转换完毕后的数

MOV @R0,A ;将转换完毕的数保存

DJNZ R6,READNEXT;若未读取完毕则调整后继续 LCALL DLY_1S;

SJMP EX0_END;

READNEXT: INC R0;

INC INNAL;

MOV A,INNAL;

MOVX @DPTR,A ;再次启动AD0809

SETB EX0 ;开外部中断0

EX0_END: RETI;

TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H

DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH

DB 0FFH,089H,0C7H;

END

结束语

为了完成这次设计让我专研了很久,通过这次的设计使我深刻知道了原来学好一个东西真的很不容易,要花很多时间的研究和去请教别人,也使我知道了原来我们的知识是多么的缺乏。

但是这个次的设计总体自己觉得还是不错的,但是也有些瑕疵,我相信在我以后不断的学习,慢慢的让我去把自己的不足弥补上来是自己的能力渐渐的上升!

不仅仅这次多设计的了解也多如何去写好个文本文档有了一个体验,也给自己有了一个很深刻的训练!使我知道了只有每做一件事情都要认真仔细才能成功!

参考文献

[1]王新贤,通用集成电路速查手册, 山东: 科学技术出版社,2004

[2]李逍华,李玲,牛艳,单片机应用系统设计——入门向导与设计实例, 武汉: 武汉大学出版社,2003.3

[3]魏立峰,王宝兴,单片机原理与应用技术, 北京: 北京大学出版,2006.8 [4]

74HC74,74HC02,74HC164,74HC165使用手册,https://www.doczj.com/doc/e77656949.html,

[5]89S52使用手册, https://www.doczj.com/doc/e77656949.html,

单片机温度采集显示系统

考试序列号____ 单片机课程设计论文 论文题目:温度采集显示系统 课程名称:单片机课程设计 学院物理与光电工程学院 专业班级 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个外部双

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

基于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范

多路温度采集系统

小型多路温控采集系统设计一.系统说明

本系统采用51单片机作为控制器,控制温度采集及显示。 温度传感器选用DS18B20,其单总线的通信方式可以减少系统的线路连接。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路。内温范围-55℃~+125℃,在-10~+85℃时精度为±℃可编程的分辨率为9~12位,对应的可分辨温度分别为℃、℃、℃和℃,可实现高精度测温。 同时本系统选用LCD1602作为显示器件,能够同时显示16x02即32个字符(16列2行)。其显示清晰,并可以显示阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,满足了系统要求。 二.系统电路图 三、程序流程图 四、程序解读 注:程序分两部分。可以先用程序二读出各个器件的序列号,再将序列号填入程序一的SN[4][8]数组中,若要加入更多的器件可以扩大数组,并在程序中增加读显的循环次数。 1.程序一:已知各个器件序列号读取温度 #include<> #define uchar unsigned char #define uint unsigned int uchar TMP[4]; 0”1”0c1”2”3”4”序二:读取DS18B20序列号程序 注:读ROM时,只能有一个器件与单片机通信。可以逐个相连来读出其ROM #include<> #define uchar unsigned char #define uint unsigned int uint sn[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10}; sbit DQ=P3^7;//ds18b20与单片机连接口 sbit RS=P3^0; sbit RW=P3^1; sbit EN=P3^2; void delay1ms(unsigned int ms)//延时1毫秒(不够精确的)

基于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

基于单片机的温度数据采集系统实验报告

基于单片机的温度数据采集系统实验报告 班级:电技10—1班 姓名:田波平 学号:1012020108 指导老师:仲老师

题目:基于单片机的温度数据采集系统 一.设计要求 1.被测量温度范围:0~120℃,温度分辨率为0.5℃。 2.被测温度点:2个,每5秒测量一次。 3.显示器要求:通道号2位,温度4位(精度到小数点后一位)。 显示方式为定点显示和轮流显示。 4.键盘要求: (1)定点显示设定;(2)轮流显示设定;(3)其他功能键。 二.设计内容 1.单片机及电源模块设计 单片机可选用AT89S51及其兼容系列,电源模块可以选用7805等稳压组件,本机输入电压范围9-12v。 2.存储器设计 扩展串行I2C存储器AT24C02。 要求: AT24C02的SCK接P3.2 AT24C02的SDA接P3.4 2.传感器及信号转换电路 温度传感器可以选用PTC热敏电阻,信号转换电路将PTC输出阻值转换为0-5V。 3.A/D转换器设计 A/D选用ADC0832。 要求: ADC0832的CS端接P3.5 ADC0832的DI端接P3.6 ADC0832的DO端接P3.7 ADC0832的CLK端接P2.1 4.显示器设计。 6位共阳极LED显示器,段选(a-h)由P0口控制,位选由P2.2-P2.7控制。数码管由2N5401驱动。 5.键盘电路设计。 6个按键,P2.2-P2.7接6个按键,P3.4接公共端,采用动态扫描方式检测键盘。 6.系统软件设计。 系统初始化模块,键盘扫描模块,数据采集模块,标度变换模块、显示模块等。 三.设计报告要求 设计报告应按以下格式书写: (1)封面; (2)设计任务书; (3)目录; (4)正文;

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

基于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静态显示温度的十位、

多路温度采集系统设计与实现

学校代码:11517 学号:201150712117 HENAN INSTITUTE OF ENGINEERING 毕业设计(论文) 题目多路温度采集系统设计与实现 学生姓名高宇照 专业班级电气工程及其自动化1121 学号201150712117 系(部)电气信息工程学院 指导教师(职称) 张秋慧(讲师) 完成时间2012 年 5 月13日

目录 摘要................................................................................................... I ABSTRACT ........................................................................................... II 1 前言 . (1) 1.1 背景介绍 (1) 1.2 研究设计意义及目的 (1) 1.3 发展情况 (2) 1.4 本设计主要内容 (3) 2 设计任务及方案论证 (4) 2.1 设计任务 (4) 2.2 设计方案的论证 (4) 2.3系统框图设计 (6) 3 多路温度采集系统硬件电路设计 (7) 3.1系统模块及模块介绍 (7) 3.1.1 系统整体模块控制 (7) 3.1.2 模块介绍及原理 (7) 3.2 系统基本硬件组成设计 (14) 3.2.1微机芯片工作电路设计 (14) 3.2.2 温度采集电路设计 (15) 3.2.3LCD1602的显示设计 (17) 3.2.4 报警电路的设计 (18) 3.2.5 电源部分的设计 (19) 3.3 系统设计的电路结构图 (21) 4 系统的软件设计 (22) 4.1 主程序设计 (22) 4.2 子程序设计 (23) 5 系统调试与性能分析 (27) 5.1 系统调试 (27) 5.2 性能分析 (29) 结论 (31) 致谢 (32)

单片机温度采集系统

课程设计 课程设计名称:温度采集装置 班级:数控技术0901 学号: 课程设计时间:2011.12.5—12.11

目录 1 设计任务 (2) 2 确定设计方案 (3) 2.1 温度传感器—AD22100K (3) 2.2 A/D转换器—ADC0809 (4) 2.3 单片机的选择—80C51 (6) 2.4 显示器接口—LED动态显示接口 (8) 3 硬件电路的设计 (10) 3.1 温度传感器与A/D转换器的接口电路 (10) 3.2 A/D转换器与89C51的接口电路 (10) 3.3 89C51与显示器间的接口电路 (11) 3.4 晶振电路和复位电路的设计 (12) 4 软件设计 (13) 4.1温度采集的主程序流程图 (13) 4.2 程序清单 (15) 5 心得体会 (20) 附录 (21) 温度采集装置 1、设计任务

设计一个温度采集系统,要求按1路/s的速度顺序检测8路温度点,测温范围为+20℃~+100℃,测量精度为±1%。要求用5位数码管显示温度,最高位显示通道号,次高位显示“—”,低三位显示温度值。 2、设计方案 2.1 温度传感器—AD22100K AD22100K是有信号调节的单片温度传感器,工作温度范围为-50~+150,信号调节不需要调节电路、缓冲器和线性化电路,简化了系统设计。输出温度与电压和电源电压的乘积(比率测量)成比例。输出电压摆幅为0.25V(对应-50℃)和4.75V(对应150℃),用5V单电源工作。 2.1.1 AD22100K的引脚图如2.1.1 图2.1.1 AD22100K的引脚图 注:1.V电源 4.GND接地 2.U输出 3、5~8 NC不连接

基于单片机的温控器

天津理工大学 课程设计报告 题目:基于单片机的温控器设计 学生姓名李天辉学号 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

基于单片机的多路温度采集系统毕业设计(论文)外文翻译

华南理工大学学院 本科毕业设计(论文)外文翻译 外文原文名Structure and function of the MCS-51 series 中文译名MCS-51系列的功能和结构 学院电子信息工程学院 专业班级自动化一班 学生黎杰明 学生学号 3 指导教师吴实 填写日期2016年3月10日 页脚.

外文原文版出处:《association for computing machinery journal》1990, V ol.33 (12), pp.16-ff 译文成绩:指导教师(导师组长)签名: 译文: MCS-51系列的功能和结构 MSC-51系列单片机具有一个单芯片电脑的结构和功能,它是英特尔公司的系列产品的名称。这家公司在1976年推出后,引进8位单芯片的MCS-48系列计算机后于1980年推出的8位的MCS-51系列单芯片计算机。诸如此类的单芯片电脑有很多种,如8051,8031,8751,80C51BH,80C31BH等,其基本组成、基本性能和指令系统都是相同的。8051是51系列单芯片电脑的代表。 一个单芯片的计算机是由以下几个部分组成:(1)一个8位的微处理器(CPU)。(2)片数据存储器RAM(128B/256B),它只读/写数据,如结果不在操作过程中,最终结果要显示数据(3)程序存储器ROM/EPROM(4KB/8KB).是用来保存程序一些初步的数据和切片的形式。但一些单芯片电脑没有考虑ROM/EPROM,如8031,8032,80C51等等。(4)4个8路运行的I/O接口,P0,P1,P2,P3,每个接口可以用作入口,也可以用作出口。(5)两个定时/计数器,每个定时方式也可以根据计算结果或定时控制实现计算机。(6)5个中断(7)一个全双工串行的I/UART(通用异步接收器I口/发送器(UART)),它是实现单芯片电脑或单芯片计算机和计算机的串行通信使用。(8)振荡器和时钟产生电路,需要考虑石英晶体微调能力。允许振荡频率为12MHz,每个上述的部分都是通过部数据总线连接。其中CPU是一个芯片计算机的核心,它是计算机的指挥中心,是由算术单元和控制器等部分组成。算术单元可以进行8位算术运算和逻辑运算,ALU单元是其中一种运算器,18个存储设备,暂存设备的积累设备进行协调,程序状态寄存器PSW积累了2个输入端的计数等检查暂时作为一个操作往往由人来操作,谁储存1输入的是它使操作去上暂时计数,另有一个操作的结果,回环协调。此外,协调往往是作为对8051的数据传输转运站考虑。作为一般的微处理器,解码的顺序。振荡器和定时电路等的程序计数器是一个由8个计数器为2,总计16位。这是一个字节的地址,其实程序计数器,是将在个人电脑进行。从而改变它的容可以改变它的程序进行。在8051的单芯片电脑的电路,

虚拟仪器温度采集系统

内蒙古科技大学虚拟仪器期末大作业 题目:虚拟仪器温度采集系统 姓名:王伍波 专业:测控技术与仪器 学号:1067112240 班级:测控10-2班 教师:肖俊生 时间:2013年6月18日

一、设计题目:虚拟仪器温度采集系统 二、设计要求: 1.连续采集温度信号,并存储 2.温度上下限报警功能,上下限可调 3.华氏、摄氏可转换显示 三、设计思路: 该设计是以计算机和单片机数据采集系统为核心,单片机数据采集系统主要完成对温度信号进行数据采集,计算机主要完成温度信号的分析、显示和控制等功能。设计中采用Intel 公司的89C51 单片机完成数据采集,采用A D 5 7 4 完成数据的A/D 转换。图2 为AD574 与89C51 单片机的接口电路。 1.设计虚拟前面板 温度监测软件设计本系统以labview8.5 作为开发工具。现以仿真数据为例来讲述系统软件对温度的监测、报警及显示功能。利用labview8.5编程使温度可以在华氏和摄氏之间随时进行切换,同时对温度实时监测。当温度超过上限要求时会及时点亮报警灯进行报警并显示每次采集过程中累加的报警次数,报警的上限值可以通过前面板的输入控件改变其值。采集进度定义为每次采集100 点。为了防止程序陷入死循环每次采集之间的时间间隔为1000ms。开始采集后在整个采集过程中可以暂停采集以便随时对温度进行观察。 2、编辑流程图 每一个程序前面板都对应着一段框图程序框图程序用

LabVIEW 图形编程语言编写.可以把它理解成传统程序的源代码。框 图程序由端口、节点、.图框和连线构成。其中端口被用来同程序前 面板的控制和显示传递数据.节点被用来实现函数和功能调用.图框 被用来实现结构化程序控制命令.而连线代表程序执行过程中的数据流.定义了框图内的数据流动方向 3、运行检验 检验是否能够完成系统的功能.改变相应参数进行进一步验证.以方便根据实际情况修改设计.从而方便实际器件的设计、调试。4、功能描述 创建一个VI程序模拟温度测量:把创建的温度计程、序 T(hermometerVI1作为一个子程序用在当前新建程序里.先前的温 度计子程序用于采集数据.而当前的程序用于显示温度曲线.并在前 面板上设定测量次数和每次测量间隔的延时;再创建一个新VI程序,进行温度测量,并把结果在波形图表上显示:利用新创建的VI程序.再输入新的字符串;据采集过程中。实时地显示数据;当采集 过程结束后,在图表上画出数据波形.并算出最大值、最小值和平 均值(此处只使用摄氏温度单位):修改TemperatureAnalysis.VI DemoReadVohageVI程序以检测温度是否超出范围.当温度超出上限(High Limit)时,前面板上的LED点亮,并且有一个蜂鸣器发声。5、设计过程 创建一个VI程序模拟温度测量假设传感器输出电压与温度成 正比。例如.当温度为70时,传感器输出电压为0.7V。本程序也

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

序号(学号):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

单片机温度采集与显示

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单片机为控制器构成的数字温度测量装置的工作

单片机实验温度采集系统

单片机原理与运用 课 程 设 计 课题名称:专业班级:学生姓名:指导老师:完成时间:温度采集与显示系统2012年7月4号

摘要 随着信息技术的飞速发展,嵌入式智能电子技术已渗透到社会生产、工业 控制以及人们日常生活的各个方面。单片机又称为嵌入式微型控制器,在智能 仪表、工业控制、智能终端、通信设备、医疗器械、汽车电器、导航系统和家 用电器等很多领域都有着广泛的应用,已成为当今电子信息领域应用最广泛的 技术之一。 本文主要介绍了一个基于STC89C52单片机的温度采集与显示系统,详细 描述了利用液晶显示器件温度传感器DS18B20开发测温系统的原理,重点对传感器与单片机的硬件连接和软件编程进行了详细分析。主要地介绍了数字温度 传感器DS18B20的数据采集过程,进而对各部分硬件电路的工作原理进行了介绍。温度传感器DS18B20与STC89C52结合构成了最简温度检测系统,该系统可以方便的实现温度采集和显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合我们日常生活和工、农业生产中的温 度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。 单片机综合实验的目的是训练单片机应用系统的编程及调试能力,通过对 一个单片机应用系统进行系统的编程和调试,掌握单片机应用系统开发环境和 仿真调试工具及仪器仪表的实用,掌握单片机应用程序代码的编写和编译,掌 握利用单片机硬件仿真调试工具进行单片机程序的跟踪调试和排错方法,掌握 示波器和万用表等杆塔工具在单片机系统调试中应用。 关键词:单片机STC89C52、DS18B20温度传感器、液晶显示器LCD1602、AT24C02数据存储芯片

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

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

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

相关主题
文本预览
相关文档 最新文档