单片机控制的舞台视景的设计毕业论文

上传人:仙*** 文档编号:78453390 上传时间:2022-04-21 格式:DOC 页数:41 大小:2.03MB
返回 下载 相关 举报
单片机控制的舞台视景的设计毕业论文_第1页
第1页 / 共41页
单片机控制的舞台视景的设计毕业论文_第2页
第2页 / 共41页
单片机控制的舞台视景的设计毕业论文_第3页
第3页 / 共41页
点击查看更多>>
资源描述
单片机控制的舞台视景的设计摘 要 二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。它的出现是近代计算机技术发展史上的一个重要里程碑,因为它体积小,通常都藏在被控机械的“肚子”里。它在这个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 本研究针对舞台视景的控制方法,尤其是舞台灯光的智能控制方面的发展现状,分析了舞台灯光智能控制的原理和实现方法,提出了基于单片机的舞台灯光智能控制系统的设计思路,并在此基础上开发了智能控制系统的硬件装置和相应软件。关键词:单片机;舞台;灯光;吊杆目 录 摘 要I目 录II1绪 论11.1 单片机的基础知识11.2单片机的发展趋势11.2.1 微型单片化11.2.2 低功耗CMOS化21.2.3 主流与多品种共存22. 舞台视景中吊杆的设计32.1舞台吊杆控制系统的组成及工作原理32.2舞台吊杆控制器的硬件设计42.2.1 舞台吊杆控制器的硬件组成及工作原理42.2.2 单片机控制系统52.3舞台吊杆控制器的软件设计62.31 通信协议设计62.4 可靠性设计72.4.1电机惯性引起误差的补偿方法72.4.2 系统的抗干扰设计83. 舞台视景灯光的设计103.1舞台整体视觉103.2舞台灯光用具113.3剧场电路及网络控制系统123.4舞台灯光用具的配置示意133.5舞台空间布光要素143.6演示空间设计构想图153.7舞台灯光的色彩对比163.8灯光设计中的常用公式173.9舞台布光方式184 灯光显示模式设计194.1显示灯的排列:194.2显示模式:194.3 程序流程图204.3.1主程序流程图204.3.2 中断服务程序流程图214.4程序设计215. 灯光闪烁控制装置的调试245.1 系统调试245.1.1 检查硬件连接245.1.2检查软件系统245.2 测试结果24结 论25参考文献26致 谢27附录281绪 论1.1 单片机的基础知识 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。 MCS-51系列单片机主要包括8031、8051和8751等通用产品。DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试。1.2单片机的发展趋势 单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势,大致有: 1.2.1 微型单片化现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。1.2.2 低功耗CMOS化 MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。像80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于要求低功耗像电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。 1.2.3 主流与多品种共存 现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。所以80C51占据了半壁江山。而Microchip公司的PIC精简指令集合(RISC)也有着强劲的发展势头,中国台湾的HOLTEX公司近年的单片机产量与日俱增,与其底价质优的优势,占据一定的市场份额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补、相辅相成、共同发展的道路。 九十年代以后,单片机在结构上采用双CPU或内部流水线,CPU位数有8位、16位、32位,时钟频率高达20MHZ,片内带有PWM输出、监视定时器WDT、可编程计数器阵列PCA、DMA传输、调制解调器等。芯片向高度集成化、低功耗方向的发展,使得单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用。这类单片机有NEC公司的MPD7800,MITSUBISHI公司的M337700,REVKWELL公司的R6500。2. 舞台视景中吊杆的设计在舞台机械设备中,吊杆起着重要的伤脑筋。在大型的影剧院,一场演出往往需要调动大量的舞台背景,有时要控制多达64路的吊杆同时动作。操作人员要在现场不断变换舞台背景,控制室人员要不断地和现场人员进行协调,这给舞台控制带来了很大不便。对吊杆的集中控制、实时响应来自多路的请求及吊杆位置的精确定位是设计中要解决的三个关键问题。目前的舞台控制系统大都通过采用光电编码盘产生脉冲信号的方式来获取吊杆的移动距离,并直接用单片机进行计数和控制。这种方法在响应多路请求时,往往会因为单片机任务繁重而造成计数脉冲丢失,引起测量误差。综上所述,本文提出了用CYGNAL单片机和FPGA设计舞台吊杆控制器的方法。2.1舞台吊杆控制系统的组成及工作原理舞台吊杆控制系统主要由远程控制端(PC机)、舞台吊杆控制器、现场设备、LCD显示器等组成,如图1所示。系统采用分布式结构。远程控制端作为管理机,负责管理和协调现场设备,通过局域网使用UDP/IP协议发送控制指令并采集现场数据;舞台吊杆控制器作为终端,接收远程控制端送来的指令,并根据接收到的控制命令控制现场设备动作,采集到现场数据后把数据以UDP格式打包送给远程控制端,以便 远程控制端实时进行现场监控。同时为使现场能够观察到单个设备的运行情况。还把这些数据通过串口送给现场LCD显示器。2.2舞台吊杆控制器的硬件设计在整个控制系统中,舞台吊杆控制器是设计的关键,它的功能有两个:其一,接收与发送UDP数据包,解析数据包并转化成FPGA控制器能够识别的格式。其二,接收FPGA控制器送来的现场信息。2.2.1 舞台吊杆控制器的硬件组成及工作原理舞台吊杆控制器主要由C8051F020单片机、FPGA控制器、LCD显示器、E2PROM存储器、RTL8019网卡芯片和JTAG程序下载及调度接口等组成。其硬件组成框图如图2所示。工作原理如下:C8051F020单片机通过RTL8019网卡芯片接收远程控制端送来的UDP格式的控制命令数据包,从该控制命令数据包解析出控制指令,传输给FPGA控制器。FPGA控制器根据控制指令控制现场设备动作,并且把相关的现场数据返回给单片机。单片机把这些现场数据存入E2PROM中作为备份数据,同时送给LCD显示器,并打成UDP数据包通过网卡芯片发送给远程控制端。下面主要介绍单片机控制系统和FPGA控制器的设计。2.2.2 单片机控制系统单片机控制系统主要由C8051F020单片机组成,主要完成数据的接收与处理。C8051F020的特点是运算速度快、集成度高、引脚可配置、工作稳定和可靠性高。它完全能够满足舞台吊杆控制器对存储器容量、多种总线接口、处理速度和浮点运算等方面的要求。C8051F020单片机有UART0和UART1两个串口,其中,串口UART0与LCD显示器连接,用于把舞台吊杆运行时的位置数据送给LCD显示器。单片机利用它的SMBUS接口连接带有I2C总线接口的E2PROM(FM24C64铁片存储器),把现场数据存入存储器,以备在掉电后得新上电时能够读出吊杆的当前位置,连续控制吊杆的运动;同时利用它的普通I/O口与网卡芯片RTL8019和FPGA控制器相连,实现数据的收发。2.2.3 FPGA控制器的设计FPGA控制器是利用EDA方法实现的,主要用 于对霍尔传感器过来的脉冲进行计数并控制电机。由于吊杆运动过程中产生的脉冲频率高,FPGA控制器计数量大,所以本设计选择了高容量、高性能的可编程逻辑器件,即ALTERA公司的FLEX 10K系列FPGA。(1) FPGA控制器的模块划分 根据系统功能要坟,FPGA控制器的顶层模块被划分为以下四个模块:两个5-32译码器、八路与门模块、八路16位可逆并行计数模块、电机控制模块,如图3所示。两个5-32译码器模块的功能是提供与单片机的接口,实现可编程接口逻辑。八路计数模块(COUNTER8_FILE_LAST模块)包括八个单路计数模块、数据转换模块等,其功能是对霍尔传感器过来的八路脉冲信号进行可逆计数并完成16位数据与8位数据之间的转换。由于C8051F020单片机的数据长度是8位,而计数模块完成的是16位坟数,所以必须进行数据位数的转换。(2) FPGA模块的功能仿真FPGA控制器是用ALTERA公司的FLEX10K10芯片,在MAX+PLUSII软件中进行设计综合的。根据上述的模块划分,在MAX+PLUSII中的仿真波形图如图4所示。2.3舞台吊杆控制器的软件设计舞台吊杆控制器的软件主要包括:主程序、UDP数据的传输与解析程序、串口数据的发送程序、数据存储程序等。2.31 通信协议设计在舞台吊杆控制系统中,远程控制端通过局域网采用UDP/IP协议给舞台吊杆控制器发送命令并接收来自控制器的数据包。UDP/IP数据包的格式如下:在使用该协议时,命令信息和状态数据都在UDP DATA数据区。为了完成控制目的,必须对这块数据区的数据制定协议,协议格式如表1所示。表1 协议格式2.3.2主程序设计 主程序主要完成单片机和各个功能模块的初始化、对各个功能模块的调用以及对FPGA控制器的控制。由于篇幅关系,只给出主程序的流程图,如图5所示。2.4 可靠性设计2.4.1电机惯性引起误差的补偿方法在电机拖动系统中,要考虑电机的惯性问题以便及时进行误差补偿。目前系统中,大都利用一次或二次函数来近似电机的惯性量。而本系统则采用在远程控制端人工输入补偿系数Q的方法来实现误差补偿。这里的补偿系数Q的测量可在排演时进行。系统工作时,远程控制端需设定路标要运行到的位置,即计数终值和误差补偿系数。当接收到补偿系数测量命令时,控制系统将开始测量补偿系数Q。这里假设输入终止位置值为S1,实际终止位置值为S2,那么Q=(S2-S1)/S1100%(由于惯性的缘大处着眼,S2S1)。接着控制系统把这个误差补偿系数Q送回给远程控制器,并且存入存储器中。在吊杆实际运动时,控制系统都会对输入值进行误差补偿,即:实际运行终止值S=输入值S1-输入值S1Q。用此方法得到的电机惯性量非常精确。2.4.2 系统的抗干扰设计为了保证舞台吊杆控制器能够长期可靠地运行,系统在硬件和软件两方面采取了有效的抗干扰措施。其中硬件方面主要采取了3.3V电源和5V电源隔离(它们与电磁隔离)、“看门狗”等方法。通过电源隔能够有效 防止电源电平不稳和其它电器对控制器的干扰,保证了系统的稳定性;通过“看门狗”能保证程序的正常运行,保证了系统的可靠性。软件方面采取了软件陷阱等方法。行前研制的大规模舞台控制系统使用8044单片机完成数据处理及计数功能,通过BitBusU总线完成通信功能。由于单片机的任务非常繁重,在实际应用中经常出现脉冲丢失以及系统相应速度慢的问题。而本设计采用了EDA技术,将舞台吊杆控制器用CYGNAL单片机和FPGA实现,并且UDP/IP协议实现局域网内的通信,解决了上述问题。舞台控制系统现场应用表明,该吊杆控制器性能完全达到了要求。某某专科毕业论文(设计) 单片机控制的舞台视景的设计 3. 舞台视景灯光的设计 3.1舞台整体视觉3.2舞台灯光用具 3.3剧场电路及网络控制系统 3.4舞台灯光用具的配置示意 3.5舞台空间布光要素 3.6演示空间设计构想图 3.7舞台灯光的色彩对比3.8灯光设计中的常用公式3.9舞台布光方式4 灯光显示模式设计4.1显示灯的排列:L1L2L3L15L14L13L12L11L10L9L8L7L6L5L4L164.2显示模式:模式号显示状态参数08L1L6全亮P1=FFH,P0=FFH07L1L8亮,L9L16不亮P1=FFH,P0=00H06L1L8不亮,L9L16亮P1=00H,P0=FFH05L1L16奇数亮,偶数不亮P1=AAH,P0=AAH04L1L16偶数亮,奇数不亮P1=55H,P0=55H03L1、L2、L5、L6、L9、L10、L13、L14亮P1=CCH,P0=CCH02L3、L4、L7、L8、L11、L12、L15、L16亮P1=33H,P0=33H01L1L4、L9L12亮P1=F0H,P0=F0H 以上是对电灯显示模式分析出来的表格,每个不同的模式号对应不同的显示状态,对应的参数也不同。 本装置在使用中,是用到定时器来控制不同的闪烁方式的。当一个完整的闪烁结束后,即可转入新的闪烁方式。4.3 程序流程图4.3.1主程序流程图4.3.2 中断服务程序流程图4.4程序设计以下是灯光闪烁控制装置的完整源程序:* 主程序*MAIN: MOV SP, #SPMOV 30H, #08HMOV P1, #FFHMOV P0, FFHCLR TR0TO: MOV TMOD, #01HMOV TH0, #3CHMOV TL0, #0B0HSETB TR0T1: MOV 30H, #50M8: CJNE 30H, #00H, M8 CJNE 31H, 08H, M7 MOV P1, FFH MOV P0, FFH DEC 31H SJMP T1M7: CJNE 31H, 07H, M6 MOV P1, FFH MOV P0, 00H DEC 31H SJMP T1M6: CJNE 31H, 06H, M5 MOV P1, 00H MOV P0, FFH DEC 31H SJMP T1M5: CJNE 31H, 05H, M4 MOV P1, F0H MOV P0, F0H DEC 31H SJMP T1M4: CJNE 31H, 04H, M3 MOV P1, AAH MOV P0, AAH DEC 31H SJMP T1M3: CJNE 31H, 03H, M2 MOV P1, CCH MOV P0, CCH DEC 31H SJMP T1M2: CJNE 31H, 02H, M1 MOV P1, 55H MOV P0, 55H DEC 31H LJMP T1M1: CJNE 31H, 01H MOV P1, 33H MOV P0, 33H MOV 31H, 08H LJMP T1* 中断服务程序*INT1: PUSH 30H PUSH 31H CLR TR0 MOV TMOD, #01HMOV TH0, #3CHMOV TL0, #0B0H DEC 30H POP 31H POP 30H SETB TR0 RETI 5. 灯光闪烁控制装置的调试5.1 系统调试5.1.1 检查硬件连接 包括各元器件的正确使用,例如:地线、电源线的接口。检查电路板,各线路是否正确连接,各元器件是否安全焊上,是否牢固等等。5.1.2检查软件系统 1、根据系统的原理结构检查各流程图是否正确,再根据流程图来检查程序是否也正确。 2、分别写出各指令的正确含义,包括中断定时延时时间和初始化时方式字和控制口地址。 3、将所有程序组织起来,在软件环境下运行,检查程序是否正确。通过对硬件和软件系统的认真检查,反复测试,结果系统检测成功,可以进一步运行调试。 4、运行调试:在电脑输入程序后,各硬件连接正确无误时,接上电源,输入命令开始运行调试。5.2 测试结果 本系统基本上能符合设计者的要求,因条件所限还未有实际的运行。 结 论通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。在本次课程设计中首先是硬件方案的确定,接下来是对系统整体电路中各子模块电路的设计, 其中绘图、确定参数等过程都使我得到了很大的提高。参考文献1孙雪梅,范久臣实时时钟芯片在单片机系统中的应用沈阳教育学院学报,2005.2.72 Charles Petzold.Windows程序设计M.北京:北京大学出版社,2000.3 Nicolai M.Josuttis.Visual C+标准程序库M.湖北:华中科技大学出版社,2002.4.4 张志良编著.单片机原理与控制技术.第2版. 机械工业出版社5 周立功编著.单片机基础实验指导书.第1版. 广州周立功单片机发展有限公司出版社致 谢本课题研究是在某某高老师悉心指导下完成的,倾注着老师的心血和汗水。 某老师实事求是的科学作风,敏锐深刻的洞察力,严谨的治学精神,不断开拓的工作热情,为科技事业忘我工作的精神,无不使笔者受益匪浅,对笔者今后的成长产生深远影响。谨此向伍老师致以最崇高的敬意和最衷心的感谢! 最后,衷心感谢所有关心、帮助和支持过我的老师、同学和朋友们。还有,一直在幕后默默理解、支持和帮助我的家人和亲戚朋友们。附录灯光控制程序代码:using System;namespace LightControl/ / LigthControl 的摘要说明。/ 全开全关程序流程:/ 1.先判断是否有com/ 2.更新数据库中t_Light表中的状态信息/ 3.判断控制器的个数/ 4.循环设置每个控制器的状态,调用setcom/ 单独开关灯流程:/ 1.先判断是否有com/ 2.更新数据库中t_Light表中的状态信息/ 3.根据灯编号计算控制器所对应的灯编号范围/ 4.根据数据库中的状态形成新的控制字/ 5.发送控制字/ 6.控制字举例:AABB010000000000000000EEEE24/ (AABB)开始位(01)控制器地址(00000000)控制字(00000000)辅助字(EEEE)校验位(24)结束位/ public class LightControl public LightControl() / / TODO: 在此处添加构造函数逻辑 / / / 生成控制字 / / / / / private static int CRC_16(byte aData,int be,int aSize ) int reg_crc = 0x0000; int i = 0, j = 0; for(i=0;iaSize;i+) /异或结果reg_crc当前八位的控制字 reg_crc = aDatai+be; for( j = 0; j 1 ) 0xa001; /如果不为零,右移1位 else reg_crc = reg_crc 1; ; return reg_crc; / / 转换16进制形式的全控制字 / / / 静态控制字符串 01010101模式,d1-d8 / private static byte Num16(int pathcount,string setcom) int i; pathcount=8; byte newsetcom=new bytepathcount+6; newsetcom0=0xAA; newsetcom1=0xBB; newsetcom2=0x01; for( i=3;ipathcount+3;i+) newsetcomi= (byte)Convert.ToInt32(0x+Convert.ToString(Convert.ToInt32(setcomi-3,2),16),16); newsetcomi=0xEE; newsetcomi+1=0xEE; newsetcomi+2=0x24; return newsetcom; / / 生成控制器编号 / / 灯的编号 / private static int CreateControlNum(string LNum) /控制器地址(利用灯光编号计算控制器地址,控制器编号从一开始1-32为第一个地址) if(Convert.ToInt32(LNum) % 32)=0) return Convert.ToInt32(LNum)/32; else return Convert.ToInt32(LNum)/32+1; / / 生成控制字中的d的编号,即第几个八位模块,输入的灯属于哪个8位模块中 / / 灯的编号,从1开始 / private static int CreateBitNum(string LNum) int num,num1; num=Convert.ToInt32(LNum); num1=num-num/32*32; /if余数为0,则为32、64等,应返回第4个模块 if(num1=0) return 4; else if(num1%8)=0) return num1/8; else return num1/8+1; / / 从数据库中得到当前控制器的d1-d8,2进制形式的控制字 / / 4个元素的string数组,每个元素为8个二进制形式的string,如a00为000111011,从数据库中得到的目前灯的状态 / public static string createSetCom(string key4) string setcom; /设置灯控的状态 setcom=new string8; for(int i=0;i4;i+) /生成前四个模块字 for(int j=0;j8;j+) setcomi= key4ij+setcomi;/控制字的是以8位为一个单元,与实际的顺序相反,数据库中(00111011)而控制字为(11011100) /生成后四个辅助字,先默认为零 for(int i=4;i8;i+) setcomi+=00000000; return setcom; / / 根据数据库中的数据生成控制字 / / 灯的编号 / 改变了的控制字,从数据库中得到,8个下标,d1-d8 / 形成的新控制字 public static byte ControlKey(string LNum,string setcom) int j=0; byte Contrlchar=new byte14; Contrlchar=Num16(8,setcom);/十六进制的控制字 /控制器地址(利用灯光编号计算控制器地址,并转化为16进制形式,控制器编号从一开始1-32为第一个模块) Contrlchar2=(byte)CreateControlNum(LNum); for(j=3;j 8); if(Contrlchar11=0x24) Contrlchar11=0xEE; Contrlchar12=(byte)(CRC_16(Contrlchar,2,9) & 0x00FF); if(Contrlchar12=0x24) Contrlchar12=0xEE; return Contrlchar; / / 全部开关灯,灯控程序最多是用于32路的控制,共8个模块,d0为控制器地址,前d1-d4,4个控制开关,后d5-d8,4个为辅助字 / / 最多的模块数(目前为8) / 控制器地址 / 控制字符16进制 / byte类型数组 public static byte OnOffAll(int addr,string initstuta) int i,pathcount; /模块数限定为8个,为固定值 pathcount=8; byte bsend=new bytepathcount+6; /命令起始符 bsend0=0xAA; bsend1=0xBB; /控制器地址 bsend2=(byte)addr; for(i=2;i 8); bsendi+2+pathcount/2=(byte)(CRC_16(bsend,2,pathcount+1) & 0x00FF); return bsend; / / 单独开关灯,生成新的控制字,那八位模块改变变哪个 / / 灯光编号,从1开始,1-32位第一模块 / 发生变化模块的16进制数 / 哪一个模块 / / 原始控制字状态 / byte类型数组 public static byte OnOff(string LNum,byte byte16,string setcom) int pathcount=8; int Num; Num=CreateBitNum(LNum); byte Contrlchar=new bytepathcount+6; /接收旧控制字,并转化为16进制形式存储 Contrlchar=Num16(pathcount,setcom); /控制器地址(利用灯光编号计算控制器地址,并转化为16进制形式,控制器编号从一开始1-32为第一个模块) Contrlchar2=(byte)CreateControlNum(LNum); /修改发生变化的模块的状态 if(byte16=0x24) ContrlcharNum+2=0xEE; ContrlcharNum+2+pathcount/2=0x01; else ContrlcharNum+2=byte16; ContrlcharNum+2+pathcount/2=0x00; /生成较验字节 Contrlchar11=(byte)(CRC_16(Contrlchar,2,pathcount+1) & 0xFF00) 8); if(Contrlchar11=0x24) Contrlchar11=0xEE; Contrlchar12=(byte)(CRC_16(Contrlchar,2,pathcount+1) & 0x00FF); if(Contrlchar12=0x24) Contrlchar12=0xEE; return Contrlchar; 38
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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