粮仓温度监控 (2).docx_第1页
粮仓温度监控 (2).docx_第2页
粮仓温度监控 (2).docx_第3页
粮仓温度监控 (2).docx_第4页
粮仓温度监控 (2).docx_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

河南科技学院2010 届本科毕业论文(设计)论文题目:基于单片机粮库温度监控学生姓名: 范志愿所在院系: 机电学院所学专业: 应教101导师姓名: 张素君 完成时间:2015 年 月 日摘 要本课题设计的是粮库监控系统,是对各个粮库的温度进行监控,以保证粮库储粮的安全。粮库监控系统以STC12C5A60S2单片机为核心构成温度监控系统。一个STC12C5A60S2单片机分机负责一个粮库的温度监控任务,一片STC12C5A60S2上挂多个温度传感器DS18B20,分机与主控机的通信采用485通讯总线方式,无线通讯对发送数据进行CCR校验和独特的编码,提高了数据传输的可靠性。无线传输避免了远距离布线所带来的损耗大,成本高的缺点。由工控机直接通过串行通讯读取主控机处理后的数据,进行集中图形显示。关键字:STC12C5A60S2,温度监控,DS18B20Abstract本课题设计的是粮库监控系统,是对各个粮库的温度进行监控,以保证粮库This topic is the design of the monitor and control system, is to monitor each grain storage temperature, to ensure the grain depot Grain Storage safety.The monitor and control system based on MCU of STC12C5A60S2 temperature control system. Temperature monitoring tasks of a STC12C5A60S2 SCM is responsible for a food bank, a piece of STC12C5A60S2 to hang a plurality of temperature sensor DS18B20, the extension communication with the main control machine uses 485 communication bus, wireless communications CCR checksum and unique code to send data, improve the reliability of data transmission. The wireless communication can avoid loss caused by long-distance wiring, high cost. By the computer directly through the serial communication to read master data, centralized display.Keywords: STC12C5A60S2, Temperature monitoring, DS18B20目 录摘 要 . I Abstract . II 目 录 . III 背景.1 相关领域国内外技术和发展趋势.1 2 总体方案与上下位机之间通信方式的设计 . 6 2.1 总体设计思路.6 2.2 上下位机之间的通信方式.8 3.2 系统方案设计.21 4 下位机软硬件设计 . 35 4.1 测温方法的设计.35 4.2下位机硬件的介绍.36 4.3下位机软件的设计.46 4.4 接口及通讯.47 4.5下位机电路的设计.47 5 单片机的抗干扰问题 . 52 5.1干扰因素.52 5.2 硬件抗干扰措施.52 5.3 软件抗干扰措施.55 6 总结与展望 . 57 6.1 工作总结.57 6.2 温度智能控制的前景展望.57 致 谢 . 59 参考文献 . 601绪论粮食是一个国家生存的根本,为了防备战争、灾荒及其它突发性事件,粮食的安全储藏具有重要意义。根据国家粮食保护法规,必须定期抽样检查粮仓各点的粮食温度与湿度,以便及时采取相应的措施,防止粮食的变质。但大部分粮仓目前还是采取人工测温的方法,这不仅使粮仓工作人员工作量增大,且工作效率低,尤其是大型粮仓的温度检测任务如不能及时彻底完成,则有可能会造成粮食大面积变质。据有关资料统计,目前,我国各个地方及垦区的各种大型粮仓都还存在着程度不同的粮食储存变质问题。我国每年因粮食变质而损失的粮食达数亿斤,直接造成的经济损失是惊人的.对粮仓粮食安全储藏的主要参数是粮仓的温度和湿度,这两者之间又是互相关联的粮食在正常储藏过程中,含水量一般在12%以下是安全状态,不会产生温度突变,一旦粮仓进水、结露等使粮食的含水量达到20%以上时,由于粮食受潮,胚芽萌发,新陈代谢加快而产生呼吸热,使局部粮食温度突然升高,必然引起粮食发烧和霉变并可能形成连锁反应,从而造成不可挽回的损失。2 总体设计方案2.1 系统的功能本设计提出的无线粮仓监控系统主要功能包括以下三个方面:(l)温度数据的采集周期性采集粮仓的温度,并按要求将数据发送到集中器。本系统中采集周期为10秒,发送周期是动态的,正常状态下是30分钟发送一次,但在温度异常时每分钟发送一次。(2)温度数据的接收温度数据的集中接收并显示每个无线温度采集器发送的温度数据并加上采集时间后集中存储,记录所有的对温度采集器的操作事件并将温度数据传送到PC机。(3)温度数据的分析系统在PC机上实时显示各监测点的即时温度,并以折线图显示各监测点的温度变化趋势,并可以在发生异常情况产生报警信息,自动弹出报警窗口。2.2系统的总体结构图1 系统框图数据集中器部分主要由无线收发模块,微处理器,时钟芯片等几部分组成,实现温度数据接收存储、计时、发送数据、发送命令等功能。数据集中器与温度采集器的距离不得超过模块的有效距离,否则会造成通讯失败,使系统瘫痪。无线粮仓监测系统由数据集中器,温度采集器及PC机三部分组成。整个系统采用全数字化网络结构,提高了系统的抗干扰能力。系统通过数据集中器将周围粮仓中的无线温度采集器连接起来组成一个小型无线网络。PC机通过RS485总线与数据集中器连接,从中读取数据并进行分析。系统中温度采集器使用电池供电,与数据集中器之间采用无线通信,抗干扰能力强;采用密封、耐腐蚀的工程塑料外壳,保证系统能在恶劣环境下正常工作;体积小、重量轻安装非常方便。2.3 系统的工作原理首先系统要进行组网,按温度采集器的地址将其加入到某个网路中,数据集中器只处理属于网内的温度采集器发来的数据。一个网内温度采集器可以有多个,每个采集器有唯一的地址,通过多点对一点的通讯方式与数据集中器通讯。温度采集器将取得温度数据进行简单的软件滤波后,再传送到数据集中器。数据集中器为主站,需要唯一的地址,其功能是接收、存储及转发温度采集器发来的数据。为了确保通信的可靠性,特为此制定了一个无线通信协议。通信的协调完全由数据集中器按照通讯协议控制。无线温度采集器每15s采集一次数据,但不是每15s向数据集中器发送一次数据,如果所监测点的温度或温度的变化速率不超过规定的范围,则温度采集器每十分钟向数据集中器发送一次数据,一旦所监测点的温度超过规定的温度或者是温度变化的速率超过规定的范围,则无线温度采集器的发送周期立即缩短为每一分钟发送一次,直至温度恢复正常,数据集中器将收到的数据和当时的时间储存在存储器中以备用,数据集中器也可以设置无线温度采集器的运行参数。数据集中器一般都放在室外,从而增大无线网络覆盖的距离,同时也可以对数据进行简单的处理后通过液晶显示实时温度,并对超标温度进行报警。PC机一般都放在室内,这使得PC机与数据集中器有了一定的距离,为了系统的稳定,这时需要使用RS485通讯,为保证数据集中器与PC机通讯的有效进行也要定义一个通讯协议。PC机完成显示、报警、打印、历史数据记录和再现报表等功能。系统软件可以在显示器上开多个显示窗口,各窗口中同时显示不同的实时更新的内容。如果出现异常,立即报警并明确指出哪个部分出现异常。3 数字式温度传感器温度传感器之所以考虑选择单线数字器件DS18B20,主要有以下几方面的原因:(1)系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。一支DS18B20的体积与普通三极管相差无几,价格便宜。(2)系统复杂度:由于DS18B20是单总线器件,一条总线上可以挂接几十个DS18B2O,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。(3)系统的调试和维护:由于引线的减少,使得系统接口大为简化,给系统的调试带来方便;同时,由于DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。图2一3为DS18B20的引脚(结构)框图。3.1特点描述采用RS485总线技术,可以在一根线上挂接多个DS18B2O,电源范围从3V5V,也可以直接从数据线上窃取电源;测温范围-5570摄氏度,温度范围内误差为士0.5度;数据位可编程912位,转换12位温度时间为5O0ms,用户可自设定预警上下限温度,报警搜索命令可识别和寻址那个器件的温度至超出预定值。DS18B2O的另一特点是无外线电源工作能力。当总线为高时,稳定电源的提供是通过单线上的上拉电阻实现的,总线信号“高”控制内部电容(Cpp),当总线为低时由电容为器件供电。从单线总线上获得电源的方法被称之为“寄生电源”。DS18B20也可以通过外部供电从Vdd获得电源。3.2 64位激光ROM码每一个DS18B20都有一个64位码存在ROM中。ROM码的低8位含有DS18B2O的单线产品系列编码28H。接下来的48位包含了唯一的系列号。高8位包含有一个循环冗余校验字节,它是根据ROM码的前56位计算得到的。表1 64 位激光码8位CRC48位序列号8位元系列编码(28H)MSBLSBMSBLSBMSBLSB3.3 温度测量DS18B2O的核心功能是其数字温度传感器。温度传感器的测量结果被用户定义为9、10、11或12位,其各自的准确度为0.5、0.25、0.125、0.0625。表2bit7bit6bit5bit4bit3bit2bit1bit0Ls Bytebit15bit14bit13bit12bit11bit10bit9bit8Ms ByteSSSSS3.4 DS18B20 的测温原理 DS1SB20中低温度系数晶振的振荡频率受温度的影响很小,产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振的振荡频率随温度变化而明显改变,所产生的信号作为减法计数器2的脉冲输入。其中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,测量前,首先将-55所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜坡累加器用于补偿和修正测温过程中的非线性,其输出用于修正系统硬件电路的设计减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。斜坡累加器预置比较LSB清零预置低温度系数振荡器计数器=0温度寄存器增加高温度系数振荡器计数器=0停止DS18B20测温原理3.5温度传感器的登记每一个DS18B20在接入系统工作前,必须先进行登记注册。在每台分机上都有一个登记注册端口,DS18B20在接入系统前,先接到登记注册端口,然后用键盘给它设定一个逻辑地址。.确认后,CPU将DS18B20的物理位址读出,然后存入到EPROM中刚才设定的逻辑地址上。DS18B2O在EZPROM中逻辑地址定义:登记注册完毕,便可以将DS18B20接到测温线上相应的位置上了。这时,CPU在扫描测温时将检测到这一测温点的存在,并对其进行测温操作。测温操作时,CPU先选通一条线,然后发出一个测温启动命令,测温启动命令是公共命令,线上的所有DS18B2O都将收到此命令并执行之,然后延时一定时间(在此时间中,CUP还会对别的线进行操作)后,CPU重新对此线进行控制。这时,CPU将此线上的第一个点的物理位址(64位元激光ROM码)发送到总线上。线上所有的点将收到的ROM地址并与存放在ROM中的自己的唯一地址相比较,若不相符,则对CPU的后继命令不作响应,直至收到下一个复位命令;如果相符,则准备接受CUP的后继命令。CPU接着发出读温度命令(BEH),然后,此测温点将会把缓存器中温度数据发送给CPU,并存储到EPROM中相应的位置上。第一个点操作完成后,CPU发出一复位命令,然后将线上第二个测温点的硬件地址发送到总线上,同样,只有硬件地址相符的测温点才会把测温数据发送给CPU,其它的点将等待下一复位命令,如此循环,直至线上所有点都操作完毕,然后,CPU选通下一根线,继续重复上述操作。读得的温度数据按照上述表格的格式存放在分机的EZPROM中,每个点占用16个字节的存储空间。3.6 温度寄存器DS18B20测得温度数据在温度寄存器中被存为带标位的16位数。标志位S表示温度是正是负,为正则S=0,为负则S=1。如果DS18B20设定为12位结果,温度寄存器中所有位将包含有数据;对于n位结果,0位未定义;10位结果,0位和1位未定义;9位结果位2、位1和位O未定义。3.7 CRC的产生CRC字节作为DS18B20的64位ROM编码的一部分。也是暂存寄存器的第9位,ROM码CRC是从ROM码前56位计算得出的并且放在ROM的最高字节。暂存寄存器CRC是由存在暂存寄存器中的数据计算得出的,它因而随着缓存器中的数据的改变而改变。CRC表达式:(3-1)该电路由一个移位寄存器和异或门组成,移位寄存器字节0为最低位,一次只能移入寄存器一位。在从ROM中移56位或从暂存寄存器移到字节7时,多项式发生器将包含重新计算得到的CRC。接下来,8位ROM或缓存器的CRC必须移入电路。在这时,如果重新计算得到正确的CRC,移位寄存器将包含所有0。CRC的产生3.8 温度采集中P2口复用问题在电路设计上,DS18B20被看作一个具有16位地址的外设来对待。对于单片机的外部设备,通常利用寄存器DTPR进行间接寻址。但是由于在温度传感器DS18B20的操作过程中,单总线必须始终与系统的数据输入端口保持相连,以维持连续的串行数据传输。这就要求在读写单总线期间,地址线上的地址数据不能被改变,因此,不能对其采用DPTR进行间接寻址。这里,P2口被用作普通I/O口来使用。单片机控制系统中,在不接外部程序存储器而接有外部数据存储器的情况下,如果对外部数据存储器进行访问,需用MOVXDTPR类指令,由P0和P2口送出16位地址。在读写周期内,P2口引脚上将保持地址信息,但从图2一6所示的P2口结构可知,输出地址时,并不要求P2锁存器锁存1,锁存器的内容也不会在送地址的过程中改变,故访问外部数据存储器周期结束后,P2口锁存器的内容又会重现在引脚上。P2口结构示意图这样,在访问外部数据存储器频繁程度不大的情况下,P2口仍可作一般I/O口使用,因此程序中既可以使用命令MOVP2#ADDR来选通测温Line,又可以使用命令MOVXDPTR来对外部数据存储器进行访问而做到互不影响,但是在对DS18B20进行读写两个字节的操作期间,程序中采用屏蔽其它中断的方式来阻止操作被打断,确保了操作的完成。3.9其它部分本系统在每台分机上扩展了一片32K的非易失性SRAM DCM0256做为数据存储器,用于储存DS18B20的64位激光ROM码和采集的多点温度值。数据存储器DCMO256内置电池,系统掉电后数据不会丢失,而性能又同一般的DRAM,存取速度很快。在本系统中,DS1SB2O的64位激光ROM码在注册后要求不能丢失,而温度数据的循环读取更新,要求存储器速度要快,因此,DCMO256正是最佳选择。键盘电路和数码管显示电路,用以设定温度传感器的逻辑地址。每台分机各设有两只键和三只数码管。每一支新投入使用的温度传感器DS18B20在使用前都要用键盘进行“登记注册”,记录它的64位ROM地址,设置它的逻辑地址。否则单片机在温度读取时将检测不到此传感器的存在。键盘电路采用外部中断0扩展法,如图2一7所示。任何一只键被按下都将引起中断。单片机响应中断后,通过读取P14与P巧端口状态来决定是哪只键被按下,端口若为低电平,说明键被按下,然后进入相应程序进行处理。键盘电路在粮库监控系统中由于存在多台分机,主控机在与它们通信时,为了进行区分,必须为每台分机设置一个地址。系统中分机的地址设置方式为硬件设置,由每台分机的通信单片机负责对地址进行对比确认。主控机发出的命令帧,各个分机都将收到,命令帧中包含了分机的地址,因此,通信单片机便将收到的地址与本机设置的地址进行比较,相同的话才会响应主控机的命令,若不相同,则等待主控机的下一帧命令。地址设置电路所示,由通信单片机的Pl.0一Pl.4口决定本分机的地址,将管脚接地表示O;管脚悬空表示1(P1口内部有上拉电阻)。地址表示成1个字节,设置范围为0-63。复位及看门狗电路采用低功耗芯片MAX813L,它可以保证上电或死机时系统可靠复位。这里,主单片机与通信单片机共用一片看门狗电路,由主单片机送出看门狗复位信号。看门狗复位时间间隔为1.6秒。485通信电路及接口作为一种可选方式,使系统的主控机与分机间的通信可以采用RS一485方式,这为在进行一些测试时或必要时直接采用RS一485通信方式取代无线通信方式提供了方便。485电路的TXD与RXD分别接到主单片机的TXD与RXD上。由于485电路与无线通信电路是可选择工作的,因此它们的通信端口是直接并在一起的。继电器输出控制电路可以同时控制两路电器设备工作,如烘干机、通风机等的开关。继电器由单独电源供电,控制回路与继电器回路采用光祸隔离,以避免继电器工作时产生的干扰窜入到控制电路中。4 总线电路的设计4.1 485总线介绍本系统采用485总线技术,485通信电路及接口作为一种可选方式,使系统的主控机与分机间的通信可以采用RS一485方式,这为在进行一些测试时或必要时直接采用RS一485通信方式取代无线通信方式提供了方便。485电路的TXD与RXD分别接到主单片机的TXD与RXD上。由于485电路与无线通信电路是可选择工作的,因此它们的通信端口是直接并在一起的。继电器输出控制电路可以同时控制两路电器设备工作,如烘干机、通风机等的开关。继电器由单独电源供电,控制回路与继电器回路采用光祸隔离,以避免继电器工作时产生的干扰窜入到控制电路中。RS485 是使用较为广泛的双向有补偿传输线标准,其最大每段总线长度为1200 米,每段最多支持 32 个节点,采用单组双绞线双向主从通信。当总线加长或节点增多时需要使用中继器连接,全网络支持最多256个节点总线技术RS485 通信技术应用时间较长,软硬件实现较为容易,因此是国内粮情测控系统采用较多的通信方式。由于 RS485 总线技术不支持多主结构,系统容量、通讯距离等方面具有很大的局限性,所以随着现代化大型粮食储备库的逐年增多,RS485 通讯方式显得愈来愈力不从心。为实现上位机与多台下位机通信可靠稳定,上位机与下位机通信波特率都为9600 b/s,通信方式均为串行工作方式3,每帧通信数据包括1个起始位,1个停止位,8个数据位,1个奇校验位。通信模式采用主/从方式,上位机为主机,下位机为从机,主机地址为1,从机地址是2,3,4, ;主机与从机之间采用一问一答方式,从机之间不能相互通信。每个上行/下行的数据包的字节个数都是一样的,从机收到数据包后向主机回复一个数据包。每个数据包长度为4 B,下行数据包格式:地址信息(1B)、命令信息(1B)、温度设置值(1B)、检验码(1B);上行数据包格式:主机地址信息(1B)、命令应答信息(1B)、实测温度值(1B)、检验码(1B)。命令信息和命令应答信息就是指从机的工作状态。主机采用轮询方式访问各从机,在发出指令后,主机进入查询状态,等待从机应答。从机不断查询总线,如主机访问地址与从机地址相符,并且校验通过,则执行指令,并保存设置温度值,然后将相关信息以上行数据包格式发回主机。如不是本机地址或校验码错误,则丢弃指令及数据。传输过程中的误码校验采用校验和的方式,即先将要发送的数据包的所有字节相加,然后截短到一个字节长度。发送完数据之后要调用延时程序等待从机的回复。RS一485是一个多引出线接口,这个接口可以有多个驱动器和接收器,利用高阻抗接收器,一个RS一485可以最多连接256个节点。RS一485的驱动器和接收器价格便宜,而且只需要一个单一的+5V电源来产生差动输出的最小,5V的压差。RS一485总线采用平衡电路。每个信号都有专用的导线对,其中一根导线上的电压等于另一根导线上的电压取反,或者取补。接收器对这些电压之间的压差作出反应。平衡连线是无噪声的,因为这两根信号线都传递几乎相同大小的反向电流,大多数噪声电压在这两根导线上或多或少都同时出现,任何在一个导线上出现的噪声电压或从电缆外部祸合进入导线的干扰都被在另一根导线上的噪声电压所抵消。一个平衡接收器只看到传输的信号,噪声被清除或者极大的消弱。由于RS一485采用差动平衡电路,所以通讯距离远,通讯比特率最高可以达到10Mbps。但是通讯距离和通讯比特率是成反比,即通讯比特率越高,通讯距离越近。4.2 RS-485的电压和电流的要求RS-485接口一般使用一个单一的5V电源,但是在驱动器和接收器的逻辑电平并不是标准的VSTTL或者CMOS逻辑电压。对于一个有效的输出,输出A和B之间的压差必须至少为1.5V。在每个输出和信号地之间的电压并没有规定,除了普通模式的电压必须在7V以内。一个RS一485使用的总电流随着连接中元件阻抗的变化而变化,这些元件包括驱动器、电缆、接收器以及终端负载元件。在接收器器端的一个低输出阻抗和一个低阻抗的电缆使快速的开关成为可能,并且确保了接收器能够看见最大可能的信号。接收器的一个高阻抗减少了连接中的电流,并且增加了连接中的电池寿命。终端负载元件,在使用的时候,对连接使用的电流影响最大。很多RS-485连接有一个120欧姆的电阻,这个电阻横跨这个连接两端的差动连线。这个终端电阻将会削弱反射的幅度并且在总体上改进信号的质量。4.3 RS-485的连接为了构建无故障RS-485连接,一般需遵循下面7条准则:1.对指定的比特率使用可能的最慢的驱动器。如果你的连接不需要快的比特率,使用低速的驱动器是改进信号质量的一个简单的、低成本的方法,同时使用低速芯片减弱了发散的电磁干扰。2.用导线的特征阻抗终止长导线。选择合适匹配的阻抗将会消弱反射的幅度并且在总体上改进信号的质量。3.将这些节点连接成总线拓扑。其优点是如果其中的一个连接出现故障或需要从一个接点处断开时,其他的接点之间的通讯可以正常地进行。4.偏置非活动连接。(开路和短路的保护)。其特点是在其中的一个驱动器出现故障时,使整个通讯还可以正常进行。5.使用双绞线电缆。双绞线在消除由于磁祸合引起的低频干扰方面是有效的。在一根双绞线中,电缆的每一次扭曲都交换导线的物理位置,磁祸合进入一根导线的任何干扰都在下一次扭曲中被另一根导线的等量的相反的干扰抵消。虽然不是100%的抵消,但也是被极大地消弱。6.限制公共模式电压。虽然RS-485是采用差动方式,但是为了使RS一485能正常工作,需要限制公共模式电压,一般每个接收器的输入对地电压在-7V到+12V之间,以接收器的地线为参考。7.在RS-485规定中一个连接可以最多有32个单位负载,如果超过了这个限制,通常采用转发器电路,一个转发器可以重新生成RS一485并且可以提供额外的32个接点。5单片机选型5.1 单片机概述所谓单片机(mcro controller)是指在一个集成芯片中,集成微处理器(CPU)、存储器、基本的 I/O 接口以及定时/计数、通信部件,即在一个芯片上实现一台微型计算机的基本功能。1970 年微型计算机研制成功之后,随着就出现了单片机。 目前,市场上单片机的种类繁多,功能和价格相差也很大,选择一款合适的单片机是提高系统整体性能的关键,针对该系统的要求,处理器所需要具有以下要求:(1)该系统需要处理大量的数据,所以该处理器要有大容量的 RAM;(2)为了快速处理大量数据,所以处理器需要具备高速运算的能力; (3)为了尽量提高数据传输的速度和系统的稳定性,所以处理器要具有超强的抗干扰性; (4)设计的温度数据存储传输设备要求具有低功耗和高性价比;5)系统要便于调试和程序下载。结合以上要求,本文设计的多点温度监控系统选择使用的单片机是STC12C5A60S25.2 STC12C5A60S2 概述 多点室温监控系统的整个控制核心采用的是STC12C5A60S2单片机,STC12C5A60S2系列单片机是单时钟/机器周期的单片机,是高速/低功耗/超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统的 8051,但速度快 8-12 倍。内部集成高可靠的复位电路,适用于高速通信,智慧控制,强干扰场合。其主要有以下特点: (1) 增强型 8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051; (2) 工作电压:STC12C5A60S2系列工作电压:-5.5V-3.5V(5V 单片机); (3) 工作频率范围:0-35MHz,相当于普通8051的0-420MHz; (4) 用户应用程序空间 8K/16K/20K/32K/40K/48K/52K/60K/62K 字节; (5) 片上集成 1280字节RAM; (6) 通用 I/O口(36/40/44 个),复位后为准双向口/弱上拉(普通 8051传统 I/O 口)可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏,每个 I/O 口驱动能力均可达到 20mA,但整个芯片最大不要超过120mA; (7) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片; (8)内部集成 MAX810 专用复位电路(外部晶体12M以下时,复位脚可直接 1K 电阻到地); (9)外部掉电检测电路:在 P4.6口有一个低压门槛比较器 5V 单片机为 1.33V,误差为5%,3.3V 单片机为 1.31V,误差为3%; (10) A/D 转换,10 位精度 ADC,共8路,转换速度可达 250K/S(每秒钟 25万次); (11)工作温度范围:-40+85(工业级)/075(商业级); (12)封装:LQFP-48,LQFP-44,PDIP-40,PLCC-44,QFN-40,I/O 口不够时,可用2到 3 根普通I/O口线外接 74HC164/165/595(均可级联)来扩展 I/O口,还可用A/D做按键扫描来节省 I/O 口,或用双 CPU,三线通信,还多了串口5.3 STC12C5A60S2 内部结构及管脚排列 STC12C5A60S2 单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART 串口、串口 2、I/O 接口、高速 A/D 转换SPI接口、PCA、看门狗及片内 R/C 振荡器和外部晶体振荡电路等模块。STC12C5A60S2 系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。 图 2-12 STC12C5A60S2 系统内部结构图该系统使用的单片机STC12C5A60S2的封装为LQFP-44,该封装体积较小,抗干扰性强且稳定性较好,图 2-13 是单片机 STC12C5A60S2 的管脚图STC12C5A60S2 单片机中 P0、P1、P2、P3 等引脚的功能及用途,在表 2-4中作了详细的论述。 5.4复位电路设计任何微处理器均需通过可靠复位,然后才能有序地执行应用程序。复位电路的设计要求其一要保证整个系统可靠复位,二要有一定的抗干扰能力。在实际的监测系统中,考虑到电源稳定时间、晶振稳定时间、参数漂移和复位可靠性等因素其设计必须留有较大的裕量。复位电路应具有上电复位和手动复位功能。复位脉冲的宽度至少要大于2个机器周期。图3一1为实际应用的复位电路,实质上是一个低通滤波环节,对于脉冲干扰有良好的抑制作用。除了上电复位和手动复位外,图3一1复位电路微处理器还有看门狗复位,提高了系统运行程序的可靠性。6粮库温度监控系统的硬件设计整个粮库温度监控系统分为硬件设计和软件设计,系统的硬件设计是否合理极大地影响着系统的实现和性能,也是软件设计的基础和保证。对整个系统非常关键。要在满足系统技术要求的基础上,具有高可靠性、可维护性,更要符合用户经费的预算。温度采集设备可以看成是一个移动台,移动台端到远端的 PC 机服务器适用了打包和通道协议的原理系统实现温度采集时用到的关键芯片主要有STC12C5A60S2单片机和DS18B20数字温度传感器。本节重点介绍这些芯片的硬件设计。对于温度的采集,主要是STC12C5A60S2 单片机通过控制DS18B20,实现对温度的采集、控制和数据处理的需要。 STC12C5A60S2 单片机其 P3.3,P3.4,P3.5,P3.6,P3.7 五个管脚分别连接 DS18B20,用于温度的测量。即 DS18B20 的五个引脚中的DQ 端分别和 STC12C5A60S2 单片机的 P3.3,P3.4,P3.5,P3.6,P3.7 五个管脚相连接。剩余的两个引脚 GND 和 VDD 分别接地和 5V 电源。 DS1820 供电的方法是从 VDD 引脚接入一个外部电源,这样做的好处是 I/O 线上不需要加强上拉,而且总线控制器不用在温度转换期间总保持高电平。这样在转换期间可以允许在单线总线上进行其他数据往来,另外,在单线总线上可以挂任意多片 DS1820,而且如果它们都使用外部电源的话,就可以先发一个ROM命令,再接一个Convert T命令,让它们同时进行温度转换,加上外部电源时,GND 引脚不能悬空。7粮仓温度采集的软件设计对于温度采集系统,其主要是通过STC12C5A60S2单片机控制温度传感器DS18B20进行温度的采集。STC12C5A60S2内部集成了微控制器,DS18B20 的温度采集受 STC12C5A60S2 的内部微控制器控制。因此 DS18B20 开始温度的采集及初始化脉冲等命令都是由 STC12C5A60S2 发出。DS18B20 总线协议工作方式,STC12C5A60S2 首先发送复位脉冲,使信号线上的 DS18B20 被复位,接着发送 ROM 操作命令,使 DS18B20 被激活进入接收内存访问命令状态。内存访问命令完成温度转换、读取等工作(单总线在 ROM 命令发送之前存储命令和控制命令不起作用)。系统以 ROM 命令和存储器命令的形式对DS18B20 操作。ROM 操作命令均为8位,命令代码分别为:读 ROM(33H)、匹配 ROM(5SH)、跳过 ROM(CCH)、搜索 ROM(FOH)和报警搜索(ECH)命令。存储器操作命令为:写暂存存储器(4EH)、读暂存存储器(BEH)、复制暂存存储器(48H)、温度变换(44H)、重新调出 EPRAM(BSH)和读电源供电方式(B4H)命令。DS18B20对时序及电特性参数要求较高,必须严格按照 DS18B20 的时序要求去操作。DS18B20 的读写由主机读写时间来完成的,包括初始化、读数据和写数据。主机控制 DS18B20 完成任何操作之前必须先初始化,即主机发一个复位脉冲(最短为480s的低电平),接着主机释放总线进入接收状态。DS18B20 在检测到引脚上的上升沿之后,等待一段时间,然后发出存在脉冲。7.1 读写数据写数据:将数据线从高电平拉至低电平,产生写起始信号。在15s之内将所需写的位送到数据线上,在15s到60s 之间对数据线进行采样,如果采样为高电平,就写 1,如果为低电平写 0。在开始另一个写周期前必须有1s 以上的高电平恢复期。 读数据:主机将数据线从高电平拉至低电平1s以上,再使数据线升为高电平,从而产生读起始信号。主机在读时间片下降沿之后 15s 内完成读位。每个读周期最短的持续期为60s,各个读周期之间也必须有 1s 以上的高电平恢复期。 根据以上的分析及工作流程可知,每次对 DS18B20 的访问,都必须按下面工作协议流程进行:初始化ROM 操作指令存储器操作指令数据传输。其工作时序包括初始化时序、写时序和读时序。 主机控制 DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉 500 微秒,然后释放,DS18B2O 收到信号后等待 16-60 微秒左右,后发出存在低脉冲,主CPU 收到此信号表示复位成功。主要的源代码如下。 7.1.1精确延时问题 为保证DS18B20 的严格I/O 时序,需要作较精确的延时。在 DS18B20 的操作中,延时分两种:短时间延时和较长时间延时。短时间延时

温馨提示

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

评论

0/150

提交评论