一种非标准方式来控制HD44780控制器上的显示,以使用任何自己的显示代码表来呈现俄语字体。
这种控制的想法源自对具有基于HD44780控制器的自定义显示器的设备进行金属化的任务。 考虑过可以用类似的拉丁字符替换俄语字符的选择之后,我决定不打扰它,因为它看起来不适合市场销售,并且该设备是商用的。
与基于Winstar WS0010驱动程序的OLED显示器不同,HD44780驱动程序上的显示器或其等效物没有图形操作模式。 但是它们具有所谓的CGRAM存储器,您可以在其中以图形表示形式写入最多8个字符。
该算法本身非常简单:
- 我们以可接受的处理器负载中断频率启动渲染计时器。
- 在计时器中断中:
- 擦除(用空格填充)显示屏上的所有内容;
- 将所需的图形信息加载到控制器的CGRAM存储器的前8个熟悉度中;
- 我们以给定的偏移量在显示屏上显示这些字符,然后退出中断。
在这种情况下,正确配置显示控件并使用接近最小的交换时序,以及在可能的情况下使用与显示器的8位接口非常重要(尽管根据测试,4位不会过多地加载控制器)。 还必须使用从显示屏读取D7线上的BUSY信号,以减少其响应的等待时间。
在下面的视频中可以看到它在真实显示器上的外观:
第一行由快速重绘方法控制,并显示来自CGRAM的信息。 该行包含来自CP866代码表的图形绘制字符,其代码为0x80-0xFF,伪图形由国际象棋菱形代替。 最下面一行是显示器的内置字符生成器的符号,并位于其代码旁边。
该方法的缺点:
在低于25Hz的刷新率下,以一定角度观看时,屏幕上会出现明显的闪烁,而直接观看时,则在垂直方向上看不到。
同样,来自显示屏的图像对比度会略有下降,但这几乎不明显。