Cortex-M3学习日志(八)-- TFT实验Part(a)

发布者:shiwanyongbing最新更新时间:2016-04-06 来源: eefocus关键字:Cortex-M3  TFT实验 手机看文章 扫描二维码
随时随地手机看文章
自己用的LPC1768的开板带有一块2.4寸的TFT彩色液晶屏,虽然自己工作中还用不过显示屏,但是晚上闲着也是闲着,于是继续玩咱的LPC1768吧。

我的开发板上的液晶屏的用的是SPI接口,当然你也可以把它设计成并行口,其接口电路如下所示:

Cortex-M3学习日志(八)-- <wbr>TFT实验Part(a)

    话说这个液晶屏的驱动芯片是ILI9325,在网上下载了该芯片的数据手册,好家伙有111页,全是E文呀,没办法,谁让咱是小电工呢,就慢慢啃吧。ILI9325这个芯片的寄存器比较多,不过没关系,我们暂时用到的不是太多,这里只要简要的总结,剩下的还是日后用到了再好好研究吧。

1、寄存器03H(Entry Mode),该寄存器主要设置图像的显示模式,包括屏幕的扫描方式(水平扫描或垂直扫描),这直接影响到img2lcd软件(这是个取模软件)的扫描方式控制项。

2、寄存器04H(Resizing Control Register)重新调整大小 寄存器,通过配置该寄存器,可以调整所显示图片的大小。

3、寄存器07H(Display Control 1),配置该寄存器可打开或关闭图形。

4、水平和垂直位置的RAM地址(R50h,R51h,R52h,R53h)

    看手册上寄存器不少,不过控制方式不一样,所用到的寄存器不一样,这里不再列举寄存器,想做驱动,一定要看芯片的手册,而且一定要仔细的研究它的手册。话说写液晶驱动不显示图片什么的貌似对不起LCD,当然这次懒猫这次写的驱动也有图片显示,想图片显示当然少不了取模软件,懒猫这次用的取模软件是img2lcd,这个软件功能不错,用起来也比较简单,如果不会用可以查看一下它自带的帮助文件。

Cortex-M3学习日志(八)-- <wbr>TFT实验Part(a)

    注意:LCD的配置方式不同,所设置的扫描方式也不同。

   好了,贴上咱写的这个驱动;

 

void GLCD_clear (unsigned short color)

{

  unsigned int   i;

 

  wr_reg(0x20, 0);        // 1st line GRAM Data(AD0-AD7)

  wr_reg(0x21, 0);        // 1st line GRAM Data(AD8-AD16)

  wr_cmd(0x22);

  for(i = 0; i < (WIDTH*HEIGHT); i++){

    wr_dat(color);        // Set color of background

  }

}

 

 

void GLCD_bitmap (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned char *bitmap)

{

  unsigned int   i;

  unsigned int   len = w*h;                           

 

 

  unsigned short *bitmap_ptr = (unsigned short *)bitmap;

 

  wr_reg(0x50, y);                     

  wr_reg(0x51, y+h-1);                 

  wr_reg(0x52, x);                     

  wr_reg(0x53, x+w-1);                 

 

  wr_reg(0x20, y);                                                                               

  wr_reg(0x21, x);

 

  wr_cmd(0x22);                                    

  for (i = 0; i < len; i++) {          

    wr_dat(*bitmap_ptr++);               

  }

}

由于原代码比较多,这里只贴上部分函数,具体的代码,请参考附件,这里上传几张效果图,懒猫已把液晶屏显示字符,显示汉字,画圆,画线等的程序写好了,改天整理一下也发上来,下一步弄一下SD卡,USB方面的东东,今天先写这么多吧。

Cortex-M3学习日志(八)-- <wbr>TFT实验Part(a)

Cortex-M3学习日志(八)-- <wbr>TFT实验Part(a)

关键字:Cortex-M3  TFT实验 引用地址:Cortex-M3学习日志(八)-- TFT实验Part(a)

上一篇:LPC1768 IAP升级解析及例程分享
下一篇:Cortex-M3学习日志(六)-- ADC实验

推荐阅读最新更新时间:2024-03-16 14:49

μC/OS-III在Cortex-M3处理器上的移植
引言 μC/OS-III是一款基于优先级调度的抢占式实时内核,Micrium公司于2011年8月公开了μC/OS-III的源码,其源码遵循ANSIC标准,因而具有良好的移植性,相信其将会被移植到越来越多的处理器体系上。本文主要完成基于Cortex-M3处理器的μC/OS-III移植,通过本次移植,加深对嵌入式操作系统原理的理解。此外,在μC/OS-III移植成功的基础上进行嵌入式应用程序开发,可以把主要精力集中到应用程序上,而硬件资源交由μC/OS-III管理,从而使得嵌入式应用程序更易开发和维护,在嵌入式软硬件结构变得越来越复杂的今天具有现实意义。 1 μC/OS-III和Cortex-M3特点 相对以前的版本,μC/O
[单片机]
μC/OS-III在<font color='red'>Cortex-M3</font>处理器上的移植
研究32位Cortex-M3 MCU开发技术
本文介绍了LM3S9B96 MCU Cortex-M3处理器方框图以及Stellaris? LM3S9B96开发板主要特性,方框图,电路图和扩展板电路图。   德州仪器(TI)公司Stellaris?所提供一系列的微控制器是首款基于ARM? CortexTM-M3的控制器,它们为对成本尤其敏感的嵌入式微控制器应用方案带来了高性能的32位运算能力。这些具备领先技术的芯片使用户能够以传统的8位和16位器件的价位来享受32位的性能,而且所有型号都是以小占位面积的封装形式提供。   LM3S9B96微控制器的优势还在于能够方便的运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。另外,该微控制器使用了兼容A
[工业控制]
研究32位<font color='red'>Cortex-M3</font> MCU开发技术
研究32位Cortex-M3 MCU开发技术
本文介绍了LM3S9B96 MCU Cortex-M3处理器方框图以及Stellaris? LM3S9B96开发板主要特性,方框图,电路图和扩展板电路图。   德州仪器(TI)公司Stellaris?所提供一系列的微控制器是首款基于ARM? CortexTM-M3的控制器,它们为对成本尤其敏感的嵌入式微控制器应用方案带来了高性能的32位运算能力。这些具备领先技术的芯片使用户能够以传统的8位和16位器件的价位来享受32位的性能,而且所有型号都是以小占位面积的封装形式提供。   LM3S9B96微控制器的优势还在于能够方便的运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。另外,该微控制器使用了兼容A
[工业控制]
研究32位<font color='red'>Cortex-M3</font> MCU开发技术
Cortex-M3的异常处理机制研究
引言 Cortex M3是ARM公司第一款基于 ARMv7一M的微控制器内核,在指令执行、异常控制、时钟管理、跟踪调试和存储保护等方面相对于ARM7有很大的区别。尤其在异常处理机制方面有很大的改进,其异常响应只需要12个时钟周期。NVIC(Nested Vectored Inteirupt Contmller,嵌套向量中断控制器)是Cortex M3处理器的一个紧耦合部件,可以配置1~240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占(pre-emption)、尾链(tail chaining)、迟到(1ate arriving)技术的使用,大大缩短了异常事件的响应时间。 异常或者中
[单片机]
<font color='red'>Cortex-M3</font>的异常处理机制研究
cortex-m3的操作模式及特权级别
STM32是cortex-m3内核芯片,拥有cortex-m3的特性,以下介绍了cortex-m3的特权级别。 1、先来说一下操作模式: cortex-m3有两种操作模式:笔者觉得也可以称为代码执行模式,线程模式(thread mode)和异常模式(handler mode),用于表示处理器在执行什么代码。 thread mode:执行非异常代码,也就是用户代码。 handler mode:执行异常代码,如中断服务程序。 2、再来说一下特权级别: cortex-m3有两种权利级别:特权级(Privilege)和用户级(user)。这两种模式主要用于阻止对硬件的异常访问,比如存储资源、关键寄存器等。 特权级别:能够访问硬件所有
[单片机]
<font color='red'>cortex-m3</font>的操作模式及特权级别
基于ARM7和DSP双核控制的逆变电源设计
0 引言     在电气智能化发展无处不在的今天,无数用电场合离不开逆变电源系统(Inverted Power Supply Systam,IPS)为现场设备提供稳定的高质量电源,特别在如通信机房、服务器工作站、交通枢纽调度中心、医院、电力、工矿企业等对电源保障有苛刻要求的场合。许多IPS产品因遵循传统设计而不符合或落后于现代电源理念,突出表现为控制模块的单一复杂化,控制器芯片落后且控制任务繁重,模拟闭环控制而得不到理想的监控和反馈调节效果,并由此带来单个控制设备软硬件设计上的隐患,这对IPS电源输出造成不利影响,甚至对用电设备因为供电故障而导致灾难性后果。数字化控制技术日趋成熟,而且在某些领先理念的电源设备控制应用场合得到应用,凸
[嵌入式]
Cortex-M3 USB的“JoyStickMouse”例程结构分析(一)
一、USB的“JoyStickMouse”例程结构分析 1、例程的结构 (1)底层结构 包括5个文件:usb_core.c(USB总线数据处理的核心文件),usb_init.c,usb_int.c(用于端点数据输入输入中断处理),usb_mem.c(用于缓冲区操作),usb_regs.c(用于寄存器操作)。它们都包含了头文件“usb_lib.h”。在这个头文件中,又有以下定义: #include usb_type.h #include usb_regs.h #include usb_def.h #include usb_core.h #include usb_init.h #include usb_mem.h #inc
[单片机]
“节能之星”EFM32应用方案——手持式激光测距仪
概述 随着现代科技的发展以及人们生活水平的提高,便携式 激光测距 仪在各行各业中都有广泛的应用,如建筑业,高尔夫,行车速度与车距测量。激光是一种电磁波,具有方向性强、单色性好、相干性好、亮度高等特性,使其成为测距的首选电磁波。 目前常用的激光测距方法主要有: 1、 脉冲测距法:利用 脉冲激光器 发射单次激光脉冲或激光脉冲串,测量激光脉冲到达目标并由目标返回到接收器的往返时间,由此运算目标距离。此方法误差较大,适用于远距离测量。 2、 干涉测距法:利用光的干涉原理,通过测量激光发射与接收这间的干涉条纹来测量距离。此方法精度非常高,但只能测量相对距离,不能测量绝对距离。 3、 相位式测距法:采用连续调制的激光光束照
[电源管理]
“节能之星”EFM32应用方案——手持式激光测距仪
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved