嵌入式arm学习总结(四)--LCD

ARM嵌入式系统设计中的LCD中英文显示原理及代码实现 LCD通过改变液晶单元的排列来控制光线的传递,从而显示不同的信息。在嵌入式系统中,LCD通常通过并行接口或串行接口与处理器连接。 阅读详情

1.常用显示类型
1)数码管:0.7—1元 成本低,只能显示数字和字母
2)字符型液晶屏:LCD1602  15—25,显示数字和字母
3)点阵型黑白屏:LCD12864 50—90之间 可以显示汉字和图片
4)STN-LCD 彩屏 成本低 响应速度慢(刷新频率低),播放视频有拖尾现象
5)TFT—LCD 彩屏,主流
6)0LED 功耗低,无需背光  日本技术  今后主流
7)LED广告屏(一个一个LED组成)--成本高,耐用


2.点像素:
1个点有多少种状态,多少种颜色

1bpp    1位    黑白屏      1bpp,1位每像 素
2bpp    2位    4种状态
4bpp    4位    16种状态
8bpp    8位    256种状态
16bpp   65536  假彩   16*16的一个汉字需要256个半字--512字节控制
24bpp   24位   真彩


3.彩色格式 RGB红绿蓝
1)565格式  11111 000000 11111 红绿蓝
黑色 全零0x0000
白色 0xffff
红色 111110000000000000 xf800
绿   0x07e0
蓝   0x001f

2)5551格式: 红绿蓝 后面的1表示透明色

颜色转换 

16BBP  RGB 5:6:5        网上24BBP较多 RGB 8:8:8   但16bBBP很少
把32BBP转换成24BBP方法:去掉8:8:8的低位变成5:6:5形式      例如:24位:01010111 01111101 01100111   ----》16位:01010  011111 01100


4.行,场信号

1)TFT显示原理与时序操作步骤:
设置寄存器

第一步:上同步
第二步: 再同步
第三步: 确定多少行:
       a.行前同步信号
       b.行前再同步信号
       c.告诉这一行有多少列
       d.行后同步信号
第四步:下同步信号


5.视口,虚拟屏,实际屏

1)视口:当前显示的区域(窗口)
2)实际屏:屏的实际大小(物理屏)
3)虚拟屏:被视口遮挡住的那部分看不到的屏(视口后面的部分),可以大于物理屏(把视口移到最边上,有一部分看不到)

  S3C2440显示的图片最大为4M  (只有22位地址)
  LCDsaddr1 29:21位 图片4M内存的起始地址
  LCDbaseu  20:0 位 图片在4M内存中的偏移地址
 
  ARM为32位控制器:所有的指令和寄存器都是32位


6.做任何电子产品和学习模块一般需要三步:(以LCD显示为例)

第一步:明确目的
        TFTLCD显示自己的名字(红,绿,蓝)
        让名字满屏跑
        将自己的图片显示
第二部:硬件设计
        1)看芯片概述和介绍
        2)看管脚图和管脚说明
        3)看典型电路图

第三步软件设计

程序流程(LCD为例)
a.LCD初始化:
b.配置GPIO为LCD模式
c.配置行、场信号---5个寄存器
d.配置视口、打开视频线、物理屏---3个寄存器
e.打开:打开显示,打开视频线,开电源
f.显示:将需要显示的数据送入对应的内存空间(相应的数组数据)
g.写程序(源码分析)

7.16bpp的TFT显示原理
16*16个点(即16个像素)显示一个汉字,每个点的颜色由16位二进制控制(即两字节),显示彩色
8*16个像素显示一个字符

如何在ARM嵌入式实现LCD屏显示你的姓名与学号 通过以上步骤,你应该能够在ARM嵌入式系统的LCD屏上成功显示你的姓名和学号。这个过程涉及到硬件连接和软件编程,是嵌入式系统开发的典型应用场景。 阅读详情

相关推荐

ARM开发之一:嵌入式开发简介

一方面去了解ARM,另一方面为了可以在做项目的时候选择一款合适的ARM版本来支持你的项目注意:选择ARM版本时并不是越高越好,版本越高性能越好,但是价格也会更高所以在做项目的时候一定是选择一款适合的ARM版本。ARM原本的含义是(Acorn RISC Machine),后来Acron公司剥离出了ARM部门,又成立了ARM公司,含义改为(Advanced RISC Machine)。ARM在英国剑桥成立的,ARM ST公司 某工厂 某公司。

anREDME的博客 2871

液晶LCD1602使用介绍

LCD1602液晶也叫1602字符型液晶模块,LCD1602液晶是一种专门用来显示字母、数字、符号的点阵型液晶模块。

weichen_78的博客 2万+

读书笔记| (三)ARM9 嵌入式学习:ARM实验篇

读书笔记| ARM9 嵌入式学习1. GPIO实验1.1 应用:点亮LED1.2 GPIO 通用输入/输出端口 本质是引脚,通过高低电平控制 1.3 相关寄存器1.3.1 控制寄存器GPxCON 控制引脚的功能 00:输入;01:输出 1.3.2 数据寄存器GPxDAT 输入状态,读取该寄存器值,即可判断引脚状态 输出状态,写值入该寄存器,可令引脚输出高、低电平 1.3.3 上拉电阻使能寄存器GPx

rh_Jameson的博客 1204

ARM7---LCD1602---液晶显示驱动

//config.h //1602液晶显示器配置文件 #ifndef __CONFIG_H #define __CONFIG_H #include #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif typedef unsigned char uint8; typedef signed

风---的专栏 3756

ARM9嵌入式Linux开发-LCD

目录 1基础知识 1.1 LCD显示原理 1.2 LCD的分类 1.2.1被动矩阵式LCD 1.2.2 主动矩阵式LCD 1.3 LCD接口 2 S3C2440 LCD控制器介绍 2.1 S3C2440 LCD控制器的特性与结构 2.2 图像显示的原理 2.3 对LCD的操作 2.3.1 帧时序 2.3.2 行时序 2.3.3图像数据的存储 2.4 LCD控制...

ce123的技术博客 936

ARM9嵌入式Linux开发-FrameBuff和LCD驱动移植

FrameBuff FrameBuffer介绍 FrameBuffer直译就是,帧缓冲。 Frame(帧):所看到的屏幕上的图像,或者在一个窗口中的图像,就叫一帧。 Buffer(缓冲):一段RAM,用来暂存图像数据,这些数据会被直接写入到显示设备。 帧缓冲就相当于图形操作和图像输出中间的一个介质,将程序对图形数据的处理操作反馈到显示输出上。 LCDC是将系统需要显示的数据经过处理后输出到LCD显示驱动器的液晶显示控制模块 ,在用户初始化配置后,LCDC将自动进行读取数据、缓存数据、处理

ce123的技术博客 1609

arm linux lcd分辨率,armlinux lcd驱动分析

--作者:asan-xu--发布时间:2007-10-11 8:48:47--[转帖]armlinux学习笔记--LCD驱动程序分析//*******************************************************//* 2007.6.18//*******************************************************在...

weixin_36417344的博客 311

ARM9嵌入式Linux下LCD驱动开发详解

ARM9系列处理器基于ARMv5TE架构,采用五级流水线设计,具备高效的指令执行能力和低功耗特性,广泛应用于中低端嵌入式系统中。其核心架构包括RISC精简指令集、统一的寄存器文件、分离的指令与数据缓存(如在ARM920T中),以及MMU(内存管理单元),为运行Linux等多任务操作系统提供了良好支持。ARM9处理器常与外围设备集成于SoC(系统级芯片)中,形成完整的嵌入式系统平台。其内存管理机制支持虚拟地址与物理地址映射,提高了系统资源的利用率和安全性。

weixin_31315007的博客 1047

液晶显示模块的选择

液晶模块分为字符型液晶模块、图形液晶模块两类。 字符型液晶模块的显示区域分为若干6×8像素的单元,单元之间有空间分割,每个单元可以显示一个ASC字符,在操作是一般只能对对应的单元写入要显示字符的ASCII值,内部主控芯片会将写入的ASCII值转换为字符点阵数据并驱动液晶屏显示。 图形液晶模块的所有像素单元连续排列,一般可以以字节为单位一次控制8个像素点点的显示。可用用于显示图像和文字。当然,显

farmanlinuxer的博客 5930

ARM嵌入式系统JPEG图片显示与LCD源码解析

本文还有配套的精品资源,点击获取 简介:该源码专为ARM架构的嵌入式系统设计,实现了在LCD上显示JPEG格式图片的功能。程序包含了JPEG图像的编码与解码算法,以及在特定硬件平台上驱动LCD显示图像的代码。源码适用于内存和存储空间受限的嵌入式设备,并支持JPEG图片的压缩功能。项目中还包含了基于gec6818开发板的JPEG和BMP图片轮播显示功能,以及Linux环境下对...

weixin_30021053的博客 1389

嵌入式系统中汉字显示技术的LCD-ARM LCD_Hanzi字模软件教程

嵌入式系统开发是当今信息技术领域的一个重要分支,涉及到从微控制器到复杂系统的设计和优化。本章将概览嵌入式系统开发的基础知识,包括它的定义、特点和开发流程。开发嵌入式系统需要对硬件、操作系统、应用程序有一个全面的了解,同时要求开发者具备跨学科的知识储备。1.1 嵌入式系统的基本概念嵌入式系统是指嵌入于各种设备中的专用计算机系统,它们通常执行一个或几个特定的功能。与通用计算机不同,嵌入式系统通常具有资源受限、实时性要求高、针对特定应用、和可靠性要求高等特点。

weixin_28872035的博客 1132

Linux设备驱动开发详解-环境搭建

最近在啃这本书:Linux设备驱动开发详解:基于最新的Linux 4.0内核 宋宝华 编著 下面记录下环境搭建过程,我用的virtual box: 根据书中的提示,获取Linux虚拟机安装文件; 根据书中和安装文件中的指导搭建环境; 安装文件给的virtual box安装后无法打开,我自己下载了最新的版本及扩展包,参考如下链接win10虚拟机Oracle VM VirtualBox安装和使用教程 - 知乎 (zhihu.com) ...

萌萌烟雨的博客 1194

ARM开发用点阵LCD字模生成工具实操指南

液晶显示技术(LCD)已成为现代电子设备的显示标准,它利用液晶分子的排列变化来控制光线的通过,从而显示出不同的图像。液晶分子的状态通过电压控制,当电压变化时,液晶分子的排列发生变化,从而改变通过它们的光的偏振状态,以此来显示不同颜色和亮度的像素。LCD的这些特性使它既轻薄又节能,非常适合嵌入式系统和移动设备。在嵌入式系统和微型计算设备中,图形用户界面的实现往往受到硬件资源的限制。其中,点阵LCD作为一种常用的显示设备,其显示内容需要通过字模数据来控制。

weixin_42613360的博客 780

嵌入式ARM架构学习10——LCD

垂直方向同步信号需要(480+3+32+13=528)个行的时间就是976*528个像素周期。一个行显示需要800+48+88+40=976个像素时钟。期间给出一个 HSYNC 脉冲,告诉显示器“期间给出一个 VSYNC 脉冲,告诉显示器“写完 1080 行到达屏幕最右下角后,在。LCD 的“行同步”和“场同步”本质上是。扫描枪写完一行 1920 个像素后,在。HSPW:行同步脉冲宽度——48个CLK。行同步(HSYNC)——“换行符”场同步(VSYNC)——“翻页符”像素时钟”的单位就是。

m0_57137282的博客 642

LCD滚动显示汉字

实现汉字的显示 和滚动,内含仿真原图 和代码

EtherCat 从站开发中遇到的问题分享

EtherCat从站 AX58100

yu_arius的博客 2058

7、ARM嵌入式系统:LCD/数码管/OLED初始化

一、LCD/数码管模块在板子上的位置 LCD和数码管在板子上都分别有一个插槽。 二、LCD/数码管初始化代码 //SMG init void SMG_Init() { /* PORTB and PORTD clock have already enabled*/ SIM_SCGC5|=SIM_SCGC5_PORTB_MASK+SIM_SCGC5_PORTD_MASK; /*portB set to G...

cyf31的专栏 6184

linux CentOS7安装VCS、Verdi、SCL

1.Linux下所需安装文件 链接:https://pan.baidu.com/s/1E_l4ARFYEnp57jlX95Bpog 提取码:ggdz ​ synopsysinstaller_v5.0 ​ scl_v2018.06 ​ vcs_mx_vO-2018.09-SP2 ​ vcs_vO-2018.09-SP2 ​ verdi-2018.9 2.Windows破解文件 ​ scl_keygen_2030 3.安装installer 打开终端,进入synopsysinstaller_

loveyelong的博客 4620

ARM嵌入式系统中LCD屏显示姓名与学号的实现

通过上述步骤和代码,我们成功实现了在ARM嵌入式系统中使用LCD屏显示姓名和学号的功能。此项目不仅展示了LCD的基本操作,还为嵌入式系统开发提供了实用的参考。

rgkywxhnhdntxy的博客 1026

Hi3516CV610 YOLOv8模型转换与部署实战:从源码到板端推理全流程解析

本文详细解析了将YOLOv8模型部署到Hi3516CV610开发板的全流程。内容涵盖从Ubuntu环境搭建、模型获取与验证,到关键的PyTorch模型转换为ONNX格式,并利用海思工具链量化生成板端可执行的.wk文件。最后,指导开发者编写板端C程序,完成视频流处理、NNIE推理及结果后处理,并提供了部署调试与性能优化的实用技巧。

weixin_29215815的博客 268

SAP-PM设备模块-PM主数据之功能位置

SAP-PM模块学习

TRUIXIANG的博客 5137

从HZK16到LCD:一个字符的ARM嵌入式奇幻漂流

本文详细探讨了在ARM嵌入式系统中实现字符从HZK16点阵字库到LCD屏幕的完整渲染流程。通过解析字符编码、帧缓冲区操作和交叉编译部署,帮助开发者掌握在资源受限环境下优化显示性能的关键技术,适用于工业控制、物联网设备等多种应用场景。

tgb345678的博客 811

泛微OA表单开发实战:如何用JavaScript动态控制明细表的必填与可编辑属性

本文详细介绍了如何在泛微OA系统中使用JavaScript动态控制明细表字段的必填与可编辑属性。通过主表字段变更事件监听和明细表字段属性批量修改,实现智能化的表单交互,提升用户体验和系统灵活性。文章深入解析了关键API的使用方法,并提供了实战代码示例和最佳实践。

weixin_30955617的博客 549
上一篇: 嵌入式arm学习总结(三)--IIC 基于AT24C02
下一篇: 嵌入式arm学习总结(五)--RTC-TIME-PWM-Watchdog-AD-TP
杨毅
博客等级 码龄14年 26粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值