基于单片机的热电阻温度检测

合集下载

51单片机热敏电阻测温程序

51单片机热敏电阻测温程序

//本程序是通过热敏电阻测温度(30c-50c),采用六位串行数码管显示,前三位显示ds18b20测得数据,后三位是热敏电阻测得数据#include<reg51.h>#include<math.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar smg[]={0x88,0xeb,0x4c,0x49,0x2b,0x19,0x18,0xcb,0x08,0x09};uchar b,d;uint shuju;int a,temp;sbit start=P2^7;sbit ale=P2^7;sbit addc=P2^6;sbit addb=P2^5;sbit adda=P2^4;sbit eoc=P2^3;sbit oe=P2^2;sbit clk=P3^2;//0809时钟脚sbit dat=P3^0; //串行数码管数据端sbit clock=P3^1; //串行数码管时钟端sbit DQ=P2^0;/******************delay**************************/void delay(uint x){while(x--);}void delay1(uint x){uint i,j;for(i=0;i<x;i++)for(j=0;j<110;j++);}/*******************ds18b20***********************/void Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时大于480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后如果x=0则初始化成功x=1则初始化失败delay(20);}/******************************从18B20中读一个字节****************************/ uchar Read_OneChar(void){uchar i = 0;uchar dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat >>= 1;DQ = 1; // 给脉冲信号if(DQ)dat |= 0x80;delay(8);}return(dat);}/******************************向18B20中写一个字节****************************/ void Write_OneChar(uchar dat){uchar i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(10);DQ = 1;dat >>= 1;}delay(8);}/***********************************读取温度**********************************/ uchar Read_Temperature(void){uchar i = 0,t = 0;Init_DS18B20();Write_OneChar(0xcc); // 跳过读序号列号的操作Write_OneChar(0x44); // 启动温度转换Init_DS18B20();Write_OneChar(0xcc); //跳过读序号列号的操作Write_OneChar(0xbe); //读取温度寄存器等(共可读9个寄存器)前两个就是温度i = Read_OneChar(); //读取温度值低位t = Read_OneChar(); //读取温度值高位b = t;d = 0x88;/* if(b&0x80==0x80) //显示负数{t = ~t;// t += 1;i = ~i;i += 1;d = 0xbf;} */a = i & 0x0f;i = i >> 4; //低位右移4位,舍弃小数部分t = t << 4; //高位左移4位,舍弃符号位t = t | i;if(t>=100)d=smg[t/100%10];return(t);}/******************串行发送显示******************/ void send(uchar x){uchar temp,i;temp=x;for(i=0;i<8;i++){temp=temp<<1;clock=0;dat=CY;clock=1;}}void send1(uchar x){uchar temp,i;temp=x&0xf7;for(i=0;i<8;i++){temp=temp<<1;clock=0;dat=CY;clock=1;}}/******************adc0809***************************/void adc0809(){start=0;start=1;_nop_();start=0;while(eoc==0);oe=1;shuju=P0;oe=0;shuju=shuju*1.96079;if(shuju<=445&&shuju>=437)shuju=((445-shuju)/2+30)*10;else if(shuju<437&&shuju>=427) //if语句主要是通过采集30-50c之间的数据,看出热敏电阻两端电压与温度之间关系,shuju=((445-shuju)/2+29)*10; //我把这些数据通过微分方法分成四段,然后在每段近视看成线性关系,最后算出温度else if(shuju<427&&shuju>=317)shuju=((445-shuju)/2+28)*10;else if(shuju<417&&shuju>=407)shuju=((445-shuju)/2+27)*10;else if(shuju<407&&shuju>=397)shuju=((445-shuju)/2+25)*10;else if(shuju<497&&shuju>=387)shuju=((445-shuju)/2+23)*10;send(smg[shuju%10]);send1(smg[shuju/10%10]);send(smg[shuju/100%10]);send(smg[a*10/16]);send1(smg[temp%10]);send(smg[temp/10%10]);delay1(1000);}/******************中断***************************/void timer_init(){TMOD=0x01;TH0=(65536-200)/256;TL0=(65536-200)%256;TR0=1;ET0=1;EA=1;}void timer() interrupt 1{TR0=0;TH0=(65536-200)/256;TL0=(65536-200)%256;clk=~clk;TR0=1;}/******************main****************************/ void main(){addc=0;addb=0;adda=0;// ale=1;timer_init();while(1){temp=Read_Temperature();adc0809();}}。

基于单片机热敏电阻温度采集

基于单片机热敏电阻温度采集

毕业设计说明书第一章序论1.1课题研究的意义温度是工业生产中主要的参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。

单片机在工业生产中的应用尤其广泛,温度采集系统则是单片机在工业生产中的一个典型的应用。

采用单片机对温度进行采集不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。

随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,单片机已经以其体积小、功能强、价格低、使用灵活等特点显示出了明显的优势和广泛的应用前景。

作为一名测控技术与仪器专业的学生,理应对单片机有更深的了解,此次针对89C51型单片机在温度控制方面的应用,对温度恒定系统进行了分析并给出了具体的解决方案。

1.2课题研究的背景和当今发展趋势数据采集系统始于20世纪50年代,1965年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员操作,并且测试任务由测试设备高速自动控制完成。

由于该种数据采集系统具有高速属性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。

20世纪70年代中后期,随着微型机的发展,诞生了采集器、仪表同计算机融为一体的数据采集系统。

由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。

从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,另一类是工业现场数据采集系统。

20世纪80年代随着计算机的普及应用,数据采集系统得到了极大的发展,开始出现了,通用的数据采集与自动化测试系统。

该阶段的数据采集系统主要有两类,一类以仪器仪表和采集器、通用接口总线和计算机等构成。

例如:国际标准ICE625(GPIB)接口总线系统就是一个典型的代表。

这类系统主要用于实验室,在工业生产现场也有一定的应用。

时至今日,由于集成电路制造技术的不断提高,出现了高性能、高可靠性的数据采集系统。

毕业设计-基于PT100热电阻温度传感器和AT89C51单片机的温度检测系统设计

毕业设计-基于PT100热电阻温度传感器和AT89C51单片机的温度检测系统设计

摘要本课题本系统采用PT100热电阻温度传感器和单片机组成可靠性高、功耗低的温度检测系统。

以AT89C51单片机系统为核心,对单点的温度进行实时检测。

采用模拟温度传感器PT100对温度进行检测;采用串型模数转换器ADC0809进行A/D转换把温度信号调解转换为电压信号与AT89C51单片机接口设置LED八段数码管实时显示温度值。

本设计包括温度传感器、A/D转换模块、数据传输模块、温度显示模块四个部分。

关键词:单片机,PT100热电阻,ADC0809,温度检测The design of Single Chip MicrocomputerTemperature Detection SystemBased on the Resistive Thermal Detector of PT100AbstractThis article AT89C51 monolithic integrated circuit which produces by ATMEL Corporation is the core, can inspect a single point of the temperature in real time. The adoption of the serial A/D for temperature signals into voltage signal mediation AT89C51 Single-Ship Compute interfaces with the eighth LED digital display of real-time temperature. The design includes four parts of the temperature sensor and the A / D converter module and the data transmission modules and the temperature display module. Each part functions and the process was described in the Paper in detail.Key words:Single-Ship Computer; Resistive Thermal Detector of PT100; ADC0809; Measure-temperature目录摘要 (I)Abstract (II)1 绪论 (1)1.1 课题背景 (1)1.2 方案论证 (2)1.2.1 单片机选型 (2)1.2.2 模数转换器选型 (3)1.2.3 显示方案确定 (3)2 硬件设计 (4)2.1 温度信号的获取与放大 (4)2.1.1 元件介绍 (4)2.1.2 放大电路设计 (4)2.2 模数转换单元 (5)2.2.1 8位串行A/D转换器ADC0809 (5)2.2.2 模数转换单元电路的设计 (7)2.3 键盘电路的设计 (8)2.4 LED显示电路的设计 (8)2.4.1 LED数码管原理 (9)2.4.2 LED数码管编码方式 (9)2.4.3 LED数码管显示方式和典型应用 (10)2.4.4 LED数码管的原理图 (11)2.5 声光报警电路 (12)2.6 单片机接口电路 (13)2.6.1单片机的时钟电路 (13)2.6.2复位电路和复位状态 (13)3 软件设计 (16)3.1 程序设计语言的选用 (16)3.2 软件程序的设计 (16)3.2.1 程序流程 (16)3.2.2 键盘管理 (17)3.2.3 LED显示 (18)3.2.4 模拟量的采集与处理 (18)3.3源程序 (22)4 抗干扰设计 (29)4.1 用于单片机系统的干扰抑制元件 (29)4.2 提高单片机系统抗干扰能力的主要手段 (29)5 结论 (31)致谢 (32)参考文献 (33)论文原创性声明 ...................................................................................... 错误!未定义书签。

基于单片机的热敏电阻温度计的设计

基于单片机的热敏电阻温度计的设计

基于单片机的热敏电阻温度计的设计
随着科技的不断发展,各种电子设备应用也越来越广泛。

热敏电
阻温度计便是其中之一,它是一种利用物质温度对电阻值的变化来实
现温度测量的智能仪器。

本篇文章将介绍热敏电阻温度计的设计及其
原理。

首先,我们需要准备的材料有单片机、热敏电阻、电阻、显示屏、连接线以及电源。

将这些材料准备齐全后,便可以开始进行热敏电阻
温度计的设计。

我们需要将热敏电阻、电阻、单片机连接成电路。

电路连接后,
需要进行编程,以使得单片机能够读取热敏电阻和电压值,并将其转
换成温度值。

通过显示屏将温度值显示出来,实现对温度的实时监测。

在热敏电阻温度计设计的过程中,需要注意以下几点:
1. 选用合适的热敏电阻:热敏电阻的温度系数决定了它在不同温
度下的电阻值,因此需要选择合适的热敏电阻。

2. 电路的稳定性:电路中各部分的连接不可松动,否则会影响温
度测量的准确性。

3. 编程的准确性:需要通过合理的代码编写来实现对热敏电阻和
电压值的正确读取和转换,确保温度测量的准确性。

总之,热敏电阻温度计因其简单易用、准确度高等优点被广泛应
用于各种领域中,例如工业制冷、医疗设备等。

希望通过本篇文章的
介绍,能够帮助读者更好地了解热敏电阻温度计的设计及其原理,以便于更好地应用于实际生活生产中。

基于51单片机的温度检测设计

基于51单片机的温度检测设计

基于51单片机的温度检测设计
1. 传感器选择,首先,我们需要选择合适的温度传感器。

常用的温度传感器包括NTC热敏电阻和DS18B20数字温度传感器等。

这些传感器可以通过模拟或数字接口与51单片机连接。

2. 电路设计,根据选定的传感器,设计相应的电路,包括传感器与单片机的连接电路和电源电路。

需要注意的是,传感器的输出信号可能需要经过放大、滤波等处理,以确保精准的温度测量。

3. 程序设计,利用C语言或汇编语言编写单片机的程序,实现对传感器采集到的温度数据的读取、处理和显示。

在程序设计中,需要考虑温度数据的精度、稳定性以及显示方式(比如LCD显示、数码管显示或者通过串口输出等)。

4. 校准和测试,设计完成后,需要进行校准和测试。

校准过程中,可以将传感器测得的温度与标准温度计测得的温度进行对比,以确定系统的准确性。

测试过程中,可以模拟不同温度环境下的测量情况,验证系统的稳定性和灵敏度。

5. 系统优化,根据测试结果,对系统进行优化,包括电路的调
整和程序的修改,以提高系统的性能和稳定性。

总之,基于51单片机的温度检测设计涉及到传感器选择、电路设计、程序设计、校准测试和系统优化等多个方面,需要综合考虑硬件和软件的设计要求,以实现一个稳定、精准的温度检测系统。

基于单片机的温度测量

基于单片机的温度测量

引言:温度是一个常见的物理量,对于许多领域的应用来说,准确地测量温度非常重要。

单片机作为一种常见的嵌入式系统,具有强大的数据处理和控制能力。

本文将介绍基于单片机的温度测量技术及其应用。

概述:温度测量是一项广泛应用于工业自动化、环境监测、医疗设备等领域的技术。

传统的温度测量方法主要基于热敏电阻、热电偶、红外线等。

而基于单片机的温度测量技术则结合了传感器、单片机和通信等技术,能够实时、精确地监测和控制温度。

正文:1. 传感器选择1.1 热敏电阻热敏电阻是一种根据温度变化导致电阻值变化的传感器。

它的特点是响应速度快、精度高,但对环境温度和供电电压的稳定性要求较高。

1.2 热电偶热电偶是一种使用两个不同金属的导线连接的传感器。

它的优点是测量范围广,适用于极高或极低温度的测量,但精度较低,受电磁干扰影响较大。

1.3 红外线传感器红外线传感器是一种测量物体表面温度的传感器。

它可以通过接收物体发出的红外辐射来测量温度,适用于无接触测量,但精度受物体表面性质影响较大。

2. 单片机选择2.1 嵌入式系统单片机作为一种常见的嵌入式系统,集成了处理器、存储器和外设接口。

它具有较强的计算和控制能力,适用于温度测量应用中的数据处理和控制任务。

2.2 选择合适的单片机型号选择合适的单片机型号是确保系统稳定运行的关键。

应根据温度测量的要求确定所需要的计算能力、引脚数量、通信接口等因素,选择合适的单片机型号。

3. 温度采集与处理3.1 模拟信号采集通过选定的传感器,将温度信号转换为模拟电压信号。

使用单片机的模拟输入接口,对模拟电压信号进行采集,获取温度数据。

3.2 数字信号处理单片机通过内置的模数转换器(ADC)将模拟信号转换为数字信号。

根据所选单片机型号的计算能力,可以进行进一步的数据处理和算法运算,包括滤波、校正等。

4. 数据存储与通信4.1 存储器选择根据温度测量系统的要求,可以选择合适的存储器类型,如闪存、EEPROM等。

基于单片机的热敏电阻温度计的设计

基于单片机的热敏电阻温度计的设计

基于单片机的热敏电阻温度计的设计引言:热敏电阻是一种根据温度变化而产生变阻的元件,其电阻值与温度成反比变化。

热敏电阻广泛应用于温度测量领域,其中基于单片机的热敏电阻温度计具有精度高、控制方便等特点,因此被广泛应用于各个领域。

本文将介绍基于单片机的热敏电阻温度计的设计,并通过实验验证其测量精度和稳定性。

一、系统设计本系统设计使用STC89C52单片机作为控制核心,热敏电阻作为测量元件,LCD1602液晶显示屏作为温度显示设备。

1.系统原理图2.功能模块设计(1)温度采集模块:温度采集模块主要由热敏电阻和AD转换模块组成。

热敏电阻是根据温度变化而改变阻值的元件,它与AD转换模块相连,将电阻变化转换为与温度成正比的电压信号。

(2)AD转换模块:AD转换模块将热敏电阻的电压信号转换为数字信号,并通过串口将转换结果传输给单片机。

在该设计中,使用了MCP3204型号的AD转换芯片。

(3)驱动显示模块:驱动显示模块使用单片机的IO口来操作LCD1602液晶显示屏,将温度数值显示在屏幕上。

(4)温度计算模块:温度计算模块是通过单片机的计算功能将AD转换模块传输过来的数字信号转换为对应的温度值。

根据热敏电阻的特性曲线,可以通过查表或采用数学公式计算获得温度值。

二、系统实现1.硬件设计(1)单片机电路设计单片机电路包括单片机STC89C52、晶振、电源电路等。

根据需要,选用合适的外部晶振进行时钟信号的驱动。

(2)AD转换电路设计AD转换电路采用了MCP3204芯片进行温度信号的转换。

根据芯片的datasheet,进行正确的连接和电路设计。

(3)LCD显示电路设计LCD显示电路主要由单片机的IO口控制,根据液晶显示模块的引脚定义,进行正确的连接和电路设计。

(4)温度采集电路设计温度采集电路由热敏电阻和合适的电阻组成,根据不同的热敏电阻特性曲线,选择合适的电阻和连接方式。

2.软件设计(1)初始化设置:单片机开机之后,需要进行一系列的初始化设置,包括对IO口、串口和LCD液晶显示屏的初始化设置。

基于单片机的热敏电阻数字温度计的思路

基于单片机的热敏电阻数字温度计的思路

基于单片机的热敏电阻数字温度计的思路
热敏电阻是根据温度变化而变化阻值的电阻,其阻值与温度成反比例关系。

基于单片机的热敏电阻数字温度计的思路主要包括以下几个方面:
1.硬件设计:选用合适的热敏电阻、运放、单片机等元器件进
行硬件设计,电路需要确保稳定可靠,能够满足测量要求。

2.软件设计:根据硬件设计要求,编写相应的单片机程序,实
现温度信息的采集、处理、存储和显示等功能,程序需要具有较高的精度和可靠性。

3.温度采集:利用单片机的模拟输入端口对热敏电阻进行采集,将其阻值转换为温度值,并进行校准和滤波等处理,确保温度测量精度。

4.温度显示:将采集到的温度值显示在单片机的显示屏上,可
显示数值和单位,也可根据需要进行警报和数据记录等功能。

5.应用扩展:可以根据需要增加多路温度采集、远程传输、数
据存储和分析等功能,扩展应用领域,满足不同用户需求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。

温度控制失误就可能引起生产安全、产品产量等一系列问题。

因此对温度的检测的意义就越来越大。

温度采集控制系统在工业生产、科学研究和人们的生化领域中,得到了广泛应用。

在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。

使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。

本课程设计采用金属热电阻温度计进行测温,工业中常采用三线制接法,尤其是在测温范围窄,导线长,架设铜导线途中温度发生变化等情况。

并通过ADC0809模数转换后经单片机送显示。

关键词:热电阻 ADC0809 AT89C52 显示引言 (1)一.系统原理及原理图 (1)1.系统原理 (1)(1)温度检测与处理 (1)(2)模数转换 (2)(3)温度显示 (2)2.系统原理图 (2)二.温度检测模块的设计 (2)1.电阻温度计简介 (2)2.温度检测及信号处理 (3)三.模数转换 (3)1.模数转换简介 (3)2.ADC0809简介…………………………………………4.3.单片机与ADC0809的连接 (4)四.显示及声光报警电路 (5)五.系统总电路图 (6)六.总结 (8)体会 (9)参考文献 (10)引言自动控制系统在各个领域尤其是工业领域中有着极其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。

随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

例如:在冶金工业、化化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行监测和控制。

采用MCS-51单片机对温度进行控制,不仅具有控制方便、组太简单和灵活性大等优点,而且可以把幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

因此,单片机对温度的控制问题是一个工业中经常会遇到的问题。

温度控制在我们的日常生活中是非常有用的,我们利用温度控制来更好的为我们的生活工作所服务,随着单片机行业的迅速发展,将会有更好的温度控制仪的出现。

一.系统原理及原理图1.系统原理该电阻温度检测系统由三部分组成:温度检测与处理,模数转换,温度显示。

(1)温度检测与处理电阻式温度计是利用物质在温度变化时本身电阻也随着发生变化的特性来测量温度的。

当被测介质中有温度阶梯存在时,所所测得温度是感温元件所在范围介质中的平均温度。

尽管导体或半导体材料的电阻值对温度的变化都有一定的依赖关系,但适用于制作温度检测元件的并不多,作为热电阻必须满足以下要求:①要有尽可能大而且稳定的电阻温度系数②电阻率要大,以便在同样灵敏度下减小元件的尺寸③电阻随温度变化要有单值函数关系,最好呈线性关系④在电阻的使用温度范围内,其化学和物理性能稳定,在加工时要有较好的工艺性⑤材料要易于提纯,要能分批复制而不改变其性能,要有良好的相互互换性⑥材料的价格便宜,有较高的性能价格比由电阻温度传感器检测的信号不稳定,进入测量电路的除了传感器输出的测量信号外,往往还有各种噪声。

而传感器的输出信号一般又很微弱,为了将测量信号从含有噪声的信号中分离出来我采用了四运放LM324进行信号放大及低通滤波,将噪声去除。

(2)模数转换A/D转换器的作用就是把模拟量转换成数字量,以便于单片机进行处理。

电阻温度计将测量温度以电信号的形式传递给ADC0809(逐次比较型),将电压信号转换成单片机可接收的数字信号。

(3)温度显示这部分模块由四位八段共阳极的数码管组成,段选部分直接与单片机相连。

2.系统原理图图1 系统原理图二.温度检测模块的设计1.电阻温度计简介利用导体和半导体的电阻随温度变化这一性质做成的温度计称为电阻温度计。

电阻温度计测量的精度比较高,有较大的测温范围,尤其是在低温测量方面比热电偶温度计为佳,热电偶温度计有参比端处理问题,而热电阻温度计则没有,易于使用于自动测量中,也便于远距离测量。

电阻温度计按感温元件分类分为:(1)金属热电阻温度计:主要由铂电阻、铜电阻、镍电阻和铑铁合金等;(2)半导体热敏电阻温度计2.温度检测及信号处理本次设计采用三线制方案。

在热电阻感温元件的一端连接两根引线,另一端连接一根引线,当电桥平衡时有R17(R18+R13)=R16(R15+Rt)若R16=R17,则有R13+R18=R15+Rt若两引线电阻相等,即R13=R15,则上式变成R18=Rt。

可见,这种引线形式可以较好的消除引线电阻的影响,且引线电阻因沿线环境温度变化而引起的组织的变化量也被分别接入两个相邻的桥臂上,可相互抵消。

因此三线制测量准确度高于两线制,应用较广。

图2 温度检测及处理电路三.模数转换1.模数转换简介模数转换(ADC)亦称模拟一数字转换,与数/模(D/A)转换相反,是将连续的模拟量(如象元的灰阶、电压、电流等)通过取样转换成离散的数字量。

模数转换包括采样、保持、量化和编码四个过程。

在某些特定的时刻对这种模拟信号进行测量叫做采样,量化噪声及接收机噪声等因素的影响,采样速率一般取 fS=2.5fmax。

通常采样脉冲的宽度 tw 是很短的,故采样输出是断续的窄脉冲。

要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。

量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题就是量化误差。

假设噪声信号在量化电平中是均匀分布的,则量化噪声均方值与量化间隔和模数转换器的输入阻抗值有关。

编码是将量化后的信号编码成二进制代码输出。

2.ADC0809简介本次设计模数转换部分用ADC0809。

ADC0809是8位逐次逼近型A/D转换器。

它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图3)。

多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。

三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。

ADC0809工作方式:(1)ADC0809 内部带有输出锁存器,可以与AT89S51 单片机直接相连。

(2)初始化时,使ST 和OE信号全为低电平。

(3)送要转换的哪一通道的地址到A,B,C 端口上。

(4)在ST 端给出一个至少有100ns 宽的正脉冲信号。

(5)是否转换完毕,我们根据EOC 信号来判断。

(6)当EOC变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。

3.单片机与ADC0809的连接(1)这是一种数据线对数据线、地址线对地址线的标准连接方式。

但是由于51 单片机没有现成的低8 位地址总线,所以采用这种标准连接方式需要用74LS373 或类似芯片产生低8 位地址总线.早期的MCS51 系列单片机的应用品种很多是没有内置程序存贮器的8031 芯片,本身就需要外挂74LS373 等芯片产生低8 位地址总线来外接E2PROM等程序存贮器,连接ADC0809 时不需要专门外挂74LS373.因此早期的MCS51 系列单片机,如8031 , 采用这种方式连接ADC0809 还是比较可行的.图4中的P2.7线作为整个ADC0809 芯片的片选线. 当P2.7 = 0 时,或非门敞开,允许写信号通过,将单片机负的写脉冲转换为ADC0809所需要的正脉冲,以选中ADC0809 某一通道并启动转换.(2)通常芯片的地址线只能进不能出,ADC0809的数据线有一特点:只能出不能进。

就是说,就像往SBUF写入时写到发送缓冲寄存器,从SBUF读出时实际是读取接收缓冲寄存器的数据一样,往ADC0809 写入时,把数据总线上的数据写到地址寄存器,从ADC0809 读出时实际是读取转换结果数据.因此可以在把51 单片机的8 位数据线接到ADC0809 的8 位数据线的同时,又把其中的3 位直接接到ADC0809 的3 根地址线以确定通道号.通常把51 单片机的8 位数据线中的低3 位D2 ,D1 ,D0 直接接到ADC0809 的3 根地址线A2 ,A1 ,A0 以确定通道号。

采用这种连接方式明显可以省去一片74LS373. ADC0809 的转换结果寄存器在概念上定位为单片机外部RAM单元的只读寄存器,而通道号锁存器在概念上定位为单片机同一个外部RAM单元的只写寄存器. 同一个外部RAM单元的只读寄存器与只写寄存器使用同一个地址,就像51 系列单片机的串行发送缓冲器与串行接收缓冲器使用同一个地址99H 一样,不会发生混乱。

连接方式有一个特点,那就是单片机要把最低3 位二进制数据通过数据总线写入ADC0809的地址锁存器,然后作为通道地址使用.(3)在很多应用场合,AT89S51 内部的硬件资源,例如4kB 闪存,128B 内部RAM,一个串行口和 4 个8 位并行口等,已经够用. 就是说,在很多应用场合,不需要外扩RAM或I/ O 口.当51 单片机没有外扩RAM 和I/ O 口时,ADC0809 就可以在概念上作为一个特殊的唯一的外扩RAM 单元. 因为它是唯一的,就没有地址编号,也就不需要任何地址线或者地址译码线. 只要单片机往外部RAM 写入,就是写到ADC0809 的地址寄存器中. 只要单片机从外部RAM读取数据,就是读取ADC0809 的转换结果.基于这种外部RAM 的唯一单元概念设计的AT89S51 与ADC0809 的连接电路。

图3 模数转换电路四.显示及声光报警电路1.显示本次设计的显示采取四位八段数码管与单片机直接相连,由单片机控制数码管的显示,并由按键控制数码管的显示方法,以及数值调整2.声光报警声光报警电路由蜂鸣器和发光二极管组成,当温度超过上限,或者低于下限时,蜂鸣器会发出鸣叫,二极管发光。

图4 显示和声光报警电路五.系统总电路图图5 数字温度检测电路六.总结我们认为,在这学期的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。

更重要的是,在实验课上,我们学会了很多学习的方法。

而这是日后最实用的,真的是受益匪浅。

要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

之所以使用单片机作为我们的执行核心,不仅是因为现在是社会上应用比较多的单片机。

不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。

相关文档
最新文档