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;
}

运行结果

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

需要的可下载工程源码

完!

相关推荐
d111111111d21 小时前
STM32外设学习-串口数据包笔记-(数据包的了解)
笔记·stm32·单片机·嵌入式硬件·学习
EVERSPIN21 小时前
MCU单片机,常用32位单片机,低功耗单片机MM32L系列
单片机·mcu单片机·32位单片机·低功耗单片机·mm32l系列
idcardwang1 天前
esp32-s3-supermini使用arduio IDE进行mpu6050的数据读取
ide·单片机
纳祥科技1 天前
方案分享:一款基于低功耗单片机的腰腹甩脂机方案
单片机·嵌入式硬件
点灯小铭1 天前
基于单片机的电子琴设计与乐曲存储播放实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
hemama_1 天前
STM32F103VET6开发板例程(一)-LED
stm32·单片机·嵌入式硬件
夜月yeyue1 天前
Linux 内核驱动加载机制
linux·服务器·stm32·嵌入式硬件
炸膛坦客1 天前
FreeRTOS 学习:(十七)“外部中断”和“内核中断”的差异,引入 FreeRTOS 中断管理
stm32·freertos·实时操作系统
奋斗的牛马1 天前
FPGA--zynq学习 PS与PL交互(二) HP接口
单片机·嵌入式硬件·学习·fpga开发·信息与通信
ACP广源盛139246256731 天前
GSV1016/ACP#HDMI2.0 HDCP1.4 发射器(TTL/LVDS 输入 + 音频插入)技术解析
单片机·嵌入式硬件·音视频