24通道温度检测显示控制系统设计.doc_第1页
24通道温度检测显示控制系统设计.doc_第2页
24通道温度检测显示控制系统设计.doc_第3页
24通道温度检测显示控制系统设计.doc_第4页
24通道温度检测显示控制系统设计.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南科技工业职业技术学院毕业设计论文 设计课题: 24通道温度检测显示控制系统 班 级: 09201 姓 名: 胡 斌 学 号: 09201011 专 业: 电气自动化技术 教研室: 电气电子 指导老师: 杨可以 肖剑平 联系电话:E-mail: 24通道温度检测显示控制系统的设计摘要本系统以AT89C51单片机为控制核心技术的多路温度采集控制系统,该系统提供24路温度信号采集,经A/D转换后送单片机LED显示。系统由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端串行输出到74LS164,经74LS164串并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。该系统电路简单、可靠性高,能解决实际应用中的问题。引言温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足轻重的作用。随着现代信息技术的飞速发展,温度测量控制系统开始在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动化的核心就是单片机。目前,一个学习与应用单片机的高潮在全社会大规模兴起。学习单片机的最有效的方法就是理论与实践并重。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 目录24通道温度检测显示控制系统的设计- 2 -摘要- 2 -引言- 2 -第一章 设计方案- 4 -1.1.控制器电路设计- 4 -1.2设计方案- 4 -1.3 系统方案的确定- 5 -1.3.1 传感器方案- 5 -1.3.2 系统控制及数据处理模块方案- 5 -1.4 器件的选用- 6 -1.4.1 数字式温度传感器的选择- 6 -1.4.2 键盘显示模块的选择- 8 -1.4.3.温度控制模块的选择- 8 -第二章 硬件设计- 10 -2.1 AT89C51简介- 10 -2.2单片机最小系统- 13 -2.2.1原理简介- 13 -2.2.2电路详解- 14 -1). 时钟电路- 15 -2). 复位电路- 18 -3). EA/VPP(31 脚) 的功能和接法- 18 -4). P0 口外接上拉电阻- 19 -5). LED 驱动电路- 20 -2.3显示电路- 21 -2.4 74LS164寄存器- 24 -第三章 程序设计- 27 -3.1温度控制设计- 27 -3.1.1温度控制器电路原理图设计- 28 -3.2程序设计流程图如下:- 31 -3.3温度控制程序设计- 36 -结束语- 45 - 第一章 设计方案1.1.控制器电路设计在工业生产和日常生活中,对温度的控制系统的要求,主要是保证温度在定的温度范围内变化,稳定性好,不震荡,对系统的快速性要求不高。本电路由89C51单片机温度传感器、模数转换器ADC0809、串入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端串行输出到74LS164,经74LS164串并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作, LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下同时一工作周期。1.2设计方案系统采用近几年来成熟的各种温度传感技术、数据处理控制技术和功能化模块来构造基本的系统功能。系统的功能往往决定了系统采用的结构,本系统要实现的是温度数据的测量、存储、显示及后期处理等功能,因此,系统的总体结构可以构想为温度采集模块、短距离无线通信模块、系统控制及数据处理模块等几大部分。系统方案在温度数据采集部分主要有三种构想:一是温度传感器选用传统的模拟式器件,二是选用集成式器件,三是选用数字式传感器;在短距离无线通信部分主要有三种构想:一是采用蓝牙技术,二是采用红外线技术,三是选用无线数传模块;在系统控制和数据处理部分也有两种构想:一是采用单片机控制,二是采用 DSP 进行处理。1.3 系统方案的确定1.3.1 传感器方案传统的模拟式传感器具有测量转换速度快,温度测量范围宽的优点。但是模拟传感器的模拟信号需要先经过取样、放大和模数转换电路处理,再将转换得到的表示温湿度值的数字信号交由微处理器或 DSP 处理。被测信号从敏感元件接收的非电物理量开始,到转换为微处理器可处理的数字信号之间,设计者须考虑的线路环节较多,相应测试装置中元器件数量难以下降,随之影响产品的可靠性及小型化。而且模拟信号在长距离传输过程中,容易受到电磁干扰而导致误差产生。在多点温湿度检测的场合,各被测点到测试装置之间引线距离往往不同,各敏感元件参数的不一致性,都将会导致误差的产生,并且难以完全清除。另外,模数转换系统的精度也不可能很高,存在一定非线性,互换性较差。采用具有直接数字量输出的传感器能够避免上述问题。数字式传感器能把被测模拟量直接换成数字量输出,可以直接与数字设备(计算机,计数器,数字显示系统等)相联,用微控制器、DSP 或计算机进行信号的处理、滤波、压缩。它的信号原则上不受放大器和信号处理系统的温度漂移的影响,具有极高的抗干扰能力。数字式传感器具有高的测量精度和分辨率,稳定性好,信号易于处理、传送和自动控制,便于动态及多路测量,读数直观,安装方便,维护简单,工作可靠性高。虽然存在反应速度较慢,温度测量的范围不宽的缺点,数字式传感器技术的发展仍受到人们越来越多的重视。考虑系统的经济性和温湿度传感器的优缺点及发展状况,确定温度传感器采用数字式。1.3.2 系统控制及数据处理模块方案温度数据在采集后通常要进行数据处理,以实现测量数据的记录、显示和对测控系统的控制。对于一般的工业测量与控制,多采用专用计算机系统进行测控。专用计算机系统是把采集系统作为一个独立完整的功能实体,用单片机或 DSP 来控制整个系统。最主要的特征是系统软、硬件规模完全根据应用系统的要求配置,独立性、可扩展性好,因此系统具有较高的性价比。根据微处理器的不同,专用计算机应用系统可分为 DSP 应用系统和单片机应用系统。DSP 和单片机都是构成专用计算机系统的核心芯片,DSP 主要用于复杂的数字信号处理,DSP 芯片中具有各种特殊功能的计算模块,采用流水线结构,提高了 DSP 的运行速度。由于 DSP 主要应用于高速数据处理,因此外部 I/0 接口比较少,不便于系统扩展,因此多数 DSP 系统还要通过单片机来进行外部接口扩展,这导致了 DSP 的成本较高,另外,DSP 具有一定的专用性,开发过程比较复杂,不便于通用。单片机是把微型机的主要部分集中在一个芯片上的单芯片微型计算机。由于它的结构与指令都按照工业控制要求设计的,故又称微控制器,也可称微型计算机。通常由微型计算机和外围设备组成,包括微处理器(CPU)、存储器(存放程序指令或数据指令的 ROM、RAM 等)、输入/输出接口(I/O)及其它功能部件如定时器/计数器、中断系统等。单片机受集成度限制,片内存储容量较小,一般 ROM 只有 48K 字节,RAM 小于 256 字节,通过外部扩展, ROM、RAM 可扩展至 64K 字节。与通用计算机系统相比,具有系统简单、功能易扩展、测控能力强、可靠性高。单片机应用系统正在被各个领域广泛应用。采用单片机具有系统简单、开发容易,功能易扩展、测控能力强、可靠性高的特点。尤其适用于系统中没有复杂的计算处理、对采集速度要求不高的数据采集处理系统。对于不要求高速的一般的数据采集与处理系统,采用 DSP 是不经济的方案。在单片机能够满足系统对数据处理速度要求的情况下,单片机无异是首选的信息处理单元。1.4 器件的选用1.4.1 数字式温度传感器的选择随着温度传感器智能化、集成化技术的进步,数字式温度传感器也得到了快速发展,世界上许多公司推出了新型的数字温度传感器系列。这些产品的出现极大的丰富了设计工程师的选择对象。在如此众多的产品中选择出合适的器件,应该把握以下几点:外围电路应该尽量简单;测温的精度、分辨率要合适,以便减少不必要的电路和软件开发成本;温度传感器采用的总线负载能力如何,能否满足多点测温的需要;占用 MCU 的 I/O引脚数情况如何,因为 MCU 的系统资源非常宝贵,输入通道有限,多点温度测量时,如果测量的点数超过了输入通道时,就要添加多路复用器,这将增加成本和开发时间,应尽量节约;与 MCU 的通信协议应尽量简单,温度测量的软件开发难度、成本要尽量小。目前在数字温度传感器中采用的串行总线主要有Philips公司的I2C总线,Motorola 公司的 SPI 总线,National Semiconductor 公司的 Microwireplus总线,Dallas Semiconductor 公司的 1-Wire 总线和 Siemens 公司的 Profibus总线等。常用的数字温度传感器主要有:1.ADC808是是美国模拟器件公司(ADI)推出的单片温度测量与控制用集成电路。其内部包含有带隙温度传感器和 10 位 A/D 转换器。测温范围为-55+125,具有 10 位数字输出温度值,分辨率为 0.25,精度为2,转换时间为 1530ms。具有体积小、编程简单、使用容易、测量精度高,并且不易受环境千扰等优点。AD7418 可以级联至多 8 片在同一个 I2C 总线上。2. LM74 是美国国家半导体公司推出的集成了带隙式温度传感器、- /D 数转换器,并具有 SPI/Microwire 兼容总线接口的数字温度传感器。具有抗干扰能力强、分辨力高、线性度好、成本低等优点。在传感器通电工作后自动按一定速率对温度进行检测,并在片内寄存器中存储转换的温度值,主机可以在任意时刻读出传感器温度值。LM74 具有休眠模式,在休眠时消耗的电流不超过 10A,适用于对功率消耗有严格限制的系统。 LM74 的模数转换器为 12 位外加符号位,因此在其有效工作范围内可达 0.0625的分辨率,转换时间为 425ms。3. MAX6575L/H 是美国 MAXIM 公司的一种单总线式数字温度传感器,具有较好的线性、较低的功耗,而且编程简单,调试容易,使用方便。测温范围为-40+125,其误差范围:在 25时优于3, 在 85时优于4.5,在 125时优于5。但是 MAX6575L/H 在其测温范围内非线性误差较大,因此,当它用于高精度温度测量时,必须对其进行非线性补偿。它最多允许在一根 MCU 的 I/O 总线上同时挂接 8 个 MAX6575L/H 进行多点温度测量。为了避免多个传感器同时测温时有重叠的现象,MAX6575 提供了“L”和“H”两种型号的传感器,它们的使用方法相同,而且每一种型号的传感器又可以通过时间选择引脚。但是,MAX6575L 的远距离传输特性并不理想,传输范围只能在 5m 以内,超过此范围将采集不到被测温度数据,这也是这种器件的一个弊端。4.DS18B20是美国Dallas半导体公司的新一代数字式温度传感器,它具有独特的单总线接口方式,即允许在一条信号线上挂接数十甚至上百个数字式传感器,从而使测温装置与各传感器的接口变得十分简单,克服了模拟式传感器与微机接口时需要的 A/D 转换器及其它复杂外围电路的缺点,而且,可以通过总线供电,由它组成的温度测控系统非常方便,而且成本低、体积小、可靠性高。DS18B20 的测温范围-55+125,最高分辨率可达 0.0625,由于每一个 DS18B20 出厂时都刻有唯一的一个序列号并存入其 ROM 中,因此 CPU 可用简单的通信协议就可以识别,从而节省了大量的引线和逻辑电路。Dallas 公司的单总线技术具有较高的性能价格比,有以下特点:1.适用于低速测控场合,测控对象越多越显出其优越性;2.性价比高,硬件施工、维修方便,抗干扰性能好;3.具有 CRC 校验功能,可靠性高;由于 ADC808线接口方式在多点测温时有明显的优势,占用 MCU 的 I/O 引脚资源少,和 MCU 的通信协议比较简单,成本较低,传输距离远,所以,选用 DS18B20 做为温度测量的传感器。1.4.2 键盘显示模块的选择显示单元是人机交互的窗口,是传递仪表工作状态和检测数据的关键性设备,通常的显示器件有液晶显示器(LCD)和数码管显示器(LED)。液晶显示器在使用中有许多注意事项:不能对它长期施加直流电,否则易造成显示器的老化;必须注意防潮;防止施加过大的压力;对于使用的环境温度要特别注意,温度不能太高也不能太低;防止紫外线的直接照射;要特别注意防静电,焊接显示器时烙铁要接地。可见液晶显示器在使用中有众多的限制条件,但它同时也有一定的优势,其中最明显的就是低功耗,消耗电流一般是 pA 级的。数码管显示器不同与液晶显示器,它对电源没有特殊要求,受环境温度的影响不大,不怕阳光的照射,也没有严格的防静电要求,而且它的显示亮度要比液晶显示器亮许多,适于安装在室内、室外、黑暗和光线强的各种环境中,但它的耗电量明显高于液晶显示器。本系统由于要适合在不同环境条件下使用,所以选用数码管显示器。本系统采用五位数码管,两位用来显示当前温度,两位用来显示欲设定的温度,一位用来显示当前状态。在本系统中,键盘由四个键组成,即温度增加键、温度减小键、确认键和取消键。因按键很少,所以采用独立式键盘。1.4.3.温度控制模块的选择温度控制单元是系统的执行器件,是系统的最后一个环节,也是系统中最重要的一部分。目前制冷系统主要包括空气循环制冷系统、蒸汽压缩制冷系统、使用氨水的吸收式制冷系统和近几年发展起来的半导体制冷系统。目前制热技术主要有太阳能吸收热量、煤炭燃烧制造热量、热泵和近几年发展起来的半导体制热系统。其中半导体制冷制热是利用特种半导体材料通过直流电时产生低温高温的一种制冷制热方式,由于它弥补了其它制冷制热方式的不足,在当今世界的人下制冷制热技术中占有独特的地位。所以本系统选择半导体制冷制热器件。第二章 硬件设计2.1 AT89C51简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图3 AT89C51管脚图主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.2单片机最小系统单片机是一门实践性较强的技术,很多初学者在学习单片机技术开发的时候往往一头雾水,不知何从下手。为此,笔者结合自己使用单片机多年的经验,特意设计了单片机开发所需的Study-c 整机和硬件套件,并结合套件精心编写了单片机从入门到精通系列教程。通过讲述单片机原理、电路设计、应用开发软件工具、编写实验实例让读者全面接触单片机技术。教程编排上由浅入深,循序渐进,内容力求完整、实用、趣味并存,使读者在轻松愉快的学习过程中逐步提高单片机软硬件综合设计水平。2.2.1原理简介在了解原理之前, 首先让我们思考一个问题,什么是单片机, 单片机有什么用? 这是一个有意思的问题,因为任何人都不能给出一个被大家都认可的概念,那到底什么是单片机呢? 普遍来说, 单片机又称单片微控制器, 是在一块芯片中集成了CPU( 中央处理器)、RAM( 数据存储器)、ROM( 程序存储器)、定时器/ 计数器和多种功能的I/O( 输入/ 输出) 接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。在这里,我们没必要去找到明确的概念来解析什么是单片机,特别在使用C 语言编写程序的时,不用太多的去了解单片机的内部结构以及运行原理等。从应用的角度来说,通过从简单的程序入手,慢慢的熟悉然后逐步深入精通单片机。在简单了解了什么是单片机之后,然后我们来构建单片机的最小系统,单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51 系列单片机来说, 最小系统一般应该包括: 单片机、时钟电路、复位电路、输入/ 输出设备等(见图1)。图1 单片机最小系统框图2.2.2电路详解依据上文的内容,设计51 系列单片机最小系统见图2。图2 51系列单片机最小系统下面所示的单片机最小系统各部分电路进行详细说明。1). 时钟电路在设计时钟电路之前,让我们先了解下51 单片机上的时钟管脚:XTAL1(19 脚) :芯片内部振荡电路输入端。XTAL2(18 脚) :芯片内部振荡电路输出端。XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图2 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说晶振可以在1.2 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的11.0592M 的石英晶振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在20 40pF 之间选择(本实验套件使用30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在30 50pF 之间。通常选取33pF 的陶瓷电容就可以了。另外值得一提的是如果读者自己在设计单片机系统的印刷电路板(PCB) 时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。检测晶振是否起振的方法可以用示波器可以观察到XTAL2 输出的十分漂亮的正弦波,也可以使用万用表测量( 把挡位打到直流挡,这个时候测得的是有效值)XTAL2 和地之间的电压时,可以看到2V 左右一点的电压。#include #include #define uint unsigned int #define uchar unsigned char #define ADC XBYTE0x7fff sbit p17=P17; void delay(uint);/ void ledsacn(); uchar LEDOFNUM=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; uchar dataa,g,s,b; uint led; void ledscan() /显示程序 uchar k; for(k=0;k150;k+) P1=LEDOFNUMb;p17=1;P2=0x0d;delay(1);P1=0x00; P1=LEDOFNUMs;P2=0x0b;delay(1);P1=0x00; P1=LEDOFNUMg;P2=0x07;delay(1);P1=0x00; ADC=0; void main() /主函数 EX1=1;IT1=1;EA=1; ADC=0; while(1) ledscan(); int1() interrupt 2 /中断响应程序 dataa=ADC; led=dataa*500.0/255;g=led%10;s=(led/10)%10;b=led/100; void delay(uint x) /延时程序 uchar k; while(x-) for(k=0;k125;k+); 2). 复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。MCS-5l 系列单片机的复位引脚RST( 第9 管脚) 出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST 持续为高电平,单片机就处于循环复位状态。复位操作通常有两种基本形式:上电自动复位和开关复位。图2 中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算RC 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。3). EA/VPP(31 脚) 的功能和接法51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 保持高电平时,单片机访问内部程序存储器;当EA 保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。在本实验套件中,EA 管脚接到了VCC 上,只使用内部的程序存储器。这一点一定要注意,很多初学者常常将EA 管脚悬空,从而导致程序执行不正常。4). P0 口外接上拉电阻51 单片机的P0 端口为开漏输出,内部无上拉电阻(见图3)。所以在当做普通I/O 输出数据时,由于V2 截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,必须外接上拉电阻。图3 P0端口的1位结构另外,避免输入时读取数据出错,也需外接上拉电阻。在这里简要的说下其原因:在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。例如,当从内部总线输出低电平后,锁存器Q 0, Q 1,场效应管V1 开通,端口线呈低电平状态。此时无论端口线上外接的信号是低电平还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。又如,当从内部总线输出高电平后,锁存器Q 1, Q 0,场效应管V1 截止。如外接引脚信号为低电平, 从引脚上读入的信号就与从锁存器读入的信号不同。所以当P0 口作为通用I/O 接口输入使用时,在输入数据前,应先向P0 口写“1”,此时锁存器的Q 端为“0”,使输出级的两个场效应管V1、V2 均截止,引脚处于悬浮状态,才可作高阻输入。总结来说:为了能使P0 口在输出时能驱动NMOS 电路和避免输入时读取数据出错,需外接上拉电阻。在本实验套件中采用的是外加一个10K 排阻。此外,51 单片机在对端口P0P3 的输入操作上,为避免读错,应先向电路中的锁存器写入“1”,使场效应管截止,以避免锁存器为“0”状态时对引脚读入的干扰。5). LED 驱动电路细心的读者可能已经发现,在最小系统中,发光二极管(LED)的接法是采取了电源接到二极管正极再经过1K 电阻接到单片机I/O 口上的(见图4 中的接法1)。为什么这么接呢?首先我们要知道LED 的发光工作条件,不同的LED 其额定电压和额定电流不同,一般而言,红或绿颜色的LED 的工作电压为1.7V2.4V,蓝或白颜色的LED 工作电压为2.74.2V, 直径为3mm LED 的工作电流2mA10mA。在这里采用红色的3mm 的LED。其次,51 单片机(如本实验板中所使用的STC89C52单片机)的I/O 口作为输出口时,拉电流(向外输出电流)的能力是A 级别,是不足以点亮一个发光二极管的。而灌电流(往内输入电流)的方式可高达20mA,故采用灌电流的方式驱动发光二极管。当然,现今的一些增强型单片机,是采用拉电流输出(接法2)的,只要单片机的输出电流能力足够强即可。另外,图4 中的电阻为1K 阻值,是为了限制电流,让发光二极管的工作电流限定在2mA10mA。图4 LED的接法2.3显示电路本次设计中采用共阴极数码管作为显示器。LED的驱动电路简单,使用方便,具有耗电少、成本低廉、配置简单灵活、安装方便、耐振动、使用寿命长等优点。LED显示器与单片机的接口一般有动态显示与静态显示接口两种电路。1、静态显示方式:是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制,显示稳定,提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。2、动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间轮流点亮。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关, 由于扫描速度极快,显示效果与静态驱动相同。通过调整电流和时间参数,可以既保证亮度,又保证显示。(2) CD4051功能及使用概述: CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3 位地址码 ABC来决定。INH”是禁止端,当 “INH”=1时,各通道均不接通。此外,CD4051还设有另外一个电源端 VEE ,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的 CMOS 电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰峰值达 15V 的交流信号。例如,若模拟开关的供电电源 VDD= 5V,VSS=0V,当 VEE=5V时,只要对此模拟开关施加 0 5V的数字控制信号,就可控制幅度范围为5V5V的模拟信号。 . 使用十六进制代码就可以对CD4051进行操作了。比如说 P1=0X07 ,这样 CD4051就选择的是 7 号(二进制 111)通道了。 如果在八个通道输入一模拟量,在输出端将输出什么,输入什么是自己设定 例如,若模拟开关的供电电源 VDD= 5V,VSS=0V,只要对此模拟开关施加 05V的数字控制信号,. 这里,ABC 数字控制信号就可以使用 5V信号了,因为VDD是5v,里面控制部分就都是 5V逻辑. 当VEE=5V时,就可控制幅度范围为5V5V的模拟信号。 当Vee=-8V 时, 就可以可控制幅度范围为8V5V的模拟信号. Vee 就是电子开关的 8 个输入端可以允许的信号范围下限. 注意不要超过它的极限参数. 峰峰值达 15V CD4051管脚图及逻辑符号图 引脚功能描述: A0A2 地址端 I0/O0I7/O7 输入输出端 INH 禁止端 O/I 公共输出/输入端 VDD 正电源 VEE 模拟信号地 Vss 数字信号地CD4051逻辑图与真值表 CD4051参数 电源电压范围3V15V 输入电压范围0VVDD 工作温度范围 M 类55 125 E 类.40 85 极限值: 电源电压.0.5V 18V 输入电压0.5VVDD+0.5V 输入电流.10mA 储存温度65150 2.4 74LS164寄存器164 为 8 位移位寄存器,其主要电特性的典型值如下:54/74164 185mW 54/74LS164 80mW当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B任意一个为 低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。 引脚功能:CLOCK :时钟输入端CLEAR: 同步清除输入端(低电平有效) A,B :串行数据输入端QAQH: 输出端 图1 74LS164封装图 逻辑符号图274LS164 内部逻辑图 极限值 电源电压7V 输入电压 5.5V 工作环境温度 54164 -55125 74164 -070 储存温度 -65150 图3 真值表H高电平 L低电平 X任意电平 低到高电平跳变 QA0,QB0,QH0 规定的稳态条件建立前的电平 QAn,QGn 时钟最近的前的电平 图4 时序图 第三章 程序设计3.1温度控制设计本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON及数码管显示子程序DISP。(1)主程序主程序进行系统初始化操作,主要是进行定时/计数器的初始化。初始化时,温度设定值为2035摄氏度,温度设定键按下,通过设定值加和减键调整温度设定值。按下启动键,INT1转为高电平,开始加热,并显示当前温度。温度低于设定值,继续加热。直到温度高于设定值,停止加热。若有温度设定键按下,重新进行加热重复上述过程。(2)定时/计数器0中断服务程序应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。(3) 温度采集及模数转换子程序ADCON该子程序进行温度采样并将其转换为数字量传送给89C51的P0口。采样得到的温度数据存放在片内RAM的20H单元3.1.1温度控制器电路原理图设计ADC0809是典型的8位8通道逐次逼近式A/D转换器,CMOS工艺,用于将模拟信号转化为数字信号。加热系统要有加热电阻进行加热并由热传感器对温度进行采样和测量。测量的温度通过ADC0809的通道进行A/D转化。 按以上分析及相关知识设计出的温度控制器电路原理图如图1-5所示。图1-5 温度控制电路原理图(3)温度数据表在图1-5所示的电路中,热敏电阻的连接如图1-6所示。R8100k图 热敏电阻的连接D0D1 VR(+)D2D3D4D5 VR(-)D6D7 IC2ABC ADC0809 IN0OE IN1ALE IN2SC IN3 IN4EOC IN5 IN6CLK IN71714158181920212524239226710121626272812345VccR720kRTR9 本设计所使用的热敏电阻的分度表及ADC0809转换后的电压数字量见附表1-1所示转换后的电压数字量的计算方法为:热敏电阻与R8并联后的总电阻:R=(Rt*R8)/(Rt+R8)R与R7串联电路中R的分压值(即输入ADC0809的模拟量):V=5R/(R+R7)5V被分成256等分(8位量化),则每份的电压值:=5/256输入的模拟量电压经8位量化后的数字量:D=V/例如,热敏电阻在温度为20时的阻值为62.254千欧,则根据上述方法计算出的电压数字量为169,注意在计算中R7用实测值19.6千欧代入进入计算。在实际做该电路时,可根据自己所选择的热敏电阻的分度表计相关电路参数,按上述方法计算出ADC0809转换后的各温度对应的电压数字量。程序中的温度数据表构成:1个温度数据占2个字节,前一字为温度值,后一个字节为该温度下热敏电阻上的模拟电压转换成8位数字量。如在20时,热敏电阻对应的电压数字量为169,则20,169组成一个温度为20的温度数据。按这样方法组成的0-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论