PyQT5+Matplotlib 实现文本滚屏与动态图绘制代码解析

需积分: 50 116 下载量 65 浏览量 更新于2024-08-09 收藏 8.56MB PDF 举报
"本文档是关于使用PyQt5和matplotlib在DGUS屏幕上实现文本滚屏显示的代码实现和指令存储格式的介绍。DGUS屏幕是一种串口屏,用于图形化显示和用户交互。文档详细列出了用于文本滚屏的指令存储格式,并提供了配置屏幕的相关信息。" 在DGUS屏的文本滚屏显示中,指令存储格式是关键,它决定了文本的滚动方式、速度、对齐方式以及颜色等属性。以下是这些指令的具体说明: 1. **地址0x00**: 存储固定值0x5A14,作为指令的标识。 2. **地址0x02**: 指向变量描述的指针(*SP),用于确定滚动文本的位置。 3. **地址0x04**: 固定值0x000B,可能与指令结构有关。 4. **地址0x06**: 文本指针(*VP),滚动文本的起始位置,需在(VP+3)开始存放文本,且文本必须以0xFF或0x00结束。 5. **地址0x08-0x09**: Rolling_Mode(滚屏模式)和Rolling_Dis(滚屏间距),分别设定滚动方向(从右到左)和每次滚动的像素点阵数。 6. **地址0x0A**: Adjust_Mode(对齐模式),用于设置文本不满屏幕时的对齐方式(左对齐、右对齐或居中)。 7. **地址0x0C**: 显示文本的颜色(Color),以2字节表示。 8. **地址0x0E-0x15**: 定义文本框区域(Xs, Ys, Xe, Ye),指示文本的显示范围。 9. **地址0x16-0x17**: Font0_ID和Font1_ID,根据编码方式设置字体库位置。 10. **地址0x18-0x19**: 字体大小(Font_X_Dots, Font_Y_Dots),定义字符的点阵数。 11. **地址0x1A**: Encode_Mode,定义字符编码方式和字符间距是否自动调整。 12. **地址0x1B**: Text_Dis,设置字符之间的间距。 13. **地址0x1C**: 未定义的保留字节,通常设置为0x00。 编码方式的位字段解释如下: - 第7位决定字符间距是否自动调整。 - 第0-6位定义编码类型,如8位编码、GB2312、GBK、BIG5或SJIS。 在DGUS开发软件中,通过选择按钮并配置显示区域的滚屏模式、间距、颜色等属性,可以实现文本滚屏功能。DGUS屏支持多种点阵大小的ASCII字符,并预装有不同点阵大小的字库。 此外,DGUS屏的开发涉及连线、上电、配置文件的创建、储存空间的划分(FLASH、RAM、配置寄存器、曲线缓冲区)、串口通信的检测与调试,以及DWINOS程序设计等多方面内容。例如,配置文件包括系统配置文件CONFIG.txt、变量初始化文件22.bin等,而串口通信涉及到指令的发送与接收,以及故障排查。 在实际开发中,开发者需要理解这些指令格式和DGUS开发体系,以便有效地编写和调试代码,实现所需的屏幕显示效果。