论文部分内容阅读
[摘要]介绍一种基于单片机AT89C51和无线传输模块LZ713i GPRS DTU构成的多路灯具控制系统。论述其工作原理和软硬件设计方法。
[关键词]单片机AT89C51 无线传输模块LZ713i RS-485接口 看门狗
中图分类号:TP271+.4文献标识码:A 文章编号:1671-7597(2008)1010021-02
一、引言
数据传输方式分为有线方式和无线方式传输。有线方式布线比较复杂,在某些不适合布线的场所需要采用无线方式。现有的一些简易无线发射接收模块传输距离近,速率低,可靠性差,不适合用于产品的设计。本文介绍的LZ713i GPRS DTU无线传输模块,具有传输距离远,速率高,数据可靠的优点,和单片机结合可用于许多场合。
二、系统简介
本系统由一个控制台、多个灯具控制器组成。微处理器采用AT89C51,该芯片内含4k可编程程序存储器,可擦写1000次。复位电路采用具有看门狗功能的MAX813L。通讯接口电路采用MAX1487E[1];无线传输模块采用厦门蓝斯通讯有限公司的LZ713I GPRS DTU ,内部集成了高速嵌入式处理系统,提供TCP/IP协议栈,适用于自身不带,但具有RS232/485/TTL接口通讯能力的设备,为用户提供高速、永远在线、透明数据传输的通道[2]。
(一)控制台
1.硬件设计。原理图见图1。控制台由键盘、液晶显示器、复位电路和通讯部分组成,完成选号及动作控制。
2.软件设计。程序由按键处理、显示、通讯和喂狗四部分构成。按键处理部分的功能:判别是否有键按下,无键按下时,返回;有键按下时,首先扫描键盘,得到按键的列值和行值,然后延时12ms去抖动,再判断是否有键按下,若有,根据按键的行值和列值计算键值,并保存键值,之后转入键值解释部分进行处理。显示部分功能:显示输入的设备编号和动作编号。通讯部分的功能:以一定的时间间隔向下位机发送信息。
按键子程序:
KEYSUB:
MOV A,P0
CPLA
JZK1
MOV R5,#0FFH
MOV R4,#00H ;第一列值
MOV P2,#0FFH
CLR P2.0
LCALL LIE
MOV R4,#01H ;第二列值
MOV P2,#0FFH
CLR P2.1
LCALLLIE
MOV R4,#02H ;第三列值
MOV P2,#0FFH
CLR P2.2
LCALL LIE
MOV R4,#03H ;第四列值
MOV P2,#0FFH
CLR P2.3
LCALL LIE
K1:RET
LIE: MOV R2,#00H ;第一行值
MOV A,P0
ANL A,#01H
JZ KEY
MOV R2,#01H;第二行值
MOV A,P0
ANL A,#02H
JZ KEY
MOV R2,#02H;第三行值
MOV A,P0
ANL A,#04H
JZ KEY
MOV R2,#03H;第四行值
MOV A,P0
ANL A,#08H
JZ KEY
MOV R2,#04H;第五行值
MOV A,P0
ANL A,#10H
JZ KEY
RET
KEY: LCALL DELAY12ms
MOV A,P0
CPLA
JZJ1
MOV A,R2 ;计算键值
RL A
RL A
ADD A,R4;键值=列值(R4)+行值(R2)×4
MOV R5,A;键值保存于R5
J1:RET
显示子程序:
LCDDISP:
MOV R2,#04H ;要显示数据个数
MOV R0,#ADDR;要显示数据地址
L1: MOV A,@R0
LCALL LCD1
DEC R0
DJNZ R2,L1
RET
LCD1:MOV R7,#8
L2: RRC A
MOV P1.6,C ;送要显示数据位
CLR P1.7 ;形成脉冲信号
SETB P1.7 ;形成脉冲信号
DJNZ R7,L2
RRC A
RET
通讯子程序:
SEND:MOV R0,#ADDR ;要发送数据的起始地址
MOV R1,#15 ;要发送数据的个数
USET:JNB F0,$ ;发送数据完成标志
MOV A,@R0
INC R0
CLR F0;清除发送数据完成标志位
MOV SBUF,A;发送内容送串行口寄存器
DJNZR1,USET
RET
S0:JNB TI,Q1
SETBF0;置位发送数据完成标志位
CLR TI
Q1:CLR RI
RETI
(二)终端控制器
终端控制器可以实现灯具在水平方向左右旋转、垂直方向俯仰运动和调节灯光焦距等三个动作。通过控制灯具的三个动作来满足环境灯光变化的要求。每台灯具有三个电机,电机均采用24V直流电机,通过切换电机两端的电压极性可控制电机的运转方向。
1.硬件设计。控制器由通讯、光电隔离、驱动、执行部分构成。每一个灯具控制器都有一个用来确定自己的设备编号的3位十进制拨盘开关。
上图是实现灯具动作一个单元的电路图。
K1是控制灯具指示灯的继电器;K2是控制灯具动作的继电器;K3是控制灯具运动方向的继电器。IO0为低平时,K1吸合,灯具上的指示灯被点亮,同时电机正极接入电源回路。IO1为低电平时,K2吸合,电机的负极接入电源回路。IO0和IO1同为低平时,灯具开始运动。IO2控制K3的吸合与断开。
2.软件设计。主程序在系统初始化结束后,首先读取拨码开关的数据,计算设备编号,然后开放中断,判断数据块接收完毕标志是否置位。若没有置位时,继续判断;若置位开始按通讯协议处理接收的数据块,当接收的设备编号与自己的相等时,点亮灯具上的指示灯,如果有水平、俯仰和焦距命令,则控制灯具执行相应的动作。当接收的设备编号与自己的不相等时,熄灭灯具上指示灯,停止灯具动作运行。处理完数据块后,清除数据块接收完毕标志,开放中断,重新开始判断数据块接收完毕标志。主程序流程图见图3。
串口中断子程序主要完成串口的中断响应,中断程序中有两个标志位,一个是允许接收数据块标志,另一个是数据块接收完毕标志。进入中断程序后,首先判断允许接收数据块标志是否置位。若置位,接收
的数据放入数据块指定区域,并修改数据块指针,为接收下一个数据作准备,当接收完一个完整的数据块后,清除允许接收数据块标志,置位数据块接收完毕标志;若没有置位,判断是否是起始码?若是起始码,则置位允许接收数据块标志,初始化数据块指针。为接收下一个数据做好准备。程序流程图见图4。
三、结束语
该系统控制简单灵活,适用范围广。经过多次测试,运行情况稳定,达到预期设计目的。
参考文献:
[1] MAXIM新产品数据力手册第四卷.1995.
[2]厦门蓝斯通讯有限公司网站.
[3]单片微型计算机MCS-48 MCS-51应用手册.陈莉蓉 编译. 电子工业出版社.
[4]ApplicationNotes and Development Tools For 80C51 Microcontrllers1995.
[5]张友德,飞利浦80C51系列单片机原理与应用技术手册. 北京航空航天大学出版社.
作者简介:
郑建强,男,1998年毕业于焦作大学工业电气自动化专业,助理工程师,从事自动化控制方面的设计与研究工作;王文明,男,1987年毕业于郑州大学计算机科学系,工程师,从事自动化控制方面的设计与研究工作。
[关键词]单片机AT89C51 无线传输模块LZ713i RS-485接口 看门狗
中图分类号:TP271+.4文献标识码:A 文章编号:1671-7597(2008)1010021-02
一、引言
数据传输方式分为有线方式和无线方式传输。有线方式布线比较复杂,在某些不适合布线的场所需要采用无线方式。现有的一些简易无线发射接收模块传输距离近,速率低,可靠性差,不适合用于产品的设计。本文介绍的LZ713i GPRS DTU无线传输模块,具有传输距离远,速率高,数据可靠的优点,和单片机结合可用于许多场合。
二、系统简介
本系统由一个控制台、多个灯具控制器组成。微处理器采用AT89C51,该芯片内含4k可编程程序存储器,可擦写1000次。复位电路采用具有看门狗功能的MAX813L。通讯接口电路采用MAX1487E[1];无线传输模块采用厦门蓝斯通讯有限公司的LZ713I GPRS DTU ,内部集成了高速嵌入式处理系统,提供TCP/IP协议栈,适用于自身不带,但具有RS232/485/TTL接口通讯能力的设备,为用户提供高速、永远在线、透明数据传输的通道[2]。
(一)控制台
1.硬件设计。原理图见图1。控制台由键盘、液晶显示器、复位电路和通讯部分组成,完成选号及动作控制。
2.软件设计。程序由按键处理、显示、通讯和喂狗四部分构成。按键处理部分的功能:判别是否有键按下,无键按下时,返回;有键按下时,首先扫描键盘,得到按键的列值和行值,然后延时12ms去抖动,再判断是否有键按下,若有,根据按键的行值和列值计算键值,并保存键值,之后转入键值解释部分进行处理。显示部分功能:显示输入的设备编号和动作编号。通讯部分的功能:以一定的时间间隔向下位机发送信息。
按键子程序:
KEYSUB:
MOV A,P0
CPLA
JZK1
MOV R5,#0FFH
MOV R4,#00H ;第一列值
MOV P2,#0FFH
CLR P2.0
LCALL LIE
MOV R4,#01H ;第二列值
MOV P2,#0FFH
CLR P2.1
LCALLLIE
MOV R4,#02H ;第三列值
MOV P2,#0FFH
CLR P2.2
LCALL LIE
MOV R4,#03H ;第四列值
MOV P2,#0FFH
CLR P2.3
LCALL LIE
K1:RET
LIE: MOV R2,#00H ;第一行值
MOV A,P0
ANL A,#01H
JZ KEY
MOV R2,#01H;第二行值
MOV A,P0
ANL A,#02H
JZ KEY
MOV R2,#02H;第三行值
MOV A,P0
ANL A,#04H
JZ KEY
MOV R2,#03H;第四行值
MOV A,P0
ANL A,#08H
JZ KEY
MOV R2,#04H;第五行值
MOV A,P0
ANL A,#10H
JZ KEY
RET
KEY: LCALL DELAY12ms
MOV A,P0
CPLA
JZJ1
MOV A,R2 ;计算键值
RL A
RL A
ADD A,R4;键值=列值(R4)+行值(R2)×4
MOV R5,A;键值保存于R5
J1:RET
显示子程序:
LCDDISP:
MOV R2,#04H ;要显示数据个数
MOV R0,#ADDR;要显示数据地址
L1: MOV A,@R0
LCALL LCD1
DEC R0
DJNZ R2,L1
RET
LCD1:MOV R7,#8
L2: RRC A
MOV P1.6,C ;送要显示数据位
CLR P1.7 ;形成脉冲信号
SETB P1.7 ;形成脉冲信号
DJNZ R7,L2
RRC A
RET
通讯子程序:
SEND:MOV R0,#ADDR ;要发送数据的起始地址
MOV R1,#15 ;要发送数据的个数
USET:JNB F0,$ ;发送数据完成标志
MOV A,@R0
INC R0
CLR F0;清除发送数据完成标志位
MOV SBUF,A;发送内容送串行口寄存器
DJNZR1,USET
RET
S0:JNB TI,Q1
SETBF0;置位发送数据完成标志位
CLR TI
Q1:CLR RI
RETI
(二)终端控制器
终端控制器可以实现灯具在水平方向左右旋转、垂直方向俯仰运动和调节灯光焦距等三个动作。通过控制灯具的三个动作来满足环境灯光变化的要求。每台灯具有三个电机,电机均采用24V直流电机,通过切换电机两端的电压极性可控制电机的运转方向。
1.硬件设计。控制器由通讯、光电隔离、驱动、执行部分构成。每一个灯具控制器都有一个用来确定自己的设备编号的3位十进制拨盘开关。
上图是实现灯具动作一个单元的电路图。
K1是控制灯具指示灯的继电器;K2是控制灯具动作的继电器;K3是控制灯具运动方向的继电器。IO0为低平时,K1吸合,灯具上的指示灯被点亮,同时电机正极接入电源回路。IO1为低电平时,K2吸合,电机的负极接入电源回路。IO0和IO1同为低平时,灯具开始运动。IO2控制K3的吸合与断开。
2.软件设计。主程序在系统初始化结束后,首先读取拨码开关的数据,计算设备编号,然后开放中断,判断数据块接收完毕标志是否置位。若没有置位时,继续判断;若置位开始按通讯协议处理接收的数据块,当接收的设备编号与自己的相等时,点亮灯具上的指示灯,如果有水平、俯仰和焦距命令,则控制灯具执行相应的动作。当接收的设备编号与自己的不相等时,熄灭灯具上指示灯,停止灯具动作运行。处理完数据块后,清除数据块接收完毕标志,开放中断,重新开始判断数据块接收完毕标志。主程序流程图见图3。
串口中断子程序主要完成串口的中断响应,中断程序中有两个标志位,一个是允许接收数据块标志,另一个是数据块接收完毕标志。进入中断程序后,首先判断允许接收数据块标志是否置位。若置位,接收
的数据放入数据块指定区域,并修改数据块指针,为接收下一个数据作准备,当接收完一个完整的数据块后,清除允许接收数据块标志,置位数据块接收完毕标志;若没有置位,判断是否是起始码?若是起始码,则置位允许接收数据块标志,初始化数据块指针。为接收下一个数据做好准备。程序流程图见图4。
三、结束语
该系统控制简单灵活,适用范围广。经过多次测试,运行情况稳定,达到预期设计目的。
参考文献:
[1] MAXIM新产品数据力手册第四卷.1995.
[2]厦门蓝斯通讯有限公司网站.
[3]单片微型计算机MCS-48 MCS-51应用手册.陈莉蓉 编译. 电子工业出版社.
[4]ApplicationNotes and Development Tools For 80C51 Microcontrllers1995.
[5]张友德,飞利浦80C51系列单片机原理与应用技术手册. 北京航空航天大学出版社.
作者简介:
郑建强,男,1998年毕业于焦作大学工业电气自动化专业,助理工程师,从事自动化控制方面的设计与研究工作;王文明,男,1987年毕业于郑州大学计算机科学系,工程师,从事自动化控制方面的设计与研究工作。