PC与89C51之间采用异步串行通讯方式。数据位最多可为8位,定义为动作类型和动作时间两部分。用数据位前3位表示6种动作状态,包括光圈扩大、光圈缩小、图像放大、图像缩小、焦距变大和焦距变小。数据位后5位表示动作时间,一共可以表示32种不同动作时间。根据软件要实现的三项功能,程序首先进行初始化。89C52的两个定时/计数器分别用作波特率设定和动作时间计时。通过对工作方式控制寄存器TMOD的设置就可完成对两个定时/计数器工作模式的定义。定时/计数器1采用工作方式2,用于定义波特率。定时/计数器0采用工作方式1,用于镜头动作时间控制。
然后是指令的处理部分。通过“逻辑与ANL”运算将指令分解为动作类型和动作时间两部分。利用比较转移指令CJNE进行动作类型筛选,通过对工作寄存器组中R1、R2的赋值完成对引脚的设置:
采用中断方式进行引脚输出。由于在带电状态下变换双刀双掷开关的状态可能会“打火”,为避免这种情况,在对R1,R2赋值时要实现双刀双掷继电器先进行动作变换,后通电。两步动作的间隔为10ms。而动作时间以10 ms为步长。根据预先设计的指令协议可以控制动作时间的范围在0 ms~320 ms之间,可满足本模块需求。
4 结束语
通过对本电路软硬件的改进和调试,获得了预期的应用效果,实现了对镜头的定性定量控制。电路的控制特性曲线如图4所示,图中横坐标表示参数的变化步长,单位为10 ms;纵坐标表示参数最大变化范围所需的驱动级数。
本控制电路结构简单,控制可靠,环境适应性强,实现了智能终端设备对拍摄参数的完全控制。例如终端可以在图像平均亮度较高的情况下扩大摄像镜头的光圈,以使局部阴影中的影像更清晰。具体的控制方式可根据实际需要定制。
,基于89C51的摄像镜头控制电路设计