当前位置:首页 > 单片机 > 单片机
[导读]摘要:以大型场所照明设备的远程控制为目的,介绍基于SST89C58型单片机的远程灯控箱系统的软硬件设计。该系统通过RS-485总线与PC上位机通信,实现远距离、多节点控制。 关键词:单片机;IAP;远程控制;通信协议:SST8

摘要:以大型场所照明设备的远程控制为目的,介绍基于SST89C58单片机的远程灯控箱系统的软硬件设计。该系统通过RS-485总线与PC上位机通信,实现远距离、多节点控制。 关键词:单片机;IAP;远程控制;通信协议:SST89C58 电脑是现今信息时代的标志,通过电脑实现远程实时自动化控制是今后发展的一种趋势。在大型商场、饭店、体育场馆及娱乐场所里,通常有许多照明设备。以往的开关控制和电闸控制,常常需要工作人员频繁亲临现场操作,或向控制室拉接较长的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系统核心硬件 远程灯控箱系统的核心硬件图如图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(%26;amp;temp、);//先连续接收2个字节 ReUART(%26;amp;templ);


//开始标志 if((temp==0x00)%26;amp;%26;amp;(templ==0xFF)) //连续接收一个命令帧 {for(ii=0;ii<12;ii++) {if(ReUART(%26;amp;buff[ii])==0) goto Inter._end;}//跳出中断 if((buf[10]==0x0D)%26;amp;%26;amp;(buf[ll]==0x0A)),/结束标志 NewData=l; //新命令标志有效 } Inter_end:;//中断出口 } 4 结论 基于SST89C58的远程灯控箱系统可实现一台PC上位机最多控制256个灯控箱,传输距离最远可达1.2km,每台灯控箱可对16路灯进行控制.实现了集中管理,分散控制的功能。该系统通过软硬件提高抗干扰性,并具有较好的扩展性,结构简单、投资少,实际应用表明具有较强的实用性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备
关闭
关闭