基于单片机的冬枣保鲜库恒温控制系统_第1页
基于单片机的冬枣保鲜库恒温控制系统_第2页
基于单片机的冬枣保鲜库恒温控制系统_第3页
基于单片机的冬枣保鲜库恒温控制系统_第4页
基于单片机的冬枣保鲜库恒温控制系统_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第一章绪论第一节冬枣保鲜鲜库恒温控制制系统概述本毕业设计的冬冬枣保鲜库恒恒温控制系统统,是面向冬冬枣果农的小小型保鲜库。它它以单片机为为核心,利用用其他温度检检测元件和执执行机构及时时、自动地对对保鲜库进行行温度控制,从从而提高保鲜鲜能力,延长长保鲜时间,带带来更大的经经济效益。该该系统有键盘盘可以进行很很方便地控制制,实现以下下功能:被控控温度设定,控控制精度设定定,对温度采采样点的查询询,并能显示示数据。由于于是面向普通通果农的,考考虑果农的实实际的可投资资额,尽量在在不降低系统统性能的前提提下,采用价价格低的元器器件,降低了了整个系统的的造价,节省省投资。该系统采用80031单片机机,下面对此此做详细介绍绍。第二节单片机的的特点所谓单片机,就就是把中央处处理器CPUU(CentrralPrrocesssingUUnit)、随随机存取存储储器RAM(RandoomAcccessMMemoryy)、只读存存储器(ReeadOnnlyMeemory)、定时器/计计数器以及II/O(Inputt/Outpput)接口口电路等主要要计算机部件件,集成在一一块集成电路路芯片上的微微型计算机。虽虽然单片机只只是一个芯片片,但从组成成和功能上看看,它已具有有了微机系统统的含义。单片机的主要功功能在于实现现计算机控制制,现在单片片机的应用日日益广泛深入入,诸如在仪仪器仪表,家家用电器和专专用装备的智智能化,在过过程控制方面面单片机也扮扮演着越来越越重要的角色色。单片机是微型机机的一个分类类,它的应用用系统也包括括硬件系统和和软件系统。硬硬件系统和微微型机一样。软软件系统只有有监控程序和和目标码的应应用程序。概括地说,单片片机具有以下下五个主要特特点: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.03mmmPVE塑料袋包装装,温度控制制在0-1℃,可贮存2个月。因此此,在计算机机技术广泛应应用的现在,我我们不难设计计一个以微处处理器为核心心的数字式恒恒温控制系统统,以对温度度进行测量,这这样不但测量量结果精确,而而且可靠性高高,控制及时时,价格便宜宜,使用起来来灵活方便,降降低人工强度度。由于此测测量装置是以以单片计算机机8031为处理器,具具有工业上稳稳定和可靠的的优点,因此此具有适合恶恶劣的工作环环境的特点。第二节设计要要求在进行设计时把把要实现的任任务与功能合合理的分配给给硬件和软件件。这其中既既要考虑到满满足精确性、可可靠性、实时时性的要求,又又要做到硬件件软件合理,尽尽可能地提高高性能/价格比。硬件的设计主要要采用大规模模集成电路,软软件的设计主主要采用MCS―51汇编语言。第三节硬件的的选择根据设计要求,本本系统所要求求的控制精度度不是很高,所所以在选择硬硬件时选用了了一些价格低低廉性能基本本符合要求的的元器件。选选用8031单片机、27764ROMM、A/D转换器ADC08809、LED显示电路和和热敏电阻及及声光报警器器等元器件达达到设计要求求。该系统的的适时数据处处理量不大,所所以没有选用用外部RAM,A/D转换器也只只是8位转换。在此控制系统中中,应用80031最小系系统对各采样样点、设定值值、精度值的的温度及时、准准确的储存和和数据处理控控制。通常的的单片机应用用系统中,使使用的显示器器主要有LED(发光二极极管显示器)和LCD(液晶显示器)。由于只是对温度值进行显示,所以选择LED显示器进行数字显示即可。对最主要的控制对象——温度,采用四个热敏电阻分布式采样,用A/D转换器ADC0809进行模/数转换。当系统发现被控温度异常时,声光报警器及时发出信号。由于本次设计是理论设计,故对热敏电阻、声光报警器等没有具体指明是何种器件。第四节软件的的设计由于温度对象是是比较难控制制的,滞后很很大,而且保保鲜库现场的的环境封闭性性较高,因此此在对温度的的检测和控制制上结合实际际情况以方便便编程为主,对对可能发生的的环境温度进进行测量和显显示,并在温温度异常时报报警。以负反反馈控制理论论为指导,当当库内的温度度与设定值的的偏差在经过过控制算法计计算后超过控控制精度二倍倍的时候,发发出控制信号号,采取相应应的升温或降降温手段,单单片机不断地地对四路采样样信号进行采采样和计算,在在库温与设定定值还存在较较小偏差时,停停止升温或降降温动作,防防止调节过度度。软件设计计的具体程序序图和详细说说明请参照第第四章:冬枣枣保鲜库恒温温控制系统软软件设计。第三章冬枣枣保鲜库恒温温控制系统硬硬件电路介绍绍冬枣保鲜库恒温温控制系统硬硬件电路大体体上可分为四四个部分,即即8031最小系统、热热敏电阻温度度传感部分、LED显示器、A/D转换器。下下面分别介绍绍这几部分的的结构原理。第一节80031最小系统一、8031最最小应用系统统的构成8031是片内内无程序存储储器的供应状状态芯片,因因此其最小应应用系统必须须在片外扩展展EPROM。图3-1为外接程序序存储器的最最小应用系统统。VVccP0.0~7RST/VPD8031VssALEXTAL1P2.0~4XTAL2PSEN74LS373GA7~A0O7~O02764EPROMA12~A8OER2R1+5VCO1CO2图3.18031最小应用系统片外8K字节单单元地址要求求地址线13根(A0~A112),它由P0口和P2.0~PP2.4组成成。地址锁存存信号为ALE。程序存储器的选选取信号为PSEN,由于程序序存储器只有有一片,故其其片选信号直直接接地。8031芯片本本身的连接除除EA必须接地,表表明选择外部部存储器外,还还必须有复位位和时钟电路路。二、80331单片机的基基本组成ROMRAM时钟电路CPU定时器/计数器并行接口ROMRAM时钟电路CPU定时器/计数器并行接口P0P1P2P3串行接口TxDRxD中断系统INT0INT1T0T1图3-28031单片机的结构框图`各部分介绍如下下:1.中央处理理器(CPU)中央处理器是单单片机的核心心,完成运算算和控制功能能。8031的CPU能处理8位的二进制数或或代码。2.内部程序序存储器(内内部RAM)8031芯片内内部共有256个RAM单元,但其其中后128个单元被专专用寄存器占占用,能作为为寄存器供用用户使用的只只是前128个单元,用用于存放可读读写的数据。因因此通常所说说的内部数据据存储器是指指前128单元,简称称内部RAM。3.内部程序序存储器(内内部ROM)8031内部没没有专用的程程序存储器,必必须依靠外部部芯片来扩展展其程序存储储器。4.定时器//计数器8031共有22个16位的定时器/计数器,以以实现定时或或计数功能,并并以其定时或或计时结果对对计算机进行行控制。5.并行I//O口8031共有四四个8位的I/O口(P0、P1、P2、P3),以实现现数据的并行行输入输出。6.串行口88031单片机有一一个全双工的的串行口,以以实现单片机机和其它设备备之间的串行行数据传送。该该串行口功能能较强,既可可作为全双工工异步通信收收发器使用,也也可作为同步步移位器使用用。1402393384371402393384375366357348338751805180312928272625242322218031单片机机的中断功能能较强,以满满足控制应用用的需要。8031共有5个中断源,即即外部中断2个,定时/计数中断2个,串行中中断1个。全部中中断分为高级级和低级共二二个优先级别别。8.时钟电路路8031芯片内内部有时钟电电路,但石英英晶体和微调调电容需外接接。时钟电路路为单片机产产生时钟脉冲冲序列。系统统允许的最高高晶振频率为为12MHz。从上述内容可以以看出,8031虽然是一个个单片机芯片片,但作为计计算机应该具具有的基本部部件它都包括括,因此实际际上它已是一一个简单的微微型计算机了了。三、80311的信号引脚脚8031是标准准的40引脚双列直直插式集成电电路芯片,引引脚排列请见见图3-3。140239338437140239338437536635734833875180518031292827262524232221P1.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-3P0.0~P00.7P0口8位双向口线线P1.0~P11.7P1口8位双向口线线P2.0~P22.7P2口8位双向口线线P3.0~P33.7P3口8位双向口线线ALE地址址锁存控制信信号在系统扩展时,ALE用于控制把把P0口输出的低低8位地址送锁锁存器锁存起来以实现低位位地址和数据据的隔离。此外由于ALEE是以晶振频频率六分之一一的固定频率输出出的正脉冲,因因此可作为外部时钟或外外部定时脉冲冲使用。PSEN外外部程序存储储器读选通信信号在读外部ROOM时PSEN有效,以实实现外部ROM单单元的读操作作。EA访问程程序存储器的的控制信号当EA信号为低低电平时,对对ROM的读操作是从内内部程序存储储器开始,并并可延至外部程序序存储器。RST复位位信号当输入的复位信信号延续2个机器周期以上高电平时时即为有效,用用以完成单片片机的复位初初始化操作。XTAL1和XXTAL2外接晶体引引线端当使用芯片内部部时钟时,此此二引线端用用于外接石英英晶体和微调调电容;当使使用外部时钟钟时,用于接接外部时钟脉脉冲信号。Vss地线线Vcc+55V电源以上就是80331单片机芯片40引脚的定义义及简单功能能说明。2.信号引脚脚的第二功能能由于工艺及标准准化等原因,芯芯片的引脚数数目是有限的的。例如8031系列把芯片片引脚数目限限定为40条,但单片片机为实现其其功能所需要要的数目却远远远超过此数数目,因此就就出现了需要要与可能的矛矛盾。如何解解决这个矛盾盾?“兼职”是唯一可行行的办法,即即给一些信号号引脚赋以双双重功能。如如果把前述的的信号定义为为引脚的第一一功能的话,则则根据需要再再定义的信号号就是它的第第二功能。下下面介绍某些些信号引脚的的第二功能。口线第二功能信号名称P3.0RxD串行数据接收P3.1TxD串行数据发送P3.2INT0外部中断0申请请P3.3INT1外部中断1申请请P3.4T0定时器/计数器器00计数输入P3.5T1定时器/计数器器11计数输入P3.6WR外部RAM写选选通P3.7RD外部RAM读选选通表3-1PP3口的第二功功能(1)P3口口线的第二功功能P3口的8条口口线都定义有有第二功能,详详见表3-1。(2)EPRROM存储器程序序固化所需要要的信号有内部EPROOM的单片机芯芯片(例如8751),为写入入程序需提供供专门的编程程脉和编程电电源,这些信信号也是由信信号引脚以第第二功能的形形式提供的,即即:编程脉冲:300脚(ALE/PPROG)编程电压(255V)31脚(EA/Vppp)(3)备用电电源引入8031单片机机的备用电源源也是以第二二功能的方式式由9脚(RST/VVPD)引入的。当当电源发生故故障电压下降降到下限值时时,备用电源源经此端向内内部RAM提供电压,以以保护内部RAM中的信息不不丢失。以上把80311单片机的全全部信号,分分别以第一功功能和第二功功能的形式给给出。对于9、30和和31各引脚,由由于第一功能能信号第二功功能信号是计计算机在不同同工作方式下下的信号,因因此不会发生生使用上的矛矛盾。但是P3口的情况却却有所不同,,它它的第二功能能信号都是单单片机的重要要控制信号。因因此在实际使使用时,都是是先按需要选选用第二功能能信号,剩下下的口线才以以第一功能的的身份作数据据位的输入输输出使用。四、80331的复位工作作方式8031单片机机共有复位、程程序执行、单单步执行、掉掉电保护、低低功耗以及EPROM编程和校验验等6种工作方式式。这里只介介绍复位方式式。1.复位操作作复位是单片机的的初始化操作作,其主要功功能是把PC初始化为0000H,使单片机机从0000H单元开始执执行程序。除除了进入系统统的正常初始始化之外,当当由于程序运运行出错或操操作错误使系系统进入死锁锁状态时,为为了摆脱困境境,也需按复复位键以重新新启动。除了PC之外,复复位操作还对对一些专用寄寄存器有影响响,它们的复复位状态如下下:PC 0000HH TCON000HACCC 00H TL0 00HPSWW 00H TH0 00HSP00H TL1 00HDPTTR 0000HH TH1 00HP0~~P3 FFH SCON 00HIP ××0000000B SBUF 不定IE 0×0000000B PCON 0×××00000BTMOOD 00H复位操作还对单单片机的个别别引脚信号有有影响。2.复位信号号及其产生RST引脚是复复位信号的输输入端,复位位信号是高电电平有效,其其有效时间应应持续24个振荡脉冲冲周期(即2个机器周期期以上),若若使用频率为为6MHz的晶振,则则复位信号持持续时间应超超过4us才能完成成复位操作。整个复位电路包包括芯片内外外两部分。外外部电路产生生的复位信号号(RST)送史密特特触发器,再再由片内复位位电路在每个个机器周期的的S5P2时刻对史密密特触发器的的输出进行采采样。然后得得到内部复位位操作所需要要的信号。3.复位方式式复位操作有上电电自动复位和和按键手动复复位两种方式式。上电自动复位是是通过外部复复位电路的电电容充电来实实现的,只要要电源Vcc的上升时时间不超过1ms,就可以以实现自动上上电复位,即即接通电源就就完成了系统统的复位初始始化。按键手动复位有有电平方式和和脉冲方式两两种。其中按按键电平复位位是通过使复复位端经电阻阻与Vcc电源接通通实现的,而而按键脉冲复复位则是利用用RC微分电路产产生的正脉冲冲来实现的。五、80311的时钟电路路在8031芯片片内部有一个个高增利益反反相放大器,其其输入端为芯芯片引脚XTAL1,其输出端端为引脚XTAL2。而在芯片片外部,XTAL1和XTAL2之间跨接晶晶体振荡器和和微调电容,从从而构成一个个稳定的自激激振荡器,这这就是单片机机的时钟电路路。时钟电路产生的的振荡脉冲经经过触发器进进行二分频后后,才成为单单片机的时钟钟脉冲信号。一般电容C1和和C2取30pF左右。晶体体的振荡频率率范围是1.2MHzz~12MHHz。晶体振振荡频率高,则则系统的时钟钟频率也高,单单片机运转速速度也就快。但但反过来运行行速度快对存存储器的要求求就高,对印印刷板的工艺艺要求也高(线线间寄生电容容要小)。8031在通常应用用情况下,使使用振荡频率率为6MHz的石英晶体体,而12MHz主要是在高高速串行通信信的情况下才才使用。六、80331的定时器/计数器1.定时方法法概述在单片机的应用用中,可供选选择的定时方方法有:软件定时软件定时是靠执执行一个循环环程序以进行行时间延迟。软软件定时的特特点是时间精精确,且不需外加加硬件电路。但但软件定时需需占用CPU从而增加CPU开销,因此此软件定时的的时间不宜太太长。此外软软件定时方法法在某些情况况下无法使用用。硬件定时对于时间较长的的定时,常使使用硬件电路路来完成。硬件定时方法的的特点是定时时功能完全由由硬件电路完完成,不占CPU时间。但通通过改变电路中的的元件参数来来调节定时时时间,在使用用上不够灵活活方便。可编程定时器定定时这种定时方法是是通过对系统统时钟脉冲的的计数来实现现的。计数值值通过程序来来设定,改变计数值值,也就改变变了定时时间间,使用起来来既灵活又方方便。此外,由由于采用计数方法来实实现定时,因因此可编程定定时器都兼有有计数功能,可可以对外部脉脉冲进行计数数。在单片机应用中中,定时与计计数的需求较较多,为了使使用方便并增增加单片机的的功能,就把把定时电路集集成在芯片中中,称之为定定时器/计数器。8031单片机内部部有两个定时时器/计数器。2.定时器//计数器器的定时计计数数功能作为基本内容,88031单片机共有有两个可编程程的定时器/计数器,分分别称定时器器/计数器0和定时器/计数器1。它们都是16位加法计数数结构,分别别由TH0和TL0及TH1和TL1两个8位计数器构构成。8031的每个个定定时器/计数器都具具有定时和和计计数两种功功能能。计数功能所谓计数是指对对外外部事件进进行行计数。外外部部事件的发发生生以输入脉脉冲冲表示,因因此此计数功能的实质质就就是对外来来脉脉冲进行计计数数。8031芯片有T0(P3.4)和T1(P3.5)两个信号号引脚,分分别别是这两个个计计数器的计计数数输入端。外外外部输入的的脉脉冲在负跳跳变变时有效,进进进行计数器器加加1。计数方式下,单单片片机在每个个机机器周期的S5P2节拍对外部部计数脉冲冲进进行采样。如如如果前一个个机机器周期采采样样为高电平平,后后一个机器器周周期采样为为低低电平即为为一一个有效的的计计数脉冲。在在在下一机器器周周期的S3P1进行计数。可可可见采样计计数数脉冲是在在二二个机器周周期期进行的。鉴鉴鉴于此,计计数数脉冲的频频率率不能高于于振振荡脉冲频频率率的1/24。定时功能定时功能也是通通过过计数器的的计计数来实现现的的,不过这这时时的计数脉脉冲冲来自单机机内内部,即每个机器器周周期产生一一个个计数脉冲冲。也也就是每个个机机器周期计计数数器加1。由于一个机机器周期等等于于12个振荡脉冲冲周期,因因此此计数频率率为为振荡频率率的的1/12。如果单片片机采用12MHz晶振,则计计数频率为1MHz。即每微秒秒计数器加1。这样不但但可以根据据计计数值计算算出出定时时间间,也也可以反过过来来按定时时时间间的要求计计算算出计数器器的的预置值。3.定时器//计计数器控制制寄寄存器与定时器/计数数器器有关的控控制制寄存器有有::定时器控制寄存存器器(TCON)TCON寄存器器既既参与中断断控控制又参与与定定时控制。其其其中有关定定时时的控制位位有有四位:TF0(TF11)——计数溢出标标志位当计数器溢出(计计满)时,该该位置1。使用查询询方式时,此此位作状态位位供查询,但但应注意查询询有效后应以以软件方法将将该位清0;使用中断断方式时,此此位作中断标标志位,在转转向中断服务务程序时由硬硬件自动清0。TR0(TR11)——定时器运行行控制位TR0(TR11)=0停止定时器/计数器工作作TR0(TR11)=1启动定时器/计数器工作作该位根据需要以以软软件方法使使其其置1或清0。工作方式控制寄寄存存器(TMOD)TMOD寄存器器是是一个专用用寄寄存器,用用于于控制两个个定定时器/计数器的工工作方式。但TMOD寄存存器不不能位寻址址,只只能用字节节传传送设置其其内内容。各位位定定义如下::位序B7B6B5B4B3B2B1B0位符号GATEC/TM1M0GATEC/TM1M0从寄存器的位格格式式中可以看看出出,它的低低半半字节定义义定定时器/计数器0,高半字节节定义定时时器器/计数器1。其中:GATTEE——门控位GATE=0以运行控制制位TR0(TR1)启动定时时器GATE=1以外中断请请求信号(INT0或INT1)启动定时时器C/T——定时时方方式或计数数方方式选择位位C/T=0定时工作方方式C/T=1计数工作方方式M1MM00——工作方式选选择位M1M0=000方式0M1M0=011方式1M1M0=100方式2M1M0=111方式3中断允许寄存器器(IE)EA——中断允许总总控制位ET0(ET1)——定时/计数中断允允许控制位位ET0(ET11)=0禁止定时/计数中断ET0(ET11)=1允许定时/计数中断七、80331定时时器计数器器工工作方式8031的定时时器器计数器共共有有四种工作作方方式,在冬冬枣枣保鲜库恒恒温温控制系统统的的设计中主主要要应用了定定时时器的工作作方方式1,下面主要要介绍方式1。方式1是16位位计数结构的的工作作方式,计计数数器由低8位TL和高8位TH构成。图3-4是定时器/计数器0在工作方式1的逻辑结构构(定时器/计数器1也与此相同同)。TF0TF0TH0TL08位8位12分频OSCC/T=0C/T=1T0(P3.4)TR0GATEINT0(P3.2)图3-4定时器/计数器工作方式1逻辑结构控制如图所示,当CC//T=0时,多路开开关接通振振荡荡脉冲的十十二二分频输出出,16位计数器以以此计数,这这这就是定时时工工作方式。当当当C/T=1时,多路开开关接通计计数数引脚(T0),外部计计数脉冲由由引引脚T0输入。当计计数脉冲发发生生负跳变时时,计计数器加1,这就是计计数工作方方式式。不管是哪种工作作方方式,当TL的计数溢出出时,就会会向向TH进位,而全全部16位计数溢出出时,则向向计计数溢出标标志志位TF进位。这里说明一下工工作作方式控制制寄寄存器中门门控控位(GATE)的功能。当当当GATE==0时,由于GATE信号封锁了了或门,使使引引脚INT0无效。而这这时或门输输出出端的高电电平平状态却打打开开了与门,因因因此可以由TR0的状态来控控制计数脉脉冲冲的接通与与断断开。这时时如如果TR0=0,则断开模模拟开关,停停停止计数,定定定时器/计数器不能能工作。因因此此在单片机机的的定时或计计数数应用中要要注注意GATE位的清0。当GATE=11,同同时又TR0=1时,有关电电路的或门门和和与门全部部打打开,计数数脉脉冲的接通通与与断开由外外引引脚INT0控制。当该该信号为高高电电平时计数数器器工作,而而当当该信号为为低低电平时计计数数器停止工工作作。当为计数工作方方式式时,计数数值值的范围是是::11~~6552266(216)当为定时工作方方式式时,定时时时时间计算公公式式为:(216-计数初初值)×晶振周期×12或或(216-计数初初值)×机器周期其时间单位与晶晶振振周期或机机器器周期相同同。八、74LLS3773简介74LS3733是是八D锁存器,对对于置数全全部部并行存取取。三三态输出控控制制、允许。其其其功能表如如下下:三态允许控制端端锁存允许端D输出LHHHLHLLLL×Q0H××Z1202193184175166157148139121011EN1Q1202193184175166157148139121011EN1Q1D2D2Q3Q3D4D4QGNDVcc8Q8D7D7Q6Q6D5D5QLE图3-574LS373引脚图74LS3733的的引脚如图3-5所示。这个八位的寄存存器器的特点是是专为驱动大电容容或或相对低阻阻抗抗的负载而设计的三三态态输出,高高阻阻抗的第三状态被提提高高的逻辑电电平平驱动,给这一寄存存器器提供如下下能能力:即不需要接口上上拉拉部件。在在总总线结构中,74LLSS373可以直接接接到总线上,并驱动动总总线。对于于用用作缓冲寄存器、II//O通道、双向向总线驱动器及工作作寄寄存器,特特别别有吸引力。LS33773是透明D型锁存器,即即即当允许端端(G)为高电平平时,Q输出将随数数据(D)输入。当当允许端为为低低电平时,输输输出端将被被锁锁存在已经经建建立起的数数据据电平上。九、27664EPPROM存储器2764是一种种88K×8位的紫外线线电擦除可可编编程只读存存储储器,单一+5V供电,工作作电流为75ma,维持电电流为35ma,读出时时间最大为250ns。2764为28线双列直插插式封装,其其其管脚配置置如如图3-6所示。2764EPROM8K×82764EPROM8K×828272625242322217820919181716151011121314654321VccPGMNCA8A9A11OEA10CEO7O6O5O4O3VppA12A7A6A5A4A3A2A1A0O0O1O2O2GNDA0~A7: 地址线O0~O7: 数据输出线CE: 片选线OE: 数据输出选通线PGM: 编程脉冲输入端Vpp: 编程电源图3-62764引脚图gfGNDabedGNDcdpgfGNDabedGNDcdp图3-7通常的七段LEEDD显示块中有有七个发光二极管构成,因因此此也称之为为七七段LED显示器,其排列见图图33-7。此外,显示器中中还还有一个圆圆点点型发光二极管(在图中中以以dp表示),用用于显示小小数点。通过七段段发发光二极管管亮亮暗的不同同组组合,可以显示多多种种数字、字字母母以及其它它符符号。第三节A/D转转换换器一、A/DD转换器器概述A/D转换器用用于于实现模拟拟量量到数字量量的的转换,按按转转换原理可可分分为四种,即即即:计数式A/D转换器、双双积分式A/D转换器、逐逐次逼近式A/D转换器和并并行式A/D转换器。目前最常用的是是双双积分式A/D转换器和逐逐次逼近式A/D转换器。双双积分A/D转换器的主主要优点是是转转换精度高高,抗抗干扰性能能好好,价格便便宜宜;但转换换速速度较慢。因因因此这种转转换换器主要用用于于速度要求求不不高的场合合。另一种常用的AA//D转换器是逐逐次逼近式式的的,逐次逼逼近近式A/D转换器是一一种速度较较快快,精度较较高高的转换器器。其其转换时间间大大约在几微微秒秒到几百微微秒秒之间。在本设计中,由由于于控制精度度的的要求比较较低低,所以选选用用ADC08809作为四路模模拟采样的A/D转换器,它它的转换路路数数、精度和和价价格都非常常合合适,这里里主主要对ADC08809介绍一下。二、典型AA/D转换器芯片片ADC08809ADC08099型型8位MOS型A/D转换器,可可实现8路模拟信号号的分时采采集集,片内有8路模拟选通通开关,以以及及相应的通通道道地址锁存存用用的译码电电路路,其转换换时时间为100微秒左右。其其其引脚图如如图图3-8所示:ADC0809ADC080928272625242322217820919181716151011121314654321IN2IN1IN0ABCALED7D6D5D4D0Vref(-)D2IN3IN4IN5IN6IN76STARTEOCD3OECLOCKVccVref(+)GNDD1图3-8ADC0809引脚图对ADC08009主主要信号引引脚脚的功能说说明明如下:IN7~IN00———模拟量输入入通道A、B、C———地址线ALE——地址址锁锁存允许信信号号ATART———转转换启动信信号号D7~D0———数数据输出线线OE——输出允允许信号CLK——时钟钟信信号EOC——转换换结结束状态信信号号Vcc——+55V电电源Vref——参参考电电源第四节温度检测测该系统采用四个个热热敏电阻感感知知温度。它它具具有灵敏度度高高、体积小小、重重量轻、热热惯惯性小、寿寿命命长以及价价格格便宜等优优点点。它是负负温温度特性,当当当温度升高高时时,电阻值值减减小。其特特性性曲线时一一条条指数曲线线,因因此在使用用时时要选用合合适适的温度范范围围的热敏电电阻阻,使其温温度度与阻值成成线线形关系,给给给热敏电阻阻通通以恒定的的电电流,测量量电电阻两端就就得得到一个电电压压,再将此此电电压经A/DD转换变成数数字量。考虑到计算调试试和和编程方便便,取取00H~FFFH对应0~5V和―15.0℃~36.0℃,即0.2℃变化对应数数字变化量01H,调节可变变电电阻,使之之相相对应。ADC0809ADC0809IN3IN2IN1IN0+5VRT图3-9第五节硬件件电电路原理图图该系统的硬件电电路路原理图如如后后两页所示示。包包括主电路路图图和键盘显显示示电路图。第四章冬冬枣枣保鲜库恒恒温温控制系统统的的软件设计计本章主要介绍冬冬枣枣保鲜库恒恒温温控制系统统的的工作过程程及及其软件设设计计。第一节工作过过程程说明该恒温控制系统统对对四个采样样点点的温度进进行行采样,模/数转换后,由由由主温度控控制制程序对采采样样信号和设设定定值比较后后做做出相应处处理理。在主程程序序控制时,主主主处理器响响应应外中断0的键盘的中中断请求,然然然后调用INNT0中断处处理程序,同同同时定时器器00开始30秒定时,相相应的设定定或或者采样点点的的温度显示示处处理完毕后后,回回到主程序序,继继续对系统统监监控。该系统是采用88位位数字控制制,为为适应不同同气气候和保鲜鲜要要求,可以以方方便地用键键盘盘来设定和和查查询保鲜库库的的被控温度度和和控制精度度,并并且可对4个温度采样样点的温度度进进行监控和和显显示,在温温度度变化超出出。因因为温度是是个个滞后大,不不不易控制的的对对象,所以以在在进行控制制时时,将控制制精精度扩大二二倍倍,这样执执行行结构就不不至至于过于灵灵敏敏地动作,降降降低损耗,而而而且使控制制更更加合理,不不不至于过度度。当当采样点温温度度或者库内内温温度超出设设定定值的三倍倍,温温度异常时时,系系统自动声声光光报警,提提醒醒管理员检检查查处理。第二节 软件件的的有关说明明1.内部RAAMM的分配堆栈区:60HH被控温度设定值值::30H4路温度采样点点 ::31H,31H,33H,34H被控温度精度 ::35H负温差量 :3366H正温差量 :3377H二倍精度 :3388H定时计数 :3399H显示缓冲单元 ::5FH,5EH,5DH,5CH2. 控制参数数温度控制范围 ::―15.0℃~36.0℃可控制精度 ::00.0℃~8.0℃0.2℃变化对对应应数字变化化量量:01H3. 键盘按键键功功能及温度度显显示四位温度显示 ::第1位0表示温度在在零上;―表示温度在在零下 第2、3、44位表示温度度值 小数点固定在在第33位键盘按键功能 ::0~9,数字字设定键 :A,被控温温度设定键键 :B,控制精精度设定键键 :C,温度查查询键 :D,设定确确认键在查询操作时 00:被控温度度设定键1~4:4个温温度度采样点的的代代号5:控制精度4.键盘与显显示示盘面设计计::5.键盘操作作::设定被控控温温度,按A键,输入温温度值,按D键确认设定控制精精度,按B键,输入精精度值,按D键确认查询温度和和控制精度度,按C键,输入查查询代号11023495CBA8.67―D图4-1第三节主程程序序流程图及及说说明复位初始化显示设定值四路模拟采样主温度控制开始图4-2主程序的主要功功能能是在硬件件复位初始化显示设定值四路模拟采样主温度控制开始图4-2后,进行初始化化。确确立堆栈区区并并把显示缓缓冲冲区指向设定值,然然后后对中断控控制制器初始化化,调调用显示设定值子程程序序,对四个个采采样点的温温度度进行采样,模/数转转换换后,由主主温温度控制程程序序对采样信号和设定值比比较较后做出相相应应处理。然然后后再重复显示——采样样———控制这三个个步骤。主程序的流程图图如如右图4-2所示。第四节显示示子子程序流程程图图及说明在该恒温控制系系统统中,采用用四四位LED显示器,由由于没有串串行行数据通信信的的要求,而而且且温度显示示的的速度不需需要要高速,所所以以利用80331的串行口口方式0的输出方式式,在串行行口口外接74LLS1644移移位寄存器器,构构成键盘//显显示器接口口,其其硬件接口口电电路如硬件件电电路图所示示。在在该图中下下边边的4个74LS1164作为8位七段显示示器的静态态显显示口,上上边边的74LS1664作为键扫扫描输出口口,80311的P3.3作为为同步脉冲输输出控制线。这这种静态显示示方式显示器器亮度高,很很容易做到显显示不闪烁。静静态显示的优优点是CPUU不必频繁地地为显示服务务,因而主程程序可不必扫扫描显示器,软软件设计比较较简单,从而而使单片机有有更多的时间间处理其他事事务。程序流流程图见下页页。如图4-3所示。LED显示器在在第第二章已经经作作了详细的的介介绍,本重重点点介绍LED显示程序。为了存放要显示示的的转速值,在在在内部RAM中设置了显显示缓冲区区,其其单元个数数与与LED显示位数相相同。在本本设设计中,四四个个显示器的的缓缓冲单元是5FH~5CH,与LED显示器的对对应关系为为::LED4LED3LED2LED15FH5EH5DH5CHYYNYNP3.3置1,开放显示输出R704H,置显示位数指向显示缓冲区单元首地址取出待显示数加偏移量0DH查表取字形数据送串行缓冲器显示TI=1?清中断标志取下一个数(R7)—1=0?P3.3清0,关闭显示器输出返回DISP图4-3第五节四路路模模拟采样转转换换子程序流流程程图及说明明NYYR131H,数据存储区首地址置A/D转换器地址,指向通道0R704H,置通道数4启动A/D转换R60AH,软件延时计数空操作,等待转换结束(R6)—1=0?读取转换结果(R1)A(DPTR)+1,指向下一个通道(R1)+1,指向下一个数据存储单元(R7)—1=0?NADCY采样结束,返回图4-4在该恒温控制系系统统中四路模模拟拟采样是采NYYR131H,数据存储区首地址置A/D转换器地址,指向通道0R704H,置通道数4启动A/D转换R60AH,软件延时计数空操作,等待转换结束(R6)—1=0?读取转换结果(R1)A(DPTR)+1,指向下一个通道(R1)+1,指向下一个数据存储单元(R7)—1=0?NADCY采样结束,返回图4-4的地址锁存允许许信信号ALE经D触发器二分频后后获获得, ALE脚的频率时803311单片机时钟钟频率的1/6。单片片机的的频率采用用66MHz,则ALLEE脚的输出频频率为1MHz,再二二分分频后为5000MHzz,恰好符合ADCC00809对时时钟频率的要求。由于AADDC080099具有输出三态锁存器,其其8位数据输出出引脚可直接与数数据据总线相连连。地址译码引脚AA,,B,C分别别与地址总线的低三位位AA0,A11,,A2相连,以选通IN0~~IIN7中的一一个通路。将P2.7(地地址总总线最高位位AA15)作为片选信号,在在启动A/DD转换时,由单片机的的写写信号和P22.7控制ADC的地址址锁存存和转换启启动动,由于ALE和SSTTART连在在一起,因此ADC088009在锁存通通道地址的同时,启动进进行行转换。在在读读取转换结构时,用用单单片机的读读信信号和P2.7脚经经一级级或非门后后,产产生的正脉冲作为OOEE信号,用以以打开三态输出锁存存器器。分别对四路模拟拟信信号轮流采采样一次,并依次次把把结果转储储到到数据存储区。其程程序序流程图如如右右图4-4所示。第六节主温温度度控制程序序流流程图及说说明明一、主温度控制制程程序是关系系到到控制是否否达达到要求和和是是否控制合合理理的关键程程序序,在查阅阅了了大量的温温控控和保鲜技技术术资料,我我按按如下程序序流流程图设计计了了该温度控控制制程序。在在控控制设计中中设设置了两个个变变量,即负负温温差量和正正温温差量,对对保保鲜库的4个温度采样样点的温度度进进行采样,与与与设定值相相减减,其结果果分分别累加到到正正、负温差差量量(温差超超过过三倍的控控制制精度则报报警警)。由于于库库里设置了了空空气对流设设备备,使库内内各各处的温度度达达到一致,所所所以当正、负负负温差量比比较较后,如果果差差值超出控控制制允许的范范围围(程序设设定定为二倍精精度度),则温温度度调节执行行机机构采取相相应应的动作,进进进行加温或或降降温;如果果未未超出范围围,则则设备不动动作作,由库内内的的空气对流流设设备自行调调节节,这样调调节节更加合理理、经经济。二、程序内部RRAAM单元分配配地址:被控温度设定值值::30H4路温度采样点点 ::31H,31H,33H,34H被控温度精度 ::35H负温差量 :3366H正温差量 :3377H二倍精度 :3388H其流程图如图44--5所示。发出降温信号,报警发出降温信号,报警YNNNNNNYYYY置R700H,36H00H,37H00HR031H,R149H取采样值采样>设定?采样减设定得正温差值送37H累加温差值>三倍精度?(R7)—1=0?正温差量>负温差量?(正—负)温差量>二倍精度?设定减采样得负偏差值送36H累加Y(负—正)温差量>二倍精度?二倍精度?发出升温信号,报警对应采样点报警CONTROL控制结束,返回图4-5第七节被控控温温度设定值值转转换程序流流程程图及说明明NN4BH—(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℃变化对应数字量变化011HH,1℃变化对应055H,10℃变化对应应332H,将这这个变化规规律律设定为数字转换换的的单位,先先判判断标志位,再对相应的的十十位、个位位、十十分位分别转换,最后后存存储。由此此来来设计程序。其流程图如如右右图4-6所示。第八节温度度显显示转换程程序序流程图及及说说明该系统程序内部部处处理以8位数字量进进行,所以以在在显示时,必必必须要把数数字字量转换为为摄摄氏值,即即显显示缓冲区区中中的键码值值。其其转换原理理和和设定值转转化化相同,只只是是将过程反反过过来而已。其其其流程图如如图图4-7所示。第九节键盘盘扫扫描子程序序流流程图及说说明明利用8031的的串串行口方式式00的输出方式式,在串行行口口外接74LLS1644移移位寄存器器,构构成键盘//显显示器接口口,8031的P2.6,P2.7作为键输入入线,P3.3作为同步脉脉冲输出控控制制线。其流流程程图如图4-8所示。第十节键盘盘中中断处理子子程程序流程图图及及说明该恒温控制系统统在在主程序控控制制时,不扫扫描描键盘,程程序序设计时将将外外部中断0定义为键盘盘中断,硬硬件件设计是把把外外部中断0的引脚和键键盘的行线线用用“与”门相连,当当有中断时时,主主程序去处处理理中断请求求,对对键盘进行行扫扫描,识别别键键码,然后后做做相应的处处理理。在外部部中中断0响应后,同同时开30秒定时器器,在30秒内完成成相应的设设定定与查询操操作作,否则在在定定时30秒后跳回回主程序。另另另外,外部部中中断0响应后则关关外部中断断00,是因为硬硬件电路的的设设计使每次次键键盘按键时时,都都与中断0对应,转入入中断处理理程程序,但是是扫扫描程序的的设设计是有中中断断后不断地地扫扫描键盘,为为为了在操作作时时不引起程程序序的混乱,就就就必须把外外部部中断0暂时关闭,在在在中断处理理程程序结束后后返返回时,再再把把外部中断断00开启。该键盘设计成1166键,其中键键0~5有两种种功能,所所以以中断处理理程程序比较繁繁复复,用以下下两两个流程图图,如如图4-9来表示。超低温,显示超低温,显示“————”Y(A)=00H?(A)=0FFH?(A)=0℃?NYNYR0待显示单元地址A待显示温度值超高温,显示“0999”5FH0EH5FH00HR1A.相对0℃计算差量B32HA/B,计算十位数5EHA,存十位数值AB,B05HA/B,计算个位数5DHA,存个位数值AB,A*02H5CHA,存十分位数值R14BHR1((R0)),A4BHA―R1NXSZH转换结束,返回图4-7NNA(R4)+(R3)R3(R3)+1NR408HR6左移一位R400HR708H,R60FEH,R300HYYYYNYYNNYNNNNP2.7=0?第二排有键,延迟去抖动抖动?输出完否?P2.6=0?是第一排键?A00HSBUFA输出完否?P2.6=0?第一排有键,延迟去抖动SBUFR6(A)=00H?(R7)—1=0H?等待键释放KEY扫描结束图4-8NNNN5EH(A),显示,再扫描键盘5DH(A),显示,再扫描键盘NYYNNNYYY中断保护,关外部中断0定时器0初始化启动定时器0扫描键盘,取键值(A)=0AH?显示A,再扫描键盘(A)=00H?(A)=0DH?5FH(A),显示,再扫描键盘(A)<0AH?(A)<0AH?(A)<0AH?5CH(A)显示,再扫描键盘错误键,中断返回INT05EH5EH(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-9YYN(A)=0BH?设定值转换,存于30H中断结束返回第十一节定定时时中断处理理子子程序流程程图图及说明该系统定时/计计数数器采用工工作作方式1,其最大的的定时周期期是是131ms。软件设计计在键中断断处处理时,如如果果长时间未未进进行正确操操作作,定时为30秒,则跳出出中断程序序返返回主程序序。计计数器初值值设设TH0为00H,TL0为00H,再设置软软件循环231次,达到30秒。其程序序流程图如如图图4-10所示。NNY现场保护计数器重新加载循环次数减1现场恢复39H=0?至键中断处理程序INT0FHT0INT返回图4-10第十二节单单片片机CPU抗干扰技术术在程序设设计计中的应用用微机应用系统在在工工业现场使使用用时,有大大量量的干扰,当当当干扰作用用到到CPU本身时,CPU将不能按正正常状态执执行行程序,从从而而破坏程序序的的正常运行行。为为了克服这这些些可能会出出现现的干扰,一一一般在进行行软软件设计时时应应用指令冗冗余余、软件陷陷阱阱、程序实实时时监视系统统(WATCHHDOG)等抗干扰扰技术。下下面面简要介绍绍一一下这三种种抗抗干扰技术术。、当CPU受到干干扰后后,往往将将一一些操作数数当当作指令码码来来执行,引引起起程序混乱乱。当当程序弹飞飞到到某一单字字节节指令时,将将将自动纳入入正正轨。但当当程程序弹飞到到某某一双字节节或或三字节指指令令上时,有有可可能落到其其操操作数上,从从从而继续出出错错。所以在RET、RETI、ACALL、LCALL、AJMP、AJMP、LJMP、JZ、JNZ、JC、JNC、JB、JNB、JBC、CJNE、DJNZ等指令后插插入两条NOP指令,可保保护其后的的指指令不被拆拆散散。但不能能在在程序中加加入入太多的冗冗余余指令,以以免免降低程序序的的效率。指令冗余使弹飞飞到到的程序安安定定下来是有有条条件的,首首先先弹飞到的的程程序必须落落到到程序区,其其其次必须执执行行到冗余指指令令。对于这这两两种情况采采取取的措施分分别别是设软件件陷陷阱和建立立程程序监视系系统统(WATCHHDOG)。所谓软件陷阱,就就是一条引导导指令,强行行将捕获的程程序引向一个个指定的地址址,在那里有有一段专门对对程序出错进进行处理的程程序。如果把把这段程序的的入口标号称称为ERR的话,软件件陷阱即为一一条LJMPERR指令,为加加强捕捉效果果,一般在它它前面加两条条NOP指令,因此此真正的软件件陷阱由三条条指令构成::NOPNOPLJMPEERR当程序弹飞到一一个个临时构成成的的死循环时时,必必须应用WATCHHDOG来摆脱死循循环。WATCHHDOG有如下特点点:本身能独立工作作,基基本上不依依赖赖CPU。在一个固定的时时间间间隔中和和系系统打一次次交交道,以表表明明系统目前前尚尚正常;当CPU掉入死死循环环后,能及及时时发觉并使使系系统复位。第五章冬冬枣保鲜库库恒恒温控制系系统统程序调试试过过程调试是设计中一一个个必不可少少的的环节,是是检检验硬件电电路路的选择和和软软件编制的的唯唯一手段。只只只有通过调调试试才能不断断完完善硬件电电路路,调整软软件件程序,从从而而完成对程程序序的设计,使使使其能真正正投投入使用。第一节硬件件调调试8031单片机机应应用系统经经过过方案的选选择择、硬件的的设设计以及软软件件的编制,通通通常不可能能一一次便取得得成成功,也不不可可避免地要要出出现一些错错误误或者不合合理理之处,这这就就要靠调试试来来解决。调调试试的顺序一一般般是先易后后难难,后面的的调调试应尽可可能能地采用以以前前调试好的的电电路,各单单元元电路都有有调调试好后,再再再进行整体体调调试。电路调试最简单单的的方法是静静态态电压检测测法法,就是在在电电路加电后后,用用万用表的的直直流电压档档测测量各点的的直直流电压是是否否达到要求求,逻逻辑电平是是否否符合电路路或或器件的逻逻辑辑关系;若若有有问题,再再用用万用表的的电电阻档测量量怀怀疑部位有有无无开路及短短路路等故障。另外一种调试方方法法是动态调调试试法,就是是利利用单片机机开开发装置(仿仿仿真器)来来进进行调试。首首首先根据方方案案把整个系系统统划分为若若干干模块,给给其其分配地址址空空间。对已已有有的电路进进行行改进,都都必必须单独调调试试。具体做做法法是:在一一块块电路实验验板板上,按某某一一单元的实实际际电路图插插好好器件,接接好好线,空出8031的位置,并并在此位置置上上插入仿真真的的40芯仿真插头头,检查无无误误后,接上上实实验板电源源和和仿真器的的电电源。启动动仿仿真器,此此时时可用仿真真器器的命令编编写写一段小程程序序,并借助助于于万用表和和示示波器等仪仪器器来检查电电路路的正确性性,同同时也可以以修修改程序的的参参数,调好好程程序的模块块。在本次设计中,由由于实验室的的条件和经费费不允许,所所以未进行硬硬件调试。第二节软件调调试试一、仿真软件介介绍绍仿真器与计算机机及及应用系统统连连接起来,组组组成一个开开发发系统。仿仿真真时,仿真真电电缆的一头头插插入单片机8031的双列直插插插座内,另另另一头接插插件件直接插入入仿仿真器的仿仿真真接口。开发系统的构成成如如同简易开开发发设备一样样,分分两部分::一一是通用计计算算机部分(主主主机),二二是是仿真器部部分分。由主机机执执行操作系系统统、监控程程序序、汇编及及汇汇编程序以以及及高级语言言的的编译或解解释释程序、系系统统的诊断程程序序等等。在在仿仿真软件控控制制下将于仿仿真真有关的命命令令分解为数数个个微命令传传送送给仿真器器,并并启动执行行用用户程序。在在在查询工作作方方式时,用用户户可通过CRT终端查询跟跟踪状态,这这这部分功能能相相当于通用用微微型机。下下面面主要介绍绍仿仿真器的结结构构与功能。ICExploorrer系列单片机机仿真系统统由由ICExpploreerr仿真系统硬硬件与ICExpploreerr集成调试软软件两部分分组组成。(一)ICExxpploreerr单片机仿真真系统硬件件::1.ICExxplorrer系列单片机机仿真系统统硬硬件采用大大规规模在线可可编编程芯片制制造造。将整个个单单片机仿真真控控制电路、逻逻逻辑分析仪仪、总总线跟踪、实实实时时效分分析析集成到大大规规模ispPLLD芯片种,仿仿真CPU外旨在仿真真头上,通通过过更换不同同的的仿真头,可可可对各种单单片片机进行仿仿真真。2.8位/116位兼容,可可仿真4位至16位单片机。3.采用专用用仿真芯芯片及硬件件断断点技术,不不不占用单片片机机任何资源源,在在用户程序序运运行中,可可打打入CTRL-C中断用户程程序运行,返返返回监控。4.采用高速速串口语语计算机进进行行通信,波波特特率自动设设置置,最高波波特特率可达115,200。5.逻辑分析析仪可以以实现各种种复复杂的组合合断断点和观察察各各种逻辑波波形形及分析时时序序关系,总总线线跟踪可以以跟跟踪程序的的运运行轨迹。(二)ICExxpploreerr集成调试软软件1.ICExxplorrer集成调试软软件,具有有编编辑、汇编编、编编译、调试试和和软件模拟拟等等功能,所所有有的操作均均可可通过窗口口和和菜单的选选择择来完成。将将将软件命令令和和反应程序序运运行的情况况集集中在同一一屏屏幕上的形形式式,称为集集成成环境,集集成成环境可以以减减少用户记记忆忆众多命令令的的负担,方方便便用户编写写和和调试软件件,直直观地反映映程程序运行情情况况,提高软软件件开发的效效率率。2.支持Wiindoows95及Windoows98。编辑器可可以编辑超超大大型源文件件(仅仅受硬盘大大小小限制)。3.支持汇编编语言、PLM、C高级语言源源程序调试试。4.可观察数数组、记记录、等各各种种复杂变量量。5.可进行软软件模拟拟。该软件件可可以用软件件模模拟的方式式来来调试用户户编编写的程序序。所所谓软件模模拟拟是指用计计算算机模拟单单片片机的运行行情情况,而不不需需要单片机机仿仿真器硬件件的的支持。当当软软件模拟单单片片机的运行行情情况并成功功后后,再用仿仿真真器仿真调调试试。这种软软件件模拟调试试功功能对单片片机机的学习和和开开发都是必必不不可少的。6.可与ICCExpploreerr单片机仿真真系统配合合进进行仿真,该该该软件也可可与与ICExpploreerr仿真器配合合对单片机机进进行仿真,。直直观地反映CPU内部各个部部分、外部程程序存储器的的运行情况,为为用户调试程程序提供准确确的调测信息息。二、程序调试本次设计的的所所有程序均均用用ICExpploreerr调试并无语语法错误。在在在完成主程程序序和子程序序流流程图并检检查查完毕后,进进进行软件调调试试时,首先先要要用仿真器器编编写程序,并并并根据提示示对对错误处进进行行修改。源源程程序编辑完完成成后,说明明指指令使用正正确确,但这不不能能说明程序序没没有语法错错误误,所以还还必必须经过仿仿真真调试。在在调调试过程中中可可用设置断断点点、单步执执行行等方式,检检检查程序有有无无错误。在在调调试过程中中,不不断对出错错的的地方进行行修修改,直到到完完全通过在该该软件上进进行行调试,其其间间遇到了以以下下问题:1.输入时将将指指令助记符符或或操作数输输错错,问题不不大大,仔细检检查查后即解决决。2.由于用伪伪指指令ORG设定地址时时考虑不周周全全,所以在在程程序跳转时时发发生跳转范范围围出错误的的现现象,修改ORG起始地址后后,解决了了问问题。附录:冬枣保鲜鲜库库恒温控制制系系统程序清清单单 ORG 000000H AJMP SSTAART ORG 000033H AJMP IINTT0 ORG 0000BBH AJMP TT0IINT ORG 000300HSTART: MMOV SP, #60H ;设置外部部中断请求求为为脉冲方式式 MOV 300H, #4BH MOV 355H, #02HMAIN: SSEETB IT0 MOV IEE, #0FFHH MOV R00, #30H ACALL XSSZH ACALL DIIAP ACALL ADDCY ACALL COONTROOLL AJMP MMAIIN;显示子程序DISP: SSEETB P3.3 ;开放显示示输出 MOV R77, #04H MOV R00, #5FH ;5FH~55CH为显示缓冲冲单元DL0: MOOVV A, @R0 ;取出要显显示的数 ADD A, ##0DH ;加上偏移移量 MOVC AA, @A+PCC ;查表取出出字型数据据 MOV SBBUFF,A ;送出显示示DL1: JNNBB TI, DL1 ;输出完否否? CLR TII ;完,清中中断标志 DEC R00 ;再取下一一个数 DJNZ RR7, DL0 CLR P33.33 ;关闭显示示器输出 RETSEGTAB:: DB 0C0H,0F9H,0A4H,0B0H,99H ;0,1,2,3,4 DB 92HH,882H,0F8H,90H,88H ;5,6,7,8,9 DB 83HH,00C6H,0A1H,86H,8CH,0FFH;A,B,C,D,;—,暗;键盘扫描子程程序序KEY: MOOVV A, #00H MOV SBBUFF,A ;使扫描键键盘的164输出为00HKL0: JNNBB TI, KL0 ;输出完否否? CLR TII ;清中断标标志KL1: JNNBB P2.6, PK1 ;第一排键键中有闭合合键键吗? JB P2..7, KL1 ;在第二排排键有闭合合键键吗?PK1: ACCAALL DL10 ;延迟 JNB P22.66, PK2 ;是否抖动动引起的?? JB P2..7, KL1 PK2: MOOVV R7, #08H ;不是抖动动引起的 MOV R66, #0FEHH ;判别是哪哪一个键被被按按下 MOV R33, #00H MOV A, RR6 KL5: MOOVV SBUF,A KL2: JNNBB TI,KL2 ;等待串行行口发送完完 CLR TII JNB P22.66, PKONEE ;是第一排排某键否?? JB P2..7, NEXT ;是第二排排某键否?? MOV R44, #08H ;第二排键键中有键被被按按下 AJMP PPK33 PKONE: MMOV R4, #00H ;第一排键键中有键被被按按下PK3: MOOVV SBUF,#00H ;等待键释释放KL3: JNNBB TI, KL3 CLR TII KL4: JNNBB P2.6 KL4 JNB P22.77 KL4 MOV A, RR4 ;键释放,取取取得键码 ADD A, RR3 RET NEXT: MMOOV A, R6 ;判下一列列键是否按按下下 RL A MOV R66, A INC R33 DJNZ RR7, KL5 ;八列键都都检查完否否?? AJMP KKEYY ;完了,开开始下一个个扫扫描周期DL10: MMOOV R7, #0AH ;延时10ms子程序DL: MOVV R6, #0FFHH DL6: DJJNNZ R6, DL6 DJNZ RR7, DL RET ;温度输入值转转换换成设定值值子子程序 SDZH: MMOOV A, 5EH ;取十位值值 MOV B, ##32H ;10℃的数字量是32H MUL ABB MOV R00, A MOV A, 55DH ;取个位值值 MOV B, ##05H ;1℃的数字量是05H MUL ABB ADD A, RR0 ;十位和个个位值相加加 MOV R00, A MOV A, 55CH ;取十分位位值 MOV B, ##02H ;0.2℃的数字量是01H DIV ABB ADD A, RR0 MOV R00, A MOV A, 55FH CJNE AA, #00H,SDZH1;是不是零零上温度值值??是,转移移 MOV A, ##4BH ;0℃的数字量是4BH CLR C SUBB AA, R0 AJMP SSDZZH2 SDZH1: MMOV A, #4BH ADD A,R00 SDZH2: RRET ;温度值转换为为显显示键码子子程程序 XSZH: MMOOV R0, 3AH ;取待显示示温度存储储单单元地址 MOV A, @@R0 CHNE AA, #00H,XSZH1;温度值等等于最低温温度度吗? MOV 5FFH, #0EH ;是,显示“—————” MOV 5EEH, #0EH MOV 5DDH,#0EH MOV 5CCH,#0EH AJMP XXSZZHFH ;处理结束束,返回XSZH1: CCJNE A, #0FFH,XSZH2;温度值等等于最高温温度度吗? MOV 5FFH, #00H ;是,显示“0999” MOV 5EEH, #09H MOV 5DDH,#09H MOV 5CCH,#09H AJMP XXSZZHFHXSZH2: CCJNE A, #4BH,XSZH3;温度值大大于0℃吗?XSZH3: JJNC XSZH44 ;是,转零零上温度处处理理程序 MOV 5FFH, #0EH ;标志位置“—” CLR C MOV R11, @R0 ;计算该温温度值相对对00℃的差量 MOV A, ##4BH SUBB AA, R1 AJMP XXSZZH5 XSZH4: MMOV 5FH, #00H ;标志位置“0”,表示正 CLR C MOV R11, #4BH SUBB AA, R1 XSZH5: MMOV B, #32H ;除以10℃,得十位数数 DIV ABB MOV 5EEH, A ;存十位数数于显示单单元元 MOV A, BB ;除以1℃,得个位数数 MOV B,#005H DIV ABB MOV 5DDH,A ;存个位数数于显示单单元元 MOV A, BB ;乘以0.22℃,得十分位位数数 RL A MOV 5CCH,A ;存十分位位数XSZHFH::RRET ;四路模拟采样样 ADCY: MMOOV R1, #31H ;置数据存存储区首地地址址 MOV DPPTRR,#0DFFF8H ;P2.5==0,指向通道0 MOV R77, #04H ;置通道数数ADCY1: MMOVX @DPTR,A ;启动A/D转换 MOV R66, #0AH ;软件延时时,等待转转换换结束ADDLAY::NNOP NOP NOP DJNZ RR6, ADDLAAY MOVX

温馨提示

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

评论

0/150

提交评论