火灾报警系统

上传人:仙*** 文档编号:29827303 上传时间:2021-10-08 格式:DOC 页数:48 大小:417.50KB
返回 下载 相关 举报
火灾报警系统_第1页
第1页 / 共48页
火灾报警系统_第2页
第2页 / 共48页
火灾报警系统_第3页
第3页 / 共48页
点击查看更多>>
资源描述
第一章 系统概述1.1火灾报警系统概述1.1.1火灾报警系统简介:随着我国经济的迅速发展,人民生活水平的不断提高,城市使用逐日焦虑不安,催促建筑所面临的方向不断的发展。这种高水准的民用工程修理需要的材料和方法也更加促进了多元化,并且随着用电负荷和煤气消耗量的日益扩大,对火灾自动报警系统的设计提出了更高更严格的要求。为了保证人们的生命和财产安全,火灾自动报警系统的设计变成了高层民用建筑设计中最重要的设计内容之一。目前建立在作者的有关火灾自动报警系统的设计在高层民用建筑中的监视作用的基础上经验,提议当前国家的相关标准和标准不清楚的细节浅显意见,通过团体讨论,并指出错误。火灾报警系统用于检测火灾并给出声光警示信号,具体由布放在现场的探测器、传输线路和安放在控制室的控制器组成。探测器感受物质燃烧时现场的各种物理参数,将判断结果或模拟量值通过现场总线传回控制器,控制器做进一步处理后给出报警信号,同时也获取来自监视模块的消防设备的运行状态信息。火灾自动报警系统能够在火灾初期,将燃烧产生的烟雾、热量和光辐射等物理量,通过感温、感烟和感光等火灾探测器变成电信号,传输到火灾报警控制器,并同时显示出火灾发生的部位,记录火灾发生的时间。火灾自动报警系统的组成形式多种多样,它的发展目前可分为三个阶段:1:多线制开关量式火灾探测报警系统。这是第一代产品,目前国内极少数厂家生产外,它基本上已处于被淘汰状态。2:总线制可寻址开关量式火灾探测报警系统。这是第二代产品,尤其式二总线制开关量式探测报警系统目前正被大量使用。3模拟量传输式智能火灾报警系统。这是第三代产品。目前我国已经开始从传统的开关量式火灾探测报警技术,跨入具有先进水平的模拟量式智能火灾探测报警技术的新阶段,它的系统的误报率降低到最低限度,并大幅度地提高了报警的准确度和可靠性。目前火灾自动报警系统有智能型、全总线型以及综合型等,这些系统不分区域报警系统或集中报警系统,可达到对整个火灾自动报警系统进行监视。但是在目前的实际工程当中传统型的区域报警系统、集中报警系统和控制中心报警系统仍得到较为广泛的应用。火灾自动报警系统的工作原理见附录1所示。安装在保护区的探测器不断的向所监视的现场发出巡检信号,监视现场的烟雾浓度、温度等,并不断反馈给报警控制器,控制器将接到的信号与内存的正常整定值比较、判断确定火灾。当发生火灾时候,发出声光报警,显示火灾区域或楼层房号的地址编码。同时向火灾现场发出警铃报警,在火灾发生楼层的上下相邻层或火灾区域的相邻区域也同时发出报警信号,以显示火灾区域。1.1.2火灾报警系统的特点火灾自动报警及消防联动系统,作为智能建筑中的一个重要子系统,其重要性是众所周知的。要在智能建筑中创造一个安全舒适的环境,消防安全是其中的一个重要的方面。火灾自动报警及消防联动系统,作为火灾的先期预报、火灾的及时扑灭、保障人身和财产安全,起到了不可替代的作用。火灾自动报警系统是人们为了早期发现火灾,并及时采取有效措施,控制和扑灭火灾,而设置在建筑物中或其他场所的一种自动消防设施,是人类同火灾作斗争的有力工具。1.1.3火灾报警系统的适应范围由于设计思路简单,所以设计规范适用于工业与民用建筑内设置的火灾自动报警系统,不适用于生产和贮存火药、炸药、弹药、火工品等场所设置的火灾自动报警系统。在生产和贮存火药、炸药、弹药、火工品等场所设置的火灾自动报警系统应该采用特殊的传感器,以及特殊的处理工艺等。1.2主要设计思路如果简单地按常规方式设计电路,那么在实际工程中可能存在以下两个问题:一是通信数据收发不可靠;二是在多机通信方式下,一个节点的故障(如死机)往往会使得整个系统的通信框架崩溃,而且给故障的排查带来困难。针对上述问题,对RS485总线接口的软硬件设计采取了有效的改进措施,大大提高了联网系统的可靠性和稳定性。为了降低误报率,系统采用了多次采集、多次判断的方法。每次数据采集后根据得到的数据对现场情况进行判断:00H表示正常、01H表示异常、02H表示火灾;然后综合多次判断结果做出最终的火情判断。00H为情况正常,返回。01H为情况异常,调异常报警子程序。02H为现场有火灾,调火灾报警子程序。1.3国内外的研究现状国内火灾报警系统多采用RS485半双工异步通信总线进行联网,实现火灾报警控制器之间,以及火灾报警控制器与火灾显示盘之间的通信。但在实际使用中,往往由于设备数量多、通信线路远以及现场的各种干扰等,造成通信可靠性、稳定性不高,致使联网系统的质量得不到保证。第二章 原理图设计2.1基本器件选择硬件电路主要由电源模块、CPU模块、显示模块、存储模块、通信模块、键盘电路、报警故障输出电路、看门狗电路等组成。2.2CPU模块2.2.1CPU的组成CPU模块由两片AT89C51单片机组成,它们之间采用8位数据并行口通讯,使用端口扫描实现数据传输功能。然后2个片子分别与显示模块、存储模块、通信模块和键盘电路、报警故障输出电路、看门狗电路相连,单独实现各自的功能,并能相互通讯完成火灾检测、报警、显示等功能。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低压、高性能CMOS8位微处理器,俗称单片机。AT89C51单片机按功能划分,它由8个部分组成,即微处理器(CPU)、数据存储器(RAM)/程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器及中断系统,它们是通过片内单一总线连接起来的。主要特征:(1)与MCS-51兼容(2)4K字节可编程闪烁存储器(3)寿命:1000写/擦循环(4)数据保留时间:10年(5)全静态工作:0Hz-24Hz(6)三级程序存储器锁定(7)1288位内部RAM(8)32可编程I/O线;(9)两个16位定时器/计数器(10)5个中断源(11)可编程串行通道;(12)低功耗的闲置和掉电模式(13)片内振荡器和时钟电路2.2.2AT89C51单片机的引脚说明AT89C51单片机单片机的引脚配置如下图1所示。制造工艺CMOS的MCS-51系列单片机大都采用40条引脚的双列直插式封装(DIP)。引脚如图:它有4个输入/输出口(英文简写为I/O口),每个口有8条线共占32个引脚。剩余8个引脚分别为:电源、地线、接石英晶体(两根)、复位和三个特殊功能引脚(ALE、EA、PSEN)。图1:AT89C51引脚图管脚说明:VCC(40脚):供电电压正极。GND(20脚):供电电压负极。P0口(32脚39脚):P0口为一个8位漏极开路双向I/O口,每引脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被外部电路拉到高电平,所以此口被使用时需要外加上拉电阻。P1口(1脚8脚):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口(21脚28脚):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口(10脚17脚):P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下图所示:P3口同时为闪烁编程和编程校验接收一些控制信号。RST(9脚):复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG(30脚):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN(29脚):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VP(31脚):当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VP)。XTAL1:(19脚)反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:(18脚)来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。串口通讯串口通信需要用到SCON,TCON,TMOD,SBUF等特殊功能寄存器。SBUF数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。实际上SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfrSBUF=0x99;当然你也可以用其它的名称。通常在标准的或等头文件中已对其做了定义,只要用#include引用就可以了。SCON串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。的各个位的具体定义如下:SM0 SM1 SM2 REN TB8 RB8 TI RISM0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。SM0 SM1 模式功能波特率000 同步移位寄存器 fosc/12011 8位UART 可变102 9位UART fosc/32或fosc/64113 9位UART 可变SM2在模式2、模式3中为多处理机通信使能位。在模式0中要求该位为0。REM为允许接收位,REM置1时串口允许接收,置0时禁止接收。REM是由软件置位或清零。如果在一个电路中接收和发送引脚P3.0,P3.1都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0来禁止接收,在子程序结束处加入REM=1再次打开串口接收。大家也可以用上面的实际源码加入REM=0来进行实验。TB8发送数据位8,在模式2和3是要发送的第9位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。RB8接收数据位8,在模式2和3是已接收数据的第9位。该位可能是奇偶位,地址/数据标识位。在模式0中,RB8为保留位没有被使用。在模式1中,当SM2=0,RB8是已接收数据的停止位。TI发送中断标识位。在模式0,发送完第8位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI置位后,申请中断,CPU响应中断后,发送下一帧数据。在任何模式下,TI都必须由软件来清除,也就是说在数据写入到SBUF后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。RI接收中断标识位。在模式0,接收第8位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU取走数据。但在模式1中,SM2=1时,当未收到有效的停止位,则不会对RI置位。同样RI也必须要靠软件清除。常用的串口模式1是传输10个位的,1位起始位为0,8位数据位,低位在先,1位停止位为1。它的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。2.2.3并口通信介绍最初的并口设计是单向传输数据的,也就是说数据在某一时刻只能实现输入或者输出。后来IBM又开发出了一种被称为SPP(StandardParallelPort)的双向并口技术,它可以实现数据的同时输入和输出,这样就将原来的半互动并口变成了真正的双方互动并口;Intel、Xircom及Zenith于1991年共同推出了EPP(EnhancedParallelPort,增强型并口),允许更大容量数据的传输(5001000byte/s),其主要是针对要求较高数据传输速度的非打印机设备,例如存储设备等;紧接着EPP的推出,1992年微软和惠普联合推出了被称为ECP(ExtendedCapabilitiesPort,)的新并口标准,和EPP不同,ECP是专门针对打印机而制订的标准;发布于1994年的IEEE1284涵盖了EPP和ECP两个标准,但需要操作系统和硬件都支持该标准,这对现在的硬件而言已不是什么问题了。目前我们所使用的并口都支持EPP和ECP这两个标准,而且我们可以在CMOS当中自己设置并口的工作模式。并行接口可设计为只作为输入/输出接口,也可设计为既作为输入又作为输出的接口。它可以用两种方法实现,一种是利用同一个接口中的两个通路,一个作输入通路,一个作输出通路;另一种使用同一个双向通路,既作为输入又作为输出。采用并行传送方式在微型计算机与外部设备之间进行数据传送的接口叫并行接口,它有2个主要特点;一是同时并行传送的二进位数就是数据宽度;二是在计算机与外设之间采用应答式的联络信号来协调双方的数据传送操作,这种联络信号又称为握手信号。简单的并行接口 简单的并行接口分0线握手并行接口、1线握手并行接口和2线握手并行接口等多种。 1、0线握手并行接口,所谓0线握手(连络),即接口电路中不含协调数据传送的连络信号,这是并行接口的最简形式,它又分输入并行接口和输出并行接口以及输入输出双向并行接口3种形式。 0线握手输入接口,在输入量比较稳定的情况下(输入的状态信息在一个的时间内不改变,如开关量输入),可采用三态门直接读取。 0线握手输出接口,当输出数字量无需锁存时,可采用三态门直接输出。 0线双向输入输出接口,当外设与CPU之间需要利用数据总线进行双向传送信息时,IO设备即能发送信息,又能接收信息。2.3存储模块由于大规模集成电路技术的发展,在单个芯片集成CPU以及组成一个单独工作系统所必须的ROM、RAM、I/O端口、A/D、D/A等外围电路和已经实现,这就是常说的单片机或微控制器。目前,世界上许多公司生产单片机,品种很多:包括各种字长的CPU,各种容量和品种的ROM、RAM,以及功能各异的I/O等等。但是,单片机品种规格有限,所以只能选用某种单片机再进行扩展。扩展的方法有两种:一种是并行总线,另一种是串行总线。由于串行总线连线少,结构简单,往往不用专用的母板和插座而直接用导线连接各个设备即可。因此,采用串行总线大大简化了系统硬件设计。PHILIPS公司早在十几年就前推出了I2C串行总线,它是具备多主机系统所需的包括裁决和高低速设备同步等功能的高性能串行总线。2.3.1 I2C总线硬件结构和术语I2C串行总线有两根信号线:一根双向的数据线SDA;另一根是时钟线SCL。所有接到I2C总线上的设备的串行数据都接到总线的SDA线,各设备的时钟线SCL接到总线的SCL。为了避免总线信号的混乱,要求各设备连接到总线的输出端必须是开漏极输出或集电极开路输出的结构。设备上的串行数据线SDA接口电路应该是双向的,输出电路用于向总线上发数据,输入电路用于接收总线上的数据。串行时钟线也应是双向的,作为控制总线数据传送的主机要通过SCL输出电路发送时钟信号,同时要检测总线上SCL上的电平以决定什么时候发下一个时钟脉冲电平;作为接受主机命令的从机,要按总线上的SCL的信号发出或接收SDA上的信号,也可以向SCL线发出低电平信号以延长总线时钟信号周期。总线空闲时,因各设备都是开漏输出,上拉电阻RP使ADA和SCL线都保持高电平。任一设备输出的低电平都使相应的总线信号线变低,也就是说各设备的SDA是“与”关系,SCL也是“与”关系。总线对设备接口电路的制造工艺和电平都没有特殊的要求(NMOS、CMOS都可以兼容)。数据传送率按I2C总线可高达每秒十万位,高速方式可高达每秒四十万位。总线上允许连接的设备数以总线上的电容量不超过400pF为限。总线的运行(数据传输)由主机控制。所谓主机即启动数据的传送(发出启动信号),发出时钟信号,传送结束时发出停止信号的设备,通常主机是微处理器。被主机寻访的设备都称为从机。为了进行通讯,每个接到I2C总线的设备都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以是从机发到主机。凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。I2C总线上允许连接多个微处理器及各种外围设备,如存储器、LED或LCD驱动器、A/D或D/A转换器等。为了保证数据可靠地传送,任一时刻总线只能有由某一台主机控制一个微处理器应该在总线空闲时发启动数据,为了妥善解决多台微处理器的同时发启数据传送(总线控制权)的冲突,并决定由哪一台微处理器控制总线。I2C总线允许连接不同传送速率的设备,多台设备之间时钟信号的同步过程称为同步化。2.3.2 I2C数据传输在I2C总线传输过程中,将两种特定的情况定义为开始和停止条件:当SCL保持“高”,SDA由“高”变为“低”时为开始条件;SCL保持“高”,SDA由“低”变为“高”是为停止条件。开始和停止条件由主控器产生。使用硬件接口可以很容易地检测开始和停止条件,没有这种接口的微机必须以每时钟周期至少两次对SDA取样以使检测这种变化。SDA线上的数据在时钟“高”期间必须是稳定的,只有当SCL线上的时钟信号为低时,数据线上的“高”或“低”状态才可以改变。输出到SDA线上的每个字节必须是8位,每次传输的字节不受限制,每个字节必须有一个应答为ACK。如果一接收器件在完成其他功能(如一内部中断)前不能接收另一数据的完整字节时,它可以保持时钟线SCL为低,以促使发送器进入等待状态,当接收器械准备好接受数据的其它字节并释放时钟SCL后,数据传输继续进行。数据传送具有应答是必须的。与应答对应的时钟脉冲由主控器产生,发送器在应答期间必须下拉SDA线。当寻址的被控器件不能应答时,数据保持为高,接着主控器产生停止条件终止传输。在传输的过程中,当用到主控接收器的情况下,主控接收器必须发出一数据结束信号给被控发送器,被控发送器必须释放数据线,以允许主控器产生停止条件。合法的数据传输格式如下:I2C总线在开始条件后的首字节决定哪个被控器将被主控器选择,例外的是“通用访问”地址,它可以寻址所有期间。当主控器输出一地址时,系统中的每一器件都将开始条件后的前七位地址和自己地址比较。如果相同,该器件认为自己被主控器寻址,而作为被控接收器或被控发送器则取决于R/W位。I2C总线是各种总线中使用信号线最少,并具有自动寻址,多主机时钟同步和仲裁等功能很强的总线。因此,使用I2C设计计算机系统十分方便、灵活、体积也小,在各类实际应用中得到广泛应用。2.4 通信模块针对RS-232-C的不足,出现了一些新的接口标准,RS485的电气标准就是其中的一种。RS485是美国电气工业联合会(EIA)制定的利用平衡双绞线作传输线的多点通讯标准。它采用差分信号进行传输;最大传输距离可以达到1.2km;最大可连接32个驱动器和收发器;接收器最小灵敏度可达200mV;最大传输速率可达2.5Mb/s。由此可见,RS485协议正是针对远距离、高灵敏度、多点通讯制定的标准。本次设计采用的就是RS485总线协议。2.4.1 RS-485总线的特点1)RS-485的电气特性:逻辑“1”以两线间的电压差为+(26)V表示;逻辑“0”以两线间的电压差为-(26)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。2)RS-485的数据最高传输速率为10Mbps3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4)RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。RS-485总线的负载能力和通讯电缆长度之间的关系在设计RS-485总线组成的网络配置(总线长度和带负载个数)时,应该考虑到三个参数:纯阻性负载、信号衰减和噪声容限。纯阻性负载、信号衰减这两个参数,在前面已经讨论过,现在要讨论的是噪声容限(NoiseMargin)。RS-485总线接收器的噪声容限至少应该大于200mV。前面的论述者是在假设噪声容限为0的情况下进行的。在实际应用中,为了提高总线的抗干扰能力,总希望系统的噪声容限比EIARS-485标准中规定的好一些。从下面的公式能看出总线带负载的多少和通讯电缆长度之间的关系:Vend=0.8(Vdriver-Vloss-Vnoise-Vbias)(3)其中:Vend为总线末端的信号电压,在标准测定时规定为0.2V;Vdriver为驱动器的输出电压(与负载数有关。负载数在535个之间,Vdriver=2.4V;当负载数小于5,Vdriver=2.5V;当负载数大于35,Vdriver2.3V);Vloss为信号在总线中的传输过程中的损耗(与通讯电缆的规格和长度有关),由表1提供的标准电缆的衰减系数,根据公式衰减系数b=20lg(Vout/Vin)可以计算出Vloss=Vin-Vout=0.6V(注:通讯波特率为9.6kbps,电缆长度1km,如果特率增加,Vloss会相应增大);Vnoise为噪声容限,在标准测定时规定为0.1V;Vbias是由偏置电阻提供的偏置电压(典型值为0.4V)。式(3)中乘以0.8是为了使通信电缆不进入满载状态。从式(3)可以看出,Vdriver的大小和总线上带负载数的多少成反比,Vloss的大小和总线长度成反比,其他几个参数只和用的驱动器类型有关。因此,在选定了驱动器的RS-495总线上,在通信波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接相关的。具体关系是:在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数据少,信号能传输的距离就发越远。为使数据最大限度安全传输,通讯节点实现了错误检测,出错标注和自检功能等强有力措施。错误检测措施包括:总线监控(发送器对发送位电平与总线电平进行比较)、CRC校验、位填充和消息帧校验。错误检测性能:所有全局性错误均可被检测;发送器局部错误均可被检测;消息中的多至5个的随机分布错误可被检测;消息中奇数目位错误可被检测。未检测出消息出错概率小于(消息出错率4.71011)。本次设计采用的数据帧有13位二进制数字组成,包括12位数据位、2位标志位和1位奇偶校验位。出错的消息由检出到错误的任何节点进行标定。该消息被丢弃并自动进行重新发送。从检测到错误到下一个消息开始发送的恢复时间,若不存在新的错误,最多为29个位时。2.4.2 MAX485简介MAX485接口芯片是Maxim公司的一种RS485芯片。采用单一电源+5V工作,额定电流为300A,采用半双工通讯方式。它完成将TTL电平转换为RS485电平的功能。其引脚结构图如下图所示。从图中可以看出,MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100的电阻。可以串行口取电,可以驱动max232与max485实现通信。没加负载时电压有5.16V,加负载后降制3V左右。2.4.3串行口介绍微型计算机主机与外部设备的连接,基本上使用了两类接口;串行接口与并行接口。 并行接口是指数据的各位同时进行传送,其特点是传输速度快,但当传输距离较远、位数又多时,导致了通信线路复杂且成本提高。串行通信是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。 串行通信本身又分为异步通信与同步通信两种。 串行通信线路上传送的是数字信号,表示传送数字信号能力的指标为数据速率(Data Rate),其单位为bps(bit per second),即每秒钟传送的二进制位数。 串行接口标准: 目前普遍采用的一种串行接口标准是RS232C标准和RS-485标准。串行口与并行口的比较并行通信是把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。但它比串行通信所用的电缆多,故常用在传输距离较短(几米至几十米)、数据传输率较高的场合串行通信是指数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信,但串行通信的速度比较慢。在早期的PC系统中串口的物理连接方式有9针和25针两种方式,通过额外的子卡挡板与电脑连接。随着PC技术的发展,25针的串口逐渐被淘汰,目前串口都采用9针的连接方式直接集成在主板上。一般的PC主板都提供两个串口。 标准的串口能够达到最高115Kbps的数据传输速度,而一些增强型串口如ESP(Enhanced Serial Port,增强型串口) 、Super ESP(Super Enhanced Serial Port,超级增强型串口)等则能达到460Kbps的数据传输速率。 并行接口简称并口,也就是LPT接口,是采用并行通信协议的扩展接口。并口的数据传输率比串口快8倍,标准并口的数据传输率为1Mbps,一般用来连接打印机、扫描仪等。所以并口又被称为打印口。 另外,串口和并口都能通过直接电缆连接的方式实现双机互连,在此方式下数据只能低速传输。多年来PC的串口与并口的功能和结构并没有什么变化。在使用串并口时,原则上每一个外设必须插在一个接口上,如果所有的接口均被用上了就只能通过添加插卡来追加接口。串、并口不仅速度有限,而且在使用上很不方便,例如不支持热插拔等。随着USB接口的普及,目前都已经很少使用了,而且随着BTX规范的推广,是必然会被淘汰的。 并口采用25针的双排插口,除最普遍的应用于打印机以外,还可用于连接扫描仪、ZIP驱动器甚至外置网卡、磁带机以及某些扩展硬盘等设备。2.5显示模块发光二极管芯片进行适当的连接(包括串联和并联)和适当的光学结构,可构成发光显示器的发光段或发光点。由这些发光段或发光点可以组成数码管,符号管,米子管,矩阵管,电平显示管等。常用的LED显示器为8段(或7段,8段比7段多了1个小数点dp段)。这种显示器有共阴极和共阳极两种。本设计采用共阴极的LED显示器。发光二极管LED在工作时有两种状态,或者熄灭或者点亮,把LED按照一定的结果排列就可以组成比较复杂的电路。当某一个发光二极管导通的时候,相应的一个点或一条线被点亮,控制不同组合的二极管导通就能显示各种字符。表3-6LED字形代码表显示数字dpgfedcba端口输出0001111110X3FH1000001100X06H2010110110X5BH3010011110X4FH4011001100X66H5011011010X6DH6011111010X7DH7000001110X07H8011111110X7FH9011011110X6FH控制数码管驱动级的控制电路(也称驱动电路)有静态式和动态式两类。本设计中采用动态驱动。即所有的数码管使用一个专门的驱动器,使各个数码管逐个轮流受控显示,它扫描的速度极快,就跟静态驱动显示的效果相同。2.6报警电路2.6.1声光报警电路部分设计在单片机测控系统发生故障或处于某种紧急状态时,单片机系统应能发出提醒人们警觉的报警信号或提示信号。本设计中采用低音报警接口,蜂低音报警接口电路的设计如下图所示:2.6.2 555定时器简介:555定时器是一种模拟和数字功能相结合的中规模集成器件。一般用双极性工艺制作的称为555,用CMOS工艺制作的称为7555,除单定时器外,还有对应的双定时器556/7556。555定时器的电源电压范围宽,可在4.5V16V工作,7555可在318V工作,输出驱动电流约为200mA,因而其输出可与TTL、CMOS或者模拟电路电平兼容。555定时器成本低,性能可靠,只需要外接几个电阻、电容,就可以实现多谐振荡器、单稳态触发器及施密特触发器等脉冲产生与变换电路。它也常作为定时器广泛应用于仪器仪表、家用电器、电子测量及自动控制等方面。它内部包括两个电压比较器,三个等值串联电阻,一个RS触发器,一个放电管T及功率输出级。它提供两个基准电压VCC/3和2VCC/3。555定时器的功能主要由两个比较器决定。两个比较器的输出电压控制RS触发器和放电管的状态。在电源与地之间加上电压,当5脚悬空时,则电压比较器A1的反相输入端的电压为2VCC/3,A2的同相输入端的电压为VCC/3。若触发输入端TR的电压小于VCC/3,则比较器A2的输出为1,可使RS触发器置1,使输出端OUT=1。如果阈值输入端TH的电压大于2VCC/3,同时TR端的电压大于VCC/3,则A1的输出为1,A2的输出为0,可将RS触发器置0,使输出为0电平。555定时器是美国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路,因输入端设计有三个5k的电阻而得名。此电路后来竟风靡世界。目前,流行的产品主要有4个:BJT两个:555,556(含有两个555);CMOS两个:7555,7556(含有两个7555)。555定时器可以说是模拟电路与数字电路结合的典范。两个比较器C1和C2各有一个输入端连接到三个电阻R组成的分压器上,比较器的输出接到RS触发器上。此外还有输出级和放电管。输出级的驱动电流可达200mA。比较器C1和C2的参考电压分别为UA和UB,根据C1和C2的另一个输入端触发输入和阈值输入,可判断出RS触发器的输出状态。当复位端为低电平时,RS触发器被强制复位。若无需复位操作,复位端应接高电平。2.7电源模块电源由220V交流电经变压器变压再经过整流滤波电路转化成直流电供系统使用,为了防止电路内部干扰过多,而将数字电路和模拟电路隔离,所以需要两对电源分别对CPU、MAX485等芯片和声音报警电路等模拟说出量单独供电。它的电路连接如下图:第三章 软件设计3.1Keil C51软件简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令编译者事半功倍。Keil C51开发系统基本知识3.1.1.系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 3.1.2.Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 3.1.3.Keil C51工具包各部分功能及使用简介 一、 C51与A51 (1) C51 C51是C语言编译器,其使用方法为: C51 source file编译控制指令或者C51 command file 其中source file为C源文件(.C)。大量的编译控制指令完成C51编译器的全部功能。包控C51输出文件C.LST,.OBJ,.I和.SRC文件的控制。源文件(.C)的控制等,详见第五部分的具体介绍。 而Command file为一个连接控制文件其内容包括:.C源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。 (2) A51 A51是汇编语言编译器,使用方法为: A51 source file编译控制指令 或A51 command file 其中source file为汇编源文件(.asm或.a51),而编译控制指令的使用与其它汇编如ASM语言类似,可参考其他汇编语言材料。 Command file同C51中的Command file类似,它使A51使用和修改方便。 二、L51和BL51 (1) L51 L51是Keil C51软件包提供的连接/定位器,其功能是将编译生成的OBJ文件与库文件连接定位生成绝对目标文件(.ABS),其使用方法为: L51 目标文件列表库文件列表 to output file 连接控制指令 或 L51 Command file 源程序的多个模块分别经C51与A51编译后生成多个OBJ文件,连接时,这些文件全列于目标文件列表中,作为输入文件,如果还需与库文件(.LiB)相连接,则库文件也必须列在其后。Output file为输文件名,缺少时为第一模块名,后缀为.ABS。连接控制指令提供了连接定位时的所有控制功能。Command file为连接控制文件,其具体内容是包括了目标文件列表,库文件列表及输出文件、连接控制命令,以取代第一种繁琐的格式,由于目标模块库文件大多不止1个,因而第2种方法较多见,这个文件名字也可由使用者随意指定。 (2) BL51 BL51也是C51软件包的连接/定位器,其具有L51的所有功能,此外它还具有以下3点特别之处: a. 可以连接定位大于64kBytes的程序。 b. 具有代码域及域切换功能(Code Banking & Bank Switching) c. 可用于RTX51操作系统 RTX51是一个实时多任务操作系统,它改变了传统的编程模式,甚至不必用main( )函数,单片机系统软件向RTOS发展是一种趋势,这种趋势对于186和386及68K系列CPU更为明显和必须,对8051因CPU较为简单,程序结构等都不太复杂,RTX51作用显得不太突出,其专业版软件PK51软件包甚至不包括RTX51Full,而只有一个RTX51TINY版本的RTOS。RTX51 TINY适用于无外部RAM的单片机系统,因而可用面很窄,在本文中不作介绍。Bank switching技术因使用很少也不作介绍。 三、 DScope51,Tscope51及Monitor51 (1) dScope51 dScope51是一个源级调试器和模拟器,它可以调试由C51编译器、A51汇编器、PL/M-51编译器及ASM51汇编器产生的程序。它不需目标板(for windows也可通过mon51接目标板),只能进行软件模拟,但其功能强大,可模拟CPU及其外围器件,如内部串口,外部I/O及定时器等,能对嵌入式软件功能进行有效测试。 其使用方法为: DS51debugfileINIT(initfile) 其中debugfile是一个Hex格式的8051文件,即待调试的文件其为可选的,可在进入dScope51后用load命令装入。 Initfile为一个初使化文件,它在启动dScope51后,在debugfile装入前装入,装有一些dScope的初使化参数及常用调试函数等。下面是一个dScope.ini文件(for dos)的内容: Load .ds518051.iof Map 0,0xffff dScope51 for Windows则直接用鼠标进入,然后用load装入待调文件。 (2) tScope51 与dScope51不同的是Scope51必须带目标板,目前它可以通过两种方式访问目标板。(1) 通过EMul51在线仿真器,tScope51为该仿真器准备了一个动态连接文件EMUL51.IOT,但该方法必须配合该仿真器。(2) 通过Monitov51监控程序,这种方法是可行的,tScope51为访问Monitor51专门带有MON51.IOT连接程序,使用时可通过串口及监控程序来调试目标板。 其使用方法为: TS51INIT(file_name.ini) 其中file_name.ini为一个初使化文件。 进入TS51后,必须装入IOT文件,可用的有MON51.IOT及EMUL51.IOT两种,如装入MON51.IOT: Load.C:C51TS51MON51.IOT CPUTYPE(80517) 可惜的是tScope51只有for Dos的版本。 (3) Monitor 51 Monitor51是一个监控程序通过PC机的串口与目标板进行通信,Monitor操作需要MON51或dScope51 for Windows,后面部分将对Monitor51做较为详细的介绍。 四、 Ishell及uVision (1) Ishell for Dos 这是一个for Dos的IDE,直接在命令行键入Ishell,则进入该环境,它使用简单方便。其命令行与DOS命令行具有同样的功能,对单模块的Project直接由菜单进行编译连接,对多模块的project。则通过批处理,BAT文件进行编译连接,然后通过菜单控制由dScope51或tScope51对程序进行调试,因为是for dos的,不做太详细介绍。 (2) uVision for Windows uVision for Windows是一个标准的Windows应用程序,它是C51的一个集成软件开发平台,具有源代码编辑、project管理、集成的make等功能,它的人机界面友好,操作方便,是开发者的首选,具体配置及使用见第五部分。 3. 2. Keil C51软件使用详解 3.2.1. Keil C51编译器的控制指令 C51编译器的控制指令分为三类:源文件控制类,目标文件控制类及列表控制类。 一、 源文件控制类 NOEXTEND:C51源文件不允许使用ANSI C扩展功能。 DEFINE(DF):定义预处理(在C51命令行)。 二、 目标文件(Object)控制类: COMPACT LARGE SMALL 选编译模式 DEBUG(DB) 包含调试信息,以供仿真器或dSCope51使用。 NOAMAKE(NOAM) 禁止AutoMake信息记录 NOREGPARMS 禁止用寄存器传递参数 OBJECTEXTEND(OE) Object文件包含附加变量类型信息 OPTIMIZE(OT) 指定优化级别 REGFILE(RF) 指定一个寄存器使用的文件以供整体优化用 REGISTERBANK(RB) 指定一个供绝对寄存器访问的寄存器区名 SRC 不生成目标文件只生成汇编源文件 其它控件不常用。 三、 列表文件(listing)控制类: CODE(CD):向列表文件加入汇编列表 LISTINCLUDE(LC):显示include文件 SYMBOLS(SB):列表文件包括模块内所有符号的列表 WARNINGLEVEL(WL):选择“警告”级别 四、 dScope51的使用 1. dScope51 for Dos 总的来说dScope51具有以下特性: l 高级语言显示模式 l 集成硬件环境模拟 l 单步或“GO”执行模式 l 存储器、寄存器及变量访问 l Watch表达式之值 l 函数与信号功能 下面,具体说明在进入dScope51 for Dos之后,如何实现上述功能,dScope51采用下拉菜单格式和窗口显示控制,共有language、serial、exe、register四个窗口,其中exe为命令行窗口,language为程序窗口,serial为串口窗,register为寄存器窗。 (1) 高级语言显示模式 单击主菜单中的“View”,第一栏中的三条命令“High level”、“Mixed”、“Assembly”分别对所装入的程序按照“高级”、“混合级”及“汇编级”三种方式显示,以方便调试使用。 (2) 集成硬件环境模拟显示 主菜单中“Peripheral”各条能显示模拟硬件环境的状态,其中: i/o Port:显示各I/O口之值,对8031而言SFR中的P1、P2、P3、P0与引脚之值分别列出: Interrupt:显示5个中断源的入口模式是否允许,优先级等中断状态。 Timer:显示各定时/计数器的模式,初始值状态等。 int Message:中断信息允许,如为允许(“”出现),则当中断申请时,显示中断源信息。比如当中断发生时会显示: “interrupt Timer 0 occured”等 A/D converter: 显示A/D转换器状态无时,则提示“无”。 Serial:串口信息显示,包括串口模式、波特产等 Other:其它器件,如为8
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!