单片机触摸屏编程实例
⑴ 如何使用单片机去驱动控制触摸屏
触摸屏是目前最简单、方便、自然的而且又适用于中国多媒体信息查询国情的输入设备,它具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。触摸屏技术被认为是未来人机交互科技的主流方向之一,相关的产业及其产品的应用也正在成为一个热点。但是传统的触摸屏因为成本比较高而难以适用到更广泛的工业控制设备中,目前武汉谷鑫科技的触摸屏设计方案而能够很好的解决这个难题,利用触摸屏、单片机和液晶屏搭建了一个人机界面系统。
在用C8051F020实现对TFT6448BS-5.7的控制过程中,采用总线方式进行控制。因为TFT6448BS-5.7液晶控制器自带有锁存功能,所以在使用总线方式进行控制时并不需要外加锁存芯片,只须使用单片机C8051F020的P0、P2、P3口就可以实现。在系统加电之前,由于C8051F020的典型工作电压为3.3V,TFT6448BS-5.7的工作电压是5V,对P0、P2、P3口相应连接管脚进行驱动能力扩展;根据控制需求,通过P0、P2、P3端口寄存器,将相应端口的引脚配置成漏极输出方式。将P3口配置成为数据/地址输出口,输出地址时,其为地址总线的低八位,P2口提供高位地址;传输数据时,其为8位数据总线口。系统加电后,使得TFT6448BS-5.7的片选信号/CS有效,通过往TFT6448BS-5.7的相应行、列、控制、数据寄存器中写入数据,即可用C8051F020芯片实现对TFT6448BS-5.7的控制,从而实现彩色液晶的显示控制。
该触摸屏硬件接口电路的具体工作过程如下:
1、如图2所示电路,连接好线路,给电源输入端、参考基准电压端接入3.3V的直流电源;
2、结合软件编程对AD0进行初始化,系统处于休眠状态时,软件开中断,截止PNP1、PNP2、NPN1,饱和导通NPN2;
3、等待触摸屏被触摸;
4、若触摸屏上发生触摸,进入中断服务程序,关掉外部中断,进行短暂延时以消除外界抖动。通过判断中断输入口P0.0的电平变化,确定抖动是否结束。通过软件截止PNP2、NPN2,饱和导通PNP1、NPN1,选择模数转换通道AIN0.0,采集触摸点的X方向坐标值,延时等待转换结束,移出转换结果;电极电压切换,通过软件置位,截止PNP1、NPN1,饱和导通PNP2、NPN2,选择模数转换通道AIN0.1,采集触摸点的Y方向坐标值,延时等待转换结束,移出转换结果;
5、通过将采集到的X和Y坐标值与设定的按键边界值进行比较,若比较结果为真,则切换到相应的子页面,否则,重新开中断,并返回主程序;
6、触摸屏硬件接口电路工作过程重新回到步骤3,继续等待下一次触摸。
⑵ 如何利用单片机做一个简单的机械手实现对触摸屏的循环点击
你点我的名字,然后出现联系方式,其实很简单,就是使用单片机控制步进电机,十字架式的,横架在触摸屏上,使用电机或者磁铁吸附去敲打就可以了哦。比较容易实现,但是需要编程而已。
⑶ 单片机c语言编程100个实例
51单片机C语言编程实例 基础知识:51单片机编程基础 单片机的外部结构: 1. DIP40双列直插; 2. P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20); 4. 高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位) 5. 内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍) 6. 程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序) 7. P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务) 1. 四个8位通用I/O端口,对应引脚P0、P1、P2和P3; 2. 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1) 3. 一个串行通信接口;(SCON,SBUF) 4. 一个中断控制器;(IE,IP) 针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。 C语言编程基础: 1. 十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。 2. 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。 3. ++var表示对变量var先增一;var—表示对变量后减一。 4. x |= 0x0f;表示为 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。 6. While( 1 ); 表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;} 在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P1.3 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P1_3 = 1; //给P1_3赋值1,引脚P1.3就能输出高电平VCC 5. While( 1 ); //死循环,相当 LOOP: goto LOOP; 6. } 注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至VCC电源。 在某引脚输出低电平的编程方法:(比如P2.7引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P2.7 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P2_7 = 0; //给P2_7赋值0,引脚P2.7就能输出低电平GND 5. While( 1 ); //死循环,相当 LOOP: goto LOOP; 6. } 在某引脚输出方波编程方法:(比如P3.1引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P3.1 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 5. { 6. P3_1 = 1; //给P3_1赋值1,引脚P3.1就能输出高电平VCC 7. P3_1 = 0; //给P3_1赋值0,引脚P3.1就能输出低电平GND 8. } //由于一直为真,所以不断输出高、低、高、低……,从而形成方波 9. } 将某引脚的输入电平取反后,从另一个引脚输出:( 比如 P0.4 = NOT( P1.1) ) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P0.4和P1.1 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P1_1 = 1; //初始化。P1.1作为输入,必须输出高电平 5. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 6. { 7. if( P1_1 == 1 ) //读取P1.1,就是认为P1.1为输入,如果P1.1输入高电平VCC 8. { P0_4 = 0; } //给P0_4赋值0,引脚P0.4就能输出低电平GND 2 51单片机C语言编程实例 9. else //否则P1.1输入为低电平GND 10. //{ P0_4 = 0; } //给P0_4赋值0,引脚P0.4就能输出低电平GND 11. { P0_4 = 1; } //给P0_4赋值1,引脚P0.4就能输出高电平VCC 12. } //由于一直为真,所以不断根据P1.1的输入情况,改变P0.4的输出电平 13. } 将某端口8个引脚输入电平,低四位取反后,从另一个端口8个引脚输出:( 比如 P2 = NOT( P3 ) ) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P2和P3 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P3 = 0xff; //初始化。P3作为输入,必须输出高电平,同时给P3口的8个引脚输出高电平 5. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 6. { //取反的方法是异或1,而不取反的方法则是异或0 7. P2 = P3^0x0f //读取P3,就是认为P3为输入,低四位异或者1,即取反,然后输出 8. } //由于一直为真,所以不断将P3取反输出到P2 9. } 注意:一个字节的8位D7、D6至D0,分别输出到P3.7、P3.6至P3.0,比如P3=0x0f,则P3.7、P3.6、P3.5、P3.4四个引脚都输出低电平,而P3.3、P3.2、P3.1、P3.0四个引脚都输出高电平。同样,输入一个端口P2,即是将P2.7、P2.6至P2.0,读入到一个字节的8位D7、D6至D0。 第一节:单数码管按键显示 单片机最小系统的硬件原理接线图: 1. 接电源:VCC(PIN40)、GND(PIN20)。加接退耦电容0.1uF 2. 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用12MHz),还有辅助电容30pF 3. 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理 4. 接配置:EA(PIN31)。说明原因。 发光二极的控制:单片机I/O输出 将一发光二极管LED的正极(阳极)接P1.1,LED的负极(阴极)接地GND。只要P1.1输出高电平VCC,LED就正向导通(导通时LED上的压降大于1V),有电流流过LED,至发LED发亮。实际上由于P1.1高电平输出电阻为10K,起到输出限流的作用,所以流过LED的电流小于(5V-1V)/10K = 0.4mA。只要P1.1输出低电平GND,实际小于0.3V,LED就不能导通,结果LED不亮。 开关双键的输入:输入先输出高 一个按键KEY_ON接在P1.6与GND之间,另一个按键KEY_OFF接P1.7与GND之间,按KEY_ON后LED亮,按KEY_OFF后LED灭。同时按下LED半亮,LED保持后松开键的状态,即ON亮OFF灭。 代码 1. #include <at89x52.h> 2. #define LED P1^1 //用符号LED代替P1_1 3. #define KEY_ON P1^6 //用符号KEY_ON代替P1_6 4. #define KEY_OFF P1^7 //用符号KEY_OFF代替P1_7 5. void main( void ) //单片机复位后的执行入口,void表示空,无输入参数,无返回值 6. { 7. KEY_ON = 1; //作为输入,首先输出高,接下KEY_ON,P1.6则接地为0,否则输入为1 8. KEY_OFF = 1; //作为输入,首先输出高,接下KEY_OFF,P1.7则接地为0,否则输入为1 9. While( 1 ) //永远为真,所以永远循环执行如下括号内所有语句 10. { 11. if( KEY_ON==0 ) LED=1; //是KEY_ON接下,所示P1.1输出高,LED亮 12. if( KEY_OFF==0 ) LED=0; //是KEY_OFF接下,所示P1.1输出低,LED灭 13. } //松开键后,都不给LED赋值,所以LED保持最后按键状态。 14. //同时按下时,LED不断亮灭,各占一半时间,交替频率很快,由于人眼惯性,看上去为半亮态 15. } 数码管的接法和驱动原理 一支七段数码管实际由8个发光二极管构成,其中7个组形构成数字8的七段笔画,所以称为七段数码管,而余下的1个发光二极管作为小数点。作为习惯,分别给8个发光二极管标上记号:a,b,c,d,e,f,g,h。对应8的顶上一画,按顺时针方向排,中间一画为g,小数点为h。 我们通常又将各二极与一个字节的8位对应,a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相应8个发光二极管正好与单片机一个端口Pn的8个引脚连接,这样单片机就可以通过引脚输出高低电平控制8个发光二极的亮与灭,从而显示各种数字和符号;对应字节,引脚接法为:a(Pn.0),b(Pn.1),c(Pn.2),d(Pn.3),e(Pn.4),f(Pn.5),g(Pn.6),h(Pn.7)。 如果将8个发光二极管的负极(阴极)内接在一起,作为数码管的一个引脚,这种数码管则被称为共阴数码管,共同的引脚则称为共阴极,8个正极则为段极。否则,如果是将正极(阳极)内接在一起引出的,则称为共阳数码管,共同的引脚则称为共阳极,8个负极则为段极。 以单支共阴数码管为例,可将段极接到某端口Pn,共阴极接GND,则可编写出对应十六进制码的七段码表字节数据
⑷ 普洛菲斯触摸屏编程实例
普洛菲斯触摸屏编程实例?
下面就通过功能介绍及实例来说明一下关于触摸屏的编程机制。根据以下的流程希望有帮助。
普洛菲斯触摸屏图例:
GP-Pro EX是一款普洛菲斯触摸屏编程软件,是Pro-face(普洛菲斯)官方专为其人机界面触摸屏开发的画面和逻辑编程软件,支持专用的人机界面和开放的人机界面(基于PC),可实现数据兼容,并拥有多种功能,可减少开发时间。
GP-Pro EX主要特性
一、基本功能
1、连接广泛
可直接连接各种设备,无论是通过网络还是I/O,连接和显示都只需一个模块。
2、可连接多种设备
Pro-face人机界面能直接连接多种设备,支持PLC和温控器等各种设备的驱动程序,无需编程即可创建系统。无需为PLC而使用接口模块和程序。
可直连USB设备,并且通过将USB接口转换为串口(RS-422/485)的适配器后,还可连接多种特殊控制器。
3、可安装COGNEX In-Sight视觉系统通讯驱动程序,实现现场监控
结合COGNEX In-Sight视觉系统,可通过现场摄像头获取影像信息,并在人机界面的画面上显示,改变相关设置。
4、以太网多重连接功能
使用以太网多重连接功能,无需更改控制器上任何设置,即可在生产设备上轻松添加人机界面用作子显示。
5、轻松连接各种USB设备
串口设备、EZ系列产品、扫码器以及USB存储设备都可轻松与SP5000系列连接。
6、无需显示屏的状态显示
EZ带灯开关可根据现状为不同的报警状态显示不同颜色。可通过EZ带灯开关在人机界面上查看/操作所有报警历史消息,而且在操作其他画面或显示屏待机状态时也可查看报警状态。
7、迅速达成目标及轻松提升系统性能
GP-Pro EX提供多种高级功能,能帮助您迅速响应生产现场不断变化的需求。
全面的编程功能和日志分析功能为复杂系统的开发提供了有力帮助。
8、可减少生产损失的报警分析功能
当发生故障时,操作员能很方便的查找和检查现场状态,只需触摸报警消息就能检索出按报警时间次序排列的相关数据。
9、数据采集 - 采集生产过程中的各种数据
温度、电压及其他想要获得的地址值存储在在人机界面中。数据和时间能通过采样显示进行确认。
10、历史趋势图 - 使用直观的图形显示数据
用直观易懂的图表形式来显示历史采集的数据变化。此图表便于回顾历史数据。
11、操作日志 - 记录操作员的操作
操作行为被保存在日志里,因此可以查看到有什么人、在什么时间、做了什么事。日志也可被用于对操作员的错误操作进行趋势分析。
12、强大的配方功能”能够轻松执行生产线设置的更改
一般配方功能的所有配方数据必须保存在一个连续地址,而新的配方功能则允许写入随机地址和多种数据格式。
13、历史报警消息条
较长的报警消息可自动滚动显示,便于查看报警详情。
14、采集的数据导出为CSV格式文件
使用采样功能可使采集的数据保存在USB存储设备中(CSV格式文件),从而提高了日报和月报的制作效率。
15、用历史趋势图轻松分析故障原因
GP-Pro EX支持用图表显示错误日志,使故障原因的分析更为简便。
支持的功能包括放大/缩小显示、上下限辅助线显示、XY散点图。
16、管理操作日志数据
GP-Pro EX支持按部件获取各操作人员的操作日志。
这样就可以只转换所需部分的数据,便于日常管理。
17、为每个用户配置安全设置
GP-Pro EX允许为各个部件设置不同的密码和安全级别ID,以此来详细设置其操作权限。
18、实时远程监控现场
现场人机界面和办公室之间的简单连接,易于维护和数据管理。
19、"Pro-Server EX" 采集数据,发送给人机界面
使用计算机通过以太网采集数据,并可从计算机向人机界面发送配方等操作指令。
20、"GP-Viewer EX" 在办公室的计算机上查看和操作远程的人机界面
在计算机上通过以太网查看和操作现场的人机界面,远程监控现场状态。
21、"Camera-Viewer EX" 通过远程摄像头实时的查看实时视频流
使用Camera-Viewer EX,可在办公室的计算机上查看、录制和播放来自远程的人机界面所连接摄像头的实时视频。
22、"Web Server" 在浏览器上查看报警信息和控制器地址
在办公室就能通过浏览器查看到报警信息和控制器地址,做到了远程监控和维护。另外,报警信息可以通过RSS订阅方式进行实时发送报告。
23、"RPA (远程计算机访问)" 在人机界面上操作远程的计算机
在现场的人机界面上查看和操作远程的计算机。在人机界面上显示计算机屏幕上的画面。
二、画面编辑
1、利用现有资源
GP-Pro EX支持所有采用GP系列机型创建的画面数据,最早可支持到最初的GP510系列机型。
使用Project Converter(工程转换器),可立刻转换由GP-PRO/PBIII for Windows或以上版本创建的数据。
2、用Project Converter(工程转换器)转换整个工程
GP-Pro EX支持所有采用GP系列机型创建的画面数据,最早可支持到最初的10系列机型。使用GP-Pro EX的Project Converter(工程转换器),可以直接转换GP-PRO/PBIII for Windows或以上版本创建的数据,因此能够平滑升级到最新机型。
3、用Resolution Converter(分辨率转换器)轻松更改显示尺寸
GP-Pro EX的Resolution Converter(分辨率转换器)能自动转换工程文件的分辨率。
这大大减少了更改显示尺寸所需的工时。
4、用批量部件转换功能,一次性改变画面上多个部件的形状
GP-Pro EX允许批量转换具有不同形状的多个部件。该功能将方便更新旧工程文件中的图像。
5、用批量地址转换功能,快速创建类似画面
GP-Pro EX允许批量转换选定部件的地址。这有助于快速创建类似画面。
6、共享图像和部件功能,充分利用现有的部件和图像
部件和图像能被注册成包文件,保存这个包文件到服务器并共享给其他设计人员。
7、快速获知相似工程文件之间的细微区别
使用工程比较工具能轻松地对2个工程文件进行详细对比,显示每个部件属性、报警消息或设置项目的差异,便于更新、修改用户的应用程序。
8、工程文件的兼容性
GP-Pro EX最新版本编辑的工程文件也能被保存为旧版本的文件格式。有助于不同岗位人员(如:测试工程师、工厂安装技术员以及维护工程师)之间的数据处理。
9、画面数据更新时备份SRAM数据
在传输画面数据时可选择重置或保留在SRAM上的备份数据。
10、下载示例部件后可立刻使用
有各种已制做完成的示例部件可供下载。下载后的示例部件可立刻使用,能大幅减少画面设计时间。
11、间接控制器设置 – 仅一个画面就能和多个控制器通讯
仅需一个画面就能和多个控制器进行通讯,节省画面设计时间。
12、定制启动画面
显示注册的图像,可在启动画面上显示定制的公司名称或产品标识。
*不包括SP5000系列开放型主机模块。
13、仿真仪表
直观地显示生产设备的测量值和温度。
14、开关/指示灯
高仿真的开关和指示灯,提高画面附加值。
15、用动画功能为部件添加动态效果
GP-Pro EX提供动画功能,可移动、旋转对象或更改图像的颜色,能帮助您快速设计出具有丰富表现力的动态画面。
16、用位图字体显示数字
GP-Pro EX为数据显示部件提供美观、易于阅读的7段码字体,以及其他各种字体。
17、支持Windows字体
GP-Pro EX支持Windows字体,使画面更美观。
支持多语言,并能在数据显示器、文本列表、报警和其他各种功能上使用Windows字体。
18、显示/隐藏部件,节省开发时间
按控制器或操作员设置控制部件是否可视。节省了开发时间和减少了工程文件大小。由于无需制作单独的画面,从而减少了工时。
19、数据范围对应指示灯的显示
根据数据范围来设置指示灯状态对应的颜色。
20、采集不同格式数据
不同设备的文字、二进制数和变量可以混合,还可以设置连接设备+内部地址。
21、西门子Tag导入功能
西门子PLC创建的STEP7工程文件中的Tag信息可导入至GP-Pro EX画面数据,从而节省了画面制作的工时。
22、大量易于理解的图标
GP-Pro EX的图标易于理解,可从众多的图标中快速查找到需要使用的图标,提高了工作效率。
23、用部件工具箱查找需要的部件
GP-Pro EX的部件工具箱可帮助您快速找到需要使用的部件。
您随时都能确定所用的是何种部件,使画面设计更高效。
24、使用页眉和页脚可快速访问常用画面
GP-Pro EX允许您将常用画面组件注册到画面页眉或页脚,并在工程中加以调用。
25、文本查找/替换功能
可以在画面工程文件中搜索或查找/替换文本数据。
26、用于多语言画面的直接报警消息输入
在报警设置中的文本列表中注册多语言的文本,使画面编辑更有效率。
27、报警和采样历史信息的查询/排序
可升/降序排列及使用=、>或<符号进行条件查询显示报警和采样信息。
28、文本列表支持多语言,全球适用
GP-Pro EX可轻松更改语言设置。创建多语言工程轻而易举。
29、编程功能减轻PLC内存负担
GP-Pro EX支持逻辑程序和D脚本。前者可以让用户采用熟悉的梯形图语言编程,后者是一种专有脚本语言,能提供类似于复杂编程语言的功能。
这将减轻PLC的负担,并能实现更高级的画面设计。
30、逻辑程序 - 用熟悉的梯形图语言编程
在同一个软件中可以进行画面编辑和逻辑编程,并且通过拖动和下拉操作对部件和逻辑元件进行编辑、执行。还可直接写入控制器地址,从而节省了开发时间。
31、D脚本 - 使用我们特有的简化编程语言创建程序
根据“连续动作”、“位更改”和“条件为真”等触发条件配置这些设置。 还提供查找(查找和替换脚本中的字符串)和调试函数(在人机界面上显示消息和地址)等多种功能。
GP-PRO/PBIII创建的D脚本无需更改就能轻而易举地被使用。
32、GP-Pro EX模拟 – 用户友好的例证
使用GP-Pro EX,即使您没有人机界面或PLC,您也可以在PC上模拟与PLC的连接。该模拟功能也支持三菱电机的PLC。
⑸ 单片机触摸屏开发
可以实现:
第一:单片机触发触摸屏不是问题:
第二:所有的监视来自无线信号,RF24L01模块也不是问题。
第三:所有的使用单片机单点控制通断也可以。
第四:还可以拓展到GSM短信控制。
⑹ 触摸屏怎么编程
以ab触摸屏为例,触摸屏编程的方式是:
1、一般情况,用户在RSV ME 或 Factory ME 系统下开发完成人机界面程序后,编译成可在触摸屏上运行的mer格式文件。
2、传到触摸屏内存供其运行。由于是编译后的运行格式,它并不含有开发项目的全部信息。
3、但在没有源程序的情况下,依靠反向转化得到的开发程序,仍可进行少量或简单的修改、添加,满足生产设备实际运行时局部少量修改的需求。
4、首先是获得Pa Plus 中的mer文件,其具体操作是,先将电脑和包含Pa Plus的系统联网。
5、点击菜单Tools下面的Tranity,在打开的窗口点击,选取soule,选取目标文件的存储位置。
⑺ 单片机怎样控制工业触摸屏
可以控制,你要编写通讯程序,比如你的触摸屏moubus协议,那么你在单片机里面就要编moubus的协议,而且单片机要设计电路板
⑻ 用51单片机驱动触摸屏,制作一个简单的按键
这应该是不行的。你必须规定一个允许的范围。x。。。y。。。,这才有可能实现。毕竟人手没那么精确。我找了一下,xpt2046资料挺多的,找一段移植到51上就行
⑼ 题目 单片机与触摸屏的通讯
在工业控制中经常需要观察系统的运行状态或者修改运行参数。触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。单片机广泛应用于工控领域中,与触摸屏配合,可组成良好的人机交互环境。触摸屏和单片机通信,需要根据触摸屏采用的通信协议为单片机编写相应的通信程序。Modbus协议是美国Modicon公司推出的一种有效支持控制器之间以及控制器经由网络(例如以太网)和其它设备之间进行通信的协议。本文以AT89S51单片机和广州易显科技有限公司的HMImaker触摸屏为例,介绍其通信程序的开发过程。
一、系统结构
实现触摸屏与单片机的通讯,主要是解决通讯协议的问题。本文使用开放的Modbus通讯协议,以触摸屏作主机(Master),单片机作从机(Slaver)。HMImaker触摸屏本身支持Modbus通讯协议,只要单片机按照Modbus协议进行收发数据,就可以进行通信了。触摸屏与单片机之间采用RS-232或者RS-485标准接口直接连接,传输速率设置为9600bps。图1为该系统的电路图。