当前位置首页 > 建筑/施工 > 图纸/图集
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

[毕业设计]基于单片机的冬枣保鲜库恒温控制系统

文档格式:DOC| 49 页|大小 446.06KB|积分 15|2021-11-08 发布|文档ID:38512307
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 49
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 第一章 绪  论第一节 冬枣保鲜库恒温控制系统概述本毕业设计的冬枣保鲜库恒温控制系统,是面向冬枣果农的小型保鲜库它以单片机为核心,利用其他温度检测元件和执行机构及时、自动地对保鲜库进行温度控制,从而提高保鲜能力,延长保鲜时间,带来更大的经济效益该系统有键盘可以进行很方便地控制,实现以下功能:被控温度设定,控制精度设定,对温度采样点的查询,并能显示数据由于是面向普通果农的,考虑果农的实际的可投资额,尽量在不降低系统性能的前提下,采用价格低的元器件,降低了整个系统的造价,节省投资该系统采用8031单片机,下面对此做详细介绍第二节 单片机的特点所谓单片机,就是把中央处理器CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器(Read Only Memory)、定时器/计数器以及I/O(Input/Output)接口电路等主要计算机部件,集成在一块集成电路芯片上的微型计算机虽然单片机只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义。

    单片机的主要功能在于实现计算机控制,现在单片机的应用日益广泛深入,诸如在仪器仪表,家用电器和专用装备的智能化,在过程控制方面单片机也扮演着越来越重要的角色单片机是微型机的一个分类,它的应用系统也包括硬件系统和软件系统硬件系统和微型机一样软件系统只有监控程序和目标码的应用程序概括地说,单片机具有以下五个主要特点:1. 受集成度限制,片内存储器容量较小一般ROM小于8K字节,RAM小于256字节,但可在外部进行扩展,通常ROM、RAM可分别扩展至64K字节或128K字节2. 可靠性好芯片本身是按工业测控环境要求设计的,其抗干扰优于一般的通用的CPU;程序指令及常数、表格固化在ROM中不易被损坏;许多信号通道均在同一个芯片内,故可靠性高3. 易扩展片内具有计算机正常运行所必须的部件芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统4. 控制功能强为了满足工业控制的要求,一般单片机指令系统中均有极丰富的条件分支转移指令、I/O口的逻辑操作及位处理功能一般来说,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器5. 一般单片机内无监控程序或系统通用管理软件,只放置有用户调试好的应用程序。

    第三节 单片机在冬枣保鲜库恒温控制系统中的应用单片机具有功能强、体积小、结构紧凑、性能/价格比高等优点,因此很适合用于智能控制系统在冬枣保鲜库恒温控制系统中,单片机的应用主要有以下几点:1. 系统控制与管理该系统的控制和管理由单片机进行,在测量过程中能够自动启动信号采样,数据处理完毕后,发出信号驱动执行机构动作,并对键盘的命令及时响应、识别和处理2. 数据处理数据处理是计算机的独特功能,是其它各种仪器设备无法实现的在测量过程中,单片机承担了全部的计数、计时和数据处理任务,并存储重要的设定值和精度值第二章  方案构思与选择方案构思与选择是本设计中十分重要的一环,是影响性能/价格的主要因素在进行方案构思与选择时,应考虑到如下几个方面的问题:1. 采用新颖测量方法首先必须选择最合适的测量原理,以充分利用微机的运算和控制功能,从而简化其他硬件电路,提高测量精度和仪器性能2. 操作性要好操作性好,包括两个方面含义,即使用方便和维护容易3. 可靠性高可靠性高是对系统设计最重要的一个基本要求4. 价格要便宜在满足精度、速度等同等条件下,尽可能采用价格低的元器件,以降低整个系统的费用第一节 设计目的冬枣的保鲜期短,常温下仅能保鲜6-7天,超期则变软,失去经济价值,为了提高市场竞争能力,需要延长保鲜期,故一个合适的保鲜库是很重要的。

    既要满足保鲜的要求而且果农能负担得起投资,并有较高的效益有资料显示,保鲜库温度控制16℃以下,冬枣可贮存1个月;用0.03mmPVE塑料袋包装,温度控制在0-1℃,可贮存2个月因此,在计算机技术广泛应用的现在,我们不难设计一个以微处理器为核心的数字式恒温控制系统,以对温度进行测量,这样不但测量结果精确,而且可靠性高,控制及时,价格便宜,使用起来灵活方便,降低人工强度由于此测量装置是以单片计算机8031为处理器,具有工业上稳定和可靠的优点,因此具有适合恶劣的工作环境的特点第二节 设计要求在进行设计时把要实现的任务与功能合理的分配给硬件和软件这其中既要考虑到满足精确性、可靠性、实时性的要求,又要做到硬件软件合理,尽可能地提高性能/价格比硬件的设计主要采用大规模集成电路,软件的设计主要采用MCS―51汇编语言第三节 硬件的选择根据设计要求,本系统所要求的控制精度不是很高,所以在选择硬件时选用了一些价格低廉性能基本符合要求的元器件选用8031单片机、2764ROM、A/D转换器ADC0809、LED显示电路和热敏电阻及声光报警器等元器件达到设计要求该系统的适时数据处理量不大,所以没有选用外部RAM,A/D转换器也只是8位转换。

    在此控制系统中,应用8031最小系统对各采样点、设定值、精度值的温度及时、准确的储存和数据处理控制通常的单片机应用系统中,使用的显示器主要有LED(发光二极管显示器)和LCD(液晶显示器)由于只是对温度值进行显示,所以选择LED显示器进行数字显示即可对最主要的控制对象——温度,采用四个热敏电阻分布式采样,用A/D转换器ADC0809进行模/数转换当系统发现被控温度异常时,声光报警器及时发出信号由于本次设计是理论设计,故对热敏电阻、声光报警器等没有具体指明是何种器件第四节 软件的设计由于温度对象是比较难控制的,滞后很大,而且保鲜库现场的环境封闭性较高,因此在对温度的检测和控制上结合实际情况以方便编程为主,对可能发生的环境温度进行测量和显示,并在温度异常时报警以负反馈控制理论为指导,当库内的温度与设定值的偏差在经过控制算法计算后超过控制精度二倍的时候,发出控制信号,采取相应的升温或降温手段,单片机不断地对四路采样信号进行采样和计算,在库温与设定值还存在较小偏差时,停止升温或降温动作,防止调节过度软件设计的具体程序图和详细说明请参照第四章:冬枣保鲜库恒温控制系统软件设计第三章  冬枣保鲜库恒温控制系统硬件电路介绍冬枣保鲜库恒温控制系统硬件电路大体上可分为四个部分,即8031最小系统、热敏电阻温度传感部分、LED显示器、A/D转换器。

    下面分别介绍这几部分的结构原理第一节 8031最小系统一、 8031最小应用系统的构成8031是片内无程序存储器的供应状态芯片,因此其最小应用系统必须在片外扩展EPROM图3-1为外接程序存储器的最小应用系统Vcc P0.0~7RST/VPD 8031Vss ALE XTAL1 P2.0~4 XTAL2 PSEN74LS373GA7~A0O7~O02764EPROMA12~A8OER2R1+5VCO1CO2图3.1 8031最小应用系统片外8K字节单元地址要求地址线13根(A0~A12),它由P0口和P2.0~P2.4组成地址锁存信号为ALE程序存储器的选取信号为PSEN,由于程序存储器只有一片,故其片选信号直接接地8031芯片本身的连接除EA必须接地,表明选择外部存储器外,还必须有复位和时钟电路二、 8031单片机的基本组成ROMRAM时钟电路CPU定时器/计数器并行接口P0 P1P2 P3串行接口TxD RxD中断系统INT0 INT1T0 T1图3-2 8031单片机的结构框图8031单片机的基本组成见图3-2` 各部分介绍如下:1. 中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。

    8031的CPU能处理8位的二进制数或代码2. 内部程序存储器(内部RAM)8031芯片内部共有256个RAM单元,但其中后128个单元被专用寄存器占用,能作为寄存器供用户使用的只是前128个单元,用于存放可读写的数据因此通常所说的内部数据存储器是指前128单元,简称内部RAM3. 内部程序存储器(内部ROM)8031内部没有专用的程序存储器,必须依靠外部芯片来扩展其程序存储器4. 定时器/计数器8031共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计时结果对计算机进行控制5. 并行I/O口8031共有四个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入输出6. 串行口8031单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用1 402 393 384 375 366 357 348 3387518051803112 2913 2814 2715 2616 2517 2418 2319 2220 217. 中断控制系统8031单片机的中断功能较强,以满足控制应用的需要。

    8031共有5个中断源,即外部中断2个,定时/计数中断2个,串行中断1个全部中断分为高级和低级共二个优先级别8. 时钟电路8031芯片内部有时钟电路,但石英晶体和微调电容需外接时钟电路为单片机产生时钟脉冲序列系统允许的最高晶振频率为12MHz从上述内容可以看出,8031虽然是一个单片机芯片,但作为计算机应该具有的基本部件它都包括,因此实际上它已是一个简单的微型计算机了三、 8031的信号引脚8031是标准的40引脚双列直插式集成电路芯片,引脚排列请见图3-3 1 402 393 384 375 366 357 348 3387518051803121 2922 2823 2724 2625 2526 2427 2328 2229 21P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0/RxDP3.1/TxDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1VssVccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0Vss图3-31. 信号引脚介绍P0.0~P0.7 P0口8位双向口线P1.0~P1.7 P1口8位双向口线P2.0~P2.7 P2口8位双向口线P3.0~P3.7 P3口8位双向口线ALE 地址锁存控制信号在系统扩展时,ALE用于控制把P0口输出的低8位地址送锁存器锁存起来以实现低位地址和数据的隔离。

    此外由于ALE是以晶振频率六分之一的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用PSEN 外部程序存储器读选通信号在读外部ROM时PSEN有效,以实现外部ROM单元的读操作EA 访问程序存储器的控制信号当EA信号为低电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器RST 复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作XTAL1和XTAL2 外接晶体引线端当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号Vss 地线Vcc +5V电源以上就是8031单片机芯片40引脚的定义及简单功能说明2. 信号引脚的第二功能由于工艺及标准化等原因,芯片的引脚数目是有限的例如8031系列把芯片引脚数目限定为40条,但单片机为实现其功能所需要的数目却远远超过此数目,因此就出现了需要与可能的矛盾如何解决这个矛盾?“兼职”是唯一可行的办法,即给一些信号引脚赋以双重功能如果把前述的信号定义为引脚的第一功能的话,则根据需要再定义的信号就是它的第二功能下面介绍某些信号引脚的第二功能。

    口线第二功能信号名称P3.0RxD串行数据接收P3.1TxD串行数据发送P3.2INT0外部中断0申请P3.3INT1外部中断1申请P3.4T0定时器/计数器0计数输入P3.5T1定时器/计数器1计数输入P3.6WR外部RAM写选通P3.7RD外部RAM读选通表3-1 P3口的第二功能(1) P3口线的第二功能P3口的8条口线都定义有第二功能,详见表3-12) EPROM存储器程序固化所需要的信号有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉和编程电源,这些信号也是由信号引脚以第二功能的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V)31脚(EA/Vpp)(3) 备用电源引入8031单片机的备用电源也是以第二功能的方式由9脚(RST/VPD)引入的当电源发生故障电压下降到下限值时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息不丢失以上把8031单片机的全部信号,分别以第一功能和第二功能的形式给出对于9、30和31各引脚,由于第一功能信号第二功能信号是计算机在不同工作方式下的信号,因此不会发生使用上的矛盾但是P3口的情况却有所不同,,它的第二功能信号都是单片机的重要控制信号。

    因此在实际使用时,都是先按需要选用第二功能信号,剩下的口线才以第一功能的身份作数据位的输入输出使用四、 8031的复位工作方式8031单片机共有复位、程序执行、单步执行、掉电保护、低功耗以及EPROM编程和校验等6种工作方式这里只介绍复位方式1. 复位操作复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统进入死锁状态时,为了摆脱困境,也需按复位键以重新启动除了PC之外,复位操作还对一些专用寄存器有影响,它们的复位状态如下: PC 0000H TCON 00H ACC 00H TL0 00H PSW 00H TH0 00H SP 00H TL1 00H DPTR 0000H TH1 00H P0~P3 FFH SCON 00H IP 000000B SBUF 不定 IE 0000000B PCON 00000B TMOD 00H复位操作还对单片机的个别引脚信号有影响。

    2. 复位信号及其产生RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即2个机器周期以上),若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作整个复位电路包括芯片内外两部分外部电路产生的复位信号(RST)送史密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对史密特触发器的输出进行采样然后得到内部复位操作所需要的信号3. 复位方式复位操作有上电自动复位和按键手动复位两种方式上电自动复位是通过外部复位电路的电容充电来实现的,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化按键手动复位有电平方式和脉冲方式两种其中按键电平复位是通过使复位端经电阻与Vcc电源接通实现的,而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的五、 8031的时钟电路在8031芯片内部有一个高增利益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2而在芯片外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路时钟电路产生的振荡脉冲经过触发器进行二分频后,才成为单片机的时钟脉冲信号。

    一般电容C1和C2取30pF左右晶体的振荡频率范围是1.2MHz~12MHz晶体振荡频率高,则系统的时钟频率也高,单片机运转速度也就快但反过来运行速度快对存储器的要求就高,对印刷板的工艺要求也高(线间寄生电容要小)8031在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12MHz主要是在高速串行通信的情况下才使用六、 8031的定时器/计数器1. 定时方法概述在单片机的应用中,可供选择的定时方法有:(1) 软件定时软件定时是靠执行一个循环程序以进行时间延迟软件定时的特点是时间精确,且不需外加硬件电路但软件定时需占用CPU从而增加CPU开销,因此软件定时的时间不宜太长此外软件定时方法在某些情况下无法使用2) 硬件定时对于时间较长的定时,常使用硬件电路来完成硬件定时方法的特点是定时功能完全由硬件电路完成,不占CPU时间但通过改变电路中的元件参数来调节定时时间,在使用上不够灵活方便3) 可编程定时器定时这种定时方法是通过对系统时钟脉冲的计数来实现的计数值通过程序来设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便此外,由于采用计数方法来实现定时,因此可编程定时器都兼有计数功能,可以对外部脉冲进行计数。

    在单片机应用中,定时与计数的需求较多,为了使用方便并增加单片机的功能,就把定时电路集成在芯片中,称之为定时器/计数器 8031单片机内部有两个定时器/计数器2. 定时器/计数器的定时计数功能作为基本内容,8031单片机共有两个可编程的定时器/计数器,分别称定时器/计数器0和定时器/计数器1它们都是16位加法计数结构,分别由TH0和TL0及TH1和TL1两个8位计数器构成8031的每个定时器/计数器都具有定时和计数两种功能1) 计数功能所谓计数是指对外部事件进行计数外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数8031芯片有T0(P3.4)和T1(P3.5)两个信号引脚,分别是这两个计数器的计数输入端外部输入的脉冲在负跳变时有效,进行计数器加1计数方式下,单片机在每个机器周期的S5P2节拍对外部计数脉冲进行采样如果前一个机器周期采样为高电平,后一个机器周期采样为低电平即为一个有效的计数脉冲在下一机器周期的S3P1进行计数可见采样计数脉冲是在二个机器周期进行的鉴于此,计数脉冲的频率不能高于振荡脉冲频率的1/242) 定时功能定时功能也是通过计数器的计数来实现的,不过这时的计数脉冲来自单机内部,即每个机器周期产生一个计数脉冲。

    也就是每个机器周期计数器加1 由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12如果单片机采用12MHz晶振,则计数频率为1MHz即每微秒计数器加1这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值3. 定时器/计数器控制寄存器与定时器/计数器有关的控制寄存器有:(1) 定时器控制寄存器(TCON)TCON寄存器既参与中断控制又参与定时控制其中有关定时的控制位有四位:TF0(TF1)——计数溢出标志位当计数器溢出(计满)时,该位置1使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法将该位清0;使用中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清0TR0(TR1)——定时器运行控制位TR0(TR1)=0 停止定时器/计数器工作TR0(TR1)=1 启动定时器/计数器工作该位根据需要以软件方法使其置1或清02) 工作方式控制寄存器(TMOD)TMOD寄存器是一个专用寄存器,用于控制两个定时器/计数器的工作方式但TMOD寄存器不能位寻址,只能用字节传送设置其内容各位定义如下:位序B7B6B5B4B3B2B1B0位符号GATEC/TM1M0GATEC/TM1M0从寄存器的位格式中可以看出,它的低半字节定义定时器/计数器0,高半字节定义定时器/计数器1。

    其中: GATE——门控位GATE=0 以运行控制位TR0(TR1)启动定时器GATE=1 以外中断请求信号(INT0或INT1)启动定时器C/T——定时方式或计数方式选择位C/T=0 定时工作方式C/T=1 计数工作方式 M1M0——工作方式选择位M1M0=00 方式0M1M0=01 方式1M1M0=10 方式2M1M0=11 方式3(3) 中断允许寄存器(IE) EA——中断允许总控制位 ET0(ET1)——定时/计数中断允许控制位ET0(ET1)=0 禁止定时/计数中断ET0(ET1)=1 允许定时/计数中断七、 8031定时器计数器工作方式8031的定时器计数器共有四种工作方式,在冬枣保鲜库恒温控制系统的设计中主要应用了定时器的工作方式1,下面主要介绍方式1方式1是16位计数结构的工作方式,计数器由低8位TL和高8位TH构成图3-4是定时器/计数器0在工作方式1的逻辑结构(定时器/计数器1也与此相同)TF0TH0 TL08位 8位12分频OSCC/T=0C/T=1T0(P3.4)TR0GATEINT0(P3.2)图3-4 定时器/计数器工作方式1逻辑结构控制如图所示,当C/T=0时,多路开关接通振荡脉冲的十二分频输出,16位计数器以此计数,这就是定时工作方式。

    当C/T=1时,多路开关接通计数引脚(T0),外部计数脉冲由引脚T0输入当计数脉冲发生负跳变时,计数器加1,这就是计数工作方式不管是哪种工作方式,当TL的计数溢出时,就会向TH进位,而全部16位计数溢出时,则向计数溢出标志位TF进位这里说明一下工作方式控制寄存器中门控位(GATE)的功能当GATE=0时,由于GATE信号封锁了或门,使引脚INT0无效而这时或门输出端的高电平状态却打开了与门,因此可以由TR0的状态来控制计数脉冲的接通与断开这时如果TR0=0,则断开模拟开关,停止计数,定时器/计数器不能工作因此在单片机的定时或计数应用中要注意GATE位的清0当GATE=1,同时又TR0=1时,有关电路的或门和与门全部打开,计数脉冲的接通与断开由外引脚INT0控制当该信号为高电平时计数器工作,而当该信号为低电平时计数器停止工作当为计数工作方式时,计数值的范围是: 1~65526(216)当为定时工作方式时,定时时间计算公式为: (216-计数初值)晶振周期12 或(216-计数初值)机器周期其时间单位与晶振周期或机器周期相同八、 74LS373简介74LS373是八D锁存器,对于置数全部并行存取。

    三态输出控制、允许其功能表如下:三态允许控制端锁存允许端D输出LHHHLHLLLLQ0HZ1 202 193 184 175 166 157 148 139 1210 11EN1Q1D2D2Q3Q3D4D4QGNDVcc8Q8D7D7Q6Q6D5D5QLE图3-5 74LS373引脚图 表3-2 74LS373功能表74LS373的引脚如图3-5所示这个八位的寄存器的特点是专为驱动大电容或相对低阻抗的负载而设计的三态输出,高阻抗的第三状态被提高的逻辑电平驱动,给这一寄存器提供如下能力:即不需要接口上拉部件在总线 结构中,74LS373可以直接接到总线上,并驱动总线对于用作缓冲寄存器、I/O通道、双向总 线驱动器及工作寄存器,特别有 吸引力LS373是透明D型锁存器,即当允许端(G)为高电平时,Q输出将随数据(D)输入当允许端为低电平时,输出端将被锁存在已经建立起的数据电平上九、 2764EPROM存储器2764是一种8K8位的紫外线电擦除可编程只读存储器,单一+5V供电,工作电流为75ma,维持电流为35ma,读出时间最大为250ns。

    2764为28线双列直插式封装,其管脚配置如图3-6所示2764 EPROM 8K828272625242322217820919181716151011121314654321VccPGMNCA8A9A11OEA10CEO7O6O5O4O3VppA12A7A6A5A4A3A2A1A0O0O1O2O2GNDA0~A7: 地址线O0~O7: 数据输出线CE: 片选线OE: 数据输出选通线PGM: 编程脉冲输入端Vpp: 编程电源图3-6 2764引脚图 g f GND a be d GND c dp图3-7第二节 LED显示电路通常的七段LED显示块中有七个发光 二极管构成,因此也称之为七段LED显示器,其排列见图3-7 此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号第三节 A/D转换器一、 A/D转换器概述A/D转换器用于实现模拟量到数字量的转换,按转换原理可分为四种,即:计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。

    目前最常用的是双积分式A/D转换器和逐次逼近式A/D转换器双积分A/D转换器的主要优点是转换精度高,抗干扰性能好,价格便宜;但转换速度较慢因此这种转换器主要用于速度要求不高的场合另一种常用的A/D转换器是逐次逼近式的,逐次逼近式A/D转换器是一种速度较快,精度较高的转换器其转换时间大约在几微秒到几百微秒之间在本设计中,由于控制精度的要求比较低,所以选用ADC0809作为四路模拟采样的A/D转换器,它的转换路数、精度和价格都非常合适,这里主要对ADC0809介绍一下二、 典型A/D转换器芯片ADC0809ADC0809型8位MOS型A/D转换器,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用的译码电路,其转换时间为100微秒左右其引脚图如图3-8所示:ADC080928272625242322217820919181716151011121314654321IN2IN1IN0ABCALED7D6D5D4D0Vref(-)D2IN3IN4IN5IN6IN76STARTEOCD3OECLOCKVccVref(+)GNDD1图3-8 ADC0809引脚图对ADC0809主要信号引脚的功能说明如下:IN7~IN0——模拟量输入通道A、B、C——地址线ALE——地址锁存允许信号ATART——转换启动信号D7~D0——数据输出线OE——输出允许信号CLK——时钟信号EOC——转换结束状态信号Vcc——+5V电源Vref——参考电源第四节 温度检测该系统采用四个热敏电阻感知温度。

    它具有灵敏度高、体积小、重量轻、热惯性小、寿命长以及价格便宜等优点它是负温度特性,当温度升高时,电阻值减小其特性曲线时一条指数曲线,因此在使用时要选用合适的温度范围的热敏电阻,使其温度与阻值成线形关系,给热敏电阻通以恒定的电流,测量电阻两端就得到一个电压,再将此电压经A/D转换变成数字量考虑到计算调试和编程方便,取00H~FFH对应0~5V和―15.0℃~36.0℃,即0.2℃变化对应数字变化量01H,调节可变电阻,使之相对应ADC0809IN3IN2IN1IN0+5VRT图3-9第五节 硬件电路原理图  该系统的硬件电路原理图如后两页所示包括主电路图和键盘显示电路图第四章 冬枣保鲜库恒温控制系统的软件设计本章主要介绍冬枣保鲜库恒温控制系统的工作过程及其软件设计第一节  工作过程说明该恒温控制系统对四个采样点的温度进行采样,模/数转换后,由主温度控制程序对采样信号和设定值比较后做出相应处理在主程序控制时,主处理器响应外中断0的键盘的中断请求,然后调用INT0中断处理程序,同时定时器0开始30秒定时,相应的设定或者采样点的温度显示处理完毕后,回到主程序,继续对系统监控该系统是采用8位数字控制,为适应不同气候和保鲜要求,可以方便地用键盘来设定和查询保鲜库的被控温度和控制精度,并且可对4个温度采样点的温度进行监控和显示,在温度变化超出。

    因为温度是个滞后大,不易控制的对象,所以在进行控制时,将控制精度扩大二倍,这样执行结构就不至于过于灵敏地动作,降低损耗,而且使控制更加合理,不至于过度当采样点温度或者库内温度超出设定值的三倍,温度异常时,系统自动声光报警,提醒管理员检查处理第二节  软件的有关说明1. 内部RAM的分配堆栈区:60H被控温度设定值:30H4路温度采样点 :31H,31H,33H,34H被控温度精度 :35H负温差量 :36H正温差量 :37H二倍精度 :38H定时计数 :39H显示缓冲单元 :5FH,5EH,5DH,5CH2. 控制参数温度控制范围 :―15.0℃~36.0℃可控制精度 :0.0℃~8.0℃0.2℃变化对应数字变化量:01H3. 键盘按键功能及温度显示四位温度显示 :第1位0表示温度在零上;―表示温度在零下 第2、3、4位表示温度值 小数点固定在第3位键盘按键功能 :0~9,数字设定键 :A,被控温度设定键 :B,控制精度设定键 :C,温度查询键 :D,设定确认键在查询操作时 0:被控温度设定键 1~4:4个温度采样点的代号 5:控制精度4. 键盘与显示盘面设计:  5. 键盘操作:设定被控温度,按A键,输入温度值,按D键确认         设定控制精度,按B键,输入精度值,按D键确认         查询温度和控制精度,按C键,输入查询代号1023495CBA8.67―D图4-1第三节 主程序流程图及说明复位初始化显示设定值四路模拟采样主温度控制开始图4-2主程序的主要功能是在硬件系统加电复位后,进行初始化。

    确立堆栈区并把显示缓冲区指向设定值,然后对中断控制器初始化,调用显示设定值子程序,对四个采样点的温度进行采样,模/数转换后,由主温度控制程序对采样信号和设定值比较后做出相应处理然后再重复显示——采样——控制这三个步骤主程序的流程图如右图4-2所示第四节 显示子程序流程图及说明  在该恒温控制系统中,采用四位LED显示器,由于没有串行数据通信的要求,而且温度显示的速度不需要高速,所以利用8031的串行口方式0的输出方式,在串行口外接74LS164移位寄存器,构成键盘/显示器接口,其硬件接口电路如硬件电路图所示在该图中下边的4个74LS164作为8位七段显示器的静态显示口,上边的74LS164作为键扫描输出口,8031的P3.3作为同步脉冲输出控制线这种静态显示方式显示器亮度高,很容易做到显示不闪烁静态显示的优点是CPU不必频繁地为显示服务,因而主程序可不必扫描显示器,软件设计比较简单,从而使单片机有更多的时间处理其他事务程序流程图见下页如图4-3所示LED显示器在第二章已经作了详细的介绍,本重点介绍LED显示程序为了存放要显示的转速值,在内部RAM中设置了显示缓冲区,其单元个数与LED显示位数相同。

    在本设计中,四个显示器的缓冲单元是5FH~5CH,与LED显示器的对应关系为:LED4LED3LED2LED15FH5EH5DH5CHYNYNP3.3置1,开放显示输出R7 04H,置显示位数指向显示缓冲区单元首地址取出待显示数加偏移量0DH查表取字形数据送串行缓冲器显示TI=1?清中断标志取下一个数(R7)—1=0?P3.3清0,关闭显示器输出返回DISP图4-3第五节 四路模拟采样转换子程序流程图及说明NYYR1 31H,数据存储区首地址置A/D转换器地址,指向通道0R7 04H,置通道数4启动A/D转换R6 0AH,软件延时计数空操作,等待转换结束(R6)—1=0?读取转换结果(R1) A(DPTR)+1,指向下一个通道(R1)+1,指向下一个数据存储单元(R7)—1=0?NADCY采样结束,返回图4-4在该恒温控制系统中四路模拟采样是采用软件延时的方法由于ADC0809片内无时钟,可利用8031提供的地址锁存允许信号ALE经D触发器二分频后获得, ALE脚的频率时8031单片机时钟频率的1/6 单片机的频率采用6MHz,则ALE脚的输出频率为 1MHz,再二分频后为500MHz,恰好符合ADC0809对时钟频率 的要求。

    由于ADC0809具有输出三态锁存器, 其8位数据输出引脚可直接与数据总线相连 地址译码引脚A,B,C分别与地 址总线的低三位A0,A1,A2相 连,以选通IN0~IN7中的一个通路将P2.7(地址总线最高位A15)作为片选信号,在启动A/D转换时,由单片机的写信号和P2.7控制ADC的地址锁存和转换启动,由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时,启动进行转换在读取转换结构时,用单片机的读信号和P2.7脚经一级或非门后,产生的正脉冲作为OE信号,用以打开三态输出锁存器分别对四路模拟信号轮流采样一次,并依次把结果转储到数据存储区其程序流程图如右图4-4所示第六节 主温度控制程序流程图及说明一、主温度控制程序是关系到控制是否达到要求和是否控制合理的关键程序,在查阅了大量的温控和保鲜技术资料,我按如下程序流程图设计了该温度控制程序在控制设计中设置了两个变量,即负温差量和正温差量,对保鲜库的4个温度采样点的温度进行采样,与设定值相减,其结果分别累加到正、负温差量(温差超过三倍的控制精度则报警)由于库里设置了空气对流设备,使库内各处的温度达到一致,所以当正、负温差量比较后,如果差值超出控制允许的范围(程序设定为二倍精度),则温度调节执行机构采取相应的动作,进行加温或降温;如果未超出范围,则设备不动作,由库内的空气对流设备自行调节,这样调节更加合理、经济。

    二、程序内部RAM单元分配地址:被控温度设定值:30H4路温度采样点 :31H,31H,33H,34H被控温度精度 :35H负温差量 :36H正温差量 :37H二倍精度 :38H其流程图如图4-5所示发出降温信号,报警YNNNNNNYYYY置R7 00H,36H 00H,37H 00HR0 31H,R1 49H取采样值采样>设定?采样减设定得正温差值送37H累加温差值>三倍精度?(R7)—1=0?正温差量>负温差量?(正—负)温差量>二倍精度?设定减采样得负偏差值送36H累加Y(负—正)温差量>二倍精度?二倍精度?发出升温信号,报警对应采样点报警CONTROL控制结束,返回图4-5第七节 被控温度设定值转换程序流程图及说明N4BH—(R0)Y取十位值,A (5EH)(A)=0℃?(A)*32HR0 (A)取个位值,A (5DH)(A)*05HR0  (A)+(R0)取十分位值,A (5CH)(A)/02HR0 (A)+(R0)取标志位,A (5FH)(R0)+4BH转换结果在A中SDZH返回在程序中利用键盘来设定被控温度值,但是设定的是按照用户习惯的摄氏温度,在程序处理中采用的是8位数字量,所以需要专用程序来转换,故设计此子程序。

    在设计时,根据实际生产情况限定的温度在―15.0℃~36.0℃的范围内,将这个范围按0.1℃分为510个点,故每0.2℃变化对应数字量变化01H,1℃变化对应05H,10℃变化对应32H,将这个变化规律设定为数字转换的单位,先判断标志位,再对相应的十位、个位、十分位分别转换,最后存储由此来设计程序其流程图如右图4-6所示 第八节 温度显示转换程序流程图及说明该系统程序内部处理以8位数字量进行,所以在显示时,必须要把数字量转换为摄氏值,即显示缓冲区中的键码值其转换原理和设定值转化相同,只是将过程反过来而已其流程图如图4-7所示第九节 键盘扫描子程序流程图及说明利用8031的串行口方式0的输出方式,在串行口外接74LS164移位寄存器,构成键盘/显示器接口,8031的P2.6,P2.7作为键输入线,P3.3作为同步脉冲输出控制线其流程图如图4-8所示第十节 键盘中断处理子程序流程图及说明该恒温控制系统在主程序控制时,不扫描键盘,程序设计时将外部中断0定义为键盘中断,硬件设计是把外部中断0的引脚和键盘的行线用“与”门相连,当有中断时,主程序去处理中断请求,对键盘进行扫描,识别键码,然后做相应的处理。

    在外部中断0响应后,同时开30秒定时器,在30秒内完成相应的设定与查询操作,否则在定时30秒后跳回主程序另外,外部中断0响应后则关外部中断0,是因为硬件电路的设计使每次键盘按键时,都与中断0对应,转入中断处理程序,但是扫描程序的设计是有中断后不断地扫描键盘,为了在操作时不引起程序的混乱,就必须把外部中断0暂时关闭,在中断处理程序结束后返回时,再把外部中断0开启该键盘设计成16键,其中键0~5有两种功能,所以中断处理程序比较繁复,用以下两个流程图,如图4-9来表示超低温,显示“————”Y(A)=00H?(A)=0FFH?(A)=0℃?NYNYR0 待显示单元地址A 待显示温度值超高温,显示“0999”5FH 0EH5FH 00HR1 A.相对0℃计算差量B 32HA/B,计算十位数5EH A,存十位数值A B,B 05HA/B,计算个位数5DH A,存个位数值A B,A*02H5CH A,存十分位数值R1 4BHR1 ((R0)),A 4BHA―R1NXSZH转换结束,返回图4-7NA (R4)+(R3)R3 (R3)+1NR4 08HR6左移一位R4 00HR7 08H,R6 0FEH,R3 00HYYYYNYYNNYNNNNP2.7=0?第二排有键,延迟去抖动抖动?输出完否?P2.6=0?是第一排键?A 00HSBUF A输出完否?P2.6=0?第一排有键,延迟去抖动SBUF R6(A)=00H?(R7)—1=0H?等待键释放KEY扫描结束图4-8NNN5EH (A),显示,再扫描键盘5DH (A),显示,再扫描键盘NYYNNNYYY中断保护,关外部中断0定时器0初始化启动定时器0扫描键盘,取键值(A)=0AH?显示A,再扫描键盘(A)=00H?(A)=0DH?5FH (A),显示,再扫描键盘(A)<0AH?(A)<0AH?(A)<0AH?5CH (A)显示,再扫描键盘错误键,中断返回INT05EH (A),显示,再扫描键盘5DH (A),显示,再扫描键盘5CH (A),显示,再扫描键盘采样值转换成显示键码NYNYYNYNYNYY(A)=0DH?显示D,再扫描键盘(A)<0AH?(A)<0AH?(A)<0AH?精度值转换,存于35H(A)=0BH?(A)=0CH?显示C,再扫描键盘(A)<06H?3AH (A)+30H显示精度NN返回图4-9YN(A)=0BH?设定值转换,存于30H中断结束返回第十一节 定时中断处理子程序流程图及说明该系统定时/计数器采用工作方式1,其最大的定时周期是131ms。

    软件设计在键中断处理时,如果长时间未进行正确操作,定时为30秒,则跳出中断程序返回主程序计数器初值设TH0为00H,TL0为00H,再设置软件循环231次,达到30秒其程序流程图如图4-10所示NY现场保护计数器重新加载循环次数减1现场恢复39H=0?至键中断处理程序INT0FHT0INT返回图4-10第十二节 单片机CPU抗干扰技术在程序设计中的应用微机应用系统在工业现场使用时,有大量的干扰,当干扰作用到CPU本身时,CPU将不能按正常状态执行程序,从而破坏程序的正常运行为了克服这些可能会出现的干扰,一般在进行软件设计时应用指令冗余、软件陷阱、程序实时监视系统(WATCHDOG)等抗干扰技术下面简要介绍一下这三种抗干扰技术当CPU受到干扰后,往往将一些操作数当作指令码来执行,引起程序混乱当程序弹飞到某一单字节指令时,将自动纳入正轨但当程序弹飞到某一双字节或三字节指令上时,有可能落到其操作数上,从而继续出错所以在RET、RETI、ACALL、LCALL、AJMP、AJMP、LJMP、JZ、JNZ、JC、JNC、JB、JNB、JBC、CJNE、DJNZ等指令后插入两条NOP指令,可保护其后的指令不被。

    点击阅读更多内容
    卖家[上传人]:16666666666
    资质:实名认证