基于单片机在LCD上实现字符串连续显示的方法及系统与流程
未命名
09-23
阅读:37
评论:0
基于单片机在lcd上实现字符串连续显示的方法及系统
技术领域
1.本发明涉及一种字符串连续显示的技术领域,尤其涉及一种基于单片机在lcd上实现字符串连续显示的方法、电子设备、计算机可读存储介质及系统。
背景技术:
2.单片机(single-chip microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu、随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
3.现在常规的单片机普遍都是将中央处理器(cpu)、随机存取数据存储(ram)、只读程序存储器(rom)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如a/d转换器、pmw(脉宽调制电路)、wdt(看门狗)、有些单片机将lcd(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。
4.液晶显示器(lcd)具有显示信息丰富、功耗低、体积小、重量轻以及超薄等许多其他显示器无法比拟的优点,近几年来被广泛用于单片机控制的智能仪器、仪表和功耗低电子产品中。lcd可分为段位式lcd、字符式lcd和点阵式lcd。其中,段位式lcd和字符式lcd只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式lcd不仅可以显示字符和数字,还可以显示各种图形、曲线和汉字,用途十分广泛。
5.然而,现有技术中单片机资源极为有限,在显示点阵字符时,通常是要显示哪些字符就向软件中导入指定的字符,导致在显示点阵字符的函数设计时,参数较难以一个有编码规律的字符串的形式输入给函数,进而导致字符串在lcd上连续显示存在字符资源排序混乱,无法形成有规律的编码,使得编码错综复杂,出现重复做索引码换算的问题,大大增加了字符串在lcd上实现连续显示的工作量。
技术实现要素:
6.本发明针对当前实现字符串在lcd上连续显示的编码复杂混乱,工作量大的问题,提出了一种基于单片机在lcd上实现字符串连续显示的方法、电子设备、计算机可读介质以及系统,在单片机资源有限的情况下,有效的解决字符串在lcd上连续显示存在字符资源排序混乱、无法形成有规律编码而使得编码错综复杂的问题,避免了做索引码的换算,有效减少了在lcd上实现字符串连续显示的工作量,提高了单片机的使用性能。
7.为了实现本发明的目的,本发明采用如下技术方案实现:
8.一种基于单片机在lcd上实现字符串连续显示的方法,包括以下步骤:
9.步骤s1:获取字符串读取指令;
10.步骤s2:根据所述字符串读取指令读取字符串中的字符,并根据字符的中英文类
型从单片机的flash中获取字符对应的点阵数据;
11.步骤s3:根据字符对应的点阵数据将字符在lcd上输出;
12.其中,所述flash表示非易失性存储器。
13.根据上述技术方案,通过获取的字符串读取指令,对字符串中的字符进行读取,进而根据读取字符的中英文类型从单片机的flash中获取其对应的点阵数据,并根据点阵数据将字符串中的字符在lcd上输出,通过直接读取单片机的flash中字符的点阵数据,有效地解决字符串在lcd上连续显示存在字符资源排序混乱、无法形成有规律编码而使得编码错综复杂的问题,避免了做索引码的换算工作,有效减少了在lcd上实现字符串连续显示的工作量,进一步提高了单片机的使用性能。
14.进一步的,步骤s1所述的获取字符串读取指令的过程为:
15.s11:初始化单片机的flash,以字符编码顺序预设字模资源库;
16.s12:定义字符串的参数函数接口:cdisplaystring,通过参数函数接口cdisplaystring获取字符串的读取指令。
17.所述步骤s11中以字符编码顺序预设字模资源库的过程为:
18.中文类型字符按gb2313两个字节的编码规则进行编码,生成一页32个字节的中文字符点阵数据,基于中文字符点阵数据得到中文字模资源库,并将所述中文字模资源库按页数号0xa1a0-0xf7f0存入flash中;
19.英文类型字符按ascii编码规则进行编码,生成一页16个字节的英文字符点阵数据,基于英文字符点阵数据得到英文字模资源库,并将所述英文字模资源库按页数号0-255存入flash中;同时,将所述中文字模资源库和所述英文字模资源库的原始码存入ram中;
20.其中,所述ram表示随机存取存储器。
21.根据上述技术方案,通过初始化flash,进而在flash中以字符编码顺序预设字模资源库,所述字模资源库包括中文字模资源库和英文字模资源库,根据中英文字符的类型,按中英文的编码顺序在flash指定的页数中存入中英文字符的点阵数据,并将中英文对应的字模资源库的原始码存入ram中,提高编程效率和减少错误;通过定义的字符串参数函数接口cdisplaystring,可对获取的字符串的读取指令进行传输,提高字符串读取的效率。
22.进一步地,步骤s2所述的根据所述字符串读取指令读取字符串中的字符的过程为:
23.定义字符串读取函数接口:flash_read,利用参数函数接口cdisplaystring传输字符串的读取指令,根据参数函数接口cdisplaystring传输的字符串的读取指令,利用读取函数接口flash_read对字符串中字符的参数符进行读取。
24.步骤s2所述的根据字符的中英文类型从单片机的flash中获取字符对应的点阵数据的过程为:
25.s21:利用读取函数接口flash_read从所述ram中读取字符中的任意一个字节的原始码,并判断读取的字节的原始码大小,若所述字节的原始码小于0xa1(十六进制数),则将读取原始码的字符表示为英文字符;若所述字节的原始码大于或等于0xa1(十六进制数),则将读取原始码的字符表示为中文字符,需读取两个字节形成中文的原始码;
26.s22:利用读取函数接口flash_read根据所述字节的原始码类型读取其在flash中的点阵数据信息;
27.其中,英文字符中一个英文字符包含16个字节,一个字节为一行点阵;中文字符中一个中文字符包含32个字节,两个字节为一行点阵。
28.根据上述技术方案,通过定义的字符串的读取函数接口flash_read,接收来自参数函数接口cdisplaystring传输字的符串参数读取指令,进而通过读取函数接口flash_read从ram中读取字符中的任意一个字节的原始码,实现快速灵活的完成换算出地址/索引,对字符串中字符的参数进行读取,从而根据原始码的类型直接从flash中获取字符对应的点阵数据。
29.进一步地,步骤s3所述的根据字符点阵数据将字符在lcd上输出的过程为:
30.s31:根据字符字节的点阵数据信息获取字节位,并判断字节位的值;若字节位的值为1,则将字节的点阵数据显示为字符的颜色,若字节位的值为0,则不显示点阵数据或者显示为lcd上的背景颜色;
31.s32:根据字节位信息将字符串中的字符逐一在lcd上输出;
32.其中,在lcd上输出的参数包括字符串的坐标、高度、宽度、字体颜色和背景颜色;
33.s33:判断字符串中的字符是否在lcd上显示完成;
34.若读取函数接口flash_read未接收到参数函数接口cdisplaystring传输的字符串的读取指令,则显示完成;
35.否则,返回执行步骤s2。
36.根据上述技术方案,通过获取字符字节的点阵数据中的字节位,并判断字节位的值,进而根据字节位的值决定该字节的点阵数据在lcd上的显示方式,从而使在lcd上显示的参数符合设定的值,并判断字符串中的字符是否在lcd上显示完成,从而实时监控字符串在lcd上的显示是否符合设定的值,进而实现字符串在lcd上连续显示的效果,有效的解决字符串在lcd上连续显示存在字符资源排序混乱、无法形成有规律编码而使得编码错综复杂的问题,提高了单片机的使用性能。
37.一种电子设备,包括存储器、处理器及存储在存储器上、并在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时,实现上述的基于单片机在lcd上实现字符串连续显示的方法的步骤。
38.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行,实现上述的基于单片机在lcd上实现字符串连续显示的方法的步骤。
39.一种基于单片机在lcd上实现字符串连续显示的系统,包括:
40.应用层,用于向操作层下达字符串读取的操作指令;
41.操作层,根据应用层的指令读取字符串中的字符,并根据字符的中英文类型从单片机的flash中获取字符对应的点阵数据;
42.驱动层,接收操作层中传输的字符的点阵数据,并根据字符的点阵数据将字符在lcd上输出;
43.其中,所述flash表示非易失性存储器。
44.所述操作层为所述应用层定义字符串的参数函数接口:cdisplaystring,所述应用层可通过参数函数接口cdisplaystring向所述操作层传输字符串的读取指令;
45.所述操作层定义字符串读取函数接口:flash_read,用于接收所述参数函数接口
cdisplaystring传输的字符串的读取指令;
46.所述操作层通过读取函数接口flash_read从ram中读取字符中任意一个字节的原始码,并根据该字节的原始码读取该字节flash中的点阵数据信息;
47.所述驱动层根据字节的原始码的点阵数据将字符串中的字符逐一在lcd上输出;
48.其中,在lcd上输出的参数包括字符串的坐标、高度、宽度、字体颜色和字体的背景色,所述ram表示随机存取存储器。
49.相比现有技术,本发明的有益效果在于:
50.本发明提出一种基于单片机在lcd上实现字符串连续显示的方法、电子设备、计算机可读介质及系统,通过获取字符串的读取指令,对字符串中的字符进行读取,进而根据读取字符的中英文类型从单片机的flash中获取对应的点阵数据,并根据字符的点阵数据将字符在lcd上输出。通过直接从单片机的flash中读取字符对应点阵数据的方法,可快速获取字符串中的字符在lcd上的指定位置及输出的参数,实现快速灵活的字符串连续显示,有效地解决字符串在lcd上连续显示存在字符资源排序混乱、无法形成有规律编码而使得编码错综复杂的问题,避免了做索引码的换算工作,有效减少了在lcd上实现字符串连续显示的工作量,进一步提高了单片机的使用性能。
附图说明
51.图1为本技术实施例提供的一种基于单片机在lcd上实现字符串连续显示的方法的流程图;
52.图2为本技术实施例提供的单片机与lcd的连接结构图;
53.图3为本技术实施例提供的一种基于单片机在lcd上实现字符串连续显示的系统的程序模块示意图。
具体实施方式
54.为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但是,本发明可以用许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
55.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
56.实施例一:
57.本实施例提出一种基于单片机在lcd上实现字符串连续显示的方法,参见图1,包括以下步骤:
58.步骤s1:获取字符串读取指令;
59.进一步的,所述获取字符串读取指令的过程为:
60.s11:初始化单片机的flash,以字符编码顺序预设字模资源库;
61.所述以字符编码顺序预设字模资源库的过程为:
62.中文类型字符按gb2313两个字节的编码规则进行编码,生成一页32个字节的中文字符点阵数据,根据中文字符点阵数据生成中文字模资源库,并将所述中文字模资源库按页数号为0xa1a0-0xf7f0存入flash中,涵盖中国99.75%的使用频率;
63.英文类型字符按ascii编码规则进行编码,生成一页16个字节的英文字符点阵数据,根据英文字符点阵数据生成英文字模资源库,并将所述英文字模资源库按页数号为0-255存入flash中;同时,将所述中文字模资源库和所述英文字模资源库的原始码存入ram中;
64.其中,所述flash表示非易失性存储器,所述ram表示随机存取存储器。
65.s12:定义字符串的参数函数接口:cdisplaystring,通过参数函数接口cdisplaystring获取字符串的读取指令。
66.利用下述代码定义字符串的参数函数接口:cdisplaystring,
[0067][0068]
[0069]
示例性的,所述参数函数接口cdisplaystring除了传输相应的字符串读取指令,还传输在lcd上显示的相关参数,例如:
[0070]
调用所述参数函数接口cdisplaystring时要指明的参数有:
[0071]
要显示字符串在lcd上的开始x坐标,显示字符串在lcd上的开始y坐标、一个字的宽度、一个字的高度、要显示的字符串以“\0”转义符结束、字体颜色、字体的背景颜色(当字体颜色与字体的背景颜色相同时表示文字背景为透明)。
[0072]
可以理解的,通过初始化flash,进而在flash中以字符编码顺序预设中英文对应的字模资源库,并根据中英文字符的类型,按中英文的编码顺序在flash指定的页数中存入中英文字符的点阵数据,并将中英文对应的字模资源库的原始码存入ram中,提高编程效率和减少错误;通过定义的字符串参数函数接口cdisplaystring,可对获取的字符串的读取指令进行传输,提高字符串读取的效率。
[0073]
步骤s2:根据所述字符串读取指令读取字符串中的字符,并根据字符的中英文类型从单片机的flash中获取字符对应的点阵数据;
[0074]
进一步地,所述根据所述字符串读取指令读取字符串中的字符的过程为:
[0075]
利用下述代码定义字符串读取函数接口:flash_read,
[0076][0077][0078]
利用参数函数接口cdisplaystring传输字符串的读取指令,根据参数函数接口cdisplaystring传输的字符串的读取指令,利用读取函数接口flash_read对字符串中字符的参数符进行读取。
[0079]
所述根据字符的中英文类型从单片机的flash中获取字符对应的点阵数据的过程为:
[0080]
s21:利用读取函数接口flash_read从所述ram中读取字符中的任意一个字节的原
始码,并判断读取的字节的原始码大小,若所述字节的原始码小于0xa1(十六进制数),则表示为英文字符;若所述字节的原始码大于或等于0xa1(十六进制数),则表示为中文字符,需读取两个字节形成中文的原始码;
[0081]
s22:利用读取函数接口flash_read根据所述字节的原始码类型读取其在flash中的点阵数据信息;
[0082]
其中,英文字符中一个英文字符包含16个字节,一个字节为一行点阵;中文字符中一个中文字符包含32个字节,两个字节为一行点阵。
[0083]
可以理解的,通过定义的字符串的读取函数接口flash_read,接收来自参数函数接口cdisplaystring传输字的符串参数读取指令,进而通过读取函数接口flash_read从ram中读取字符中的任意一个字节的原始码,实现快速灵活的完成换算出地址/索引,对字符串中字符的参数进行读取,从而根据原始码的类型直接从flash中获取字符对应的点阵数据。
[0084]
步骤s3:根据字符的点阵数据将字符在lcd上输出;
[0085]
进一步地,所述根据字符的点阵数据将字符在lcd上输出的过程为:
[0086]
s31:根据字符字节的点阵数据信息获取字节位,并判断字节位的值;若字节位的值为1,则将字节的点阵数据显示为字符的颜色,若字节位的值为0,则不显示点阵数据或者显示为lcd上的背景颜色;
[0087]
s32:根据字节位信息将字符串中的字符逐一在lcd上输出;
[0088]
其中,在lcd上输出的参数包括字符串的坐标、高度、宽度、字体颜色和背景颜色。
[0089]
s33:判断字符串中的字符是否在lcd上显示完成;
[0090]
若读取函数接口flash_read未接收到参数函数接口cdisplaystring传输的字符串的读取指令,则显示完成;
[0091]
否则,返回执行步骤s2。
[0092]
在示例性的实施例中,假设要在lcd显示屏xy坐标为(0,0)的位置上显示一串中英文混合的黑色字符串“helloworld,你好!”。
[0093]
对保存有”helloworld,你好!“的字符串变量(变量保存在ram中)逐一读取字符。ascii符号为一个字节,中文为两个字节。
[0094]
读取一个字节,若字节的原始码小于0xa1(十六进制数)则表示为ascii符号,若字节的原始码大于等于0xa1(十六进制数)则表示为中文字符,需要读取两个字节形成中文的原始码。以字符串的第一个字符”h"为例,原始码为0x48。
[0095]
以原始码0x48为索引,读取flash第0x48页的16个字节的点阵信息。一个字节为一行点阵,根据字节位1或0决定是否显示点阵,16个字节共16行。
[0096]
若字符为中文字,以字符“你”为例,原始码为0xc4e3,则读取flash第0xc4e3页的32个字节,两个字节为一行点阵,根据字节位1或0决定是否显示点阵,32个字节共16行。
[0097]
其中,在lcd显示屏上输出的参数包含:字符串中字符的宽度、高度、颜色和背景颜色等。
[0098]
在本实施例中,通过获取字符串的读取指令,并根据上述字符串读取指令读取字符串中的字符,进而根据读取字符的中英文类型从单片机的flash中获取对应的点阵数据,并根据字符的点阵数据将字符在lcd上输出。通过直接从单片机的flash中读取字符对应点
阵数据的方法,可快速获取字符串中的字符在lcd上的指定位置及输出的参数,实现快速灵活的字符串连续显示,有效的解决字符串在lcd上连续显示存在字符资源排序混乱、无法形成有规律编码而使得编码错综复杂的问题,避免了做索引码的换算,有效减少了在lcd上实现字符串连续显示的工作量,提高了单片机的使用性能。
[0099]
实施例二:
[0100]
一种电子设备,参见图2,包括单片机和lcd显示屏,以及包括存储器、处理器及存储在存储器上、并在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时,实现如实施例一所述的基于单片机在lcd上实现字符串连续显示的方法的步骤。
[0101]
所述存储器包括非易失性存储器(flash)和随机存取存储器(ram),其中,所述非易失性存储器(flash)主要用于存储中英文字符对应的字模资源库,所述随机存取存储器(ram)主要用于存储中英文字符中字节的原始码,所述字模资源库中包含字符对应的点阵数据和字节的原始码。
[0102]
在示例性的实施例中,电子设备工作时,通过处理器运行存储在存储器上的计算机程序,进而对存储器内中英文对应的字模资源库中的原始码进行读取,并通过处理器判断字节的原始码大小,进而对字符进行分类,根据原始码的类型读取其对应的点阵数据。
[0103]
随后处理器通过字符对应的点阵数据获取对应的字节位,并对字节位进行判断,若字节位的值为1,则将字节的点阵数据显示为字符的颜色,若字节位的值为0,则不显示点阵数据或者显示为背景颜色。并判断字符串中的字符是否完全在lcd显示屏上完成显示,若处理器中不继续从存储器中读取字符,则表示完成;若处理器继续运行计算机程序读取存储器中的字符,则表示未完成,则继续上述的操作过程。
[0104]
实施例三:
[0105]
一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机存取存储器(ram)、非易失性存储器(flash)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如实施例一中所述的基于单片机在lcd上实现字符串连续显示的方法的步骤。
[0106]
实施例四:
[0107]
一种基于单片机在lcd上实现字符串连续显示的系统,参见图3,包括:
[0108]
应用层,用于向操作层下达字符串读取的操作指令;
[0109]
操作层,根据应用层的指令读取字符串中的字符,并根据字符的中英文类型从单片机的flash中获取字符对应的点阵数据;
[0110]
驱动层,接收操作层中传输的字符的点阵数据,并根据字符的点阵数据将字符在lcd上输出;
[0111]
其中,所述flash表示非易失性存储器。
[0112]
所述操作层为所述应用层定义字符串的参数函数接口:cdisplaystring,所述应用层可通过参数函数接口cdisplaystring向所述操作层传输字符串的读取指令及在lcd上显示的相关参数,所述相关参数包括字符串的坐标、高度、宽度、字体颜色和背景颜色等;
[0113]
所述操作层定义字符串读取函数接口:flash_read,用于接收所述参数函数接口
cdisplaystring传输的字符串的读取指令;
[0114]
所述操作层通过读取函数接口flash_read从ram中读取字符中任意一个字节的原始码,并根据该字节的原始码读取该字节flash中的点阵数据信息;
[0115]
所述驱动层根据字节的原始码的点阵数据将字符串中的字符逐一在lcd上输出;
[0116]
其中,在lcd上输出的参数包括字符串的坐标、高度、宽度、字体颜色和字体的背景色,所述ram表示随机存取存储器。
[0117]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种基于单片机在lcd上实现字符串连续显示的方法,其特征在于,步骤s1:获取字符串读取指令;步骤s2:根据所述字符串读取指令读取字符串中的字符,并根据字符的中英文类型从单片机的flash中获取字符对应的点阵数据;步骤s3:根据字符对应的点阵数据将字符在lcd上输出;其中,所述flash表示非易失性存储器。2.根据权利要求1所述的基于单片机在lcd上实现字符串连续显示的方法,其特征在于,步骤s1所述的获取字符串读取指令的过程为:s11:初始化单片机的flash,以字符编码顺序预设字模资源库;s12:定义字符串的参数函数接口:cdisplaystring,通过参数函数接口cdisplaystring获取字符串的读取指令。3.根据权利要求2所述的基于单片机在lcd上实现字符串连续显示的方法,其特征在于,步骤s11所述的以字符编码顺序预设字模资源库的过程为:中文类型字符按gb2313两个字节的编码规则进行编码,生成一页32个字节的中文字符点阵数据,基于所述中文字符点阵数据得到中文字模资源库,并将所述中文字模资源库按页数号0xa1a0-0xf7f0存入flash中;英文类型字符按ascii编码规则进行编码,生成一页16个字节的英文字符点阵数据,基于所述英文字符点阵数据得到英文字模资源库,并将所述英文字模资源库按页数号0-255存入flash中;同时,将所述中文字模资源库和所述英文字模资源库的原始码存入ram中;其中,所述ram表示随机存取存储器。4.根据权利要求3所述的基于单片机在lcd上实现字符串连续显示的方法,其特征在于,步骤s2所述的根据所述字符串读取指令读取字符串中的字符的过程为:定义字符串读取函数接口:flash_read,利用参数函数接口cdisplaystring传输字符串的读取指令,根据参数函数接口cdisplaystring传输的字符串的读取指令,利用读取函数接口flash_read对字符串中字符的参数符进行读取。5.根据权利要求4所述的基于单片机在lcd上实现字符串连续显示的方法,其特征在于,步骤s2所述的根据字符的中英文类型从单片机的flash中获取字符对应的点阵数据的过程为:s21:利用读取函数接口flash_read读取字符中的任意一个字节的原始码,并判断读取的字节的原始码大小,若所述字节的原始码小于0xa1(十六进制数),则将读取原始码的字符表示为英文字符;若所述字节的原始码大于或等于0xa1(十六进制数),则将读取原始码的字符表示为中文字符,然后读取两个字节形成中文的原始码;s22:利用读取函数接口flash_read根据所述字节的原始码类型,以读取其在flash中的点阵数据信息;其中,在英文字符中,一个英文字符包含16个字节,一个字节为一行点阵;在中文字符
中,一个中文字符包含32个字节,两个字节为一行点阵。6.根据权利要求5所述的基于单片机在lcd上实现字符串连续显示的方法,其特征在于,步骤s3所述的根据字符点阵数据将字符在lcd上输出的过程为:s31:根据字符字节的点阵数据信息获取字节位,并判断字节位的值;若字节位的值为1,则将字节的点阵数据显示为字符的颜色,若字节位的值为0,则不显示点阵数据或者显示为lcd上的背景颜色;s32:根据字节位信息将字符串中的字符逐一在lcd上输出;其中,在lcd上输出的参数包括字符串的坐标、高度、宽度、字体颜色和背景颜色;s33:判断字符串中的字符是否在lcd上显示完成;若读取函数接口flash_read未接收到参数函数接口cdisplaystring传输的字符串的读取指令,则显示完成;否则,返回执行步骤s2。7.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上、并在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时,实现如权利要求1至6任一项所述方法的步骤。8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行,实现如权利要求1至6任一项所述方法的步骤。9.一种基于单片机在lcd上实现字符串连续显示的系统,其特征在于,包括:应用层,用于向操作层下达字符串读取的操作指令;操作层,根据应用层的指令读取字符串中的字符,并根据字符的中英文类型从单片机的flash中获取字符对应的点阵数据;驱动层,接收操作层中传输的字符的点阵数据,并根据字符的点阵数据将字符在lcd上输出;其中,所述flash表示非易失性存储器。10.根据权利要求9所述的基于单片机在lcd上实现字符串连续显示的系统,其特征在于,所述操作层为所述应用层定义字符串的参数函数接口:cdisplaystring,所述应用层可通过参数函数接口cdisplaystring向所述操作层传输字符串的读取指令;所述操作层定义字符串读取函数接口:flash_read,用于接收所述参数函数接口cdisplaystring传输的字符串的读取指令;所述操作层通过读取函数接口flash_read读取字符中任意一个字节的原始码,并根据该字节的原始码读取该字节flash中的点阵数据信息;所述驱动层根据字节的原始码的点阵数据将字符串中的字符逐一在lcd上输出;其中,在lcd上输出的参数包括字符串的坐标、高度、宽度、字体颜色和字体的背景色。
技术总结
本发明公开了一种基于单片机在LCD上实现字符串连续显示的方法、电子设备、计算机可读存储介质及系统,步骤S1:获取字符串读取指令;步骤S2:根据所述字符串读取指令读取字符串中的字符,并根据字符的中英文类型从单片机的FLASH中获取字符对应的点阵数据;步骤S3:根据字符对应的点阵数据将字符在LCD上输出。通过本发明提供的基于单片机在LCD上实现字符串连续显示的方法、电子设备、计算机可读存储介质及系统,可在单片机资源有限的情况下,有效的解决字符串在LCD上连续显示存在字符资源排序混乱、无法形成有规律编码而使得编码错综复杂的问题,避免了做索引码的换算,有效减少了在LCD上实现字符串连续显示的工作量,提高了单片机的使用性能。片机的使用性能。片机的使用性能。
技术研发人员:张伟 蔡树衡 吴伟杰 黄秀钿 黄浩涛
受保护的技术使用者:广州凯普生物科技有限公司 广东凯普生物科技股份有限公司
技术研发日:2023.06.26
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/