迪文DGUS屏利用os实现进度条功能

DGUS屏如何做进度条?
方法一:比如0-100 做100个图标,下线0 ,上限100,用图标的办法解决,这种方法的缺点是图标的长宽大小不能超过255x255(T5的DGUS屏最大1023x1023支持图标),如果刻度需要精确,需要美工做很多图片。这种方法能处理做圆形的进度条
方法二:图片动画显示,也就是说要利用图片切换的原理。
方法三:是基本图形剪切,也就是吧其他页面的进度条的依照坐标剪切过来。另外的就是矩形填充等,这样需要单片机发指令或者os处理,
等等

本文我们用os计算好坐标画矩形填充处理。我们先算好起始坐标(20,)

指令:5A A5 +长度+ 82 0005 0004 0001 +左上角坐标+左下角坐标 + F800红色
用户如果不用os处理,串口发矩形填充指令也行

os程序设计实例如下:

;先取坐标:右下角x/100就能随着变化,设当0005H=100时 左上角坐标(20.280)右下角坐标(20,300)
;取x横坐标变化范围420-20=400,分成100等分,则变化量为4即随着 0005的x 变化为20+4x

; 特别说明,这个是DGUS1,K600+的程序,不是T5的,如果是T5的屏实际用法也差不多,只是要把用于显示的基本图形控件变量地址放到0x1000之后用
CALL 进度条
END
进度条:
LDWR R0,0005H ;0005h是一个整数类型的数据显示0-100,这里可以利用控件设置带好单位%
MOVXR R70,1,1
LDWR, R116,0004H ;加载变量命令及固定不变坐标量
LDWR R118,0001H
LDWR R120,20
LDWR R122,280
LDWR R126,300
LDWR R128,F800H
LDWR R140,4
LDBR R142,0,30 ;清零变量
MOV R70,R142,2
SMAC R140,R142,R144 ;乘4
LDWR R150,20
ADD R144,R148,R152 ;加20
MOV R158,R124,2
LDWR R0,0020H ;基本图形用来显示矩形填充的地址0020H
MOVXR R116,0,7
RET

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 单片机与DGUS通信可以通过串口实现。下面是一个基本的通信例程: 首先,需要配置单片机的串口参数,确保其与DGUS的串口参数一致,例如波特率、数据位、校验位等。接下来,建立一个函数用于发送指令给DGUS,函数的输入参数为要发送的指令数据。在函数内部,将指令数据通过串口发送给DGUS。 接收DGUS的响应数据时,需要建立一个接收函数。该函数会不断监听串口接收缓冲区,检查是否有数据。当接收到数据时,将其存储在一个变量中,以便后续对数据的处理。 为了方便通信,可以定义一些常用的指令,如读取某个寄存器的值、写入某个寄存器的值等。这些指令可以通过发送指令函数实现,同时,可以通过接收函数获取DGUS的响应数据,从而实现对寄存器的读写操作。 在具体的应用中,可以根据需求编写相应的函数和逻辑来实现DGUS之间的通信。同时,需要注意在通信过程中及时处理错误,如发送数据超时、接收数据错误等,以确保通信的可靠性。 以上是一个简单的单片机与DGUS通信的例程,具体实现还需要根据具体的硬件平台和软件开发环境来调整。 ### 回答2: 单片机与DGUS通信的例程,是指通过单片机与DGUS进行数据传输和通信的代码示例。 首先,我们需要设置好单片机与DGUS之间的通信接口,可以使用串口、I2C或SPI等通信协议。接下来,我们可以根据DGUS的通信协议,编写相应的代码进行通信。 以使用串口通信为例,以下是通信例程的大致步骤: 1. 初始化串口通信模块,设置波特率、数据位、停止位等参数。 2. 配置单片机的串口发送和接收引脚。 3. 编写相应的函数,将需要发送的数据打包成符合DGUS通信协议的格式。 4. 使用串口发送函数,将数据发送给DGUS。 5. 等待DGUS返回数据,可以使用中断方式进行接收或者定时轮询接收数据。 6. 解析接收到的数据,获取所需的信息,并进行相应的处理。 在编写通信例程时,需要注意的是,与DGUS通信的数据格式、命令和协议要符合DGUS的要求,并且需要根据实际需求进行相应的扩展和优化。 总体来说,通过单片机与DGUS通信的例程,能够实现单片机与DGUS之间的数据传输和通信,实现双方的数据交互和控制,为项目的开发和应用提供了方便和便利。 ### 回答3: 单片机与DGUS通信的例程可以通过串口通信实现。首先,我们需要在单片机中配置串口通信的参数,例如波特率、数据位、停止位等。然后,通过串口向DGUS发送指令,例如读取或写入寄存器的值。 通信的流程如下:首先,单片机发送启动信号给DGUS,告诉它即将进行通信。然后,单片机发送主机地址和命令码给DGUS,用于指定需要进行的操作。接下来,单片机发送数据给DGUS,例如需要写入的寄存器地址和相应的值。DGUS接收到数据后,进行相应的处理,并返回结果给单片机。 在编写通信例程时,我们需要先定义相关的寄存器地址和命令码。然后,编写相应的函数,用于发送和接收数据。例如,发送函数负责将数据发送到DGUS中,接收函数负责接收来自DGUS的数据。 在实际的例程代码中,我们可以使用相关的库函数,例如串口库函数、DGUS库函数,来简化编程过程。这些库函数提供了便捷的接口,可用于进行串口通信和DGUS操作。通过调用这些库函数,我们可以实现单片机与DGUS之间的通信。 需要注意的是,在编写例程时,我们需要根据DGUS的通信协议和手册来进行相应的配置和操作。同时,还需要进行相应的错误处理和调试,确保通信的可靠性和稳定性。 总之,单片机与DGUS通信的例程可以通过串口通信实现,需要进行相关的配置和操作。编写例程时,我们可以使用库函数来简化编程过程,并注意进行错误处理和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值