数据内容:需要显示信息内容;

校验和: 全部数据累加校验和;

根据无线LED 显示屏控制器实际运用需要,制定了发送、删除、显示、连接、断开指令等。这些指令的代码和主要作用如表2 所示。

表2 通信指令表

LED屏无线控制器的设计方案

上位机软件通过Internet 网络将数据发送到无线LED 显示屏控制器后,LED 显示屏控制器需要对收到的数据进行处理。根据指令的不同,可以控制LED 显示屏的显示内容及显示模式(例如上移、下移、左移、右移、静止、闪烁、删除等)。

4 、软件设计

本系统的软件设计包括两部分: 上位机软件和AVR 单片机的控制程序。上位机软件完成与GPRS 模块的通信, 控制LED 显示屏上显示的数据信息;AVR单片机的控制软件主要完成系统初始化,GPRS 网络连接,接收上位机发送的信息,分析接收信息内容,完成指令, 并按需将发布信息转换为点阵信息, 送到LED显示屏进行显示。

4.1 AVR 单片机的控制程序

AVR 单片机的控制程序主要完成以下功能:连接GPRS 网络、数据传输、控制LED 屏显示。

(1)初始化系统及SIM300 模块,连接GPRS 网络;(2)依照显示屏控制器与上位机的通信协议,与上位机通信握手,接收指令,解析指令,并将显示数据等信息存储与处理;(3)通过串口驱动LED 屏,进行信息的显示等。

下面简单介绍SIM300 模块与上位机实现TCP/IP无线通信流程。

AT+CGDCONT=1,“IP”,“CMNET” --注册中国移动网络

OK

AT+CGCLASS? --显示GPRS 信息移动的类型

+CGCLASS: “B”

OK

AT+CGATT? --GPRS 服务附加/分离

+CGATT: 1

OK

AT+CGACT=1,1 --环境激活

OK

AT +CIPSTART = “TCP”,“202.196.87.7”,“2020” -- 启动

TCP 连接(上位机IP 地址及端口号)

OK

CONNECT OK --连接成功

AT+CIPSEND --通过TCP 发送数据

》 HELLO

SEND OK --发送成功

4.2 上位机软件

本系统的上位机软件主要采用VC 设计一个通信界面,实现与LED 远程控制器通信。用户界面部分采用MFC 框架基于Dialog 实现。在利用Visual C++进行通过TCP/IP 协议网络传输数据开发时, 采用IOCP 框架来实现Windows Socket 的完成端口模型。

IOCP 即I/O 完成端口(I/O Completion Port),是一个异步I/O 的API,它可以高效地将I/O 事件通知给应用程序。一个套接字在被创建后,与一个完成端口进行关联。当一个事件发生的时候,此完成端口就将被操作系统加入一个队列中, 然后应用程序可以对核心层进行查询以得到此完成端口。当某项I/O 操作一旦完成, 某个可以对该操作结果进行处理的工作线程就会收到一则通知。在此应用程序中创建一定数量的工作线程来处理重叠I/O 请求的通知。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查