STM32学习笔记-LCD中英文字符显示原理
LCD中英文字符显示原理
1. 区位码
在国标GD2312—80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个“区”,编号为01区到94区,每一列称为一个“位”,编号为01位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。**区位码的前两位是它的区号,后两位是它的位号。**用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。汉字“母”字的区位码是3624,表明它在方阵的36区24位,问号“?”的区位码为0331,则它在03区3l位。
2. 机内码
汉字的机内码是指在计算机中表示一个汉字的编码。机内码与区位码稍有区别。如上所述,汉字区位码的区码和位码的取值均在1-94之间,如直接用区位码作为机内码,就会与基本ASCII码混淆。为了避免机内码与基本ASCII码的冲突,需要避开基本ASCII码中的控制码(00H~1FH),还需与基本ASCII码中的字符相区别。为了实现这两点,可以先在区码和位码分别加上20H,在此基础上再加80H(此处“H”表示前两位数字为十六进制数)。经过这些处理,用机内码表示一个汉字需要占两个字节,分别
称为高位字节和低位字节,这两位字节的机内码按如下规则表示:
高位字节 =区码 + 20H + 80H(或区码 + A0H)
低位字节 =位码 + 20H + 80H(或位码 + A0H)
由于汉字的区码与位码的取值范围的十六进制数均为01H-5EH(即十进制的01-94),所以汉字的高位字节与低位字节的取值范围则为A1H-FEH(即十进制的161~254)。
例如,汉字“啊”的区位码为1601,区码和位码分别用十六进制表示即为1001H,它的机内码的高位字节为B0H,低位字节为A1H,机内码就是B0A1H。
3. 点阵字库的存储形式
字库字符的点阵显示原理其实就是一张局部的字的图片,然后把这张图片里面的特定点点亮成我们字符的样子,这样就显示出我们字符的形状了。
ASCII码和中文字符的点阵原理相同,只是点阵大小不同,ASCII是16x8的小图,汉字是16x16的小图,那下面具体举例说明一下’汉’字的一个点阵数据是啥样的:
那’汉’字的具体存储的点阵数据是多少呢?首先我们要确定的是数据高位在哪边,这边是左边的在高位,右边的在低位,然后呢,从上到下依次存储,所以数据是如下的:
第一行:0x40,0x08
第二行:0x37,0xfc
第三行:0x10,0x08
第四行:0x82, 0x08 …
依次类推总共有 16行x2byte = 32 byte
要显示汉字呢,其实就是反过来了,把每一行的数据还原出来,变成一个个点。
STM32学习笔记-LCD中英文字符显示原理相关推荐
- 《STM32学习笔记》4——核心功能电路与编程(下)
接上文,文中的图片,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.蜂鸣器驱动 1.蜂鸣器介绍 2.蜂鸣器电路 3.蜂鸣器程序 二. MIDI 音乐 ...
- STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)
本篇文章包含的内容 一.TIM 定时器 1.1 TIM 定时器简介 1.2 TIM 定时器类型及其工作原理简介 1.2.1 基本定时器工作原理及其结构 1.2.2 通用定时器工作原理及其结构 1.2. ...
- STM32学习笔记(六)丨TIM定时器及其应用(输入捕获丨测量PWM波形的频率和占空比)
本篇文章包含的内容 一.输入捕获 1.1 输入捕获简介 1.2 输入捕获通道的工作原理 1.3 输入捕获的主从触发模式 1.4 输入捕获和PWMI结构 二.频率的测量方法 2.1 测频法 2.2 测周 ...
- STM32学习笔记(八)丨ADC模数转换器(ADC单、双通道转换)
本篇文章包含的内容 一.ADC 模数转换器 1.1 ADC简介 1.2 逐次逼近型ADC工作原理 1.3 STM32中的ADC基本结构 1.4 STM32中ADC的输入通道 1.5 STM32中的AD ...
- STM32学习笔记(9)——(I2C续)读写EEPROM
STM32学习笔记(9)--(I2C续)读写EEPROM 一.概述 1. 背景介绍 2. EEPROM简介 二.AT24C02--常用的EEPROM 1. 电路原理图 2. 写操作 (1)按字节写操作 ...
- 《STM32学习笔记》2——开发环境的建立
接上文,文中的图片知识,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.接口定义 1 芯片引脚整体简介 2 各部分引脚介绍 二.开发板简介 三.IS ...
- STM32学习笔记(三)丨中断系统丨EXTI外部中断(对射式红外传感器计次、旋转编码器计次)
本篇文章包含的内容 一.中断系统 1.1 中断的定义 1.2 中断优先级 1.3 中断的嵌套 1.4 STM32中的中断系统 1.4.1 STM32的中断资源 1.4.2 嵌套中断向量控制器 NVIC ...
- 【STM32学习笔记】#003 UART练习
系列文章目录 -[STM32学习笔记]#001 前期准备 -[STM32学习笔记]#002 GPIO设置练习 文章目录 系列文章目录 前言 1 目标功能 2 功能实现 2.1 流程图 2.2 Cube ...
- 【STM32学习笔记-LED呼吸灯】
STM32学习笔记-点亮LED灯 文章目录 STM32学习笔记-点亮LED灯 一.呼吸灯原理 二.呼吸灯代码 1.main.c 2.led.c 3.led.h 三.代码分析 一.呼吸灯原理 占空比:占 ...
最新文章
- 2017 年已读书单总结
- 按键处理技巧(状态机)
- ssm创建一个查询接口
- 学成在线--8.Freemarker入门教程
- Computer Systems A Programmer's Perspective(深入理解计算机系统)第一章读书笔记
- QT--内存错误导致程序崩溃
- 计算机联锁进路控制程序框图,计算机联锁系统技术第四章
- 苹果手机怎么查看已连接的wifi密码_WIFI密码忘了?教你查看手机已连接WIFI的密码...
- 服务器usb驱动安装系统安装失败怎么办,USB3.0驱动无法安装失败怎么办?USB驱动失败失败的解决方法...
- 芝加哥大学计算机博士年薪,2020年芝加哥大学博士含金量
- catia圆角交点如何标注_Catia怎么使用凸台和倒圆角命令?
- electron-vue起步
- 观《穹顶之下》一些思考
- 多光谱高光谱图像算法面经
- ​stp文件转gltf
- 网站空间与服务器的区别,网站空间与服务器的区别
- 仿苹果手机_高价回收旧手机旧电脑最终怎么处理了?能不能卖?
- android nv21,NV21与I420
- 正斜杠(/)和反斜杠(\)的区别
- adapter.notify()、notifyAll()、notifyDataSetChanged ()、notifyDataSetInvalidated ()的区别
热门文章
- C++ 和 Java 中的 Pair 配对
- android WebView套壳 H5微信支付
- 【大数据开发运维解决方案】Solr5.1+Jcseg分词器安装部署(中英文同义词、停止词配置)
- 信息奥赛c语言是什么意思,信息学竞赛是什么?信息学竞赛学什么,有什么作用?...
- 万恶之源SQL---强制类型转化(日期转换)
- 英语口语练习的有效方法
- 企业直播云服务崛起背后:PaaS平台成直播下半场“杀手锏”
- 2021年危险化学品经营单位安全管理人员复审模拟考试及危险化学品经营单位安全管理人员作业模拟考试
- 机器学习学习笔记——以波士顿房价问题为例
- 推荐一款小众的书摘app