基于ARM7的LCD设计与实现

发布者:快乐之源最新更新时间:2011-07-04 关键字:S3C4510B  液晶  串行模式 手机看文章 扫描二维码
随时随地手机看文章

1 引言

随着科技的发展,ARM在社会各个方面的应用越来越广。ARM芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡。S3C4510B是SAMSUNG公司生产的基于ARM7TDMI的RISC微处理器,主频可达50MHZ。液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。由于S3C4510B主要是针对以太网应用系统设计的,所以其内部没有LCD控制模块,这样在一些需要人机可视话交互过程中会产生诸多不便。我们在看重高性价比的情况下,利用S3C4510B的通用I/O口来控制液晶显示屏的软硬件方法,实现了与LCD控制模块一样的功能。

2 S3C4510B介绍

S3C4510B是三星公司的一款基于以太网应用系统的高性价比16/32位(精简指令集)RISC微控制器,内含一个由ARM公司设计的ARM7TDMI RISC处理器核,ARM7TDMI为低功耗、高性能的16/32核。支持大、小端模式,内部架构为大端模式,外部存储器可为大、小端模式;基于JTAG的调试方案;边界扫描接口。支持ROM/SRAM、FLASH、DRAM和外部I/O以8/16/32位的方式操作。最适合用于对价格及功耗敏感的应用场合。

除了ARM7TDMI核以外,S3C4510B比较重要的片内外围功能模块包括:

u       2个带缓冲描述符(Buffer Descriptior)的HDLC通道;

u       2个UART通道;

u       2个GDMA通道;

u       2个32位定时器;

u       18个可编程的I/O口。

    S3C4510B提供了18个可编程的通用I/O端口,用户可将每个端口配置为输入模式、输出模式或特殊功能模式,由片内的特殊功能寄存器IOPMOD和IOPCON控制。所传输的数据存放在寄存器IOPDATA中。

端口0~端口7的工作模式仅由IOPMOD寄存器控制。另外通过设置IOPCON寄存器,端口8~端口11可用作外部中断请求INTREQ0~INTREQ3的输入。端口12、端口13可用作外部DMA请求XDREQ0、XDREQ1的输入。端口14、端口15可作为外部DMA请求的应答信号XDACK0、XDACK1,端口16可作为定时器0的溢出TOUT0,端口17可作为定时器1的溢出TOUT1。

 I/O口模式寄存器IOPMOD中的低18位用于配置I/O口P17~P0的工作方式。0为输入、1为输出。

3 OCMJ4X8C液晶模块

该款液晶采用台湾矽创电子公司生产的ST7920中文图形控制芯片。液晶屏幕为128X64点。其可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。内置2M中文字型ROM(CGROM)总共提供8192个中文字型(16X16点阵),16K半宽字型ROM(HCGROM)总共提供126个符号字型(16X8点阵),64X16位字型产生RAM(CGRAM),另外绘图显示画面提供个个64X256点的绘图区域(GDRAM),可以和文字画面混合显示。提供多功能指令:画面清除(Display clear)、光标归位(Return home)、显示打开/关闭(Display on/off)、光标显示/隐藏(Cursor on/off)、显示字符闪烁(Display character blink)、光标移位(Cursor shift)、显示移位(Display shift)、垂直画面旋转(Vertical line scroll)、反白显示(By_line_reverse display)、待命模式(Standby mode)。

OCMJ4X8C(128X64)引脚说明(表1)

管脚号

管脚符号

说明

1

VSS

逻辑电源地

2

VDD

逻辑电源+5V

3

NC

无连接

4

RS(CS)

高:数据/低:指令(串行输入的片选)

5

R/W(SID)

高:读/低:写(串行数据)

6

E(SCLK)

使能端(串行时钟)

7-14

DB0-DB7

并行数据端

15

PSB

高:并行/低:串行

16

NC

无连接

17

/RST

系统复位 低电平有效

18

NC

无连接

19

LEDA

背光电源+5V

20

LEDK

背光电源0V

硬件电路:

      对于该款液晶模块,当PSB端接高电平时,模块将进入并行模式,并行模式又分为8-位和4-位传输模式。当PSB段接低电平时,模块将进入串行模式。该设计采用4线串行输入方式,所以将PSB端接地。并将背光电源端LEDA接电源+5V,LEDK接地。

      然后,将S3C4510B的IO口分别与液晶模块相接如下:IO3—SCLK、IO5—CS、IO7—SID、IO9—/RST。这里要注意的是需要通过软件设置S3C4510B相应的特殊功能寄存器,将IO3,IO5,IO7,IO9设置为输出模式。

 

4 软件实现

      软件开发环境为ARM SDT V2.5。程序分为两部分:首先为ARM初始化,使用汇编语言书写。然后才是用C语言书写的显示主程序。

下面分别将两部分结合原代码略加说明。

汇编语言部分:

IOPMOD              EQU              0x3FF5000            ;定义IO口模式寄存器

IOPDATA       EQU              0x3FF5008       ;定义IO口数据寄存器

       IMPORT  Main

       AREA    Init,CODE,READONLY

       ENTRY

       LDR   R0, =0x3FF0000                    

       LDR   R1, =0xE7FFFF80            ;配置SYSCFG,片内4Kcache,4KSRAM

       STR    R1, [R0]    

       LDR   SP, =0x3FE1000                ;SP指向4KSRAM的尾地址,堆栈向下生成

       LDR   R0,  =0X3FF5000

       LDR   R1,  =0X000002A8          ;设置IO3,IO5,IO7,IO9为输出模式

       STR   R1,[R0]

       BL      Main

       B        .

       END

C语言部分:因篇幅有限,这里就不完整的给出源程序了,只列出几个子函数。

    #include "typDef.h"          

#define  IOPMOD       (*(volatile unsigned *)0x03FF5000)

#define  IOPDATA      (*(volatile unsigned *)0x03FF5008)

/*定义子函数如下*/

void clr_lcd_rst(void){ IOPDATA &=0XFDFF;}      清零复位引脚

void set_lcd_rst(void){ IOPDATA |=0X0200;}     置位复位引脚

void clr_lcd_sclk(void){IOPDATA &=0XFFF7;}    时钟端置低

void set_lcd_sclk(void){IOPDATA |=0X0008;}     时钟端置高

void clr_lcd_sid(void){IOPDATA &=0XFF7F;}     串行输出数据0

void set_lcd_sid(void){IOPDATA |=0X0080;}      串行输出数据1

void clr_lcd_cs(void){IOPDATA &=0XFFDF;}      清零使能端

void set_lcd_cs(void){IOPDATA |=0X0020;}       置位使能端

void print_led_p0(void){IOPDATA |=0X0001;}     使led0亮

void print_led_p1(void){IOPDATA |=0X0002;}     使led1亮

void off_led_p0(void){IOPDATA &=0XFFFE;}      使led0灭

/*液晶初始化部分*/

void Init_lcd(void)

{set_lcd_rst();

 delay(4);

 write_lcd(0,0x01);        清除显示

 delay(4);

 write_lcd(0,0x0c);        显示状态设置

 delay(4);

 write_lcd(0,0x30);        设置为8位控制接口

 delay(4);

   }                           

程序严格按照串行的写操作时序(如图2所示)。此外应该注意当模块在接受指令前,微处理器必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。

5结束语:

本文介绍的方法可以实现汉字字符,英文字母,图形显示。除了上述的静态显示方式外,还可以通过编程来实现字符的动态显示及一些特效(如字符的移动,渐变,闪烁)显示。达到了与内置LCD控制器相同的功能。

6创新点

本文的创新之处在于通过使用ARM微处理器的4个通用I/O口就达到了控制液晶模块显示的功能,节省了硬件资源,仅仅增加了少量软件代码,为人机交互界面中的LCD控制驱动与接口提供了一种实用方案。

参考文献:

[1]黄信兵,阎勤劳,孙晶,田泽。基于Linux的嵌入式LCD设计[J]。微计算机信息,2006,8-2:157-159。

[2]张亚华,王建玲。C51在液晶显示模块编程控制中的应用[J]。河南机电高等专科学校学报,2006,1-1:17-19。

[3]李驹光,聂雪,江泽明,王兆卫。ARM应用系统开发详解[M]。北京:清华大学出版社,2003年12月。

[4]李维是,郭磊。液晶显示技术[M]。北京:电子工业出版社,2000。
关键字:S3C4510B  液晶  串行模式 引用地址:基于ARM7的LCD设计与实现

上一篇:基于ARM-LPC2368的网络接口的设计与实现
下一篇:基于ARM的CAN网络打印服务器设计

推荐阅读最新更新时间:2024-03-16 12:37

JDI新车载显示器:长方形曲面液晶面板和HUD的组合
    日本显示器公司开发出了组合使用长方形曲面液晶面板和平视显示器(HUD)的车载显示器,并在太平洋横滨国际会展中心举行的“Display Innovation 2014”(2014年10月29~31日)上进行了展示。长方形曲面液晶面板用于驾驶席前方的仪表“群”,左右拼接了两张10英寸的曲面液晶面板。通过采用长方形,兼顾了大范围的显示和设计性。HUD用于将显示导航仪和提醒信息等的液晶面板影像投射到前窗玻璃上。     在曲面显示器的演示中,日本显示器公司展示了设想在中央部显示车速表等仪表和地图,将两端用作电子镜的用法。曲面显示器的曲率为500mm。2013年展示的12英寸曲面液晶面板采用非晶硅(a-Si)TFT,分辨率为
[汽车电子]
三菱电机推全新多媒体系统 双液晶屏显示
    日前,三菱电机(Mitsubishi Electric)正式发布了一套全新的车内多媒体系统,该系统最大的看点就是由12.1英寸和12.3英寸的两块液晶显示屏组成。     从官图发布的图片可以看到,这套系统通过一台凯迪拉克车型来进行展示,而这可能也在暗示这套系统很可能会第一个装备到凯迪拉克的车型上。     这套名为FLEXConnect的多媒体系统基于安卓系统打造,其最大的看点就是包括两款大号的液晶显示屏,一块是12.1英寸的中控台液晶屏,另一块则是12.3英寸的数字仪表盘。其中,中控液晶屏具有分屏功能,包含有全屏、1:1、1:2三种显示模式,以此来支持多重画面的显示以及多种操作。     另外,三菱电机
[汽车电子]
TFT-LCD液晶显示器的工作原理
时至今日, 液晶显示器, 对于一般普罗大众, 已经不再是生涩的名词. 而它更是继半导体后 另一种可以再创造大量营业额的新兴科技产品, 更由于其轻薄的特性, 因此它的应用范围比起原先使用阴极射线管(CRT, cathode-ray tube)所作成的显示器更多更广. 如同我前面所提到的, 液晶显示器泛指一大堆利用液晶所制作出来的显示器. 而今日对液晶显示器这个名称, 大多是指使用于笔记型计算机, 或是桌上型计算机应用方面的显示器. 也就是薄膜晶体管液晶显示器. 其英文名称为Thin-film transistor liquid crystal display, 简称之TFT-LCD. 从它的英文名称中我们可以知道, 这一种显示器它的
[嵌入式]
LCD液晶显示屏显示字符左右移动的程序
lcd_1602 指令汇总 0x28 设置 162 显示, 57 点阵, 4 位数据接口 0x38 设置 162 显示, 57 点阵, 8 位数据接口 0x01 清屏 , 光标复位到地址 00H 位置 0x02 光标归原点, DDRAM 中内容不变,地址计数器 AC=0; (此时地址为 0x80 ) 0x0F 开显示,显示光标,光标闪烁 0x0e 开显示,显示光标,光标不闪烁 0x0c 开显示,不显示光标 0x08 只开显示 0x06 地址加一,当写入数据的时候光标右移设定显示屏或光标移动方向指令 0x18 字符全部左移一格,但光标不动 0x1c 字符全部右移一格,但光标不动 0x10 光标左移 1 格,且 AC 值减 1 0x1
[单片机]
Lumotive推新型激光雷达传感系统 采用液晶超表面和CMOS制造技术
据外媒报道,可扩展固态激光雷达系统开发商Lumotive发布了3D激光雷达传感设备Lumotive X20™和Lumotive Z20™,采用液晶超表面(LCM)和CMOS(互补金属氧化物半导体)制造工艺,以满足各行业应用对于性能、成本和尺寸的需求。这两款设备是针对汽车和工业自动化市场,预计将在今年第四季度上市,而针对消费和移动产品市场的Lumotive’s M20™将于2021年推出。 (图片来源:Lumotive官网) Lumotive的产品充分利用了其固态波束引导技术和可扩展平台专利,以满足目标应用的特定范围、视野、分辨率和形状因素的需求。与传统的机械旋转方法相比,LCM使激光雷达系统更紧凑、更可靠。同时,与基于
[汽车电子]
Lumotive推新型激光雷达传感系统 采用<font color='red'>液晶</font>超表面和CMOS制造技术
液晶显示屏在充电桩上的应用
一般充电桩都是在户外的,所以充电桩选择的液晶屏大多也都是高亮液晶屏了, 高亮液晶屏最主要的核心就是在DLED背光的封装工艺上面,以及其对光效能的应用上面,如果工艺不达标,那么光效能也就提不上来,做出来的高亮屏可能散发出来的热量也就越大,同时也需要其散热的技术来配合着降低背光的温度,从而保证DLED背光的正常使用性,用在户外它本身就是一个制造热量的环境,目前市面上会有企业在屏后盖壳上加上铝型材,散热,但是这并不能够解决根本问题。 充电桩上的液晶屏的一般有哪些类型? 充电桩液晶屏型号有两种划分方法,一、按尺寸划分:19寸、22寸、32寸、42寸、47寸、55寸、65寸。二、按亮度分:1000cd、1500cd、2000cd。
[汽车电子]
<font color='red'>液晶</font>显示屏在充电桩上的应用
液晶能撑多久 盘点显示器20年变革之路
1995年:液晶初闪耀 产品利润高     在1995年的时候,绝大多数的人还没有见过液晶显示器,那时CRT显示器仍旧是主流,作为个人电脑最初的显示伴侣,CRT经过了近十年的发展,在当时的节点上也已经有了很多的变化。产品尺寸增大,打造纯平显示以及价格的下滑等等,都给个人电脑打入家庭奠定了良好的基础。可以说那个时候,很多学校开展的微机课程,都是采购这样的显示器来教学。就在学生们仍旧懵懂的理解什么是计算机的时候,液晶显示器开始悄悄的开启改朝换代的步伐。 液晶能撑多久 盘点显示器20年变革之路     液晶显示器最大的优势就是具有轻薄的效果,即便1995年时候的液晶显示器远远没有今天的设计感,但是相比于CRT显示器来说
[家用电子]
液晶显示屏LED背光源均匀亮度控制
发光二极管( LED )在各种终端设备的广泛应用早已让许多人跌破眼镜:从汽车头灯、交通号志、文数字 显示 器、广告广告牌、与大型显示器等现有技术,到一般大楼照明设备以及 液晶 显示器背光源等其它应用,日益盛行的 LED光源 使得最普遍的产品也要随之重新设计。随着效率和 亮度 不断增加以及成本持续下降,LED终将取代传统光源成为消费性应用的主要照明来源。本文将针对液晶显示器的 LED背光源 与其它大型显示器的光源技术进行比较,藉以说明LED应用设计所需面对的挑战。 像点修正技术解决LED亮度差异问题 体育馆或广告用的大型广告牌通常包含数十组显示 面板 与数千颗LED。在每块显示区内,每颗LED(又称为像素)所发出的亮度差异也会
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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