单片机用矢量字库的C语言调用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
zk_data[2]=0x30; //汉字宽度48
zk_data[3]=0x30; //汉字厚度48
RCC_Configuration();
GPIO_Configuration();
TFT_Init();
clr_TFT();
RSTL;//模块复位
Delay(140);
RSTH;
Delay(140);
单片机用矢量字库的C语言调用
用TFT 320 X 240分辨路的液晶屏的显示效果如下图:
本文演示了用STM8S的单片机调用矢量模块的宋体,黑体字符。模块大小比一元硬币稍大,目前该模块已经批量生产,该模块采用SPI串行总线作为数据接口,包含汉字一二三四级字库,生僻字库,以及汉字的标点符号,数字符号,特殊符号,希腊字母,采用几何学中二次B样条曲线及直线来描述字体的外形轮廓,既可以作打印字体,又可以用作屏幕显示;由于它是由指令对字形进行描述,因此它与分辨率无关,输出时总是按照打印机的分辨率输出。无论放大或缩小,字符总是光滑的,不会有锯齿出现。目前可输出16X16点阵到256X256点阵大小Baidu Nhomakorabea汉字和字母字符,使用方便,速度较快。适合打印机等行业采用,本模块采用3.3V供电,工作温度在-25~+80℃
实现程序如下:
void Delay(unsigned long nCount)
{
for(; nCount!=0; nCount--);
} ;
int main()
{
unsigned int n=0;
zk_data[0]=0x03; //表示显示的是宋体的字符
zk_data[1]=0x30; //汉字长度48
for(n=0;n<4;n++)
{
Send_Byte(zk_data[n]);//发送要显示的字体风格,字体大小。设置一次即可。
Delay(14);
}
while(1)
{
unsigend char *text="啊";
for(n=0;n<2;n++)//将啊字的信息发送到模块
{
CS_L2;
Delay(14);
引脚顺序为1:CS# (模块片选控制脚),2:SO(数据输出脚)3:BUSY_G(芯片忙判断脚)4:地线,5:SI(数据输入脚)6:CLK(时钟输入脚),7:RESET(芯片复位脚),8:VCC(芯片电源脚),本模块使用简单,硬件连接示意图如下:
硬件连接示意图
本例采用STM8来驱动该模块,流程为:
以ST的低端单片机STM8为例的读取过程:
Send_Byte(*text,*(text+1));
Delay(14);
CS_H2;
}
while(CBUSY==SET);//判忙,等待模块内部处理完毕
for(n=0;n<288;n++)//开始接收啊字的数据排置为横置横排
{
CS_L2;
Delay(14);
Bits[n]=Get_Byte();
Delay(14);
CS_H2;
}
Display(Bits,9,10,48,48,0xf800,0x00ff);//将啊字的数据送到TFT液晶屏上面显示
Delay(144);
}
}
zk_data[3]=0x30; //汉字厚度48
RCC_Configuration();
GPIO_Configuration();
TFT_Init();
clr_TFT();
RSTL;//模块复位
Delay(140);
RSTH;
Delay(140);
单片机用矢量字库的C语言调用
用TFT 320 X 240分辨路的液晶屏的显示效果如下图:
本文演示了用STM8S的单片机调用矢量模块的宋体,黑体字符。模块大小比一元硬币稍大,目前该模块已经批量生产,该模块采用SPI串行总线作为数据接口,包含汉字一二三四级字库,生僻字库,以及汉字的标点符号,数字符号,特殊符号,希腊字母,采用几何学中二次B样条曲线及直线来描述字体的外形轮廓,既可以作打印字体,又可以用作屏幕显示;由于它是由指令对字形进行描述,因此它与分辨率无关,输出时总是按照打印机的分辨率输出。无论放大或缩小,字符总是光滑的,不会有锯齿出现。目前可输出16X16点阵到256X256点阵大小Baidu Nhomakorabea汉字和字母字符,使用方便,速度较快。适合打印机等行业采用,本模块采用3.3V供电,工作温度在-25~+80℃
实现程序如下:
void Delay(unsigned long nCount)
{
for(; nCount!=0; nCount--);
} ;
int main()
{
unsigned int n=0;
zk_data[0]=0x03; //表示显示的是宋体的字符
zk_data[1]=0x30; //汉字长度48
for(n=0;n<4;n++)
{
Send_Byte(zk_data[n]);//发送要显示的字体风格,字体大小。设置一次即可。
Delay(14);
}
while(1)
{
unsigend char *text="啊";
for(n=0;n<2;n++)//将啊字的信息发送到模块
{
CS_L2;
Delay(14);
引脚顺序为1:CS# (模块片选控制脚),2:SO(数据输出脚)3:BUSY_G(芯片忙判断脚)4:地线,5:SI(数据输入脚)6:CLK(时钟输入脚),7:RESET(芯片复位脚),8:VCC(芯片电源脚),本模块使用简单,硬件连接示意图如下:
硬件连接示意图
本例采用STM8来驱动该模块,流程为:
以ST的低端单片机STM8为例的读取过程:
Send_Byte(*text,*(text+1));
Delay(14);
CS_H2;
}
while(CBUSY==SET);//判忙,等待模块内部处理完毕
for(n=0;n<288;n++)//开始接收啊字的数据排置为横置横排
{
CS_L2;
Delay(14);
Bits[n]=Get_Byte();
Delay(14);
CS_H2;
}
Display(Bits,9,10,48,48,0xf800,0x00ff);//将啊字的数据送到TFT液晶屏上面显示
Delay(144);
}
}