LCD英文字模库(16x8)模拟测试程序

字模

字模,就是把文字符号转换为LCD能识别的像素点阵信息。

电子发烧友可能都熟悉字模的用途。就是调用者通过向LCD模块发送字模数据,LCD根据字模数据在LCD面板上相应的像素描绘出图形或文字。

现在,大部分的LCD都内置了字模库,只需告诉LCD模块想要显示的文字和坐标,LCD就会自动查询内置的字模库,然后就直接把内容显示出来。

但是,外送字模给LCD模块去显示,也还是支持的。

字模库

字模库,就是根据中文文字或英文字母,预先转换成LCD可识别的像素点阵数据,最后汇总所有点阵数据所生成的文件。字模库具有可定位的特性。如输入'x'字符,则可在库中,根据'x'提取到对应的点阵数据。

根据字符集的不同,字模库也分为很多种。

如,在国内,通常使用GB2312字符集(简体汉字),可以生成一个字模库。在港台,通常使用GBK(繁体汉字),也可以生成另一种字模库。

本文中,以英文字符集生成的字模库为例。

代码

c 复制代码
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>

int _tmain(int argc, _TCHAR* argv[])
{
	int i, j;
	int a, b, c;
	
	//设定要显示的文字,只能提取字母、数字、特殊字符
	//tab键在字模库中不存在,提取空格代替
	unsigned char asc[] = "GET 123.45$ CYN。SPEND 5$";
	
	unsigned char zimo[32] = { 0 };
	unsigned int pos;
	
	FILE *fp = NULL;

	for (i = 0; i<sizeof(asc)-1; i++)
	{
		fopen_s(&fp, "ASC16", "rb");

		if (asc[i] == '\t') //字模库中不存在,用空格代替。
		{
			fseek(fp, (long)' ' * 16, SEEK_SET);
			fread(zimo, sizeof(unsigned char), 16, fp); /*读32字节点阵数据*/
		}
		else
		{
			fseek(fp, (long)asc[i] * 16, SEEK_SET);
			fread(zimo, sizeof(unsigned char), 16, fp); /*读32字节点阵数据*/
		}

		fclose(fp);

		//显示提取到的字模数据
		for(j=0; j<16; j++)
			printf("%02x ", zimo[j]);
		printf("\n");

		//在console上模拟画出对应的文字。
		for (a = 0; a < 16; a++)
		{
			for (c = 0; c < 8; c++)
			{
				if (((zimo[a] >> (7 - c)) & 0x1) != 0x00)
					printf("* ");
				else
					printf("  ");
			}
			printf("\n");
		}
	}
	getchar();
	return 0;
}

运行结果

由于显示原因,打印部分结果。

需要的可下载工程源码

完!

相关推荐
Miuney_MAX8 小时前
【单片机】之HC32F460中断向量选择
单片机·嵌入式硬件
猫猫的小茶馆13 小时前
【ARM】ARM的介绍
c语言·开发语言·arm开发·stm32·单片机·嵌入式硬件·物联网
猫猫的小茶馆13 小时前
【PCB工艺】数模电及射频电路基础
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·pcb工艺
点灯小铭13 小时前
基于单片机的智能药物盒设计与实现
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
梓德原14 小时前
【基础】详细分析带隙型稳压电路的工作原理
单片机·嵌入式硬件·物联网
国科安芯15 小时前
航天医疗领域AS32S601芯片的性能分析与适配性探讨
大数据·网络·人工智能·单片机·嵌入式硬件·fpga开发·性能优化
小李做物联网15 小时前
【物联网毕业设计】60.1基于单片机物联网嵌入式项目程序开发之图像厨房监测系统
stm32·单片机·嵌入式硬件·物联网
贝塔实验室16 小时前
新手如何使用Altium Designer创建第一张原理图(三)
arm开发·单片机·嵌入式硬件·fpga开发·射频工程·基带工程·嵌入式实时数据库
@good_good_study16 小时前
STM32 ADC多通道采样实验
stm32·单片机·嵌入式硬件
Darken0317 小时前
什么是“位带”?;在STM32单片机中有什么作用?
stm32·单片机·嵌入式硬件