嵌入式学习小组
直播中

顾天天

7年用户 356经验值
私信 关注

怎样去设计一种主从机串行通信双屏显示系统?

怎样去设计一种单机双屏显示系统?
怎样去设计一种主从机串行通信双屏显示系统?

回帖(1)

刘浩

2021-6-4 15:50:02
  在现代体育比赛中,特别是关系到裁判的打分、打点的体育项目,裁判的公平、公正性直接关系到比赛能否顺利进行和体育竞技水平的高低。拳击比赛中运动员的得分是靠5个台下裁判打的有效点计入的。由于有效点需要至少3名裁判同时判有效才有效,裁判的水平和裁判的公正性直接决定运动员比分的高低。通过场地显示屏的显示,将裁判的详细信息(姓名、单位、有效点和打点信息)公布于众,能够大大提高裁判的公平、公正性,保证比赛的质量和水平。
  Visual Basic是Microsoft公司推出的一种在Windows环境下的面向对象程序设计语言,他将Windows编程的复杂性封装起来,使用可视化界面设计应用程序,提高了应用程序的开发效率,并且具有功能强大、易学易用、编程简洁等特点,是当今世界上使用最广泛的编程语言之一,它也被公认为是编程效率最高的一种编程方法。无论是开发功能强大、性能可靠的商务软件,还是编写能处理实际问题的实用小程序,VB都是最快速、最简便的方法。
  该软件是在Visual Basic 6.0环境下设计的,两种实现方法:一是单机通过调用API函数实现双屏显示;二是主从机之间通过串行通信实现双屏显示,这样能够满足不同硬件环境的需求。
  在VB 6.O中提供了完成串行通信的控件MSComm,该控件提供了标准的事件处理函数、过程,并通过属性的方法提供了串行通信参数的设置,比较容易地解决了串行通信的问题。
  1 单机双屏显示设计
  系统设计流程如图1所示。
  
  1.1 调用API函数
  API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。所有运行在Windows平台上的应用程序包括windows操作系统都可调用,VB是以Windows为编程环境的,所以可以利用API函数。
  首先判断双屏标志位doublescreen_flag,若为0,则启用单机双屏显示:
  声明API函数,各定义函数调用API函数,例:
  
  1.2 双屏尺寸的设置
  定义ChangeScreenSize()函数设置显示界面在子屏中显示尺寸的大小,例:
  
  1.3 双屏位置的设置
  定义ChangeScreenPosition()函数,设置画面在子屏中的位置,例:
  
  1.4 双屏分辨率、频率的设置
  定义ChangeScreenFrequency()函数,设置子屏的频率和分辨率,例:
  
  1.5 双屏显示的详细内容设计
  根据比赛和拳联的要求,场地显示屏显示的内容主要有:裁判员的详细信息(包括:姓名、单位、有效点以及打点信息)、运动员的信息(包括:姓名、单位)以及比赛信息(包括:公斤级、场次、轮次、时间、比分)等。双屏内容的显示直接从软件数据库中采集。6个显示界面包含不同的显示信息,可以按显示要求选择不同的界面,满足比赛的需求。其中界面1的部分代码为:
  
  2 主从机串行通信双屏显示设计
  2.1 串行通信技术RS 232
  串口通信技术采用了RS 232串口通信。目前RS 232是PC机与通信工业中应用最广泛的一种串行接口,它被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS 232采取不平衡传输方式,即所谓单端通讯。
  
  在通信中选用2、3引脚作为通信的输入输出端口,5引脚作为地,制作两个串行口时2、3号接口跳线。由于需传送的内容短少且只有一帧,没有使用奇偶校验位,采用判别帧头帧尾的方式判断接受信息,只是简单的通信传送,大大减少了系统的复杂程度。
  2.2 MSComm控件
  Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。
  MSComm控件的常用属性:
  CommPort:设置并返回通讯端口号。
  Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。
  PortOpen:设置并返回通讯端口的状态,也可以打开和关闭端口。
  Input:从接收缓冲区返回和删除字符。
  Output:向传输缓冲区写一个字符串。
  MSComm控件的设置:
  
  2.3 串行通信的发送
  首先判断双屏标志位doublescreen_flag,若为1,则进行串行通信。将需要发送的信息(裁判员的信息、运动员的信息、比赛信息)连成一帧,以FFFF作为帧头以EEEE作为帧尾发送。根据发送帧长判断接受缓冲区的大小。根据是英文名称还是中文名称判断发送内容。部分代码如下:
  
  2.4 串行通信接受
  在接受系统的显示,采用从接受缓冲区截取的方法,将每部分赋给要显示的文本,部分代码如下:
  控件的调用:
  
  串口初始化:
  
  字符及时钟控件初始化:
  
  接收启用串口通信:
  
  大屏信息:
  
  3 场地显示屏显示界面
  场地显示屏显示界面如图3所示。
  
  该界面包含了:场次、级别、轮次、时间、比分、运动员的信息、裁判员的信息、各有小点和指示灯等详细信息,满足比赛的要求。
  4 结语
  详细介绍了拳击比赛场地显示屏显示系统设计,并将各环节的代码示出,VB语言的简洁高效性显得尤为突出。通过单机双屏的介绍和主从节串口通信双屏的介绍,从不同的角度实现双屏显示,该系统在全国运动会上得到应用。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分