您的当前位置:首页正文

基于Memorylink协议的GP触摸屏与PIC单片机通信的实现

2024-07-16 来源:步旅网



基于Memory-link协议的GP触摸屏与PIC单片机通信的实现

2007

2

仪表技术与传感器

InstrumentTechniqueandSensor

20[J7

No.2

基于Memory.link协议的GP触摸屏与PIC单片机通信的实现

李明伟,张献梅,张倩
(大连理工大学电子工程系,辽宁大连116023)
摘要:介绍了PIC单片机与GP触摸屏的通讯及实现方法•简要分析了

Memory.1 ink通讯协议,给出了PIC单片机与

GP触摸屏异步串行通讯连接图,以及用PIC编写的部分关键通信程序经实验验证:该方法稳定可靠,为开发者采用GP
触摸屏与带串口的智能设备之间的通信连接提供了参考.

关键词:GP触摸屏;PIC单片机;MemoryLink协议;软件

中图分类号:TP39304;TP311ll文献标识码:A文章编

:1002—1841(2007)02—0052—02





ImplementationofCommunicationbetweenPICSignalChipProfessor

andGPTouch.screenBasedonMemoryinkProtocol

LIMing-wei,ZHANGXian—mei,ZHANGQian
(DepartmentofElectronicEngineering,O.alianUniversityofTechnology,O'aliarl 116023,China)
Abstract:IntroducedthecommunicationmethodbetweenPICsignalchippro

fessor(SCP)andGPtouchscreenanditsimplementa

tion.BrieflyanalyzedMemory—linkprotocol,providedhemediagramofasynchronousserialcommunicationbetweenPICSCPandGP
touch-screen,andgivenpartsofkeycommunicationpmgram.Theexperimentai

ms tsshowthatthismethodissteadyancireliable,an(lit

providesreferencetothedeveloperswhouseGPtouchscreenandPICSCP.

Keywords:GPtouch-screen;PICsignalchipprofessOr(PICSCP);memory-linkprotocol software

1GP触摸屏

GP触摸屏除具有强大的图形功能和数据处理功能外,还

可以通过标准的cF卡来存储配方数据,实时采样数据和历史报警信息采用具有强大图形编辑功能的GP—PRO/PBUIforWindows作为屏幕编辑软件,能够容易地创建直观的屏幕画面.

PIC单片机接口功能丰富,与GP触摸屏结合起来,能将控





制的灵活性和工控软件的控制稳定性有机地结合起来,从而优化现场测控系统的总体性能和性价比由于PIC单片机不像

PLC可以直接和GP触摸屏通信,所以在选好GP触摸屏的通信

协议以后,要为单片机编写对应的通信程序.

2Memory-link通信协议

GP触摸屏具有强大的通信功能,支持多种连接方式,如Rs

232,RS422,RS— 485,Ethernet以及各种现场总线等它包括两种通信模式:直接存取通信方式(DirectAccessCommunica.


tion)和内存链接通信方式(MemorynkCommunication).直接通信不需要编写通信程序,一般用于与PLC,变频器,温度控制器

等通信;Memory.link通信一般用于GP触摸屏与单片机这种非
标准通信设备通信.GP触摸屏采用主从式的访问方式,在Memory-link方式下,触摸屏是从站,对方设备是主站,触摸屏根
据主站传来的数据命令进行工作.

Memory-link通信有两种工作方式:ASCII码兼容方式和扩展方式.ASCII码兼容方式是GP触摸屏和主机一对一的通信,扩展方式既可以一对一也可以一对多通信.

对于ASCII码兼容方式,GP与主机有4条通信命令:主机
收稿口期:2006—07—10收修改稿口期:2006—10—28



读命令,GP应答命令,主机写命令,GP中断输出命令.

2」主机读命令和GP应答命令

主机读命令和GP应答命令成对出现当主机发出读GP
内部寄存器地址数据命令后,触摸屏立即给出应答命令主机读命令的通信协议格式为

起始应答返回第一字的数据返回第二字的数据结束
其中读起始地址,读数据长度和GP应答命令返回的数据都占4个字节,其他的占1个字节,都是以ASCII码形式发送.

2.2主机写命令

主机可以直接对GP的内部寄存器地址写数据•通讯协议格式为写入数据的起始地址和写入的数据都占4个字节.

2.3中断输出

当触摸屏的按键被按下时,如果写一个字节数据到GP内部寄存器地址0013H,该地址数据就会主动发出中断输出信号给单片机单片机的中断服务程序根据接收到的控制命令执行相应的中断服务子程序【lj

3PIC单片机实现与GP通讯





2期李明伟等:基于Memory.link协议的GP触摸屏与PIC单片机通信的实现53
GP内部的寄存器称为LS区,有8192个字地址空间,除了
系统数据区0和特殊继电器区20322047,用户都 可以直接访问单片机的通信程序只要指定读或写GP寄存器 地址就可以直接对该地址操作选用了PIC高性能单片机和 GP触摸屏通信实现控制显示,鉴于通讯只是一对的通讯,采 用了Memory.Link通讯协议下的ASCII码兼容方式,单片机为主机,GP为从机.

3」硬件设计
单片机选用了PIC1617877.GP触摸屏选用GP2301.PICRC6RC7
口设置为异步串行通讯模式的输入输出口,经过
M.32芯片将TrL电平转换为RS232电平,再与GP触摸屏
25针串行口相连,即完成了硬件连接.1为系统的通讯连接图图1通讯连接图
3.2软件设计
触摸屏与PIC单片机的通信程序用C语言编写.编泽工具选择PICC编译F.采用PIC16F877自带的通用同步异步收发器(USART)与触摸屏通信.

在通信前首先要对串行口进行初始化,例如,选用的通信方式,波特率,通信口等设计采用低波特率的异步串行通信





方式,RC7RC6口分别为异步串行输入输出口31.PIC单片机对GP写操作可以直接在程序里凋用写操作子程序:简要给出写操作的实现过程:
VoidWriteToGPC^writep^writelen,write address)WriteReadyO;//发送写GP标志ESCWWriteData(writeaddress);// 发送地址while(writelen!:O)//writelen为发送的数据个数Writelen;〃发送数据自减1
wteDatawritepr;//发送数据

write—
prH; 〃数据指针加1
wTiteprH;//数据指针再加1

/f运行〜,xite—len次循环
wT();发送结束标志

dataend//CR
return;

由于ASCII码兼容方式只支持ASCII码传送,所以所有的
数据都必须转化成ASCII例如,要向CP触摸屏的100101地址写数据55,16&就需要向TXREG写入如下的一串字符:

1B,57,30,30,36,34,30,30,33,37,30,30,41,38,0D

单片机读操作与写操作类似,具体的操作可以参考介绍的
通讯协议•发送完读命令以后立即接收GP的应答命令•可以



设置超吋控制,如果接收超吋则重新发送读命令,连续几次都接收超时,就向触摸屏发送错误标志,触摸屏通过内置lamp可以很形象地显示报警信息.

GP和接收GP应答命令的程序流程图如图2所示.

N

2GPGP应答流程图
当单片机接收到触摸屏发出的中断信号后,就根据接收到

的中断标志执行相应的操作.

给出一些关键的中断服务程序片断:

VoidinterruptReceive
interrupt()〃中断服务程序 f

If(RCIE&&RCIF)//如果是接收到触摸屏发来的中断信号

{

interrupt

data-RCREG;〃接收到的数据存放到全局变量

Dointerrupt(interruptdata);//中断服务子程序

关键的中断服务子程序片断:



VoidDo—interrupt(interrupt~ata) {
switch(interrupt—ata)
casekProcessFirst—
Interrupt();

break;///中断命令为1的情况

ca.e2.P/oce〜・$

Second——
Interrupt();
break;//中断命令为2的情况

〃其他情况略default: break;



}
程序编写完成后,将GP触摸屏与PIC16C77相连接,通过触

摸屏对PIC16C77读写数据并发送中断,在设置波特率为

19.2I(B时也能稳定地工作实验表明了两者之(下转第55)

2期高友:振弦式传感器测量过程中干扰问题的解决

1激励电压与测量距离关系表
55



激发电压Vp测量距离/m

5o

75

]oO

<2O

<40

>]oO

(5)元器件的选择要合理,电阻耍选择五环金属膜电阻,电

容要采用独石电容,传感器输入线要采用优质的两芯屏蔽线.

(6)数字地与模拟地一点共地接地的合理与否对电路性能

往往有很大影响,尤其是测量的仪器仪表•许多电路故障,如
自激生干扰,噪声大等都与接地不良有密切关系•振弦频率检测仪机箱要用全金属的,并可靠接地•否则,用示波器,万用表等仪表测试工作参数时也会引起干扰_5j・由于电路中有激励电压产生电路.所以要做好前置放大级的退耦,在用22nF旁路效果最好,如图2所示.

I

2振弦频率检测仪的原理框图

2软件解决干扰

(1) 测量要在激发过一定时间后进行•因为在激发脉冲刚



过的瞬时,钢弦可能会在不同程度上是强迫振动,此时立即计
数会影响测量精度,所以开门信号必须在钢弦处于口由振动状
态时才应出现经试验选择激励100ms后,单片机开始计数较为合适.

(2)测量中单片机要分段进行,同时对各段计数值进行比

较,以解决杂波干扰具体方法如下,如果连续不相等次数大于3则显示新测量值,否则显示上次测量值如果该次测量值与上次测量值之差大于3,则显示该次测量值源程序(部分)如下:

.f(Measure Value>I.astMeasure)
{NoSameB:0:
(MeasureValueI.astMeasure )>:3) } I.astMeasure=MeastweValue;}
else {NoSame A++:
NoneA>:3)
{I-tMeasure:Measta' e Value;
NoSameA=NoSameB=0:

}
else{Measure Value=I.astMeasure;}
f

}

elseif(Measure Value<l_aslMeasure)





{NoSameA:0:

if((I.astMeasureMeasureValue)>=3)

{LastMeasure:MeasureValue;}

else}NoSameB++:

if(NoSameB>:3)

{I.astMeasure=MeasureValue;

NoSameA=NoSameB=0:

}
else{Measure Value:LastMeasure;}

}
f

else {No neA:NoSameB=0:
LastMeasure: Measure Value;

其中,MeasureValue为木次测量值;I.astMeasure为上次测量

;NoSameA为本次测量值大于上次测量值次数;NoSameB为本

次测量值小于上次测量值次数.

(3)时钟产生电路一定要准确分频,同时程序在调用延吋时要充分考虑调用相关命令所用的时间,并将其计算出开门时间,以减小计时时间误差[61.

3结论
结果表明:振弦频率检测仪能很好的测量振弦式传感器,



仪器的稳定性好,精度高.

参考文献:
邓铁六大量程自激振弦式传感器及相关技术传感器技术,2001

(9):41.

王刚屹仪表放大器及在智能化仪器中的使用电子制作,2005

(8):35.

李澎•简易倍频电路.[EB/OL].[2005—07—19] .http://www.

eetchina,com/简易倍频电路htm.

李岗单按键密码锁电子制作,2003:63.

张国华模拟电路的接地技术电子制作,2005:35.


山军,罗方•等精度测频装置的制作•电子制作,2006(1):54.

美国基康公司•振弦式传感器使用说明书.

作者简介:高友(1971—),实验师,从事电子教学工作.(上接第53)间的通信是稳定可靠的.

4结束语

系统釆用GP触摸屏,人机界面美观;釆用Memoryhnk通信

协议,通信速度高,可靠性强,己成功应用于光电色选机系统.由于GP触摸屏自身功能的强大和开发环境的友好,对PIC单片机在测控领域得到更广泛的应用提供了支持.

参考文献:





陈旭东,陈彤.Pro-face触摸屏高级应用手册上海天任电子有限公司,2003.

[2]刘和平.PIC16F87X单片机实用软件与接口技术一c语言及其应用北京:北京航天航空出版社,2002.

张明峰・PIC单片机入门与实践北京:jE京航天航空大学出版

.2004.

作者简介:李明伟(1957
),副教授,主耍研究方向为微波技术,超声波
技术及光电子技术为基础的应用技术研究.





显示全文