X25045在舞台灯光换色器设计中的应用
芯片内部共有6条指令,如表4所列。
表4
(1)WREN和WRDI是写使能开关的开/关指令。它们都是单字节指令。
(2)RDSR和WRSR是状态寄存器的读/写指令。在从SI输入指令后,RDSR的执行结果,即状态寄存器内容须从SO读出;而WRSR需要紧接着输入修改数据。
(3)READ和WEITE是存储单元的读/写指令。输入指令后(指令码第三代表存储单元地址的最高位),接着输入低八位地址,最后就可以连续读出或写入数据。其中,读指针和写指针的工作方式完全不同,读指针的全部8位用来计数,0FFH溢出后变成00H;写指针只用最低两位计数,XXXXXX11B溢出后变成XXXX XX00B,所以连续写的实际结果是在4个单元中反复写入。另外,由于E2PROM的写入时间长,所以在连续两条写指令之间应读取WIP状态,只有内部写周期结束时才可输入下一条写指令。
AT89C2051内部没有SPI接口硬件,因此本系统利用了单片机的4根口线和软件模拟读写时序的方式与X25045通信。软件包在文末给出。
四、软件原理
系统程序包括主程序和串口通信断服务程序。主程序首先从X25045中取出本设备编号备用,然后进入循环。特环程序的主要任务包括:①检测换色标志,当换色标志有效时,则调用步进电机驱动程序控制转抽,将换色器切换到新颜色;②帧间隔1s延时,当时间到时,中断程序将复位串口接收程序;③定时复位X25045的看门狗。
通信中断服务程序用于检测RS-485总线发送的复位信号和起始代码。当两者同时有效时开始对后续接收的数据帧进行帧计数。当计数值与设备编号相同时,说明当前帧是给本设备的数据,于是根据该数据设置换色标志,由主程序执行换色动作。
X25045的通信接口软件:
CS BIT P3.2
SCK BIT P3.3
SI BIT P3.4
SO BIT P3.5
(1)X25045数据写入程序
功能:将缓冲区数据写入指定地址开始的单元。
入口:F0、R3是E2PROM单元地址最高位低八位;R0是缓冲区首地址;R2是缓冲区长度。
WRITEX:LCALL STAX ;指令启动
MOV A,#06H ;输出WREN
LCALL BYTE_OUT
LCALL STAX ;下一指令启动
MOV A,#02H ;输出WRITE
MOV C,F0 ;插入单元地址最高位
MOV ACC.3,C
LCALL BYTE_OUT
《X25045在舞台灯光换色器设计中的应用(第3页)》