如何用VB编写程序在LED显示屏上输出

如何用VB编写程序在LED显示屏上输出,第1张

一些led程序,常常带有 开发 组件,当中提供了vb,vc,delphi等的dll,并有详细函数说明,调用即可。

给你个例子:

点阵图文屏通讯协议

 通讯

(1)232口通讯:8位数据位, 1位停止位, 标志效验, 波特率为19200

 通讯顺序为:

1、 先初始化232端口。

2、 传送屏参数设置帧。

3、 传送屏功能设置帧。

4、 传送显示属性帧。

5、 传送点阵数据帧

传送每一脊辩屏的全部“点阵数据”,按顺序传送完每一幕数据。

点阵数据处理:从左到右,从上到下,每8点为1字节

对于双色屏,同时传送红色、绿色。

6、 送开始显示命令帧04。

 主要功能帧定义:

(0x06)回传接收帧:1字节回传

 通讯头,任何一帧通讯必需要。(6字节)

1 2 3 4 5 6

0x5a 0xa5 len addr snum Command

说明:

0x5a,0xa5 两个起始标志字节。

Len 每帧长度:从1开始,长度不超过250个字节。

Addr屏号: 0-255,其中0是广播方式

Snum通讯包计数:0-255,通讯包序号,从0开始,每次发送完成加1,重发的数据序号不变。

Command:命令字节标志。

CheckSum 校验和,从起始字节到校验和之前的所有字节的异或。

应答:接收成功返回1字节:0x06。

 屏复位功能(0A)

1 2

通讯头 功能值 CheckSum

功能值:0-复位,1-开机,2-关机

 屏参数设置帧(0B)

1 2 3 4 5 6 7 8 9

通讯头 卡型号 W高位 W低位 H高位 H低位 颜色 扫描 亮度

10 11 12 13 14 15 16 17 18 19 20

极性 保留 保留CheckSum

卡型号:(区别不同存储类型)

颜色:0-单色,1-双色,2-三色 ,3-256级灰度

扫描:0-1/16,1-1/8,2-1/4

亮度:0-7级

 屏功能设置帧(0C)

1 2 3 4 5 6 7 8 9

通讯头迅顷 开机时 开机分 关机时 关机分 保留 保留 保留 保留 CheckSum

 时钟帧(0x0E)

1 2 3 4 5 6 7 8

通讯头 秒 分 时 日 月 星期 年 CheckSum

时间数据以10进制的方式表示。例如10进制的25分,表示成16进制是 25h。

发送成功返回 0x06

◆ 显示属性帧(0x0F)

1 2 3 4 5 6 7 8

通讯头 引入方式 引入速度 追加方式 停留时间 引出方式 时钟方式 显示时钟 时钟

停留时间 ….. CheckSum

7、 显示时钟:

0 不显示

1 年-月-日 星期

2 时:分:秒 温度

3 年-月-日 星期 时:分:秒

 点阵数据帧(0x10)

1 2 3 …

通讯头 点阵数据 点阵数据 点阵数据 … CheckSum

;每屏的数据 横向取模,每8个点组成一个字节,左边是高位。Byte0-byten

;数据排列的格式

;三色 Byte0红,Byte0绿,Byte0兰,Byte1红,Byte1绿,Byte1兰,

;双色 Byte0红,Byte0绿, Byte1红,Byte1绿,

;单色 Byte0红,Byte1红,

 执行命令帧(0x04)

1 2 3 4 5

通讯头 开始页高位 开始页

低位 结束页高位 结束页

低位 CheckSum

◆ 亮度命令帧(0x11)

1 2 3 4 5 6 7

通讯头 亮樱昌缺度值 时间段1

开始时 时间段1

开始分 时间段1

结束时 时间段1

结束分 时间段1

亮度值 时间段2

开始时

8 9 10 11 12 13 14 15

时间段2

开始分 时间段2

结束时 时间段2

结束分 时间段2

亮度值 时间段3

开始时 时间段3

开始分 时间段3

结束时 时间段3

结束分

16 17 18 19 20 21 22

时间段3

亮度值 时间段4

开始时 时间段4

开始分 时间段4

结束时 时间段4

结束分 时间段4

亮度值 CheckSum

亮度值:0-7级(最暗-最亮)

8 自动调整亮度(需要硬件支持)

9 使用时间段调整亮度

 设置波特率命令帧(0x0D)

1 2

通讯头 波特率 CheckSum

波特率值:0-9600,1-19200,2-38400,3-57600

5a a5 07 00 00 0d 00 f5 9600

5a a5 07 00 00 0d 01 f4 19200

5a a5 07 00 00 0d 02 f7 38400

5a a5 07 00 00 0d 03 f6 57600

 设置单元板命令帧(0x12)

1 2

通讯头 编号 CheckSum

波特率值:0-9600,1-19200,2-38400,3-57600

5a a5 07 00 00 12 00 ea

5a a5 07 00 00 12 01 eb

5a a5 07 00 00 12 02 e8

5a a5 07 00 00 12 03 e9

5a a5 07 00 00 12 05 ef

5a a5 07 00 00 12 06 ec

 引入、引出、追加方式

InMode0=左移入←

InMode1=右移入→

InMode2=上卷入↑

InMode3=下卷入↓

InMode4=左跳入←

InMode5=右展开→

InMode6=左展开←

InMode7=上展开↑

InMode8=下展开↓

InMode9=中间-两端展开

InMode10=两端-中间展开

InMode11=中间-上下展开

InMode12=上下-中间展开

InMode13=立即显示

InMode14=预备

InMode15=随机显示

OutMode0=左移出←

OutMode1=右移出→

OutMode2=上卷出↑

OutMode3=下卷出↓

OutMode4=左跳出←

OutMode5=右闭合→

OutMode6=左闭合←

OutMode7=上闭合↑

OutMode8=下闭合↓

OutMode9=中间-两端闭合

OutMode10=两端-中间闭合

OutMode11=中间-上下闭合

OutMode12=上下-中间闭合

OutMode13=立即消失

OutMode14=预备

OutMode15=随机消失

DemoMode0=正常显示

DemoMode1=下页连续

LED显示器是指类似数字式电子表或计算器的显示方式。每个数字位的显示如右图,每位数字位由7个标签控件构成,通过控制这些控件的背景颜色,使得显示不同的数字。例如显示数字“1”,晌李将2号标签和3号标签的背景颜色设置为与窗体背景颜色不同,其他标签的背景颜色设置为与窗体背景颜色相同,就可以显示出数字“1”。以上是1个数字位的显示方法。构造8个数据位,就可以显示8为数字。

由文本输入框输入数字,单击显示按钮在LED显示器上显示相应的数字。

四、主要技术问题的描述:

1、 动态数组的建立

利用load 控件数组名(下标)语句 建立控件数组。并宴携迟为每个控件数组元素设置大小、位置(参考附录生成象棋棋盘的程序)。

2、 数字的显示

依据存储的EI数组对相应的控件的背景颜色属性进行隐岩设置。

主要是对SerialPort控件的编程和数据库的读取,

在数据库读取方面可以用 DataSet ,BindingSource , TableAdapter 等数据绑定控件,

SerialPort控件的具体读写方法建议你看MSDN,大侍渣概是:

Private Sub 关闭和启动串口()

Try

If 串口.IsOpen Then

串口.Close()

End If

串口.Open()

Catch ex As Exception

''''

End Try

End Sub

Private Sub 串口的读与写()

......

Dim 发送字节() As Byte, 返回字节 As Byte

Try

'老此悄例扒明如要发送字节: 6D

发送字节 = BitConverter.GetBytes(CByte("&H6D"))

串口.Write(发送字节, 0, 1)

......

'例如读串口返回的字节

返回字节 = 串口.ReadByte

Catch ex As Exception

''''

End Try

......

End Sub

'等等


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12470291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存