电脑是现今信息期间的符号,通过电脑实现长途及时自动化节制是此后成长的一种趋势。在大型阛阓、饭馆、体育场馆及娱乐场合里,凡是有很多照明装备。以往的开关节制和电闸节制,经常必要事恋职员频仍亲临现场操纵,或向节制室拉接较长的220v电线,及时性、安详性都较差。为了实现事恋职员在节制室可以对分手在各个房间的远端照明装备举办及时有用的状态节制及状态查询,笔者开拓了一种基于单片机的长途灯控箱体系。该体系由一台pc上位机节制多台远端灯控箱,通过rs-485总线串行传送指令,传输间隔最远可达1.2km,并加强串行通讯协议的拟定,低落了噪声滋扰。一台灯控箱可对16路灯举办节制。灯控箱中选用sst89c58型单片机,其利便的iap成果可在线下载hex文件并举办调试,无需多次行使编程器。
1 体系布局及成果 长途灯控箱体系的布局如图l所示,个中,pc上位机放在节制室里,各灯箱就近安排在照明装备四面。由pc上位机发送节制指令,通过rs-485总线将指令串行传送给各远端灯控箱,这样就可在节制室里及时开关节制,查询各个灯的状态。从传输间隔和性价例如面思量选用rs-485总线。rs-485为均衡线路,可实现远间隔、多节点节制。本计划的重点是灯控箱。下面将以一台灯控箱为例先容体系的软件和硬件计划。 2 硬件计划 2.1首要元件 计划体系选用silicon storage。technology公司推出的具有iap(in-application programming)成果的sst89c58型单片机。它在指令体系、硬件布局和片内资源上与尺度8052型单片机完全兼容,同时增大了内部措施存储flash的容量,可达36kb。并增进了与flash编程相干的6个非凡成果寄存器和2个与看门狗复位有关的非凡成果寄存器。对sst89c58的iap成果回收一个通用措施编写[1],选用keil公司的μvision仿真软件举办编程仿真。将天生的hex文件直接通过rs-232串口从pc下载到单片机上运行调试,行使很是利便,收缩了开拓周期。uln2803a型器件是ti公司出产的单片集成高压、大电流达林顿晶体管阵列。该阵列由8个npn达林顿管构成。其特点是电流增益高、负载手段强(输出电流可达500ma)、事变电压高(耐压达50v)。选用的:x5045型器件为4k spi电可擦除存储器,用于掉电后生涯从机站号。maxim公司的max485型器件是通用半双工收发器,传输速率为9.6kb/s时,传输间隔可达1.2km.可实现上位机与单片机之间的串口异步通讯。
2.2体系焦点硬件 长途灯控箱体系的焦点硬件图如图2所示,以sst89c58型单片机为焦点,用p0口和p2口举办信号节制,留意p0口要加上拉电阻器。通过2个uln2803举办电放逐大,可驱动16路继电器。因为片内带有共阴极箝位二极管,可顺应感性负载,故输出端可省去大量二极管。sst89c58驱动16路继电器,可节制16路灯信号。若要增进节制信号,可增进8255型器件扩展并行接口。用x5045生涯rs-485收集从机站号。sst89c58单片机的p1.2引脚用来模仿x5045的时钟输入信号sck,cs=0时,串行输出so在时钟信号降落沿有用,串行输入si在上升沿有用(wp=1)。详细操纵还必要写入状态字。串口部门选用max485。个中,re与de接在一路由单片机的rd(p3.7)节制。拉低为吸取有用,拉高为发送有用。该体系还具有上电自动复位和通电指示成果。计划pcb时应留意公道布线,对单片机电源举办滤波整流,并阔别滋扰源。 3 体系软件计划 用c说话编译器开拓单片机具有行使利便、编程服从高及仿真调试轻易等突出特点。c51的版本许多,本体系软件选用德国keil software公司的keil c51编译器开拓。该编译器基于windows平台集成开拓情形,可编辑、编译和调试汇编说话措施及c51措施,还可模仿仿真i/o口、按时器/计数器、串行口及间断等单片机特有的成果部件,成果很是强盛。该体系的软件计划由主措施、间断措施、串行吸取子措施、串行发送子措施、x5045读写子措施及多少成果实现子措施。个中,:x5045读写子措施需对时钟举办准确操纵,用汇编说话编写,其他均用c说话编写。
3.1主措施计划 在主措施中,先将sst89c58及x5045初始化,然后守候新呼吁。当newdata=1时,暗示已吸取到一个有用的呼吁帧,不然继承守候。接着判定是否是本机地点,如果则判定节制呼吁,不然继承守候。上位机发送指定的字符串,别离暗示开灯、关灯、查询、配置等呼吁。通过字符串较量,判定出呼吁指令,跳到响应的进口子措施中;操纵乐成后,通过串口发送子措施返回响应的提醒符,其详细流程如图3所示。在本体系中,上位机的人机交互界面由c++builder开拓,限于篇幅,在此从略。 3.2串口间断措施计划 为了加强抗滋扰性,有用地域分噪声和数据便于操纵,串口间断措施增强了通信协议的拟定[2],详细实现要领是加开始符号和竣事符号。噪声是以随机字节呈现的,通过测试和尝试,发此刻本体系中0x00后跟0xff时噪声不轻易产生。因此,配置开始符号为0x000xff,竣事符号为回车换行符0x0d0x0a。假如吸取呼吁帧乐成,则置newdata=1,暗示新呼吁有用。思量到纠检错,数据回收短包方法。中间回收延时,以担保起始位靠得住。串口间断措施流程如图4所示。部门措施清单如下。 //串行接子函数 int8u reuart(int8u*ch) {intl6u delay=6000; while(--delay) //延时 {if(ri),/串行吸取间断符号 {ri=0;//吸取间断符号软件复位 、 *ch=sbu f=//读数据缓冲器 return 1;}//乐成返回l } return(0);//吸取失败返回0 ) //串行间断处理赏罚措施 void uart_inter(void)interrupt 4 {int8u ii; int8u temp,templ; reuart(&temp、);//先持续吸取2个字节 reuart(&templ); //开始符号 if((temp==0x00)&&(templ==0xff)) //持续吸取一个呼吁帧 {for(ii=0;ii<12;ii++) {if(reuart(&buff[ii])==0) goto inter._end;}//跳出间断 if((buf[10]==0x0d)&&(buf[ll]==0x0a)),/竣事符号 newdata=l; //新呼吁符号有用 } inter_end:;//间断出口 }
4 结论 基于sst89c58的长途灯控箱体系可实现一台pc上位机最多节制256个灯控箱,传输间隔最远可达1.2km,每台灯控箱可对16路灯举办节制.实现了齐集打点,分手节制的成果。该体系通过软硬件进步抗滋扰性,并具有较好的扩展性,布局简朴、投资少,现实应用表白具有较强的适用性。 (责任编辑:admin) |